@mobilon-dev/chotto 0.3.23 → 0.3.25

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 (45) hide show
  1. package/README.md +111 -22
  2. package/dist/{CreateChat-CdkAwYO5.js → CreateChat-CNWNXaD9.js} +1 -1
  3. package/dist/{CreateChat2-sDETTpTU.js → CreateChat2-J1zCJAH1.js} +1 -1
  4. package/dist/{CreateDialog-Bw8bOym2.js → CreateDialog-D_VjGFWg.js} +1 -1
  5. package/dist/{ModalVideoRecorder-BP9FfPE8.js → ModalVideoRecorder-BumRO5hZ.js} +1 -1
  6. package/dist/{SelectUser2-BAKccRXs.js → SelectUser2-DsxsLuNu.js} +1 -1
  7. package/dist/chotto.css +1 -1
  8. package/dist/{index-4foc416D.js → index-D8kOhf51.js} +2322 -2025
  9. package/dist/themes/dark.css +1 -1
  10. package/dist/themes/default.css +1 -1
  11. package/dist/themes/green.css +1 -1
  12. package/dist/themes/mobilon1.css +1 -1
  13. package/dist/types/apps/stories/BasicChatExample.stories.d.ts +5 -0
  14. package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.d.ts +2 -2
  15. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.d.ts +56 -0
  16. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.d.ts +49 -0
  17. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.d.ts +42 -0
  18. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationDialogSync.d.ts +26 -0
  19. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.d.ts +32 -0
  20. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationSubMenu.d.ts +25 -0
  21. package/dist/types/components/2_blocks/CommunicationPanel/stories/CommunicationPanel.stories.d.ts +2 -2
  22. package/dist/types/components/2_feed_elements/AudioMessage/AudioMessage.vue.d.ts +9 -0
  23. package/dist/types/components/2_feed_elements/FileMessage/FileMessage.vue.d.ts +9 -0
  24. package/dist/types/components/2_feed_elements/ImageMessage/ImageMessage.vue.d.ts +9 -0
  25. package/dist/types/components/2_feed_elements/MessageReactions/MessageReactions.vue.d.ts +9 -0
  26. package/dist/types/components/2_feed_elements/MessageReactions/stories/MessageReactions.stories.d.ts +15 -0
  27. package/dist/types/components/2_feed_elements/MessageStatusIndicator/MessageStatusIndicator.vue.d.ts +65 -0
  28. package/dist/types/components/2_feed_elements/MessageStatusIndicator/stories/MessageStatusIndicator.stories.d.ts +12 -0
  29. package/dist/types/components/2_feed_elements/StickerMessage/StickerMessage.vue.d.ts +9 -0
  30. package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +9 -0
  31. package/dist/types/components/2_feed_elements/TextMessage/stories/TextMessage.stories.d.ts +5 -39
  32. package/dist/types/components/2_feed_elements/VideoMessage/VideoMessage.vue.d.ts +9 -0
  33. package/dist/types/components/3_compounds/ChatList/ChatList.vue.d.ts +1 -5
  34. package/dist/types/components/3_compounds/ChatList/ChatListHeader.vue.d.ts +16 -0
  35. package/dist/types/components/3_compounds/ChatList/composables/index.d.ts +4 -0
  36. package/dist/types/components/3_compounds/ChatList/composables/useChatListActions.d.ts +29 -0
  37. package/dist/types/components/3_compounds/ChatList/composables/useChatListFilter.d.ts +58 -0
  38. package/dist/types/components/3_compounds/ChatList/composables/useChatListScroll.d.ts +34 -0
  39. package/dist/types/components/3_compounds/ChatList/composables/useChatListSelection.d.ts +56 -0
  40. package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +9 -0
  41. package/dist/types/components/3_compounds/Feed/stories/Feed.stories.d.ts +0 -1
  42. package/dist/types/components/index.d.ts +2 -0
  43. package/dist/vuessages.es.js +97 -95
  44. package/dist/vuessages.umd.js +12 -12
  45. package/package.json +1 -1
@@ -5,10 +5,8 @@ type __VLS_WithSlots<T, S> = T & (new () => {
5
5
  });
6
6
  declare const __VLS_component: import("vue").DefineComponent<{}, {
7
7
  $emit: (event: "search" | "select" | "action" | "expand" | "tab-click" | "loadMoreChats" | "clear-search", ...args: any[]) => void;
8
- title: string;
9
8
  chats: unknown[];
10
9
  searchQuery: string;
11
- titleEnabled: boolean;
12
10
  filterEnabled: boolean;
13
11
  filterQuery: string;
14
12
  dialogTabs: unknown[];
@@ -17,10 +15,8 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
17
15
  searchProgress: string;
18
16
  searchStats: Record<string, any>;
19
17
  $props: {
20
- readonly title?: string | undefined;
21
18
  readonly chats?: unknown[] | undefined;
22
19
  readonly searchQuery?: string | undefined;
23
- readonly titleEnabled?: boolean | undefined;
24
20
  readonly filterEnabled?: boolean | undefined;
25
21
  readonly filterQuery?: string | undefined;
26
22
  readonly dialogTabs?: unknown[] | undefined;
@@ -31,7 +27,7 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
31
27
  };
32
28
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
33
29
  type __VLS_Slots = {
34
- actions?: ((props: {}) => any) | undefined;
30
+ header?: ((props: {}) => any) | undefined;
35
31
  } & {
36
32
  sidebar?: ((props: {}) => any) | undefined;
37
33
  };
@@ -0,0 +1,16 @@
1
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
2
+ export default _default;
3
+ type __VLS_WithSlots<T, S> = T & (new () => {
4
+ $slots: S;
5
+ });
6
+ declare const __VLS_component: import("vue").DefineComponent<{}, {
7
+ title: string;
8
+ titleEnabled: boolean;
9
+ $props: {
10
+ readonly title?: string | undefined;
11
+ readonly titleEnabled?: boolean | undefined;
12
+ };
13
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
14
+ type __VLS_Slots = {
15
+ actions?: ((props: {}) => any) | undefined;
16
+ };
@@ -0,0 +1,4 @@
1
+ export { useChatListScroll } from './useChatListScroll';
2
+ export { useChatListSelection } from './useChatListSelection';
3
+ export { useChatListFilter } from './useChatListFilter';
4
+ export { useChatListActions } from './useChatListActions';
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Композабл для обработки действий в списке чатов.
3
+ * Инкапсулирует логику эмита событий для расширения чата,
4
+ * выполнения действий и обработки кликов по табам.
5
+ */
6
+ /**
7
+ * Тип эмиттера событий для действий списка чатов.
8
+ */
9
+ type ChatListActionsEmit = {
10
+ /** Событие расширения чата */
11
+ (event: 'expand', args: unknown): void;
12
+ /** Событие выполнения действия */
13
+ (event: 'action', data: unknown): void;
14
+ /** Событие клика по табу */
15
+ (event: 'tab-click', tabId: string): void;
16
+ };
17
+ /**
18
+ * Параметры и зависимости композабла.
19
+ */
20
+ interface UseChatListActionsOptions {
21
+ /** Функция эмита событий */
22
+ emit: ChatListActionsEmit;
23
+ }
24
+ export declare function useChatListActions({ emit }: UseChatListActionsOptions): {
25
+ expandChat: (args: unknown) => void;
26
+ action: (data: unknown) => void;
27
+ handleTabClick: (tabId: string) => void;
28
+ };
29
+ export {};
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Композабл для фильтрации и сортировки списка чатов.
3
+ * Инкапсулирует логику сортировки по времени активности и количеству
4
+ * непрочитанных сообщений, фильтрации по табам, тегам и текстовому поиску.
5
+ */
6
+ /**
7
+ * Тип элемента чата.
8
+ */
9
+ type ChatItem = {
10
+ chatId: string;
11
+ name: string;
12
+ metadata: string;
13
+ countUnread: number;
14
+ 'lastActivity.timestamp'?: string | number;
15
+ contact?: {
16
+ tags?: Array<{
17
+ tagId: string;
18
+ }>;
19
+ };
20
+ [key: string]: unknown;
21
+ };
22
+ /**
23
+ * Параметры компонента для фильтрации.
24
+ */
25
+ type ChatListFilterProps = {
26
+ chats: ChatItem[];
27
+ filterEnabled: boolean;
28
+ filterQuery?: string | null;
29
+ dialogTabs?: unknown[];
30
+ activeTabId?: string;
31
+ searchQuery?: string;
32
+ isSearching?: boolean;
33
+ searchProgress?: string;
34
+ searchStats?: {
35
+ loaded: number;
36
+ total: number | string;
37
+ };
38
+ };
39
+ /**
40
+ * Тип эмиттера событий для фильтрации.
41
+ */
42
+ type ChatListFilterEmit = {
43
+ (event: 'search', value: string): void;
44
+ (event: 'clear-search'): void;
45
+ };
46
+ /**
47
+ * Параметры и зависимости композабла.
48
+ */
49
+ interface UseChatListFilterOptions {
50
+ props: ChatListFilterProps;
51
+ emit: ChatListFilterEmit;
52
+ }
53
+ export declare function useChatListFilter({ props, emit }: UseChatListFilterOptions): {
54
+ filter: import("vue").Ref<string, string>;
55
+ getSortedAndFilteredChats: () => ChatItem[];
56
+ getFilter: (value: string) => void;
57
+ };
58
+ export {};
@@ -0,0 +1,34 @@
1
+ import { type Ref, type ComputedRef } from 'vue';
2
+ /**
3
+ * Композабл для управления скроллом списка чатов.
4
+ * Инкапсулирует логику прокрутки вверх, отслеживания позиции скролла,
5
+ * определения необходимости загрузки дополнительных чатов и отображения
6
+ * кнопки прокрутки вверх.
7
+ */
8
+ /**
9
+ * Тип эмиттера событий для скролла.
10
+ */
11
+ type ChatListScrollEmit = {
12
+ /** Событие запроса загрузки дополнительных чатов */
13
+ (event: 'loadMoreChats'): void;
14
+ };
15
+ /**
16
+ * Параметры и зависимости композабла.
17
+ */
18
+ interface UseChatListScrollOptions {
19
+ /** Ссылка на DOM-элемент контейнера списка чатов */
20
+ refChatList: Ref<HTMLElement | undefined>;
21
+ /** Реактивный список чатов (для определения момента обновления) */
22
+ chats: ComputedRef<unknown[]> | Ref<unknown[]>;
23
+ /** Функция эмита событий */
24
+ emit: ChatListScrollEmit;
25
+ }
26
+ export declare function useChatListScroll({ refChatList, chats, emit }: UseChatListScrollOptions): {
27
+ allowLoadMore: Ref<boolean, boolean>;
28
+ isShowButton: Ref<boolean, boolean>;
29
+ scrollToTopForce: () => void;
30
+ scrollCheck: () => void;
31
+ startScrollWatch: (event: MouseEvent) => void;
32
+ stopScrollWatch: () => void;
33
+ };
34
+ export {};
@@ -0,0 +1,56 @@
1
+ import { type ComputedRef, type Ref } from 'vue';
2
+ /**
3
+ * Композабл для управления выбором чатов и диалогов в списке.
4
+ * Инкапсулирует логику установки состояния выбранного чата/диалога,
5
+ * сброса предыдущих выборов и эмита событий выбора.
6
+ */
7
+ /**
8
+ * Тип элемента чата.
9
+ */
10
+ type ChatItem = {
11
+ chatId: string;
12
+ isSelected?: boolean;
13
+ dialogs?: Array<{
14
+ dialogId: string;
15
+ isSelected?: boolean;
16
+ }>;
17
+ [key: string]: unknown;
18
+ };
19
+ /**
20
+ * Тип элемента диалога.
21
+ */
22
+ type Dialog = {
23
+ dialogId: string;
24
+ [key: string]: unknown;
25
+ };
26
+ /**
27
+ * Аргументы для выбора чата.
28
+ */
29
+ type SelectChatArgs = {
30
+ /** Выбранный чат */
31
+ chat: ChatItem;
32
+ /** Опциональный выбранный диалог */
33
+ dialog?: Dialog;
34
+ [key: string]: unknown;
35
+ };
36
+ /**
37
+ * Тип эмиттера событий для выбора.
38
+ */
39
+ type ChatListSelectionEmit = {
40
+ /** Событие выбора чата/диалога */
41
+ (event: 'select', args: SelectChatArgs): void;
42
+ };
43
+ /**
44
+ * Параметры и зависимости композабла.
45
+ */
46
+ interface UseChatListSelectionOptions {
47
+ /** Реактивный список чатов */
48
+ chats: ComputedRef<ChatItem[]> | Ref<ChatItem[]>;
49
+ /** Функция эмита событий */
50
+ emit: ChatListSelectionEmit;
51
+ }
52
+ export declare function useChatListSelection({ chats, emit }: UseChatListSelectionOptions): {
53
+ selectChat: (args: SelectChatArgs) => void;
54
+ selectDialog: (dialog: Dialog) => void;
55
+ };
56
+ export {};
@@ -69,6 +69,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
69
69
  type: BooleanConstructor;
70
70
  default: boolean;
71
71
  };
72
+ reactionsEnabled: {
73
+ type: BooleanConstructor;
74
+ default: boolean;
75
+ };
72
76
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
73
77
  loadMore: (...args: any[]) => void;
74
78
  keyboardAction: (...args: any[]) => void;
@@ -144,6 +148,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
144
148
  type: BooleanConstructor;
145
149
  default: boolean;
146
150
  };
151
+ reactionsEnabled: {
152
+ type: BooleanConstructor;
153
+ default: boolean;
154
+ };
147
155
  }>> & Readonly<{
148
156
  onLoadMore?: ((...args: any[]) => any) | undefined;
149
157
  onKeyboardAction?: ((...args: any[]) => any) | undefined;
@@ -157,6 +165,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
157
165
  typing: boolean | IFeedTyping;
158
166
  chatBackground: string;
159
167
  applyStyle: Function;
168
+ reactionsEnabled: boolean;
160
169
  enableDoubleClickReply: boolean;
161
170
  buttonParams: IFeedUnreadButton;
162
171
  scrollToBottom: boolean;
@@ -4,7 +4,6 @@ declare const meta: Meta<typeof Feed>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof Feed>;
6
6
  export declare const Primary: Story;
7
- export declare const WithDates: Story;
8
7
  export declare const WithButtonUnread: Story;
9
8
  export declare const PrimaryTyping: Story;
10
9
  export declare const PrimaryTypingWithAvatarAndTitle: Story;
@@ -49,6 +49,7 @@ export { default as FileMessage } from './2_feed_elements/FileMessage/FileMessag
49
49
  export { default as ImageMessage } from './2_feed_elements/ImageMessage/ImageMessage.vue';
50
50
  export { default as MessageKeyboard } from './2_feed_elements/MessageKeyboard/MessageKeyboard.vue';
51
51
  export { default as MessageReactions } from './2_feed_elements/MessageReactions/MessageReactions.vue';
52
+ export { default as MessageStatusIndicator } from './2_feed_elements/MessageStatusIndicator/MessageStatusIndicator.vue';
52
53
  export { default as StickerMessage } from './2_feed_elements/StickerMessage/StickerMessage.vue';
53
54
  export { default as ReplyAudioMessage } from './2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue';
54
55
  export { default as ReplyCallMessage } from './2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue';
@@ -67,6 +68,7 @@ export { default as ModalFullscreen } from './2_modals/ModalFullscreen/ModalFull
67
68
  export { default as ModalNoFooter } from './2_modals/ModalNoFooter/ModalNoFooter.vue';
68
69
  export { default as SelectUser } from './2_modals/SelectUser/SelectUser.vue';
69
70
  export { default as ChatInput } from './3_compounds/ChatInput/ChatInput.vue';
71
+ export { default as ChatListHeader } from './3_compounds/ChatList/ChatListHeader.vue';
70
72
  export { default as ChatList } from './3_compounds/ChatList/ChatList.vue';
71
73
  export { default as Feed } from './3_compounds/Feed/Feed.vue';
72
74
  export { default as SideBar } from './3_compounds/SideBar/SideBar.vue';
@@ -1,12 +1,12 @@
1
- import { al as s, H as t, w as o, A as l, ao as i, aj as n, I as r, i as d, B as u, j as c, k as M, l as g, J as p, x as C, t as m, y as S, af as y, u as h, ag as R, z as B, v as F, an as I, a as A, b as T, f as b, c as V, D as f, C as k, K as v, N as P, E as D, ak as x, ah as L, F as W, g as w, O as E, am as U, h as j, Q as K, m as N, n as Q, ap as H, R as O, L as q, M as z, X as G, Y as J, ab as X, ac as Y, ad as Z, P as $, $ as _, a0 as aa, a1 as ea, a2 as sa, a3 as ta, a4 as oa, a5 as la, S as ia, ae as na, d as ra, ai as da, a6 as ua, Z as ca, a7 as Ma, e as ga, o as pa, a8 as Ca, G as ma, T as Sa, a9 as ya, U as ha, aa as Ra, V as Ba, p as Fa, q as Ia, r as Aa, s as Ta, W as ba, aX as Va, aS as fa, aq as ka, aW as va, aH as Pa, aK as Da, aQ as xa, aR as La, ar as Wa, aE as wa, aU as Ea, aT as Ua, aV as ja, aP as Ka, as as Na, aF as Qa, at as Ha, au as Oa, aN as qa, av as za, aO as Ga, aI as Ja, ay as Xa, az as Ya, aA as Za, aB as $a, aC as _a, aw as ae, aL as ee, ax as se, aM as te, aD as oe, aG as le, aJ as ie } from "./index-4foc416D.js";
1
+ import { an as s, H as t, w as o, A as i, aq as l, al as r, I as n, i as d, B as u, j as c, k as M, l as g, J as p, x as C, t as m, y as S, ag as h, u as y, ai as R, ah as I, z as B, v as F, ap as A, a as T, b, f as V, c as f, D as k, C as v, K as P, N as D, E as L, am as x, aj as W, F as w, g as E, O as U, ao as j, h as H, Q as K, m as N, n as Q, ar as O, R as q, L as z, M as G, X as J, Y as X, Z as Y, ac as Z, ad as $, ae as _, P as aa, a0 as ea, a1 as sa, a2 as ta, a3 as oa, a4 as ia, a5 as la, a6 as ra, S as na, af as da, d as ua, ak as ca, a7 as Ma, $ as ga, a8 as pa, e as Ca, o as ma, a9 as Sa, G as ha, T as ya, aa as Ra, U as Ia, ab as Ba, V as Fa, p as Aa, q as Ta, r as ba, s as Va, W as fa, aZ as ka, aU as va, as as Pa, aY as Da, aJ as La, aM as xa, aS as Wa, aT as wa, at as Ea, aG as Ua, aW as ja, aV as Ha, aX as Ka, aR as Na, au as Qa, aH as Oa, av as qa, aw as za, aP as Ga, ax as Ja, aQ as Xa, aK as Ya, aA as Za, aB as $a, aC as _a, aD as ae, aE as ee, ay as se, aN as te, az as oe, aO as ie, aF as le, aI as re, aL as ne } from "./index-D8kOhf51.js";
2
2
  export {
3
3
  s as AdaptiveExtendedLayout,
4
4
  t as AudioMessage,
5
5
  o as AudioRecorder,
6
- l as AvatarIcon,
7
- i as BaseContainer,
8
- n as BaseLayout,
9
- r as BaseReplyMessage,
6
+ i as AvatarIcon,
7
+ l as BaseContainer,
8
+ r as BaseLayout,
9
+ n as BaseReplyMessage,
10
10
  d as ButtonCommandsSelector,
11
11
  u as ButtonContextMenu,
12
12
  c as ButtonEmojiPicker,
@@ -16,101 +16,103 @@ export {
16
16
  C as ChannelSelector,
17
17
  m as ChatFilter,
18
18
  S as ChatInfo,
19
- y as ChatInput,
20
- h as ChatItem,
19
+ h as ChatInput,
20
+ y as ChatItem,
21
21
  R as ChatList,
22
+ I as ChatListHeader,
22
23
  B as ChatPanel,
23
24
  F as ChatTabs,
24
- I as ChatWrapper,
25
- A as CheckIcon,
26
- T as CloseButtonIcon,
27
- b as CommunicationPanel,
28
- V as ContactCRMIcon,
29
- f as ContactInfo,
30
- k as ContextMenu,
31
- v as DateMessage,
32
- P as DateMessageSticky,
33
- D as EmbedPreview,
25
+ A as ChatWrapper,
26
+ T as CheckIcon,
27
+ b as CloseButtonIcon,
28
+ V as CommunicationPanel,
29
+ f as ContactCRMIcon,
30
+ k as ContactInfo,
31
+ v as ContextMenu,
32
+ P as DateMessage,
33
+ D as DateMessageSticky,
34
+ L as EmbedPreview,
34
35
  x as ExtendedLayout,
35
- L as Feed,
36
- W as FeedFoundItem,
37
- w as FeedFoundObjects,
38
- E as FeedKeyboard,
39
- U as FeedLayout,
40
- j as FeedSearch,
36
+ W as Feed,
37
+ w as FeedFoundItem,
38
+ E as FeedFoundObjects,
39
+ U as FeedKeyboard,
40
+ j as FeedLayout,
41
+ H as FeedSearch,
41
42
  K as FileMessage,
42
43
  N as FilePreview,
43
44
  Q as FileUploader,
44
- H as FloatContainer,
45
- O as ImageMessage,
46
- q as LinkPreview,
47
- z as MenuIcon,
48
- G as MessageKeyboard,
49
- J as MessageReactions,
50
- X as Modal,
51
- Y as ModalFullscreen,
52
- Z as ModalNoFooter,
53
- $ as PlaceholderComponent,
54
- _ as ReplyAudioMessage,
55
- aa as ReplyCallMessage,
56
- ea as ReplyFileMessage,
57
- sa as ReplyImageMessage,
58
- ta as ReplyStickerMessage,
59
- oa as ReplyTextMessage,
60
- la as ReplyVideoMessage,
61
- ia as SearchIcon,
62
- na as SelectUser,
63
- ra as SettingsIcon,
64
- da as SideBar,
65
- ua as SplashScreen,
66
- ca as StickerMessage,
67
- Ma as SystemMessage,
68
- ga as TelegramIcon,
69
- pa as TemplateSelector,
70
- Ca as TextMessage,
71
- ma as ThemeMode,
72
- Sa as Tooltip,
73
- ya as TypingMessage,
74
- ha as UserProfile,
75
- Ra as VideoMessage,
76
- Ba as VideoRecorder,
77
- Fa as WABAAttachmentSection,
78
- Ia as WABAQuickReplyButtons,
79
- Aa as WABASeparatedQuickButtons,
80
- Ta as WABATemplateSelector,
81
- ba as WhatsAppIcon,
82
- Va as createReactionHandlers,
83
- fa as formatTimestamp,
84
- ka as generatePreview,
85
- va as getMessageClass,
86
- Pa as getMessageValidationReport,
87
- Da as getSidebarValidationReport,
88
- xa as getStatus,
89
- La as getStatusTitle,
90
- Wa as getTypeFileByMime,
91
- wa as getValidationReport,
92
- Ea as insertDaySeparators,
93
- Ua as playNotificationAudio,
94
- ja as sortByTimestamp,
95
- Ka as statuses,
96
- Na as uploadFile,
97
- Qa as useChatValidator,
98
- Ha as useDelayDebouncedRef,
99
- Oa as useImmediateDebouncedRef,
100
- qa as useMessageActions,
101
- za as useMessageDraft,
102
- Ga as useMessageLinks,
103
- Ja as useMessageValidator,
104
- Xa as useModalCreateChat,
105
- Ya as useModalCreateChat2,
106
- Za as useModalCreateDialog,
107
- $a as useModalSelectUser2,
108
- _a as useModalVideoRecorder,
109
- ae as useSearchModel,
110
- ee as useSidebarValidator,
111
- se as useTheme,
112
- te as useValidation,
113
- oe as validateChats,
114
- le as validateMessages,
115
- ie as validateSidebarItems
45
+ O as FloatContainer,
46
+ q as ImageMessage,
47
+ z as LinkPreview,
48
+ G as MenuIcon,
49
+ J as MessageKeyboard,
50
+ X as MessageReactions,
51
+ Y as MessageStatusIndicator,
52
+ Z as Modal,
53
+ $ as ModalFullscreen,
54
+ _ as ModalNoFooter,
55
+ aa as PlaceholderComponent,
56
+ ea as ReplyAudioMessage,
57
+ sa as ReplyCallMessage,
58
+ ta as ReplyFileMessage,
59
+ oa as ReplyImageMessage,
60
+ ia as ReplyStickerMessage,
61
+ la as ReplyTextMessage,
62
+ ra as ReplyVideoMessage,
63
+ na as SearchIcon,
64
+ da as SelectUser,
65
+ ua as SettingsIcon,
66
+ ca as SideBar,
67
+ Ma as SplashScreen,
68
+ ga as StickerMessage,
69
+ pa as SystemMessage,
70
+ Ca as TelegramIcon,
71
+ ma as TemplateSelector,
72
+ Sa as TextMessage,
73
+ ha as ThemeMode,
74
+ ya as Tooltip,
75
+ Ra as TypingMessage,
76
+ Ia as UserProfile,
77
+ Ba as VideoMessage,
78
+ Fa as VideoRecorder,
79
+ Aa as WABAAttachmentSection,
80
+ Ta as WABAQuickReplyButtons,
81
+ ba as WABASeparatedQuickButtons,
82
+ Va as WABATemplateSelector,
83
+ fa as WhatsAppIcon,
84
+ ka as createReactionHandlers,
85
+ va as formatTimestamp,
86
+ Pa as generatePreview,
87
+ Da as getMessageClass,
88
+ La as getMessageValidationReport,
89
+ xa as getSidebarValidationReport,
90
+ Wa as getStatus,
91
+ wa as getStatusTitle,
92
+ Ea as getTypeFileByMime,
93
+ Ua as getValidationReport,
94
+ ja as insertDaySeparators,
95
+ Ha as playNotificationAudio,
96
+ Ka as sortByTimestamp,
97
+ Na as statuses,
98
+ Qa as uploadFile,
99
+ Oa as useChatValidator,
100
+ qa as useDelayDebouncedRef,
101
+ za as useImmediateDebouncedRef,
102
+ Ga as useMessageActions,
103
+ Ja as useMessageDraft,
104
+ Xa as useMessageLinks,
105
+ Ya as useMessageValidator,
106
+ Za as useModalCreateChat,
107
+ $a as useModalCreateChat2,
108
+ _a as useModalCreateDialog,
109
+ ae as useModalSelectUser2,
110
+ ee as useModalVideoRecorder,
111
+ se as useSearchModel,
112
+ te as useSidebarValidator,
113
+ oe as useTheme,
114
+ ie as useValidation,
115
+ le as validateChats,
116
+ re as validateMessages,
117
+ ne as validateSidebarItems
116
118
  };