@bcc-code/vue-bcc-chat-ui 7.0.1 → 7.0.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 (92) hide show
  1. package/dist/App.vue.d.ts +2 -0
  2. package/dist/FixtureApp.vue.d.ts +2 -0
  3. package/dist/auth.d.ts +2 -0
  4. package/dist/chat/accessToken.d.ts +11 -0
  5. package/dist/chat/avatar.d.ts +3 -0
  6. package/dist/chat/cacheScope.d.ts +13 -0
  7. package/dist/chat/client.d.ts +7 -0
  8. package/dist/chat/conversationState.d.ts +11 -0
  9. package/dist/chat/data.d.ts +15 -0
  10. package/dist/chat/environment.d.ts +8 -0
  11. package/dist/chat/i18n/en.d.ts +118 -0
  12. package/dist/chat/i18n/nb.d.ts +118 -0
  13. package/dist/chat/i18n/types.d.ts +2 -0
  14. package/dist/chat/index.d.ts +94 -0
  15. package/dist/chat/localization.d.ts +15 -0
  16. package/dist/chat/messageText.d.ts +13 -0
  17. package/dist/chat/mockClient.d.ts +13 -0
  18. package/dist/chat/offlineStore.d.ts +53 -0
  19. package/dist/chat/reactions.d.ts +8 -0
  20. package/dist/chat/richText.d.ts +5 -0
  21. package/dist/chat/theme.d.ts +18 -0
  22. package/dist/chat/types.d.ts +301 -0
  23. package/dist/components/chat/BccChat.vue.d.ts +509 -0
  24. package/dist/components/chat/ChatStatusOverlay.vue.d.ts +33 -0
  25. package/dist/components/chat/publicContract.d.ts +43 -0
  26. package/dist/components/conversations/ConversationList.vue.d.ts +15 -0
  27. package/dist/components/conversations/UserProfileCard.vue.d.ts +8 -0
  28. package/dist/components/messages/ActionMessageRow.vue.d.ts +5 -0
  29. package/dist/components/messages/ComposerActionsPopover.vue.d.ts +19 -0
  30. package/dist/components/messages/ComposerContextBanner.vue.d.ts +13 -0
  31. package/dist/components/messages/ComposerFormatMenu.vue.d.ts +13 -0
  32. package/dist/components/messages/ComposerPollDialog.vue.d.ts +16 -0
  33. package/dist/components/messages/ComposerScheduleDialog.vue.d.ts +20 -0
  34. package/dist/components/messages/ConversationComposer.vue.d.ts +106 -0
  35. package/dist/components/messages/LinkPreviewCard.vue.d.ts +6 -0
  36. package/dist/components/messages/LinkifiedText.vue.d.ts +8 -0
  37. package/dist/components/messages/MessageAttachmentList.vue.d.ts +10 -0
  38. package/dist/components/messages/MessageComposer.vue.d.ts +69 -0
  39. package/dist/components/messages/MessageDeliveryStatus.vue.d.ts +6 -0
  40. package/dist/components/messages/MessageItem.vue.d.ts +27 -0
  41. package/dist/components/messages/MessageItemHeader.vue.d.ts +6 -0
  42. package/dist/components/messages/MessageItemMenu.vue.d.ts +26 -0
  43. package/dist/components/messages/MessageItemMenuReactions.vue.d.ts +11 -0
  44. package/dist/components/messages/MessageItemReactions.vue.d.ts +14 -0
  45. package/dist/components/messages/MessageList.vue.d.ts +115 -0
  46. package/dist/components/messages/MessageListHeader.vue.d.ts +7 -0
  47. package/dist/components/messages/MessagePollContent.vue.d.ts +12 -0
  48. package/dist/components/messages/MessageReactionList.vue.d.ts +12 -0
  49. package/dist/components/messages/MessageReplyQuote.vue.d.ts +10 -0
  50. package/dist/components/messages/MessageTextContent.vue.d.ts +6 -0
  51. package/dist/components/overlays/FullscreenDialog.vue.d.ts +34 -0
  52. package/dist/components/overlays/MediaViewerDialog.vue.d.ts +13 -0
  53. package/dist/components/overlays/MessageInfoDialog.vue.d.ts +14 -0
  54. package/dist/components/overlays/ReceiptSection.vue.d.ts +9 -0
  55. package/dist/components/overlays/ScheduledMessagesDialog.vue.d.ts +25 -0
  56. package/dist/composables/chat/index.d.ts +13 -0
  57. package/dist/composables/chat/useComposerContext.d.ts +43 -0
  58. package/dist/composables/chat/useConversationContext.d.ts +30 -0
  59. package/dist/composables/chat/useDialogsContext.d.ts +27 -0
  60. package/dist/composables/chat/useMessagesContext.d.ts +36 -0
  61. package/dist/composables/useChatActions.d.ts +21 -0
  62. package/dist/composables/useChatEventBus.d.ts +91 -0
  63. package/dist/composables/useComposerDrafts.d.ts +44 -0
  64. package/dist/composables/useConversationComposer.d.ts +15 -0
  65. package/dist/composables/useGroupMemberTracking.d.ts +28 -0
  66. package/dist/composables/useImageZoom.d.ts +26 -0
  67. package/dist/composables/useMessageActionMenu.d.ts +202 -0
  68. package/dist/composables/useMessageInfoDialog.d.ts +165 -0
  69. package/dist/composables/useMessageListScroll.d.ts +30 -0
  70. package/dist/composables/useMessageNavigation.d.ts +18 -0
  71. package/dist/composables/useRichTextComposer.d.ts +31 -0
  72. package/dist/demo/ApiExamplesPanel.vue.d.ts +6 -0
  73. package/dist/demo/ChatShell.vue.d.ts +10 -0
  74. package/dist/demo/ThemeModeToggle.vue.d.ts +12 -0
  75. package/dist/demo/useDemoThemeMode.d.ts +6 -0
  76. package/dist/design.d.ts +10 -0
  77. package/dist/index.d.ts +11 -0
  78. package/dist/main.d.ts +0 -0
  79. package/dist/style.css +1 -0
  80. package/dist/vue-bcc-chat-ui.js +10564 -0
  81. package/dist/vue-bcc-chat-ui.js.map +1 -0
  82. package/package.json +1 -1
  83. package/dist/assets/index-B_y7vs2y.js +0 -12519
  84. package/dist/assets/index-uEhSMl7W.css +0 -1
  85. package/dist/assets/primeicons-C6QP2o4f.woff2 +0 -0
  86. package/dist/assets/primeicons-DMOk5skT.eot +0 -0
  87. package/dist/assets/primeicons-Dr5RGzOO.svg +0 -345
  88. package/dist/assets/primeicons-MpK4pl85.ttf +0 -0
  89. package/dist/assets/primeicons-WjwUDZjB.woff +0 -0
  90. package/dist/assets/web-Cp3vw--c.js +0 -1
  91. package/dist/assets/web-DSc1BjG7.js +0 -1
  92. package/dist/index.html +0 -13
@@ -0,0 +1,509 @@
1
+ import { ChatClient, ChatConversationItem, ChatMessageItem, Language, MessageSendOptions, ParticipantInfo } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ client?: ChatClient | null;
4
+ conversation?: ChatConversationItem | null;
5
+ messages?: ChatMessageItem[];
6
+ threadMessages?: ChatMessageItem[];
7
+ loadingMessages?: boolean;
8
+ loadingThreadMessages?: boolean;
9
+ isReadOnly?: boolean;
10
+ sendOptions?: MessageSendOptions;
11
+ showDefaultEmptyState?: boolean;
12
+ initialScheduledMessagesOpen?: boolean;
13
+ chatUid?: string;
14
+ senderDisplayName?: string;
15
+ hideDeletedMessages?: boolean;
16
+ groupMessageGetter?: (guid: string, query: string) => Promise<unknown>;
17
+ loadMessageId?: string;
18
+ displayNoMessagesText?: boolean;
19
+ language?: Language;
20
+ };
21
+ declare function __VLS_template(): {
22
+ attrs: Partial<{}>;
23
+ slots: {
24
+ 'no-messages'?(_: {}): any;
25
+ };
26
+ refs: {
27
+ chatRootRef: HTMLDivElement;
28
+ mainComposerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
29
+ target: import('../../composables/useChatEventBus').ChatTarget;
30
+ }> & Readonly<{}>, {
31
+ focusEditor: () => Promise<void>;
32
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
33
+ composerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
34
+ modelValue: string;
35
+ disabled: boolean;
36
+ resetSignal: number;
37
+ showScheduledButton?: boolean;
38
+ replyToMessage?: ChatMessageItem | null;
39
+ editingMessage?: ChatMessageItem | null;
40
+ contextLabel?: string;
41
+ offlineMode?: boolean;
42
+ pendingQueueCount?: number;
43
+ compact?: boolean;
44
+ }> & Readonly<{
45
+ onScheduleMessage?: ((input: import('../..').ScheduleMessageInput) => any) | undefined;
46
+ onSendAttachment?: ((input: import('../..').AttachmentUploadInput) => any) | undefined;
47
+ onSendPoll?: ((input: import('../..').PollComposerInput) => any) | undefined;
48
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
49
+ onSendText?: (() => any) | undefined;
50
+ onOpenScheduled?: (() => any) | undefined;
51
+ onCancelReply?: (() => any) | undefined;
52
+ onCancelEdit?: (() => any) | undefined;
53
+ }>, {
54
+ focusEditor: () => Promise<void>;
55
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
56
+ scheduleMessage: (input: import('../..').ScheduleMessageInput) => any;
57
+ sendAttachment: (input: import('../..').AttachmentUploadInput) => any;
58
+ sendPoll: (input: import('../..').PollComposerInput) => any;
59
+ "update:modelValue": (value: string) => any;
60
+ sendText: () => any;
61
+ openScheduled: () => any;
62
+ cancelReply: () => any;
63
+ cancelEdit: () => any;
64
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
65
+ fileInputRef: HTMLInputElement;
66
+ composerShellRef: HTMLDivElement;
67
+ composerEditorRef: HTMLDivElement;
68
+ composerActionsRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
69
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
70
+ onOpenPoll?: (() => any) | undefined;
71
+ }>, {
72
+ toggle: (event: Event) => void;
73
+ hide: () => void;
74
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
75
+ pickFile: (kind: "image" | "video" | "audio" | "file") => any;
76
+ openPoll: () => any;
77
+ }, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
78
+ popoverRef: ({
79
+ $props: import('primevue').PopoverProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
80
+ $slots: import('primevue').PopoverSlots;
81
+ $emit: ((e: "show") => void) & ((e: "hide") => void);
82
+ } & import('primevue').PopoverMethods) | null;
83
+ }, any, import('vue').ComponentProvideOptions, {
84
+ P: {};
85
+ B: {};
86
+ D: {};
87
+ C: {};
88
+ M: {};
89
+ Defaults: {};
90
+ }, Readonly<{}> & Readonly<{
91
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
92
+ onOpenPoll?: (() => any) | undefined;
93
+ }>, {
94
+ toggle: (event: Event) => void;
95
+ hide: () => void;
96
+ }, {}, {}, {}, {}> | null;
97
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
98
+ P: {};
99
+ B: {};
100
+ D: {};
101
+ C: {};
102
+ M: {};
103
+ Defaults: {};
104
+ }, Readonly<{
105
+ modelValue: string;
106
+ disabled: boolean;
107
+ resetSignal: number;
108
+ showScheduledButton?: boolean;
109
+ replyToMessage?: ChatMessageItem | null;
110
+ editingMessage?: ChatMessageItem | null;
111
+ contextLabel?: string;
112
+ offlineMode?: boolean;
113
+ pendingQueueCount?: number;
114
+ compact?: boolean;
115
+ }> & Readonly<{
116
+ onScheduleMessage?: ((input: import('../..').ScheduleMessageInput) => any) | undefined;
117
+ onSendAttachment?: ((input: import('../..').AttachmentUploadInput) => any) | undefined;
118
+ onSendPoll?: ((input: import('../..').PollComposerInput) => any) | undefined;
119
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
120
+ onSendText?: (() => any) | undefined;
121
+ onOpenScheduled?: (() => any) | undefined;
122
+ onCancelReply?: (() => any) | undefined;
123
+ onCancelEdit?: (() => any) | undefined;
124
+ }>, {
125
+ focusEditor: () => Promise<void>;
126
+ }, {}, {}, {}, {}> | null;
127
+ }, any, import('vue').ComponentProvideOptions, {
128
+ P: {};
129
+ B: {};
130
+ D: {};
131
+ C: {};
132
+ M: {};
133
+ Defaults: {};
134
+ }, Readonly<{
135
+ target: import('../../composables/useChatEventBus').ChatTarget;
136
+ }> & Readonly<{}>, {
137
+ focusEditor: () => Promise<void>;
138
+ }, {}, {}, {}, {}> | null;
139
+ threadComposerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
140
+ target: import('../../composables/useChatEventBus').ChatTarget;
141
+ }> & Readonly<{}>, {
142
+ focusEditor: () => Promise<void>;
143
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
144
+ composerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
145
+ modelValue: string;
146
+ disabled: boolean;
147
+ resetSignal: number;
148
+ showScheduledButton?: boolean;
149
+ replyToMessage?: ChatMessageItem | null;
150
+ editingMessage?: ChatMessageItem | null;
151
+ contextLabel?: string;
152
+ offlineMode?: boolean;
153
+ pendingQueueCount?: number;
154
+ compact?: boolean;
155
+ }> & Readonly<{
156
+ onScheduleMessage?: ((input: import('../..').ScheduleMessageInput) => any) | undefined;
157
+ onSendAttachment?: ((input: import('../..').AttachmentUploadInput) => any) | undefined;
158
+ onSendPoll?: ((input: import('../..').PollComposerInput) => any) | undefined;
159
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
160
+ onSendText?: (() => any) | undefined;
161
+ onOpenScheduled?: (() => any) | undefined;
162
+ onCancelReply?: (() => any) | undefined;
163
+ onCancelEdit?: (() => any) | undefined;
164
+ }>, {
165
+ focusEditor: () => Promise<void>;
166
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
167
+ scheduleMessage: (input: import('../..').ScheduleMessageInput) => any;
168
+ sendAttachment: (input: import('../..').AttachmentUploadInput) => any;
169
+ sendPoll: (input: import('../..').PollComposerInput) => any;
170
+ "update:modelValue": (value: string) => any;
171
+ sendText: () => any;
172
+ openScheduled: () => any;
173
+ cancelReply: () => any;
174
+ cancelEdit: () => any;
175
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
176
+ fileInputRef: HTMLInputElement;
177
+ composerShellRef: HTMLDivElement;
178
+ composerEditorRef: HTMLDivElement;
179
+ composerActionsRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
180
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
181
+ onOpenPoll?: (() => any) | undefined;
182
+ }>, {
183
+ toggle: (event: Event) => void;
184
+ hide: () => void;
185
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
186
+ pickFile: (kind: "image" | "video" | "audio" | "file") => any;
187
+ openPoll: () => any;
188
+ }, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
189
+ popoverRef: ({
190
+ $props: import('primevue').PopoverProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
191
+ $slots: import('primevue').PopoverSlots;
192
+ $emit: ((e: "show") => void) & ((e: "hide") => void);
193
+ } & import('primevue').PopoverMethods) | null;
194
+ }, any, import('vue').ComponentProvideOptions, {
195
+ P: {};
196
+ B: {};
197
+ D: {};
198
+ C: {};
199
+ M: {};
200
+ Defaults: {};
201
+ }, Readonly<{}> & Readonly<{
202
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
203
+ onOpenPoll?: (() => any) | undefined;
204
+ }>, {
205
+ toggle: (event: Event) => void;
206
+ hide: () => void;
207
+ }, {}, {}, {}, {}> | null;
208
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
209
+ P: {};
210
+ B: {};
211
+ D: {};
212
+ C: {};
213
+ M: {};
214
+ Defaults: {};
215
+ }, Readonly<{
216
+ modelValue: string;
217
+ disabled: boolean;
218
+ resetSignal: number;
219
+ showScheduledButton?: boolean;
220
+ replyToMessage?: ChatMessageItem | null;
221
+ editingMessage?: ChatMessageItem | null;
222
+ contextLabel?: string;
223
+ offlineMode?: boolean;
224
+ pendingQueueCount?: number;
225
+ compact?: boolean;
226
+ }> & Readonly<{
227
+ onScheduleMessage?: ((input: import('../..').ScheduleMessageInput) => any) | undefined;
228
+ onSendAttachment?: ((input: import('../..').AttachmentUploadInput) => any) | undefined;
229
+ onSendPoll?: ((input: import('../..').PollComposerInput) => any) | undefined;
230
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
231
+ onSendText?: (() => any) | undefined;
232
+ onOpenScheduled?: (() => any) | undefined;
233
+ onCancelReply?: (() => any) | undefined;
234
+ onCancelEdit?: (() => any) | undefined;
235
+ }>, {
236
+ focusEditor: () => Promise<void>;
237
+ }, {}, {}, {}, {}> | null;
238
+ }, any, import('vue').ComponentProvideOptions, {
239
+ P: {};
240
+ B: {};
241
+ D: {};
242
+ C: {};
243
+ M: {};
244
+ Defaults: {};
245
+ }, Readonly<{
246
+ target: import('../../composables/useChatEventBus').ChatTarget;
247
+ }> & Readonly<{}>, {
248
+ focusEditor: () => Promise<void>;
249
+ }, {}, {}, {}, {}> | null;
250
+ };
251
+ rootEl: HTMLDivElement;
252
+ };
253
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
254
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
255
+ groupMembersFetched: (members: ParticipantInfo[]) => any;
256
+ chatEmpty: () => any;
257
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
258
+ onGroupMembersFetched?: ((members: ParticipantInfo[]) => any) | undefined;
259
+ onChatEmpty?: (() => any) | undefined;
260
+ }>, {
261
+ messages: ChatMessageItem[];
262
+ senderDisplayName: string;
263
+ conversation: ChatConversationItem | null;
264
+ client: ChatClient | null;
265
+ threadMessages: ChatMessageItem[];
266
+ loadingMessages: boolean;
267
+ loadingThreadMessages: boolean;
268
+ isReadOnly: boolean;
269
+ sendOptions: MessageSendOptions;
270
+ showDefaultEmptyState: boolean;
271
+ initialScheduledMessagesOpen: boolean;
272
+ chatUid: string;
273
+ hideDeletedMessages: boolean;
274
+ groupMessageGetter: (guid: string, query: string) => Promise<unknown>;
275
+ loadMessageId: string;
276
+ displayNoMessagesText: boolean;
277
+ language: Language;
278
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
279
+ chatRootRef: HTMLDivElement;
280
+ mainComposerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
281
+ target: import('../../composables/useChatEventBus').ChatTarget;
282
+ }> & Readonly<{}>, {
283
+ focusEditor: () => Promise<void>;
284
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
285
+ composerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
286
+ modelValue: string;
287
+ disabled: boolean;
288
+ resetSignal: number;
289
+ showScheduledButton?: boolean;
290
+ replyToMessage?: ChatMessageItem | null;
291
+ editingMessage?: ChatMessageItem | null;
292
+ contextLabel?: string;
293
+ offlineMode?: boolean;
294
+ pendingQueueCount?: number;
295
+ compact?: boolean;
296
+ }> & Readonly<{
297
+ onScheduleMessage?: ((input: import('../..').ScheduleMessageInput) => any) | undefined;
298
+ onSendAttachment?: ((input: import('../..').AttachmentUploadInput) => any) | undefined;
299
+ onSendPoll?: ((input: import('../..').PollComposerInput) => any) | undefined;
300
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
301
+ onSendText?: (() => any) | undefined;
302
+ onOpenScheduled?: (() => any) | undefined;
303
+ onCancelReply?: (() => any) | undefined;
304
+ onCancelEdit?: (() => any) | undefined;
305
+ }>, {
306
+ focusEditor: () => Promise<void>;
307
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
308
+ scheduleMessage: (input: import('../..').ScheduleMessageInput) => any;
309
+ sendAttachment: (input: import('../..').AttachmentUploadInput) => any;
310
+ sendPoll: (input: import('../..').PollComposerInput) => any;
311
+ "update:modelValue": (value: string) => any;
312
+ sendText: () => any;
313
+ openScheduled: () => any;
314
+ cancelReply: () => any;
315
+ cancelEdit: () => any;
316
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
317
+ fileInputRef: HTMLInputElement;
318
+ composerShellRef: HTMLDivElement;
319
+ composerEditorRef: HTMLDivElement;
320
+ composerActionsRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
321
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
322
+ onOpenPoll?: (() => any) | undefined;
323
+ }>, {
324
+ toggle: (event: Event) => void;
325
+ hide: () => void;
326
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
327
+ pickFile: (kind: "image" | "video" | "audio" | "file") => any;
328
+ openPoll: () => any;
329
+ }, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
330
+ popoverRef: ({
331
+ $props: import('primevue').PopoverProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
332
+ $slots: import('primevue').PopoverSlots;
333
+ $emit: ((e: "show") => void) & ((e: "hide") => void);
334
+ } & import('primevue').PopoverMethods) | null;
335
+ }, any, import('vue').ComponentProvideOptions, {
336
+ P: {};
337
+ B: {};
338
+ D: {};
339
+ C: {};
340
+ M: {};
341
+ Defaults: {};
342
+ }, Readonly<{}> & Readonly<{
343
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
344
+ onOpenPoll?: (() => any) | undefined;
345
+ }>, {
346
+ toggle: (event: Event) => void;
347
+ hide: () => void;
348
+ }, {}, {}, {}, {}> | null;
349
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
350
+ P: {};
351
+ B: {};
352
+ D: {};
353
+ C: {};
354
+ M: {};
355
+ Defaults: {};
356
+ }, Readonly<{
357
+ modelValue: string;
358
+ disabled: boolean;
359
+ resetSignal: number;
360
+ showScheduledButton?: boolean;
361
+ replyToMessage?: ChatMessageItem | null;
362
+ editingMessage?: ChatMessageItem | null;
363
+ contextLabel?: string;
364
+ offlineMode?: boolean;
365
+ pendingQueueCount?: number;
366
+ compact?: boolean;
367
+ }> & Readonly<{
368
+ onScheduleMessage?: ((input: import('../..').ScheduleMessageInput) => any) | undefined;
369
+ onSendAttachment?: ((input: import('../..').AttachmentUploadInput) => any) | undefined;
370
+ onSendPoll?: ((input: import('../..').PollComposerInput) => any) | undefined;
371
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
372
+ onSendText?: (() => any) | undefined;
373
+ onOpenScheduled?: (() => any) | undefined;
374
+ onCancelReply?: (() => any) | undefined;
375
+ onCancelEdit?: (() => any) | undefined;
376
+ }>, {
377
+ focusEditor: () => Promise<void>;
378
+ }, {}, {}, {}, {}> | null;
379
+ }, any, import('vue').ComponentProvideOptions, {
380
+ P: {};
381
+ B: {};
382
+ D: {};
383
+ C: {};
384
+ M: {};
385
+ Defaults: {};
386
+ }, Readonly<{
387
+ target: import('../../composables/useChatEventBus').ChatTarget;
388
+ }> & Readonly<{}>, {
389
+ focusEditor: () => Promise<void>;
390
+ }, {}, {}, {}, {}> | null;
391
+ threadComposerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
392
+ target: import('../../composables/useChatEventBus').ChatTarget;
393
+ }> & Readonly<{}>, {
394
+ focusEditor: () => Promise<void>;
395
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
396
+ composerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
397
+ modelValue: string;
398
+ disabled: boolean;
399
+ resetSignal: number;
400
+ showScheduledButton?: boolean;
401
+ replyToMessage?: ChatMessageItem | null;
402
+ editingMessage?: ChatMessageItem | null;
403
+ contextLabel?: string;
404
+ offlineMode?: boolean;
405
+ pendingQueueCount?: number;
406
+ compact?: boolean;
407
+ }> & Readonly<{
408
+ onScheduleMessage?: ((input: import('../..').ScheduleMessageInput) => any) | undefined;
409
+ onSendAttachment?: ((input: import('../..').AttachmentUploadInput) => any) | undefined;
410
+ onSendPoll?: ((input: import('../..').PollComposerInput) => any) | undefined;
411
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
412
+ onSendText?: (() => any) | undefined;
413
+ onOpenScheduled?: (() => any) | undefined;
414
+ onCancelReply?: (() => any) | undefined;
415
+ onCancelEdit?: (() => any) | undefined;
416
+ }>, {
417
+ focusEditor: () => Promise<void>;
418
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
419
+ scheduleMessage: (input: import('../..').ScheduleMessageInput) => any;
420
+ sendAttachment: (input: import('../..').AttachmentUploadInput) => any;
421
+ sendPoll: (input: import('../..').PollComposerInput) => any;
422
+ "update:modelValue": (value: string) => any;
423
+ sendText: () => any;
424
+ openScheduled: () => any;
425
+ cancelReply: () => any;
426
+ cancelEdit: () => any;
427
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
428
+ fileInputRef: HTMLInputElement;
429
+ composerShellRef: HTMLDivElement;
430
+ composerEditorRef: HTMLDivElement;
431
+ composerActionsRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
432
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
433
+ onOpenPoll?: (() => any) | undefined;
434
+ }>, {
435
+ toggle: (event: Event) => void;
436
+ hide: () => void;
437
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
438
+ pickFile: (kind: "image" | "video" | "audio" | "file") => any;
439
+ openPoll: () => any;
440
+ }, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
441
+ popoverRef: ({
442
+ $props: import('primevue').PopoverProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
443
+ $slots: import('primevue').PopoverSlots;
444
+ $emit: ((e: "show") => void) & ((e: "hide") => void);
445
+ } & import('primevue').PopoverMethods) | null;
446
+ }, any, import('vue').ComponentProvideOptions, {
447
+ P: {};
448
+ B: {};
449
+ D: {};
450
+ C: {};
451
+ M: {};
452
+ Defaults: {};
453
+ }, Readonly<{}> & Readonly<{
454
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
455
+ onOpenPoll?: (() => any) | undefined;
456
+ }>, {
457
+ toggle: (event: Event) => void;
458
+ hide: () => void;
459
+ }, {}, {}, {}, {}> | null;
460
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
461
+ P: {};
462
+ B: {};
463
+ D: {};
464
+ C: {};
465
+ M: {};
466
+ Defaults: {};
467
+ }, Readonly<{
468
+ modelValue: string;
469
+ disabled: boolean;
470
+ resetSignal: number;
471
+ showScheduledButton?: boolean;
472
+ replyToMessage?: ChatMessageItem | null;
473
+ editingMessage?: ChatMessageItem | null;
474
+ contextLabel?: string;
475
+ offlineMode?: boolean;
476
+ pendingQueueCount?: number;
477
+ compact?: boolean;
478
+ }> & Readonly<{
479
+ onScheduleMessage?: ((input: import('../..').ScheduleMessageInput) => any) | undefined;
480
+ onSendAttachment?: ((input: import('../..').AttachmentUploadInput) => any) | undefined;
481
+ onSendPoll?: ((input: import('../..').PollComposerInput) => any) | undefined;
482
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
483
+ onSendText?: (() => any) | undefined;
484
+ onOpenScheduled?: (() => any) | undefined;
485
+ onCancelReply?: (() => any) | undefined;
486
+ onCancelEdit?: (() => any) | undefined;
487
+ }>, {
488
+ focusEditor: () => Promise<void>;
489
+ }, {}, {}, {}, {}> | null;
490
+ }, any, import('vue').ComponentProvideOptions, {
491
+ P: {};
492
+ B: {};
493
+ D: {};
494
+ C: {};
495
+ M: {};
496
+ Defaults: {};
497
+ }, Readonly<{
498
+ target: import('../../composables/useChatEventBus').ChatTarget;
499
+ }> & Readonly<{}>, {
500
+ focusEditor: () => Promise<void>;
501
+ }, {}, {}, {}, {}> | null;
502
+ }, HTMLDivElement>;
503
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
504
+ export default _default;
505
+ type __VLS_WithTemplateSlots<T, S> = T & {
506
+ new (): {
507
+ $slots: S;
508
+ };
509
+ };
@@ -0,0 +1,33 @@
1
+ type __VLS_Props = {
2
+ visible: boolean;
3
+ offlineMode: boolean;
4
+ connected: boolean;
5
+ loading: boolean;
6
+ notFound: boolean;
7
+ isEmpty: boolean;
8
+ showEmptySlot: boolean;
9
+ messages: {
10
+ waitingForNetwork: string;
11
+ connecting: string;
12
+ loading: string;
13
+ notFound: string;
14
+ noMessages: string;
15
+ };
16
+ };
17
+ declare function __VLS_template(): {
18
+ attrs: Partial<{}>;
19
+ slots: {
20
+ 'no-messages'?(_: {}): any;
21
+ };
22
+ refs: {};
23
+ rootEl: any;
24
+ };
25
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
26
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
27
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
28
+ export default _default;
29
+ type __VLS_WithTemplateSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -0,0 +1,43 @@
1
+ import { ChatClient, ChatConversationItem, ChatMessageItem, Language, MessageSendOptions, ParticipantInfo } from '../../chat/types';
2
+ export interface BccChatPublicProps {
3
+ client?: ChatClient | null;
4
+ conversation?: ChatConversationItem | null;
5
+ messages?: ChatMessageItem[];
6
+ threadMessages?: ChatMessageItem[];
7
+ loadingMessages?: boolean;
8
+ loadingThreadMessages?: boolean;
9
+ isReadOnly?: boolean;
10
+ sendOptions?: MessageSendOptions;
11
+ showDefaultEmptyState?: boolean;
12
+ initialScheduledMessagesOpen?: boolean;
13
+ chatUid?: string;
14
+ senderDisplayName?: string;
15
+ hideDeletedMessages?: boolean;
16
+ groupMessageGetter?: (guid: string, query: string) => Promise<unknown>;
17
+ loadMessageId?: string;
18
+ displayNoMessagesText?: boolean;
19
+ language?: Language;
20
+ }
21
+ export declare const bccChatPublicPropDefaults: {
22
+ client: null;
23
+ conversation: undefined;
24
+ messages: undefined;
25
+ threadMessages: undefined;
26
+ loadingMessages: undefined;
27
+ loadingThreadMessages: undefined;
28
+ isReadOnly: undefined;
29
+ sendOptions: undefined;
30
+ showDefaultEmptyState: undefined;
31
+ initialScheduledMessagesOpen: boolean;
32
+ chatUid: string;
33
+ senderDisplayName: undefined;
34
+ hideDeletedMessages: boolean;
35
+ groupMessageGetter: undefined;
36
+ loadMessageId: string;
37
+ displayNoMessagesText: boolean;
38
+ language: undefined;
39
+ };
40
+ export type BccChatPublicEmits = {
41
+ groupMembersFetched: [members: ParticipantInfo[]];
42
+ chatEmpty: [];
43
+ };
@@ -0,0 +1,15 @@
1
+ import { ChatConversationItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ conversations: ChatConversationItem[];
4
+ activeConversationId: string | null;
5
+ loading: boolean;
6
+ query: string;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ select: (conversationId: string) => any;
10
+ "update:query": (value: string) => any;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onSelect?: ((conversationId: string) => any) | undefined;
13
+ "onUpdate:query"?: ((value: string) => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
15
+ export default _default;
@@ -0,0 +1,8 @@
1
+ type __VLS_Props = {
2
+ name: string;
3
+ subtitle?: string;
4
+ avatar?: string;
5
+ connected: boolean;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
8
+ export default _default;
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ text: string;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
5
+ export default _default;
@@ -0,0 +1,19 @@
1
+ declare function toggle(event: Event): void;
2
+ declare function hide(): void;
3
+ declare const _default: import('vue').DefineComponent<{}, {
4
+ toggle: typeof toggle;
5
+ hide: typeof hide;
6
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ pickFile: (kind: "image" | "video" | "audio" | "file") => any;
8
+ openPoll: () => any;
9
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
10
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
11
+ onOpenPoll?: (() => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
13
+ popoverRef: ({
14
+ $props: import('primevue').PopoverProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
15
+ $slots: import('primevue').PopoverSlots;
16
+ $emit: ((e: "show") => void) & ((e: "hide") => void);
17
+ } & import('primevue').PopoverMethods) | null;
18
+ }, any>;
19
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
4
+ /** "editing" shows an information-coloured banner; "replying" shows success-coloured */
5
+ variant: "editing" | "replying";
6
+ contextLabel?: string;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ cancel: () => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onCancel?: (() => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
13
+ export default _default;