@bcc-code/vue-bcc-chat-ui 6.5.0 → 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 (137) hide show
  1. package/dist/App.vue.d.ts +1 -1
  2. package/dist/auth.d.ts +2 -0
  3. package/dist/chat/accessToken.d.ts +9 -1
  4. package/dist/chat/avatar.d.ts +3 -0
  5. package/dist/chat/client.d.ts +7 -0
  6. package/dist/chat/conversationState.d.ts +11 -0
  7. package/dist/chat/data.d.ts +8 -17
  8. package/dist/chat/environment.d.ts +7 -2
  9. package/dist/chat/i18n/en.d.ts +118 -0
  10. package/dist/chat/i18n/nb.d.ts +118 -0
  11. package/dist/chat/i18n/types.d.ts +2 -0
  12. package/dist/chat/index.d.ts +87 -446
  13. package/dist/chat/localization.d.ts +15 -0
  14. package/dist/chat/messageText.d.ts +13 -0
  15. package/dist/chat/mockClient.d.ts +13 -0
  16. package/dist/chat/offlineStore.d.ts +53 -0
  17. package/dist/chat/reactions.d.ts +8 -0
  18. package/dist/chat/richText.d.ts +5 -0
  19. package/dist/chat/theme.d.ts +10 -400
  20. package/dist/chat/types.d.ts +206 -28
  21. package/dist/components/chat/BccChat.vue.d.ts +509 -0
  22. package/dist/components/chat/ChatStatusOverlay.vue.d.ts +33 -0
  23. package/dist/components/chat/publicContract.d.ts +43 -0
  24. package/dist/components/conversations/ConversationList.vue.d.ts +15 -0
  25. package/dist/components/conversations/UserProfileCard.vue.d.ts +8 -0
  26. package/dist/components/messages/ActionMessageRow.vue.d.ts +5 -0
  27. package/dist/components/messages/ComposerActionsPopover.vue.d.ts +19 -0
  28. package/dist/components/messages/ComposerContextBanner.vue.d.ts +13 -0
  29. package/dist/components/messages/ComposerFormatMenu.vue.d.ts +13 -0
  30. package/dist/components/messages/ComposerPollDialog.vue.d.ts +16 -0
  31. package/dist/components/messages/ComposerScheduleDialog.vue.d.ts +20 -0
  32. package/dist/components/messages/ConversationComposer.vue.d.ts +106 -0
  33. package/dist/components/messages/LinkPreviewCard.vue.d.ts +6 -0
  34. package/dist/components/messages/LinkifiedText.vue.d.ts +8 -0
  35. package/dist/components/messages/MessageAttachmentList.vue.d.ts +10 -0
  36. package/dist/components/messages/MessageComposer.vue.d.ts +69 -0
  37. package/dist/components/messages/MessageDeliveryStatus.vue.d.ts +6 -0
  38. package/dist/components/messages/MessageItem.vue.d.ts +27 -0
  39. package/dist/components/messages/MessageItemHeader.vue.d.ts +6 -0
  40. package/dist/components/messages/MessageItemMenu.vue.d.ts +26 -0
  41. package/dist/components/messages/MessageItemMenuReactions.vue.d.ts +11 -0
  42. package/dist/components/messages/MessageItemReactions.vue.d.ts +14 -0
  43. package/dist/components/messages/MessageList.vue.d.ts +115 -0
  44. package/dist/components/messages/MessageListHeader.vue.d.ts +7 -0
  45. package/dist/components/messages/MessagePollContent.vue.d.ts +12 -0
  46. package/dist/components/messages/MessageReactionList.vue.d.ts +12 -0
  47. package/dist/components/messages/MessageReplyQuote.vue.d.ts +10 -0
  48. package/dist/components/messages/MessageTextContent.vue.d.ts +6 -0
  49. package/dist/components/overlays/FullscreenDialog.vue.d.ts +34 -0
  50. package/dist/components/overlays/MediaViewerDialog.vue.d.ts +13 -0
  51. package/dist/components/overlays/MessageInfoDialog.vue.d.ts +14 -0
  52. package/dist/components/overlays/ReceiptSection.vue.d.ts +9 -0
  53. package/dist/components/overlays/ScheduledMessagesDialog.vue.d.ts +25 -0
  54. package/dist/composables/chat/index.d.ts +13 -0
  55. package/dist/composables/chat/useComposerContext.d.ts +43 -0
  56. package/dist/composables/chat/useConversationContext.d.ts +30 -0
  57. package/dist/composables/chat/useDialogsContext.d.ts +27 -0
  58. package/dist/composables/chat/useMessagesContext.d.ts +36 -0
  59. package/dist/composables/useChatActions.d.ts +21 -0
  60. package/dist/composables/useChatEventBus.d.ts +91 -0
  61. package/dist/composables/useComposerDrafts.d.ts +44 -0
  62. package/dist/composables/useConversationComposer.d.ts +15 -0
  63. package/dist/composables/useGroupMemberTracking.d.ts +28 -0
  64. package/dist/composables/useImageZoom.d.ts +26 -0
  65. package/dist/composables/useMessageActionMenu.d.ts +202 -0
  66. package/dist/composables/useMessageInfoDialog.d.ts +165 -0
  67. package/dist/composables/useMessageListScroll.d.ts +30 -0
  68. package/dist/composables/useMessageNavigation.d.ts +18 -0
  69. package/dist/composables/useRichTextComposer.d.ts +31 -0
  70. package/dist/demo/ApiExamplesPanel.vue.d.ts +6 -0
  71. package/dist/demo/ChatShell.vue.d.ts +10 -0
  72. package/dist/demo/ThemeModeToggle.vue.d.ts +12 -0
  73. package/dist/demo/useDemoThemeMode.d.ts +6 -0
  74. package/dist/design.d.ts +10 -0
  75. package/dist/index.d.ts +10 -3
  76. package/dist/main.d.ts +0 -1
  77. package/dist/style.css +1 -0
  78. package/dist/vue-bcc-chat-ui.js +8858 -84780
  79. package/dist/vue-bcc-chat-ui.js.map +1 -1
  80. package/package.json +42 -51
  81. package/README.md +0 -89
  82. package/dist/chat/bccuiExtension.d.ts +0 -7
  83. package/dist/chat/captionedAttachment.d.ts +0 -7
  84. package/dist/chat/captionedAttachmentExtension.d.ts +0 -7
  85. package/dist/chat/cometChatPatches.d.ts +0 -3
  86. package/dist/chat/connection.d.ts +0 -14
  87. package/dist/chat/logger.d.ts +0 -12
  88. package/dist/chat/login.d.ts +0 -14
  89. package/dist/chat/message.d.ts +0 -15
  90. package/dist/chat/replyExtension.d.ts +0 -26
  91. package/dist/chat/replyStyle.d.ts +0 -30
  92. package/dist/chat/rescheduleExtension.d.ts +0 -22
  93. package/dist/chat/scheduledMessage.d.ts +0 -4
  94. package/dist/chat/styleFix.d.ts +0 -14
  95. package/dist/chat/translations.d.ts +0 -3
  96. package/dist/chat/uiKit.d.ts +0 -10
  97. package/dist/component-overrides/BccBubbleWrapper.vue.d.ts +0 -156
  98. package/dist/component-overrides/CometChatMessageListOverride.vue.d.ts +0 -2
  99. package/dist/components/BccAttachmentBox.vue.d.ts +0 -29
  100. package/dist/components/BccAttachmentPreview.vue.d.ts +0 -23
  101. package/dist/components/BccChatMessageBubble.vue.d.ts +0 -99
  102. package/dist/components/BccChatMessageList.vue.d.ts +0 -82
  103. package/dist/components/BccChatMessages.vue.d.ts +0 -33
  104. package/dist/components/BccChatSendButton.vue.d.ts +0 -4
  105. package/dist/components/BccCometChatFullScreenViewer.vue.d.ts +0 -24
  106. package/dist/components/BccFileBubble.vue.d.ts +0 -70
  107. package/dist/components/BccImageBubble.vue.d.ts +0 -27
  108. package/dist/components/BccReplyBox.vue.d.ts +0 -36
  109. package/dist/components/BccReplyPreview.vue.d.ts +0 -30
  110. package/dist/components/BccScheduledMessageModal.vue.d.ts +0 -31
  111. package/dist/components/BccScheduledMessages.vue.d.ts +0 -25
  112. package/dist/components/BccScheduledSendButton.vue.d.ts +0 -14
  113. package/dist/offline/cometChatAPIInterceptor.d.ts +0 -2
  114. package/dist/offline/cometChatWSInterceptor.d.ts +0 -2
  115. package/dist/offline/connectivity.d.ts +0 -5
  116. package/dist/offline/failedSendingRetry.d.ts +0 -4
  117. package/dist/offline/index.d.ts +0 -10
  118. package/dist/offline/offlineStoreLocalStorage.d.ts +0 -32
  119. package/dist/offline/types.d.ts +0 -69
  120. package/dist/vite.svg +0 -1
  121. package/dist/vue-bcc-chat-ui.css +0 -1
  122. package/src/components/BccAttachmentBox.vue +0 -133
  123. package/src/components/BccAttachmentPreview.vue +0 -57
  124. package/src/components/BccChatMessageBubble.vue +0 -219
  125. package/src/components/BccChatMessageList.vue +0 -488
  126. package/src/components/BccChatMessages.vue +0 -212
  127. package/src/components/BccChatSendButton.vue +0 -91
  128. package/src/components/BccCometChatFullScreenViewer.vue +0 -118
  129. package/src/components/BccFileBubble.vue +0 -137
  130. package/src/components/BccImageBubble.vue +0 -75
  131. package/src/components/BccReplyBox.vue +0 -141
  132. package/src/components/BccReplyPreview.vue +0 -113
  133. package/src/components/BccScheduledMessageIcon.vue +0 -65
  134. package/src/components/BccScheduledMessageModal.vue +0 -70
  135. package/src/components/BccScheduledMessages.vue +0 -125
  136. package/src/components/BccScheduledSendButton.vue +0 -118
  137. /package/dist/{components/BccScheduledMessageIcon.vue.d.ts → FixtureApp.vue.d.ts} +0 -0
@@ -0,0 +1,165 @@
1
+ import { ChatClient, ChatMessageItem, ChatMessageReceiptItem } from '../chat/types';
2
+ export interface UseMessageInfoDialogOptions {
3
+ /** Returns the active chat client, or null when none is available. */
4
+ getClient: () => ChatClient | null;
5
+ /** Fallback error string shown when the receipt fetch fails without a message. */
6
+ fetchErrorFallback: string;
7
+ }
8
+ /**
9
+ * Composable that owns the reactive state required to display the per-message
10
+ * info overlay and handles the asynchronous receipt-loading lifecycle.
11
+ */
12
+ export declare function useMessageInfoDialog(options: UseMessageInfoDialogOptions): {
13
+ infoMessage: import('vue').Ref<{
14
+ id: string;
15
+ muid?: string | undefined;
16
+ conversationId: string;
17
+ senderId: string;
18
+ senderName: string;
19
+ text: string;
20
+ kind: import('..').ChatMessageKind;
21
+ sentAt: Date;
22
+ category: string;
23
+ type: string;
24
+ senderAvatar?: string | undefined;
25
+ isOwn: boolean;
26
+ isDeleted: boolean;
27
+ isEdited: boolean;
28
+ attachments: {
29
+ kind: Extract<import('..').ChatMessageKind, "image" | "video" | "audio" | "file">;
30
+ name: string;
31
+ url?: string | undefined;
32
+ mimeType?: string | undefined;
33
+ extension?: string | undefined;
34
+ size?: number | undefined;
35
+ }[];
36
+ poll?: {
37
+ id?: string | undefined;
38
+ question: string;
39
+ options: {
40
+ id: string;
41
+ text: string;
42
+ voteCount: number;
43
+ voters: string[];
44
+ }[];
45
+ totalVotes: number;
46
+ allowsMultipleAnswers: boolean;
47
+ } | undefined;
48
+ scheduled?: {
49
+ scheduleDate?: Date | undefined;
50
+ originalChatUid?: string | undefined;
51
+ muid?: string | undefined;
52
+ messageId?: number | undefined;
53
+ } | undefined;
54
+ translatedText?: string | undefined;
55
+ replyTo?: {
56
+ messageId: string;
57
+ senderName: string;
58
+ text: string;
59
+ kind: import('..').ChatMessageKind;
60
+ } | undefined;
61
+ parentMessageId?: string | undefined;
62
+ replyCount: number;
63
+ reactions: {
64
+ emoji: string;
65
+ count: number;
66
+ reactedByMe: boolean;
67
+ }[];
68
+ receipts: {
69
+ deliveredAt?: Date | undefined;
70
+ deliveredToMeAt?: Date | undefined;
71
+ readAt?: Date | undefined;
72
+ readByMeAt?: Date | undefined;
73
+ };
74
+ deliveryState: import('..').ChatDeliveryState;
75
+ metadata?: Record<string, unknown> | undefined;
76
+ source: any;
77
+ } | null, ChatMessageItem | {
78
+ id: string;
79
+ muid?: string | undefined;
80
+ conversationId: string;
81
+ senderId: string;
82
+ senderName: string;
83
+ text: string;
84
+ kind: import('..').ChatMessageKind;
85
+ sentAt: Date;
86
+ category: string;
87
+ type: string;
88
+ senderAvatar?: string | undefined;
89
+ isOwn: boolean;
90
+ isDeleted: boolean;
91
+ isEdited: boolean;
92
+ attachments: {
93
+ kind: Extract<import('..').ChatMessageKind, "image" | "video" | "audio" | "file">;
94
+ name: string;
95
+ url?: string | undefined;
96
+ mimeType?: string | undefined;
97
+ extension?: string | undefined;
98
+ size?: number | undefined;
99
+ }[];
100
+ poll?: {
101
+ id?: string | undefined;
102
+ question: string;
103
+ options: {
104
+ id: string;
105
+ text: string;
106
+ voteCount: number;
107
+ voters: string[];
108
+ }[];
109
+ totalVotes: number;
110
+ allowsMultipleAnswers: boolean;
111
+ } | undefined;
112
+ scheduled?: {
113
+ scheduleDate?: Date | undefined;
114
+ originalChatUid?: string | undefined;
115
+ muid?: string | undefined;
116
+ messageId?: number | undefined;
117
+ } | undefined;
118
+ translatedText?: string | undefined;
119
+ replyTo?: {
120
+ messageId: string;
121
+ senderName: string;
122
+ text: string;
123
+ kind: import('..').ChatMessageKind;
124
+ } | undefined;
125
+ parentMessageId?: string | undefined;
126
+ replyCount: number;
127
+ reactions: {
128
+ emoji: string;
129
+ count: number;
130
+ reactedByMe: boolean;
131
+ }[];
132
+ receipts: {
133
+ deliveredAt?: Date | undefined;
134
+ deliveredToMeAt?: Date | undefined;
135
+ readAt?: Date | undefined;
136
+ readByMeAt?: Date | undefined;
137
+ };
138
+ deliveryState: import('..').ChatDeliveryState;
139
+ metadata?: Record<string, unknown> | undefined;
140
+ source: any;
141
+ } | null>;
142
+ infoMessageReceipts: import('vue').Ref<{
143
+ kind: import('..').ChatMessageReceiptKind;
144
+ user: {
145
+ uid: string;
146
+ name: string;
147
+ avatar?: string | undefined;
148
+ status?: string | undefined;
149
+ };
150
+ timestamp?: Date | undefined;
151
+ }[], ChatMessageReceiptItem[] | {
152
+ kind: import('..').ChatMessageReceiptKind;
153
+ user: {
154
+ uid: string;
155
+ name: string;
156
+ avatar?: string | undefined;
157
+ status?: string | undefined;
158
+ };
159
+ timestamp?: Date | undefined;
160
+ }[]>;
161
+ loadingMessageReceipts: import('vue').Ref<boolean, boolean>;
162
+ messageReceiptsError: import('vue').Ref<string | null, string | null>;
163
+ openMessageInfo: (message: ChatMessageItem) => Promise<void>;
164
+ closeMessageInfo: () => void;
165
+ };
@@ -0,0 +1,30 @@
1
+ import { ChatMessageItem, ChatConversationItem } from '../chat/types';
2
+ export interface UseMessageListScrollOptions {
3
+ /** Returns the current conversation, used to detect conversation switches. */
4
+ getConversation: () => ChatConversationItem | null | undefined;
5
+ /** Returns the parent message, used to detect thread switches. */
6
+ getParentMessage: () => ChatMessageItem | null | undefined;
7
+ /** Returns the current message array. */
8
+ getMessages: () => ChatMessageItem[];
9
+ /** Returns true while the initial message batch is loading. */
10
+ isLoading: () => boolean;
11
+ /** Returns true while older messages are being prepended. */
12
+ isLoadingOlder: () => boolean;
13
+ /** Returns true when the client has more older messages to fetch. */
14
+ canLoadOlder: () => boolean;
15
+ /** Called when the composable wants to fetch older messages. */
16
+ onLoadOlder: () => void;
17
+ }
18
+ /**
19
+ * Composable that manages auto-scroll, manual scroll tracking, and the
20
+ * restoring of scroll position after older messages are prepended.
21
+ */
22
+ export declare function useMessageListScroll(options: UseMessageListScrollOptions): {
23
+ threadRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
24
+ autoScrollEnabled: import('vue').Ref<boolean, boolean>;
25
+ disableAutoScroll: () => void;
26
+ enableAutoScroll: () => void;
27
+ handleThreadScroll: () => void;
28
+ handleComposerAreaEntered: () => void;
29
+ requestOlderMessages: (force?: boolean) => void;
30
+ };
@@ -0,0 +1,18 @@
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
+ /** Returns the value of the `loadMessageId` prop, if set. */
9
+ getPropLoadMessageId: () => string | undefined;
10
+ }
11
+ /**
12
+ * Composable that scrolls the chat root to a requested message ID coming from
13
+ * either the `loadMessageId` prop or the global `chat` navigation refs.
14
+ */
15
+ export declare function useMessageNavigation(options: UseMessageNavigationOptions): {
16
+ scrollToRequestedMessage: () => Promise<void>;
17
+ handleOpenReferencedMessage: (messageId: string) => void;
18
+ };
@@ -0,0 +1,31 @@
1
+ interface UseRichTextComposerOptions {
2
+ getModelValue: () => string;
3
+ updateModelValue: (value: string) => void;
4
+ submit: () => void;
5
+ }
6
+ export declare function useRichTextComposer(options: UseRichTextComposerOptions): {
7
+ applyFormat: (command: "bold" | "italic" | "underline") => void;
8
+ composerEditorRef: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
9
+ composerShellRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
10
+ editorKey: import('vue').Ref<number, number>;
11
+ focusEditor: () => void;
12
+ formatMenuPosition: import('vue').Ref<{
13
+ x: number;
14
+ y: number;
15
+ }, {
16
+ x: number;
17
+ y: number;
18
+ } | {
19
+ x: number;
20
+ y: number;
21
+ }>;
22
+ formatMenuRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
23
+ handleContextMenu: (event: MouseEvent) => void;
24
+ handleInput: () => void;
25
+ handleKeydown: (event: KeyboardEvent) => void;
26
+ handlePaste: (event: ClipboardEvent) => void;
27
+ hideFormatMenu: () => void;
28
+ resetEditor: () => void;
29
+ showFormatMenu: import('vue').Ref<boolean, boolean>;
30
+ };
31
+ export {};
@@ -0,0 +1,6 @@
1
+ import { ChatClient } from '../chat/types';
2
+ type __VLS_Props = {
3
+ client: ChatClient;
4
+ };
5
+ 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, {}, any>;
6
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { ChatClient } from '../chat/types';
2
+ type __VLS_Props = {
3
+ client: ChatClient;
4
+ displayName?: string;
5
+ email?: string;
6
+ avatar?: string;
7
+ initialScheduledMessagesOpen?: boolean;
8
+ };
9
+ 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>;
10
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { DemoThemeMode } from './useDemoThemeMode';
2
+ type __VLS_Props = {
3
+ modelValue: DemoThemeMode;
4
+ resolvedMode: "light" | "dark";
5
+ compact?: boolean;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ "update:modelValue": (value: DemoThemeMode) => any;
9
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ "onUpdate:modelValue"?: ((value: DemoThemeMode) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
12
+ export default _default;
@@ -0,0 +1,6 @@
1
+ export type DemoThemeMode = "light" | "dark" | "auto";
2
+ export declare function useDemoThemeMode(): {
3
+ selectedMode: import('vue').Ref<DemoThemeMode, DemoThemeMode>;
4
+ resolvedMode: import('vue').ComputedRef<"dark" | "light">;
5
+ setMode: (mode: DemoThemeMode) => void;
6
+ };
@@ -0,0 +1,10 @@
1
+ import { App } from 'vue';
2
+ import { BccPreset } from '@bcc-code/component-library-vue';
3
+ export interface InstallBccChatDesignOptions {
4
+ darkModeSelector?: string | false;
5
+ cssLayer?: boolean;
6
+ ripple?: boolean;
7
+ inputVariant?: "outlined" | "filled";
8
+ }
9
+ export declare function installBccChatDesign(app: App, options?: InstallBccChatDesignOptions): void;
10
+ export { BccPreset };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,11 @@
1
- import { default as chat } from './chat';
1
+ export { default as chat, default } from './chat';
2
2
  export * from './chat/types';
3
- export { default as BccChatMessageList } from './components/BccChatMessageList.vue';
4
- export default chat;
3
+ export { default as BccChatMessageList } from './components/chat/BccChat.vue';
4
+ /** Alias for the message-list component under its new canonical name. */
5
+ export { default as BccChat } from './components/chat/BccChat.vue';
6
+ /**
7
+ * Create an independent ChatClient instance. Useful when you need to render
8
+ * multiple `<BccChat>` components with different `chatUid` values on the same
9
+ * page — pass a separate client to each via the `client` prop.
10
+ */
11
+ export { createChatClient } from './chat/client';
package/dist/main.d.ts CHANGED
@@ -1 +0,0 @@
1
- export {};