@mobilon-dev/chotto 0.3.20 → 0.3.21
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.
- package/dist/{CreateChat-BMkQLuPd.js → CreateChat-DoNHuQv0.js} +1 -1
- package/dist/{CreateChat2-CUxgSz4p.js → CreateChat2-DpYCA_v_.js} +1 -1
- package/dist/{CreateDialog-CrL6l5Yr.js → CreateDialog-BOnzLE6I.js} +1 -1
- package/dist/{ModalVideoRecorder-D86XmPA8.js → ModalVideoRecorder-BY3428rE.js} +1 -1
- package/dist/{SelectUser2-CgmFwrUT.js → SelectUser2-CanippyB.js} +1 -1
- package/dist/chotto.css +1 -1
- package/dist/{index-DdDDz7e5.js → index-D4aZYJgw.js} +16132 -16015
- package/dist/themes/dark.css +1 -1
- package/dist/themes/default.css +1 -1
- package/dist/themes/green.css +1 -1
- package/dist/themes/mobilon1.css +1 -1
- package/dist/types/apps/data/chats.d.ts +1 -1
- package/dist/types/apps/data/messages.d.ts +121 -0
- package/dist/types/components/1_atoms/Tooltip/stories/Tooltip.stories.d.ts +8 -2
- package/dist/types/components/2_chatinput_elements/ButtonEmojiPicker/stories/ButtonEmojiPicker.stories.d.ts +4 -3
- package/dist/types/components/2_elements/ContactInfo/stories/ContactInfo.stories.d.ts +8 -16
- package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +4 -0
- package/dist/types/components/2_feed_elements/DateMessageSticky/stories/DateMessageSticky.stories.d.ts +5 -18
- package/dist/types/components/2_feed_elements/FeedKeyboard/stories/FeedKeyboard.stories.d.ts +5 -36
- package/dist/types/components/2_feed_elements/FileMessage/styles/types.d.ts +4 -0
- package/dist/types/components/2_feed_elements/ImageMessage/styles/types.d.ts +4 -0
- package/dist/types/components/2_feed_elements/ReplyAudioMessage/stories/ReplyAudioMessage.stories.d.ts +6 -17
- package/dist/types/components/2_feed_elements/ReplyCallMessage/stories/ReplyCallMessage.stories.d.ts +6 -17
- package/dist/types/components/2_feed_elements/ReplyFileMessage/stories/ReplyFileMessage.stories.d.ts +7 -17
- package/dist/types/components/2_feed_elements/ReplyImageMessage/stories/ReplyImageMessage.stories.d.ts +7 -17
- package/dist/types/components/2_feed_elements/ReplyTextMessage/stories/ReplyTextMessage.stories.d.ts +8 -17
- package/dist/types/components/2_feed_elements/ReplyVideoMessage/stories/ReplyVideoMessage.stories.d.ts +7 -17
- package/dist/types/components/2_feed_elements/TextMessage/stories/TextMessage.stories.d.ts +2 -0
- package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +4 -0
- package/dist/types/components/2_feed_elements/VideoMessage/styles/types.d.ts +4 -0
- package/dist/types/components/2_feed_elements/types/messages.d.ts +5 -0
- package/dist/types/functions/getMessageClass.d.ts +11 -0
- package/dist/types/functions/getStatusMessage.d.ts +1 -0
- package/dist/types/functions/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts +2 -1
- package/dist/types/hooks/messages/index.d.ts +2 -0
- package/dist/types/hooks/messages/useMessageActions.d.ts +56 -0
- package/dist/types/hooks/messages/useMessageLinks.d.ts +13 -0
- package/dist/types/hooks/{useMessage.d.ts → useMessageDraft.d.ts} +4 -4
- package/dist/types/hooks/validators/messages/types.d.ts +2 -1
- package/dist/vuessages.es.js +48 -44
- package/dist/vuessages.umd.js +28 -28
- package/package.json +1 -1
package/dist/types/components/2_feed_elements/ReplyTextMessage/stories/ReplyTextMessage.stories.d.ts
CHANGED
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/vue3-vite';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5
|
-
message: {
|
|
6
|
-
type: () => import("../../types/messages.ts").ITextMessage;
|
|
7
|
-
required: true;
|
|
8
|
-
};
|
|
9
|
-
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
10
|
-
message: {
|
|
11
|
-
type: () => import("../../types/messages.ts").ITextMessage;
|
|
12
|
-
required: true;
|
|
13
|
-
};
|
|
14
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
15
|
-
args: {};
|
|
16
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import ReplyTextMessage from '../ReplyTextMessage.vue';
|
|
3
|
+
declare const meta: Meta<typeof ReplyTextMessage>;
|
|
17
4
|
export default meta;
|
|
18
|
-
type Story = StoryObj<typeof
|
|
5
|
+
type Story = StoryObj<typeof ReplyTextMessage>;
|
|
19
6
|
export declare const Default: Story;
|
|
7
|
+
export declare const WithHeader: Story;
|
|
8
|
+
export declare const LongText: Story;
|
|
9
|
+
export declare const WithLink: Story;
|
|
10
|
+
export declare const RightPosition: Story;
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/vue3-vite';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5
|
-
message: {
|
|
6
|
-
type: () => import("../../types/messages.ts").IVideoMessage;
|
|
7
|
-
required: true;
|
|
8
|
-
};
|
|
9
|
-
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
10
|
-
message: {
|
|
11
|
-
type: () => import("../../types/messages.ts").IVideoMessage;
|
|
12
|
-
required: true;
|
|
13
|
-
};
|
|
14
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
15
|
-
args: {};
|
|
16
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import ReplyVideoMessage from '../ReplyVideoMessage.vue';
|
|
3
|
+
declare const meta: Meta<typeof ReplyVideoMessage>;
|
|
17
4
|
export default meta;
|
|
18
|
-
type Story = StoryObj<typeof
|
|
5
|
+
type Story = StoryObj<typeof ReplyVideoMessage>;
|
|
19
6
|
export declare const Default: Story;
|
|
7
|
+
export declare const WithHeaderAndText: Story;
|
|
8
|
+
export declare const LongText: Story;
|
|
9
|
+
export declare const RightPosition: Story;
|
|
@@ -19,6 +19,8 @@ export declare const RightMessageWithoutTime: Story;
|
|
|
19
19
|
export declare const RightMessageStatusSent: Story;
|
|
20
20
|
export declare const RightMessageStatusReceived: Story;
|
|
21
21
|
export declare const RightMessageStatusRead: Story;
|
|
22
|
+
export declare const RightMessageStatusPending: Story;
|
|
23
|
+
export declare const RightMessageStatusError: Story;
|
|
22
24
|
export declare const RightMessageWithActions: Story;
|
|
23
25
|
export declare const RightMessageWithAvatar: Story;
|
|
24
26
|
export declare const RightMessageWithLongTime: Story;
|
|
@@ -90,6 +90,10 @@ export interface TextMessageThemeCSSVariables {
|
|
|
90
90
|
'--chotto-textmessage-status-read-color': string;
|
|
91
91
|
/** Отрицательный отступ первой иконки статуса "прочитано" */
|
|
92
92
|
'--chotto-textmessage-status-read-first-child-margin-right': string;
|
|
93
|
+
/** Цвет статуса "в ожидании" */
|
|
94
|
+
'--chotto-textmessage-status-pending-color': string;
|
|
95
|
+
/** Цвет статуса "ошибка" */
|
|
96
|
+
'--chotto-textmessage-status-error-color': string;
|
|
93
97
|
/** Размер шрифта текста сообщения */
|
|
94
98
|
'--chotto-textmessage-text-font-size': string;
|
|
95
99
|
/** Правила перевода строк текста */
|
|
@@ -76,6 +76,10 @@ export interface VideoMessageThemeCSSVariables {
|
|
|
76
76
|
'--chotto-videomessage-status-read-color': string;
|
|
77
77
|
/** Отрицательный отступ для иконки "прочитано" */
|
|
78
78
|
'--chotto-videomessage-status-read-first-child-margin-right': string;
|
|
79
|
+
/** Цвет иконок статуса "в ожидании" */
|
|
80
|
+
'--chotto-videomessage-status-pending-color': string;
|
|
81
|
+
/** Цвет иконок статуса "ошибка" */
|
|
82
|
+
'--chotto-videomessage-status-error-color': string;
|
|
79
83
|
/** Ряд грида для аватара */
|
|
80
84
|
'--chotto-videomessage-avatar-grid-row': string;
|
|
81
85
|
/** Выравнивание аватара относительно себя */
|
|
@@ -28,6 +28,7 @@ export interface IAudioMessage {
|
|
|
28
28
|
time: string;
|
|
29
29
|
url: string;
|
|
30
30
|
status: string;
|
|
31
|
+
statusMsg?: string;
|
|
31
32
|
avatar?: string;
|
|
32
33
|
header?: string;
|
|
33
34
|
subText?: string;
|
|
@@ -69,6 +70,7 @@ export interface IFileMessage {
|
|
|
69
70
|
time: string;
|
|
70
71
|
url: string;
|
|
71
72
|
status: string;
|
|
73
|
+
statusMsg?: string;
|
|
72
74
|
avatar?: string;
|
|
73
75
|
header?: string;
|
|
74
76
|
subText?: string;
|
|
@@ -87,6 +89,7 @@ export interface IImageMessage {
|
|
|
87
89
|
url: string;
|
|
88
90
|
alt?: string;
|
|
89
91
|
status: string;
|
|
92
|
+
statusMsg?: string;
|
|
90
93
|
avatar?: string;
|
|
91
94
|
header?: string;
|
|
92
95
|
subText?: string;
|
|
@@ -107,6 +110,7 @@ export interface ITextMessage {
|
|
|
107
110
|
text: string;
|
|
108
111
|
position: string;
|
|
109
112
|
status: string;
|
|
113
|
+
statusMsg?: string;
|
|
110
114
|
time: string;
|
|
111
115
|
avatar?: string;
|
|
112
116
|
header?: string;
|
|
@@ -126,6 +130,7 @@ export interface IVideoMessage {
|
|
|
126
130
|
messageId: string;
|
|
127
131
|
position: string;
|
|
128
132
|
status: string;
|
|
133
|
+
statusMsg?: string;
|
|
129
134
|
time: string;
|
|
130
135
|
url: string;
|
|
131
136
|
alt?: string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Возвращает CSS-класс для сообщения в зависимости от позиции
|
|
3
|
+
*
|
|
4
|
+
* Используется в компонентах сообщений, чтобы единообразно формировать
|
|
5
|
+
* классы вида `<prefix>__left` и `<prefix>__right`.
|
|
6
|
+
*
|
|
7
|
+
* @param {string} position - позиция сообщения: 'left' | 'right'
|
|
8
|
+
* @param {string} prefix - префикс CSS-блока (например, 'text-message')
|
|
9
|
+
* @returns {string} CSS-класс с учетом позиции
|
|
10
|
+
*/
|
|
11
|
+
export declare function getMessageClass(position: string, prefix: string): string;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export * from './uploadFile';
|
|
2
2
|
export * from './useDelayDebouncedRef';
|
|
3
3
|
export * from './useImmediateDebouncedRef';
|
|
4
|
-
export * from './
|
|
4
|
+
export * from './useMessageDraft';
|
|
5
5
|
export * from './useSearchModel';
|
|
6
6
|
export * from './useTheme';
|
|
7
7
|
export * from './modals';
|
|
8
8
|
export * from './validators';
|
|
9
|
+
export * from './messages';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Полезная нагрузка для событий действия сообщения
|
|
3
|
+
* @typedef ActionPayload
|
|
4
|
+
* @property {string} messageId - Идентификатор сообщения
|
|
5
|
+
* @property {string} type - Тип действия (например, 'menu' | 'views')
|
|
6
|
+
*/
|
|
7
|
+
type ActionPayload = {
|
|
8
|
+
messageId: string;
|
|
9
|
+
type: string;
|
|
10
|
+
} & Record<string, unknown>;
|
|
11
|
+
/**
|
|
12
|
+
* Тип эмиттера событий компонентов сообщений
|
|
13
|
+
* @typedef EmitFn
|
|
14
|
+
* @param {'action' | 'reply'} event - Имя события
|
|
15
|
+
* @param {ActionPayload | string} payload - Данные события
|
|
16
|
+
*/
|
|
17
|
+
type EmitFn = (event: 'action' | 'reply', payload: ActionPayload | string) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Минимально необходимая структура сообщения для работы composable
|
|
20
|
+
* @interface MessageWithMeta
|
|
21
|
+
* @property {string} messageId - Идентификатор сообщения
|
|
22
|
+
* @property {unknown} [actions] - Описание доступных действий (передается в `ContextMenu`)
|
|
23
|
+
*/
|
|
24
|
+
export interface MessageWithMeta {
|
|
25
|
+
messageId: string;
|
|
26
|
+
actions?: unknown;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Composable для унификации поведения контекстного меню и связанных действий у сообщений ленты
|
|
30
|
+
*
|
|
31
|
+
* Предоставляет реактивные флаги и обработчики действий: показать/скрыть меню, клик по пункту меню,
|
|
32
|
+
* клик по просмотрам, эмит события ответа.
|
|
33
|
+
*
|
|
34
|
+
* @template T Расширяет {@link MessageWithMeta}
|
|
35
|
+
* @param {T} message - Сообщение с `messageId` (и опционально `actions`)
|
|
36
|
+
* @param {EmitFn} emit - Эмиттер событий из компонента сообщения
|
|
37
|
+
*
|
|
38
|
+
* @returns {object} Объект с состояниями и методами
|
|
39
|
+
* @returns {import('vue').Ref<boolean>} returns.isOpenMenu - Открыт ли контекстное меню
|
|
40
|
+
* @returns {import('vue').Ref<boolean>} returns.buttonMenuVisible - Видна ли кнопка вызова меню
|
|
41
|
+
* @returns {Function} returns.showMenu - Показать кнопку меню
|
|
42
|
+
* @returns {Function} returns.hideMenu - Скрыть кнопку и закрыть меню
|
|
43
|
+
* @returns {Function} returns.clickAction - Обработчик клика по пункту контекстного меню
|
|
44
|
+
* @returns {Function} returns.viewsAction - Обработчик клика по просмотрам
|
|
45
|
+
* @returns {Function} returns.handleClickReplied - Эмит события ответа по `replyMessageId`
|
|
46
|
+
*/
|
|
47
|
+
export declare const useMessageActions: <T extends MessageWithMeta>(message: T, emit: EmitFn) => {
|
|
48
|
+
isOpenMenu: import("vue").Ref<boolean, boolean>;
|
|
49
|
+
buttonMenuVisible: import("vue").Ref<boolean, boolean>;
|
|
50
|
+
showMenu: () => void;
|
|
51
|
+
hideMenu: () => void;
|
|
52
|
+
clickAction: (action: Record<string, unknown>) => void;
|
|
53
|
+
viewsAction: () => void;
|
|
54
|
+
handleClickReplied: (replyMessageId: string) => void;
|
|
55
|
+
};
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Создает вычисляемое HTML-представление текста с автоссылками и обработчик
|
|
3
|
+
* открытия ссылок в новой вкладке
|
|
4
|
+
*
|
|
5
|
+
* @param {() => string | undefined} getText - функция, возвращающая исходный текст
|
|
6
|
+
* @returns {{ linkedHtml: import('vue').ComputedRef<string>, inNewWindow: (event: Event) => void }}
|
|
7
|
+
* - linkedHtml: вычисляемый HTML с проставленными ссылками
|
|
8
|
+
* - inNewWindow: обработчик клика, открывающий ссылки в новой вкладке
|
|
9
|
+
*/
|
|
10
|
+
export declare const useMessageLinks: (getText: () => string | undefined) => {
|
|
11
|
+
linkedHtml: import("vue").ComputedRef<string>;
|
|
12
|
+
inNewWindow: (event: Event) => void;
|
|
13
|
+
};
|
|
@@ -37,10 +37,10 @@ interface UploadedFile {
|
|
|
37
37
|
*
|
|
38
38
|
* @example
|
|
39
39
|
* // Базовое использование в компоненте
|
|
40
|
-
* import {
|
|
40
|
+
* import { useMessageDraft } from '@/hooks';
|
|
41
41
|
*
|
|
42
42
|
* const chatAppId = 'chat-123';
|
|
43
|
-
* const { getMessage, setMessageText, setMessageFile, resetMessage } =
|
|
43
|
+
* const { getMessage, setMessageText, setMessageFile, resetMessage } = useMessageDraft(chatAppId);
|
|
44
44
|
*
|
|
45
45
|
* // Установить текст
|
|
46
46
|
* setMessageText('Привет!');
|
|
@@ -62,7 +62,7 @@ interface UploadedFile {
|
|
|
62
62
|
*
|
|
63
63
|
* @example
|
|
64
64
|
* // Работа с ответами
|
|
65
|
-
* const { setReply, resetReply } =
|
|
65
|
+
* const { setReply, resetReply } = useMessageDraft(chatAppId);
|
|
66
66
|
*
|
|
67
67
|
* setReply({
|
|
68
68
|
* id: 'msg-456',
|
|
@@ -73,7 +73,7 @@ interface UploadedFile {
|
|
|
73
73
|
* // Удалить ответ
|
|
74
74
|
* resetReply();
|
|
75
75
|
*/
|
|
76
|
-
export declare const
|
|
76
|
+
export declare const useMessageDraft: (outId: string) => {
|
|
77
77
|
getMessage: () => {
|
|
78
78
|
id: string;
|
|
79
79
|
text: string;
|
|
@@ -45,7 +45,8 @@ export interface Message {
|
|
|
45
45
|
type: string;
|
|
46
46
|
timestamp: string | number;
|
|
47
47
|
direction?: 'incoming' | 'outgoing';
|
|
48
|
-
status?: 'read' | 'sent' | 'received';
|
|
48
|
+
status?: 'read' | 'sent' | 'received' | 'pending' | 'error';
|
|
49
|
+
statusMsg?: string;
|
|
49
50
|
text?: string;
|
|
50
51
|
header?: string;
|
|
51
52
|
subText?: string;
|
package/dist/vuessages.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ai as s, H as t, w as o, A as l, al as i, ag 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
|
|
1
|
+
import { ai as s, H as t, w as o, A as l, al as i, ag 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, ac as h, u as y, ad as B, z as F, v as I, ak as A, a as R, b as T, f as b, c as V, D as f, C as v, K as P, N as D, E as k, ah as x, ae as L, F as W, g as w, O as E, aj as U, h as j, Q as K, m as N, n as Q, am as O, R as q, L as z, M as G, X as H, a8 as J, a9 as X, aa as Y, P as Z, Y as $, Z as _, $ as aa, a0 as ea, a1 as sa, a2 as ta, S as oa, ab as la, d as ia, af as na, a3 as ra, a4 as da, e as ua, o as ca, a5 as Ma, G as ga, T as pa, a6 as Ca, U as ma, a7 as Sa, V as ha, p as ya, q as Ba, r as Fa, s as Ia, W as Aa, aP as Ra, an as Ta, aT as ba, aE as Va, aH as fa, aN as va, aO as Pa, ao as Da, aB as ka, aR as xa, aQ as La, aS as Wa, aM as wa, ap as Ea, aC as Ua, aq as ja, ar as Ka, aK as Na, as as Qa, aL as Oa, aF as qa, av as za, aw as Ga, ax as Ha, ay as Ja, az as Xa, at as Ya, aI as Za, au as $a, aJ as _a, aA as ae, aD as ee, aG as se } from "./index-D4aZYJgw.js";
|
|
2
2
|
export {
|
|
3
3
|
s as AdaptiveExtendedLayout,
|
|
4
4
|
t as AudioMessage,
|
|
@@ -13,11 +13,11 @@ export {
|
|
|
13
13
|
M as ButtonTemplateSelector,
|
|
14
14
|
g as ButtonWabaTemplateSelector,
|
|
15
15
|
p as CallMessage,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
C as ChannelSelector,
|
|
17
|
+
m as ChatFilter,
|
|
18
|
+
S as ChatInfo,
|
|
19
|
+
h as ChatInput,
|
|
20
|
+
y as ChatItem,
|
|
21
21
|
B as ChatList,
|
|
22
22
|
F as ChatPanel,
|
|
23
23
|
I as ChatTabs,
|
|
@@ -26,12 +26,12 @@ export {
|
|
|
26
26
|
T as CloseButtonIcon,
|
|
27
27
|
b as CommunicationPanel,
|
|
28
28
|
V as ContactCRMIcon,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
f as ContactInfo,
|
|
30
|
+
v as ContextMenu,
|
|
31
|
+
P as DateMessage,
|
|
32
|
+
D as DateMessageSticky,
|
|
33
|
+
k as EmbedPreview,
|
|
34
|
+
x as ExtendedLayout,
|
|
35
35
|
L as Feed,
|
|
36
36
|
W as FeedFoundItem,
|
|
37
37
|
w as FeedFoundObjects,
|
|
@@ -40,8 +40,8 @@ export {
|
|
|
40
40
|
j as FeedSearch,
|
|
41
41
|
K as FileMessage,
|
|
42
42
|
N as FilePreview,
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
Q as FileUploader,
|
|
44
|
+
O as FloatContainer,
|
|
45
45
|
q as ImageMessage,
|
|
46
46
|
z as LinkPreview,
|
|
47
47
|
G as MenuIcon,
|
|
@@ -67,42 +67,46 @@ export {
|
|
|
67
67
|
Ma as TextMessage,
|
|
68
68
|
ga as ThemeMode,
|
|
69
69
|
pa as Tooltip,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
Ca as TypingMessage,
|
|
71
|
+
ma as UserProfile,
|
|
72
|
+
Sa as VideoMessage,
|
|
73
|
+
ha as VideoRecorder,
|
|
74
|
+
ya as WABAAttachmentSection,
|
|
75
75
|
Ba as WABAQuickReplyButtons,
|
|
76
76
|
Fa as WABASeparatedQuickButtons,
|
|
77
77
|
Ia as WABATemplateSelector,
|
|
78
78
|
Aa as WhatsAppIcon,
|
|
79
79
|
Ra as formatTimestamp,
|
|
80
80
|
Ta as generatePreview,
|
|
81
|
-
ba as
|
|
82
|
-
Va as
|
|
81
|
+
ba as getMessageClass,
|
|
82
|
+
Va as getMessageValidationReport,
|
|
83
|
+
fa as getSidebarValidationReport,
|
|
83
84
|
va as getStatus,
|
|
84
|
-
Pa as
|
|
85
|
-
|
|
85
|
+
Pa as getStatusTitle,
|
|
86
|
+
Da as getTypeFileByMime,
|
|
87
|
+
ka as getValidationReport,
|
|
86
88
|
xa as insertDaySeparators,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
89
|
+
La as playNotificationAudio,
|
|
90
|
+
Wa as sortByTimestamp,
|
|
91
|
+
wa as statuses,
|
|
92
|
+
Ea as uploadFile,
|
|
93
|
+
Ua as useChatValidator,
|
|
94
|
+
ja as useDelayDebouncedRef,
|
|
95
|
+
Ka as useImmediateDebouncedRef,
|
|
96
|
+
Na as useMessageActions,
|
|
97
|
+
Qa as useMessageDraft,
|
|
98
|
+
Oa as useMessageLinks,
|
|
99
|
+
qa as useMessageValidator,
|
|
100
|
+
za as useModalCreateChat,
|
|
101
|
+
Ga as useModalCreateChat2,
|
|
102
|
+
Ha as useModalCreateDialog,
|
|
103
|
+
Ja as useModalSelectUser2,
|
|
104
|
+
Xa as useModalVideoRecorder,
|
|
105
|
+
Ya as useSearchModel,
|
|
106
|
+
Za as useSidebarValidator,
|
|
107
|
+
$a as useTheme,
|
|
108
|
+
_a as useValidation,
|
|
109
|
+
ae as validateChats,
|
|
110
|
+
ee as validateMessages,
|
|
111
|
+
se as validateSidebarItems
|
|
108
112
|
};
|