@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,13 @@
1
+ type __VLS_Props = {
2
+ visible: boolean;
3
+ position: {
4
+ x: number;
5
+ y: number;
6
+ };
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ format: (command: "bold" | "italic" | "underline") => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onFormat?: ((command: "bold" | "italic" | "underline") => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import { PollComposerInput } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ visible: boolean;
4
+ disabled?: boolean;
5
+ };
6
+ declare function reset(): void;
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
8
+ reset: typeof reset;
9
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ "update:visible": (value: boolean) => any;
11
+ send: (input: PollComposerInput) => any;
12
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
14
+ onSend?: ((input: PollComposerInput) => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { ScheduleMessageInput } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ visible: boolean;
4
+ disabled?: boolean;
5
+ /** Human-readable preview of what will be sent. */
6
+ contentPreview: string;
7
+ /** Whether scheduling is currently possible (e.g. file attachments are allowed). */
8
+ canSchedule: boolean;
9
+ };
10
+ declare function reset(): void;
11
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
12
+ reset: typeof reset;
13
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ schedule: (input: ScheduleMessageInput) => any;
15
+ "update:visible": (value: boolean) => any;
16
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onSchedule?: ((input: ScheduleMessageInput) => any) | undefined;
18
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,106 @@
1
+ import { AttachmentUploadInput, PollComposerInput, ScheduleMessageInput } from '../../chat/types';
2
+ import { ChatTarget } from '../../composables/useChatEventBus';
3
+ type __VLS_Props = {
4
+ /** Which target this composer belongs to. */
5
+ target: ChatTarget;
6
+ };
7
+ declare function focusEditor(): Promise<void>;
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
9
+ focusEditor: typeof focusEditor;
10
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
11
+ composerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
12
+ modelValue: string;
13
+ disabled: boolean;
14
+ resetSignal: number;
15
+ showScheduledButton?: boolean;
16
+ replyToMessage?: import('../..').ChatMessageItem | null;
17
+ editingMessage?: import('../..').ChatMessageItem | null;
18
+ contextLabel?: string;
19
+ offlineMode?: boolean;
20
+ pendingQueueCount?: number;
21
+ compact?: boolean;
22
+ }> & Readonly<{
23
+ onScheduleMessage?: ((input: ScheduleMessageInput) => any) | undefined;
24
+ onSendAttachment?: ((input: AttachmentUploadInput) => any) | undefined;
25
+ onSendPoll?: ((input: PollComposerInput) => any) | undefined;
26
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
27
+ onSendText?: (() => any) | undefined;
28
+ onOpenScheduled?: (() => any) | undefined;
29
+ onCancelReply?: (() => any) | undefined;
30
+ onCancelEdit?: (() => any) | undefined;
31
+ }>, {
32
+ focusEditor: () => Promise<void>;
33
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
34
+ scheduleMessage: (input: ScheduleMessageInput) => any;
35
+ sendAttachment: (input: AttachmentUploadInput) => any;
36
+ sendPoll: (input: PollComposerInput) => any;
37
+ "update:modelValue": (value: string) => any;
38
+ sendText: () => any;
39
+ openScheduled: () => any;
40
+ cancelReply: () => any;
41
+ cancelEdit: () => any;
42
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
43
+ fileInputRef: HTMLInputElement;
44
+ composerShellRef: HTMLDivElement;
45
+ composerEditorRef: HTMLDivElement;
46
+ composerActionsRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
47
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
48
+ onOpenPoll?: (() => any) | undefined;
49
+ }>, {
50
+ toggle: (event: Event) => void;
51
+ hide: () => void;
52
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
53
+ pickFile: (kind: "image" | "video" | "audio" | "file") => any;
54
+ openPoll: () => any;
55
+ }, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
56
+ popoverRef: ({
57
+ $props: import('primevue').PopoverProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
58
+ $slots: import('primevue').PopoverSlots;
59
+ $emit: ((e: "show") => void) & ((e: "hide") => void);
60
+ } & import('primevue').PopoverMethods) | null;
61
+ }, any, import('vue').ComponentProvideOptions, {
62
+ P: {};
63
+ B: {};
64
+ D: {};
65
+ C: {};
66
+ M: {};
67
+ Defaults: {};
68
+ }, 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
+ }, {}, {}, {}, {}> | null;
75
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
76
+ P: {};
77
+ B: {};
78
+ D: {};
79
+ C: {};
80
+ M: {};
81
+ Defaults: {};
82
+ }, Readonly<{
83
+ modelValue: string;
84
+ disabled: boolean;
85
+ resetSignal: number;
86
+ showScheduledButton?: boolean;
87
+ replyToMessage?: import('../..').ChatMessageItem | null;
88
+ editingMessage?: import('../..').ChatMessageItem | null;
89
+ contextLabel?: string;
90
+ offlineMode?: boolean;
91
+ pendingQueueCount?: number;
92
+ compact?: boolean;
93
+ }> & Readonly<{
94
+ onScheduleMessage?: ((input: ScheduleMessageInput) => any) | undefined;
95
+ onSendAttachment?: ((input: AttachmentUploadInput) => any) | undefined;
96
+ onSendPoll?: ((input: PollComposerInput) => any) | undefined;
97
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
98
+ onSendText?: (() => any) | undefined;
99
+ onOpenScheduled?: (() => any) | undefined;
100
+ onCancelReply?: (() => any) | undefined;
101
+ onCancelEdit?: (() => any) | undefined;
102
+ }>, {
103
+ focusEditor: () => Promise<void>;
104
+ }, {}, {}, {}, {}> | null;
105
+ }, any>;
106
+ export default _default;
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ url: string;
3
+ isOwn?: boolean;
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, {}, HTMLAnchorElement>;
6
+ export default _default;
@@ -0,0 +1,8 @@
1
+ type __VLS_Props = {
2
+ text: string;
3
+ isOwn?: boolean;
4
+ showPreview?: boolean;
5
+ textClass?: string;
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,10 @@
1
+ import { ChatAttachmentItem, ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
+ openMedia: (attachment: ChatAttachmentItem) => any;
7
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ onOpenMedia?: ((attachment: ChatAttachmentItem) => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
10
+ export default _default;
@@ -0,0 +1,69 @@
1
+ import { AttachmentUploadInput, ChatMessageItem, PollComposerInput, ScheduleMessageInput } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ modelValue: string;
4
+ disabled: boolean;
5
+ resetSignal: number;
6
+ showScheduledButton?: boolean;
7
+ replyToMessage?: ChatMessageItem | null;
8
+ editingMessage?: ChatMessageItem | null;
9
+ contextLabel?: string;
10
+ offlineMode?: boolean;
11
+ pendingQueueCount?: number;
12
+ compact?: boolean;
13
+ };
14
+ declare function focusComposerEditor(): Promise<void>;
15
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
16
+ focusEditor: typeof focusComposerEditor;
17
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
18
+ scheduleMessage: (input: ScheduleMessageInput) => any;
19
+ sendAttachment: (input: AttachmentUploadInput) => any;
20
+ sendPoll: (input: PollComposerInput) => any;
21
+ "update:modelValue": (value: string) => any;
22
+ sendText: () => any;
23
+ openScheduled: () => any;
24
+ cancelReply: () => any;
25
+ cancelEdit: () => any;
26
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
27
+ onScheduleMessage?: ((input: ScheduleMessageInput) => any) | undefined;
28
+ onSendAttachment?: ((input: AttachmentUploadInput) => any) | undefined;
29
+ onSendPoll?: ((input: PollComposerInput) => any) | undefined;
30
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
31
+ onSendText?: (() => any) | undefined;
32
+ onOpenScheduled?: (() => any) | undefined;
33
+ onCancelReply?: (() => any) | undefined;
34
+ onCancelEdit?: (() => any) | undefined;
35
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
36
+ fileInputRef: HTMLInputElement;
37
+ composerShellRef: HTMLDivElement;
38
+ composerEditorRef: HTMLDivElement;
39
+ composerActionsRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
40
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
41
+ onOpenPoll?: (() => any) | undefined;
42
+ }>, {
43
+ toggle: (event: Event) => void;
44
+ hide: () => void;
45
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
46
+ pickFile: (kind: "image" | "video" | "audio" | "file") => any;
47
+ openPoll: () => any;
48
+ }, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
49
+ popoverRef: ({
50
+ $props: import('primevue').PopoverProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
51
+ $slots: import('primevue').PopoverSlots;
52
+ $emit: ((e: "show") => void) & ((e: "hide") => void);
53
+ } & import('primevue').PopoverMethods) | null;
54
+ }, any, import('vue').ComponentProvideOptions, {
55
+ P: {};
56
+ B: {};
57
+ D: {};
58
+ C: {};
59
+ M: {};
60
+ Defaults: {};
61
+ }, Readonly<{}> & Readonly<{
62
+ onPickFile?: ((kind: "image" | "video" | "audio" | "file") => any) | undefined;
63
+ onOpenPoll?: (() => any) | undefined;
64
+ }>, {
65
+ toggle: (event: Event) => void;
66
+ hide: () => void;
67
+ }, {}, {}, {}, {}> | null;
68
+ }, HTMLDivElement>;
69
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
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, {}, HTMLDivElement>;
6
+ export default _default;
@@ -0,0 +1,27 @@
1
+ import { ChatAttachmentItem, ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
4
+ currentUserId?: string;
5
+ canReact?: boolean;
6
+ canOpenThread?: boolean;
7
+ canShowSenderAvatar: boolean;
8
+ pendingOptionKey?: string | null;
9
+ };
10
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ contextmenu: (event: MouseEvent) => any;
12
+ tap: (event: MouseEvent) => any;
13
+ openMedia: (attachment: ChatAttachmentItem) => any;
14
+ toggleReaction: (emoji: string) => any;
15
+ openThread: () => any;
16
+ votePoll: (optionId: string) => any;
17
+ openReferencedMessage: (messageId: string) => any;
18
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ onContextmenu?: ((event: MouseEvent) => any) | undefined;
20
+ onTap?: ((event: MouseEvent) => any) | undefined;
21
+ onOpenMedia?: ((attachment: ChatAttachmentItem) => any) | undefined;
22
+ onToggleReaction?: ((emoji: string) => any) | undefined;
23
+ onOpenThread?: (() => any) | undefined;
24
+ onVotePoll?: ((optionId: string) => any) | undefined;
25
+ onOpenReferencedMessage?: ((messageId: string) => any) | undefined;
26
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
27
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
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, {}, HTMLDivElement>;
6
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem | null;
4
+ canReact: boolean;
5
+ actionItems: Array<{
6
+ key: string;
7
+ label: string;
8
+ icon: string;
9
+ action: () => void;
10
+ }>;
11
+ };
12
+ declare function show(event: Event): Promise<void>;
13
+ declare function hide(): void;
14
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
15
+ show: typeof show;
16
+ hide: typeof hide;
17
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
18
+ hide: () => any;
19
+ react: (emoji: string) => any;
20
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ onHide?: (() => any) | undefined;
22
+ onReact?: ((emoji: string) => any) | undefined;
23
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
24
+ panelRef: HTMLDivElement;
25
+ }, any>;
26
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
4
+ canReact: boolean;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ react: (emoji: string) => any;
8
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ onReact?: ((emoji: string) => any) | undefined;
10
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
4
+ canReact?: boolean;
5
+ canOpenThread?: boolean;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ toggleReaction: (emoji: string) => any;
9
+ openThread: () => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onToggleReaction?: ((emoji: string) => any) | undefined;
12
+ onOpenThread?: (() => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ export default _default;
@@ -0,0 +1,115 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ import { ChatTarget } from '../../composables/useChatEventBus';
3
+ type __VLS_Props = {
4
+ /** Which target this list instance represents. Determines which context slice to use. */
5
+ target: ChatTarget;
6
+ };
7
+ declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
9
+ slots: {
10
+ composer?(_: {}): any;
11
+ };
12
+ refs: {
13
+ threadRef: HTMLDivElement;
14
+ actionMenuAnchorRef: HTMLSpanElement;
15
+ actionMenuRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
16
+ message: ChatMessageItem | null;
17
+ canReact: boolean;
18
+ actionItems: Array<{
19
+ key: string;
20
+ label: string;
21
+ icon: string;
22
+ action: () => void;
23
+ }>;
24
+ }> & Readonly<{
25
+ onHide?: (() => any) | undefined;
26
+ onReact?: ((emoji: string) => any) | undefined;
27
+ }>, {
28
+ show: (event: Event) => Promise<void>;
29
+ hide: () => void;
30
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
31
+ hide: () => any;
32
+ react: (emoji: string) => any;
33
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
34
+ panelRef: HTMLDivElement;
35
+ }, any, import('vue').ComponentProvideOptions, {
36
+ P: {};
37
+ B: {};
38
+ D: {};
39
+ C: {};
40
+ M: {};
41
+ Defaults: {};
42
+ }, Readonly<{
43
+ message: ChatMessageItem | null;
44
+ canReact: boolean;
45
+ actionItems: Array<{
46
+ key: string;
47
+ label: string;
48
+ icon: string;
49
+ action: () => void;
50
+ }>;
51
+ }> & Readonly<{
52
+ onHide?: (() => any) | undefined;
53
+ onReact?: ((emoji: string) => any) | undefined;
54
+ }>, {
55
+ show: (event: Event) => Promise<void>;
56
+ hide: () => void;
57
+ }, {}, {}, {}, {}> | null;
58
+ };
59
+ rootEl: any;
60
+ };
61
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
62
+ 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, {
63
+ threadRef: HTMLDivElement;
64
+ actionMenuAnchorRef: HTMLSpanElement;
65
+ actionMenuRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
66
+ message: ChatMessageItem | null;
67
+ canReact: boolean;
68
+ actionItems: Array<{
69
+ key: string;
70
+ label: string;
71
+ icon: string;
72
+ action: () => void;
73
+ }>;
74
+ }> & Readonly<{
75
+ onHide?: (() => any) | undefined;
76
+ onReact?: ((emoji: string) => any) | undefined;
77
+ }>, {
78
+ show: (event: Event) => Promise<void>;
79
+ hide: () => void;
80
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
81
+ hide: () => any;
82
+ react: (emoji: string) => any;
83
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
84
+ panelRef: HTMLDivElement;
85
+ }, any, import('vue').ComponentProvideOptions, {
86
+ P: {};
87
+ B: {};
88
+ D: {};
89
+ C: {};
90
+ M: {};
91
+ Defaults: {};
92
+ }, Readonly<{
93
+ message: ChatMessageItem | null;
94
+ canReact: boolean;
95
+ actionItems: Array<{
96
+ key: string;
97
+ label: string;
98
+ icon: string;
99
+ action: () => void;
100
+ }>;
101
+ }> & Readonly<{
102
+ onHide?: (() => any) | undefined;
103
+ onReact?: ((emoji: string) => any) | undefined;
104
+ }>, {
105
+ show: (event: Event) => Promise<void>;
106
+ hide: () => void;
107
+ }, {}, {}, {}, {}> | null;
108
+ }, any>;
109
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
110
+ export default _default;
111
+ type __VLS_WithTemplateSlots<T, S> = T & {
112
+ new (): {
113
+ $slots: S;
114
+ };
115
+ };
@@ -0,0 +1,7 @@
1
+ import { ChatConversationItem, ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ conversation: ChatConversationItem | null;
4
+ parentMessage?: ChatMessageItem | null;
5
+ };
6
+ 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, {}, HTMLElement>;
7
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
4
+ currentUserId?: string;
5
+ pendingOptionKey?: string | null;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ vote: (optionId: string) => any;
9
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onVote?: ((optionId: string) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
4
+ disabled: boolean;
5
+ compact?: boolean;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ toggle: (emoji: string) => any;
9
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onToggle?: ((emoji: string) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
+ open: () => any;
7
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ onOpen?: (() => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
10
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ message: ChatMessageItem;
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, {}, HTMLDivElement>;
6
+ export default _default;
@@ -0,0 +1,34 @@
1
+ type __VLS_Props = {
2
+ open: boolean;
3
+ title?: string;
4
+ subtitle?: string;
5
+ closeLabel?: string;
6
+ closeAriaLabel?: string;
7
+ };
8
+ declare function __VLS_template(): {
9
+ attrs: Partial<{}>;
10
+ slots: {
11
+ default?(_: {}): any;
12
+ footer?(_: {}): any;
13
+ };
14
+ refs: {};
15
+ rootEl: any;
16
+ };
17
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
+ close: () => any;
20
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ onClose?: (() => any) | undefined;
22
+ }>, {
23
+ title: string;
24
+ subtitle: string;
25
+ closeLabel: string;
26
+ closeAriaLabel: string;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
28
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
29
+ export default _default;
30
+ type __VLS_WithTemplateSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,13 @@
1
+ import { ChatAttachmentItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ attachment: ChatAttachmentItem | null;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
+ close: () => any;
7
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ onClose?: (() => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
10
+ viewportRef: HTMLDivElement;
11
+ imageRef: HTMLImageElement;
12
+ }, any>;
13
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import { ChatMessageItem, ChatMessageReceiptItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ open: boolean;
4
+ message: ChatMessageItem | null;
5
+ receipts: ChatMessageReceiptItem[];
6
+ loading: boolean;
7
+ error?: string | null;
8
+ };
9
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ close: () => any;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onClose?: (() => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { ChatMessageReceiptItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ title: string;
4
+ receipts: ChatMessageReceiptItem[];
5
+ emptyLabel: string;
6
+ formatDateTime: (date?: Date) => string;
7
+ };
8
+ 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, {}, HTMLElement>;
9
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import { ChatMessageItem } from '../../chat/types';
2
+ type __VLS_Props = {
3
+ open: boolean;
4
+ loading: boolean;
5
+ messages: ChatMessageItem[];
6
+ conversationTitle?: string;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ close: () => any;
10
+ reschedule: (payload: {
11
+ messageId: number;
12
+ muid: string;
13
+ originalChatUid: string;
14
+ scheduleDate: string;
15
+ }) => any;
16
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onClose?: (() => any) | undefined;
18
+ onReschedule?: ((payload: {
19
+ messageId: number;
20
+ muid: string;
21
+ originalChatUid: string;
22
+ scheduleDate: string;
23
+ }) => any) | undefined;
24
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
25
+ export default _default;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Barrel export for the four focused chat subcontexts.
3
+ *
4
+ * @remarks
5
+ * Each subcontext owns a single domain of the chat component tree's shared
6
+ * state: conversation identity/permissions, message lists, composer drafts, and
7
+ * dialog overlays. Consumer components inject only the subcontexts they need,
8
+ * keeping coupling tight and surfaces small.
9
+ */
10
+ export { createConversationContext, provideConversationContext, useConversationContext, type ConversationContext, type CreateConversationContextOptions, } from './useConversationContext';
11
+ export { createMessagesContext, provideMessagesContext, useMessagesContext, type MessagesContext, type CreateMessagesContextOptions, } from './useMessagesContext';
12
+ export { createComposerContext, provideComposerContext, useComposerContext, type ComposerContext, type ComposerHandle, type CreateComposerContextOptions, } from './useComposerContext';
13
+ export { createDialogsContext, provideDialogsContext, useDialogsContext, type DialogsContext, type CreateDialogsContextOptions, } from './useDialogsContext';