@mobilon-dev/chotto 0.3.20 → 0.3.22
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-BS86RCwj.js} +1 -1
- package/dist/{CreateChat2-CUxgSz4p.js → CreateChat2-UAK1W75x.js} +1 -1
- package/dist/{CreateDialog-CrL6l5Yr.js → CreateDialog-CoSOBGf3.js} +1 -1
- package/dist/{ModalVideoRecorder-D86XmPA8.js → ModalVideoRecorder-Cs7ZiWJ1.js} +1 -1
- package/dist/{SelectUser2-CgmFwrUT.js → SelectUser2-CYADx7Gc.js} +1 -1
- package/dist/chotto.css +1 -1
- package/dist/index-0LXvcjYD.js +35926 -0
- 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 +171 -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/stories/AudioMessage.stories.d.ts +4 -0
- package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +4 -0
- package/dist/types/components/2_feed_elements/CallMessage/stories/CallMessage.stories.d.ts +4 -0
- package/dist/types/components/2_feed_elements/DateMessage/stories/DateMessage.stories.d.ts +1 -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/stories/FileMessage.stories.d.ts +3 -0
- package/dist/types/components/2_feed_elements/FileMessage/styles/types.d.ts +4 -0
- package/dist/types/components/2_feed_elements/ImageMessage/stories/ImageMessage.stories.d.ts +3 -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/ReplyStickerMessage/ReplyStickerMessage.vue.d.ts +16 -0
- package/dist/types/components/2_feed_elements/ReplyStickerMessage/stories/ReplyStickerMessage.stories.d.ts +10 -0
- package/dist/types/components/2_feed_elements/ReplyStickerMessage/styles/types.d.ts +107 -0
- 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/StickerMessage/StickerMessage.vue.d.ts +41 -0
- package/dist/types/components/2_feed_elements/StickerMessage/libs/tgs-player/lottie-player.esm.d.ts +478 -0
- package/dist/types/components/2_feed_elements/StickerMessage/libs/tgs-player/tgs-player.esm.d.ts +478 -0
- package/dist/types/components/2_feed_elements/StickerMessage/stories/StickerMessage.stories.d.ts +19 -0
- package/dist/types/components/2_feed_elements/StickerMessage/styles/types.d.ts +245 -0
- package/dist/types/components/2_feed_elements/TextMessage/stories/TextMessage.stories.d.ts +3 -0
- package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +4 -0
- package/dist/types/components/2_feed_elements/TypingMessage/stories/TypingMessage.stories.d.ts +1 -0
- package/dist/types/components/2_feed_elements/VideoMessage/stories/VideoMessage.stories.d.ts +3 -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 +25 -0
- package/dist/types/components/3_compounds/SideBar/SideBar.vue.d.ts +2 -0
- package/dist/types/components/index.d.ts +2 -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/types/main.d.ts +1 -0
- package/dist/types/utils/suppress-lit-warning.d.ts +0 -0
- package/dist/vuessages.es.js +71 -65
- package/dist/vuessages.umd.js +598 -46
- package/package.json +1 -1
- package/dist/index-DdDDz7e5.js +0 -21787
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS variables for StickerMessage component
|
|
3
|
+
*/
|
|
4
|
+
export interface StickerMessageThemeCSSVariables {
|
|
5
|
+
/** Позиционирование контейнера контента стикера */
|
|
6
|
+
'--chotto-stickermessage-content-position': string;
|
|
7
|
+
/** Максимальная ширина контейнера контента стикера */
|
|
8
|
+
'--chotto-stickermessage-content-max-width': string;
|
|
9
|
+
/** Скругление контейнера контента стикера */
|
|
10
|
+
'--chotto-stickermessage-content-border-radius': string;
|
|
11
|
+
/** Ряд грида аватара */
|
|
12
|
+
'--chotto-stickermessage-avatar-grid-row': string;
|
|
13
|
+
/** Выравнивание аватара относительно себя */
|
|
14
|
+
'--chotto-stickermessage-avatar-align-self': string;
|
|
15
|
+
/** Вписывание изображения аватара */
|
|
16
|
+
'--chotto-stickermessage-avatar-object-fit': string;
|
|
17
|
+
/** Отступ снизу аватара */
|
|
18
|
+
'--chotto-stickermessage-avatar-margin-bottom': string;
|
|
19
|
+
/** Минимальная ширина аватара */
|
|
20
|
+
'--chotto-stickermessage-avatar-min-width': string;
|
|
21
|
+
/** Минимальная высота аватара */
|
|
22
|
+
'--chotto-stickermessage-avatar-min-height': string;
|
|
23
|
+
/** Скругление аватара */
|
|
24
|
+
'--chotto-stickermessage-avatar-border-radius': string;
|
|
25
|
+
/** Позиционирование контейнера информации */
|
|
26
|
+
'--chotto-stickermessage-info-container-position': string;
|
|
27
|
+
/** Отступ контейнера информации справа */
|
|
28
|
+
'--chotto-stickermessage-info-container-right': string;
|
|
29
|
+
/** Отступ контейнера информации снизу */
|
|
30
|
+
'--chotto-stickermessage-info-container-bottom': string;
|
|
31
|
+
/** Отображение контейнера информации */
|
|
32
|
+
'--chotto-stickermessage-info-container-display': string;
|
|
33
|
+
/** Выравнивание элементов контейнера информации */
|
|
34
|
+
'--chotto-stickermessage-info-container-align-items': string;
|
|
35
|
+
/** Промежуток между элементами контейнера информации */
|
|
36
|
+
'--chotto-stickermessage-info-container-column-gap': string;
|
|
37
|
+
/** Скругление контейнера информации */
|
|
38
|
+
'--chotto-stickermessage-info-container-border-radius': string;
|
|
39
|
+
/** Внутренние отступы контейнера информации */
|
|
40
|
+
'--chotto-stickermessage-info-container-padding': string;
|
|
41
|
+
/** Цвет текста/иконок контейнера информации */
|
|
42
|
+
'--chotto-stickermessage-info-container-color': string;
|
|
43
|
+
/** Цвет фона контейнера информации */
|
|
44
|
+
'--chotto-stickermessage-info-container-background-color': string;
|
|
45
|
+
/** Позиционирование кнопки скачивания */
|
|
46
|
+
'--chotto-stickermessage-download-button-position': string;
|
|
47
|
+
/** Отступ кнопки скачивания слева */
|
|
48
|
+
'--chotto-stickermessage-download-button-left': string;
|
|
49
|
+
/** Отступ кнопки скачивания снизу */
|
|
50
|
+
'--chotto-stickermessage-download-button-bottom': string;
|
|
51
|
+
/** Отображение кнопки скачивания */
|
|
52
|
+
'--chotto-stickermessage-download-button-display': string;
|
|
53
|
+
/** Выравнивание содержимого кнопки по главной оси */
|
|
54
|
+
'--chotto-stickermessage-download-button-justify-content': string;
|
|
55
|
+
/** Выравнивание содержимого кнопки по поперечной оси */
|
|
56
|
+
'--chotto-stickermessage-download-button-align-items': string;
|
|
57
|
+
/** Граница кнопки скачивания */
|
|
58
|
+
'--chotto-stickermessage-download-button-border': string;
|
|
59
|
+
/** Скругление кнопки скачивания */
|
|
60
|
+
'--chotto-stickermessage-download-button-border-radius': string;
|
|
61
|
+
/** Внутренние отступы кнопки скачивания */
|
|
62
|
+
'--chotto-stickermessage-download-button-padding': string;
|
|
63
|
+
/** Цвет фона кнопки скачивания */
|
|
64
|
+
'--chotto-stickermessage-download-button-background-color': string;
|
|
65
|
+
/** Курсор кнопки скачивания */
|
|
66
|
+
'--chotto-stickermessage-download-button-cursor': string;
|
|
67
|
+
/** Цвет текста/иконки внутри кнопки */
|
|
68
|
+
'--chotto-stickermessage-download-button-span-color': string;
|
|
69
|
+
/** Размер текста/иконки внутри кнопки */
|
|
70
|
+
'--chotto-stickermessage-download-button-span-font-size': string;
|
|
71
|
+
/** Отображение блока просмотров */
|
|
72
|
+
'--chotto-stickermessage-views-display': string;
|
|
73
|
+
/** Выравнивание элементов блока просмотров */
|
|
74
|
+
'--chotto-stickermessage-views-align-items': string;
|
|
75
|
+
/** Промежуток между элементами блока просмотров */
|
|
76
|
+
'--chotto-stickermessage-views-column-gap': string;
|
|
77
|
+
/** Курсор при наведении на блок просмотров */
|
|
78
|
+
'--chotto-stickermessage-views-cursor': string;
|
|
79
|
+
/** Размер иконки просмотров */
|
|
80
|
+
'--chotto-stickermessage-views-span-font-size': string;
|
|
81
|
+
/** Размер текста количества просмотров */
|
|
82
|
+
'--chotto-stickermessage-views-p-font-size': string;
|
|
83
|
+
/** Размер шрифта времени */
|
|
84
|
+
'--chotto-stickermessage-time-font-size': string;
|
|
85
|
+
/** Отображение статуса доставки/прочтения */
|
|
86
|
+
'--chotto-stickermessage-status-display': string;
|
|
87
|
+
/** Размер иконок статуса */
|
|
88
|
+
'--chotto-stickermessage-status-span-font-size': string;
|
|
89
|
+
/** Отрицательный отступ для иконки "доставлено" */
|
|
90
|
+
'--chotto-stickermessage-status-received-first-child-margin-right': string;
|
|
91
|
+
/** Отрицательный отступ для иконки "прочитано" */
|
|
92
|
+
'--chotto-stickermessage-status-read-first-child-margin-right': string;
|
|
93
|
+
/** Цвет иконок статуса "прочитано" */
|
|
94
|
+
'--chotto-stickermessage-status-read-color': string;
|
|
95
|
+
/** Цвет иконок статуса "в ожидании" */
|
|
96
|
+
'--chotto-stickermessage-status-pending-color': string;
|
|
97
|
+
/** Цвет иконок статуса "ошибка" */
|
|
98
|
+
'--chotto-stickermessage-status-error-color': string;
|
|
99
|
+
/** Размер шрифта подписи */
|
|
100
|
+
'--chotto-stickermessage-subtext-font-size': string;
|
|
101
|
+
/** Цвет подписи */
|
|
102
|
+
'--chotto-stickermessage-subtext-color': string;
|
|
103
|
+
/** Позиционирование кнопки превью */
|
|
104
|
+
'--chotto-stickermessage-preview-button-position': string;
|
|
105
|
+
/** Отображение кнопки превью */
|
|
106
|
+
'--chotto-stickermessage-preview-button-display': string;
|
|
107
|
+
/** Направление флекс-контейнера кнопки превью */
|
|
108
|
+
'--chotto-stickermessage-preview-button-flex-direction': string;
|
|
109
|
+
/** Внутренние отступы кнопки превью */
|
|
110
|
+
'--chotto-stickermessage-preview-button-padding': string;
|
|
111
|
+
/** Ширина превью-стикера */
|
|
112
|
+
'--chotto-stickermessage-preview-image-width': string;
|
|
113
|
+
/** Высота превью-стикера */
|
|
114
|
+
'--chotto-stickermessage-preview-image-height': string;
|
|
115
|
+
/** Максимальная ширина превью-стикера */
|
|
116
|
+
'--chotto-stickermessage-preview-image-max-width': string;
|
|
117
|
+
/** Максимальная высота превью-стикера */
|
|
118
|
+
'--chotto-stickermessage-preview-image-max-height': string;
|
|
119
|
+
/** Курсор при наведении на превью */
|
|
120
|
+
'--chotto-stickermessage-preview-image-cursor': string;
|
|
121
|
+
/** Вписывание изображения стикера */
|
|
122
|
+
'--chotto-stickermessage-preview-image-object-fit': string;
|
|
123
|
+
/** Ширина анимированного превью-стикера (TGS) */
|
|
124
|
+
'--chotto-stickermessage-preview-image-animated-width': string;
|
|
125
|
+
/** Высота анимированного превью-стикера (TGS) */
|
|
126
|
+
'--chotto-stickermessage-preview-image-animated-height': string;
|
|
127
|
+
/** Максимальная ширина анимированного превью-стикера (TGS) */
|
|
128
|
+
'--chotto-stickermessage-preview-image-animated-max-width': string;
|
|
129
|
+
/** Максимальная высота анимированного превью-стикера (TGS) */
|
|
130
|
+
'--chotto-stickermessage-preview-image-animated-max-height': string;
|
|
131
|
+
/** Курсор при наведении на анимированное превью (TGS) */
|
|
132
|
+
'--chotto-stickermessage-preview-image-animated-cursor': string;
|
|
133
|
+
/** Вписывание анимированного изображения стикера (TGS) */
|
|
134
|
+
'--chotto-stickermessage-preview-image-animated-object-fit': string;
|
|
135
|
+
/** Позиционирование кнопки меню сообщения */
|
|
136
|
+
'--chotto-stickermessage-menu-button-position': string;
|
|
137
|
+
/** Прозрачный фон кнопки меню */
|
|
138
|
+
'--chotto-stickermessage-menu-button-background-color': string;
|
|
139
|
+
/** Граница кнопки меню */
|
|
140
|
+
'--chotto-stickermessage-menu-button-border': string;
|
|
141
|
+
/** Трансформация кнопки меню по оси Y */
|
|
142
|
+
'--chotto-stickermessage-menu-button-transform': string;
|
|
143
|
+
/** Курсор кнопки меню */
|
|
144
|
+
'--chotto-stickermessage-menu-button-cursor': string;
|
|
145
|
+
/** Переход кнопки меню */
|
|
146
|
+
'--chotto-stickermessage-menu-button-transition': string;
|
|
147
|
+
/** Цвет иконки внутри кнопки меню */
|
|
148
|
+
'--chotto-stickermessage-menu-button-span-color': string;
|
|
149
|
+
/** Размер иконки внутри кнопки меню */
|
|
150
|
+
'--chotto-stickermessage-menu-button-span-font-size': string;
|
|
151
|
+
/** Цвет иконки при наведении */
|
|
152
|
+
'--chotto-stickermessage-menu-button-span-hover-color': string;
|
|
153
|
+
/** Переход при наведении */
|
|
154
|
+
'--chotto-stickermessage-menu-button-hover-transition': string;
|
|
155
|
+
/** Позиционирование контекстного меню */
|
|
156
|
+
'--chotto-stickermessage-context-menu-position': string;
|
|
157
|
+
/** Внутренние отступы контейнера текста */
|
|
158
|
+
'--chotto-stickermessage-text-container-padding': string;
|
|
159
|
+
/** Скругление контейнера текста */
|
|
160
|
+
'--chotto-stickermessage-text-container-border-radius': string;
|
|
161
|
+
/** Перенос слов в контейнере текста */
|
|
162
|
+
'--chotto-stickermessage-text-container-word-wrap': string;
|
|
163
|
+
/** Размер шрифта абзаца текста */
|
|
164
|
+
'--chotto-stickermessage-text-container-p-font-size': string;
|
|
165
|
+
/** Перенос слов в абзаце текста */
|
|
166
|
+
'--chotto-stickermessage-text-container-p-word-break': string;
|
|
167
|
+
/** Внешние отступы блока превью ссылки */
|
|
168
|
+
'--chotto-stickermessage-link-preview-margin': string;
|
|
169
|
+
/** Отображение общего контейнера лево/право */
|
|
170
|
+
'--chotto-stickermessage-left-right-display': string;
|
|
171
|
+
/** Шаблон строк грида для лево/право */
|
|
172
|
+
'--chotto-stickermessage-left-right-grid-template-rows': string;
|
|
173
|
+
/** Внешние отступы общего контейнера */
|
|
174
|
+
'--chotto-stickermessage-left-right-margin': string;
|
|
175
|
+
/** Шаблон колонок левой раскладки */
|
|
176
|
+
'--chotto-stickermessage-left-grid-template-columns': string;
|
|
177
|
+
/** Колонка грида аватара слева */
|
|
178
|
+
'--chotto-stickermessage-left-avatar-grid-column': string;
|
|
179
|
+
/** Отступ справа от аватара слева */
|
|
180
|
+
'--chotto-stickermessage-left-avatar-margin-right': string;
|
|
181
|
+
/** Колонка грида подписи слева */
|
|
182
|
+
'--chotto-stickermessage-left-subtext-grid-column': string;
|
|
183
|
+
/** Ряд грида подписи слева */
|
|
184
|
+
'--chotto-stickermessage-left-subtext-grid-row': string;
|
|
185
|
+
/** Внешние отступы подписи слева */
|
|
186
|
+
'--chotto-stickermessage-left-subtext-margin': string;
|
|
187
|
+
/** Колонка грида контента слева */
|
|
188
|
+
'--chotto-stickermessage-left-content-grid-column': string;
|
|
189
|
+
/** Отступ контента слева с учётом аватара */
|
|
190
|
+
'--chotto-stickermessage-left-content-with-avatar-indent-margin-left': string;
|
|
191
|
+
/** Положение кнопки меню слева (top) */
|
|
192
|
+
'--chotto-stickermessage-left-menu-button-top': string;
|
|
193
|
+
/** Положение кнопки меню слева (right) */
|
|
194
|
+
'--chotto-stickermessage-left-menu-button-right': string;
|
|
195
|
+
/** Позиция контекстного меню слева (top) */
|
|
196
|
+
'--chotto-stickermessage-left-context-menu-top': string;
|
|
197
|
+
/** Позиция контекстного меню слева (left) */
|
|
198
|
+
'--chotto-stickermessage-left-context-menu-left': string;
|
|
199
|
+
/** Отступ контекстного меню слева сверху */
|
|
200
|
+
'--chotto-stickermessage-left-context-menu-margin-top': string;
|
|
201
|
+
/** Шаблон колонок правой раскладки */
|
|
202
|
+
'--chotto-stickermessage-right-grid-template-columns': string;
|
|
203
|
+
/** Колонка грида аватара справа */
|
|
204
|
+
'--chotto-stickermessage-right-avatar-grid-column': string;
|
|
205
|
+
/** Отступ слева от аватара справа */
|
|
206
|
+
'--chotto-stickermessage-right-avatar-margin-left': string;
|
|
207
|
+
/** Колонка грида подписи справа */
|
|
208
|
+
'--chotto-stickermessage-right-subtext-grid-column': string;
|
|
209
|
+
/** Ряд грида подписи справа */
|
|
210
|
+
'--chotto-stickermessage-right-subtext-grid-row': string;
|
|
211
|
+
/** Внешние отступы подписи справа */
|
|
212
|
+
'--chotto-stickermessage-right-subtext-margin': string;
|
|
213
|
+
/** Колонка грида контента справа */
|
|
214
|
+
'--chotto-stickermessage-right-content-grid-column': string;
|
|
215
|
+
/** Выравнивание контента справа */
|
|
216
|
+
'--chotto-stickermessage-right-content-margin-left': string;
|
|
217
|
+
/** Отступ контента справа с учётом аватара */
|
|
218
|
+
'--chotto-stickermessage-right-content-with-avatar-indent-margin-right': string;
|
|
219
|
+
/** Отступ текстового контейнера справа */
|
|
220
|
+
'--chotto-stickermessage-right-text-container-margin-left': string;
|
|
221
|
+
/** Положение кнопки меню справа (top) */
|
|
222
|
+
'--chotto-stickermessage-right-menu-button-top': string;
|
|
223
|
+
/** Положение кнопки меню справа (left) */
|
|
224
|
+
'--chotto-stickermessage-right-menu-button-left': string;
|
|
225
|
+
/** Позиция контекстного меню справа (top) */
|
|
226
|
+
'--chotto-stickermessage-right-context-menu-top': string;
|
|
227
|
+
/** Позиция контекстного меню справа (right) */
|
|
228
|
+
'--chotto-stickermessage-right-context-menu-right': string;
|
|
229
|
+
/** Отступ контекстного меню справа сверху */
|
|
230
|
+
'--chotto-stickermessage-right-context-menu-margin-top': string;
|
|
231
|
+
/** Переход появления контекстного меню */
|
|
232
|
+
'--chotto-stickermessage-context-menu-enter-active-transition': string;
|
|
233
|
+
/** Переход скрытия контекстного меню */
|
|
234
|
+
'--chotto-stickermessage-context-menu-leave-active-transition': string;
|
|
235
|
+
/** Стартовая трансформация контекстного меню */
|
|
236
|
+
'--chotto-stickermessage-context-menu-enter-from-transform': string;
|
|
237
|
+
/** Стартовая прозрачность контекстного меню */
|
|
238
|
+
'--chotto-stickermessage-context-menu-enter-from-opacity': string;
|
|
239
|
+
/** Переход появления модального окна */
|
|
240
|
+
'--chotto-stickermessage-modal-fade-enter-active-transition': string;
|
|
241
|
+
/** Прозрачность модального окна в начале */
|
|
242
|
+
'--chotto-stickermessage-modal-fade-enter-from-opacity': string;
|
|
243
|
+
/** Прозрачность модального окна в конце */
|
|
244
|
+
'--chotto-stickermessage-modal-fade-enter-to-opacity': string;
|
|
245
|
+
}
|
|
@@ -3,6 +3,7 @@ import TextMessage from '../TextMessage.vue';
|
|
|
3
3
|
declare const meta: Meta<typeof TextMessage>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof TextMessage>;
|
|
6
|
+
export declare const Default: Story;
|
|
6
7
|
export declare const LeftMessage: Story;
|
|
7
8
|
export declare const LeftMessageWithViews: Story;
|
|
8
9
|
export declare const LeftMessageLongText: Story;
|
|
@@ -19,6 +20,8 @@ export declare const RightMessageWithoutTime: Story;
|
|
|
19
20
|
export declare const RightMessageStatusSent: Story;
|
|
20
21
|
export declare const RightMessageStatusReceived: Story;
|
|
21
22
|
export declare const RightMessageStatusRead: Story;
|
|
23
|
+
export declare const RightMessageStatusPending: Story;
|
|
24
|
+
export declare const RightMessageStatusError: Story;
|
|
22
25
|
export declare const RightMessageWithActions: Story;
|
|
23
26
|
export declare const RightMessageWithAvatar: Story;
|
|
24
27
|
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
|
/** Правила перевода строк текста */
|
package/dist/types/components/2_feed_elements/TypingMessage/stories/TypingMessage.stories.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import TypingMessage from '../TypingMessage.vue';
|
|
|
3
3
|
declare const meta: Meta<typeof TypingMessage>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof TypingMessage>;
|
|
6
|
+
export declare const Default: Story;
|
|
6
7
|
export declare const Standard: Story;
|
|
7
8
|
export declare const WithAvatar: Story;
|
|
8
9
|
export declare const WithAvatarAndSubtext: Story;
|
package/dist/types/components/2_feed_elements/VideoMessage/stories/VideoMessage.stories.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import VideoMessage from '../VideoMessage.vue';
|
|
|
3
3
|
declare const meta: Meta<typeof VideoMessage>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof VideoMessage>;
|
|
6
|
+
export declare const Default: Story;
|
|
6
7
|
export declare const LeftMessage: Story;
|
|
7
8
|
export declare const RightMessage: Story;
|
|
8
9
|
export declare const LeftMessageWithAvatar: Story;
|
|
@@ -16,6 +17,8 @@ export declare const RightMessageWithTextAndActions: Story;
|
|
|
16
17
|
export declare const RightMessageWithStatusSent: Story;
|
|
17
18
|
export declare const RightMessageWithStatusReceived: Story;
|
|
18
19
|
export declare const RightMessageWithStatusRead: Story;
|
|
20
|
+
export declare const RightMessageWithStatusPending: Story;
|
|
21
|
+
export declare const RightMessageWithStatusError: Story;
|
|
19
22
|
export declare const RightMessageWithVerticalVideo: Story;
|
|
20
23
|
export declare const RightMessageWithVerticalVideoAndText: Story;
|
|
21
24
|
export declare const LeftMessageWithVerticalVideoAndTextWithLink: Story;
|
|
@@ -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;
|
|
@@ -140,3 +145,23 @@ export interface IVideoMessage {
|
|
|
140
145
|
embed?: object;
|
|
141
146
|
keyboard?: IKeyBoard[];
|
|
142
147
|
}
|
|
148
|
+
export interface IStickerMessage {
|
|
149
|
+
messageId: string;
|
|
150
|
+
position: string;
|
|
151
|
+
time: string;
|
|
152
|
+
url: string;
|
|
153
|
+
alt?: string;
|
|
154
|
+
isAnimated?: boolean;
|
|
155
|
+
status: string;
|
|
156
|
+
statusMsg?: string;
|
|
157
|
+
avatar?: string;
|
|
158
|
+
header?: string;
|
|
159
|
+
subText?: string;
|
|
160
|
+
actions?: IAction[];
|
|
161
|
+
views?: number;
|
|
162
|
+
text?: string;
|
|
163
|
+
reply?: Reply;
|
|
164
|
+
linkPreview?: ILinkPreview;
|
|
165
|
+
embed?: object;
|
|
166
|
+
keyboard?: IKeyBoard[];
|
|
167
|
+
}
|
|
@@ -3,10 +3,12 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
3
3
|
sidebarItems: unknown[];
|
|
4
4
|
horizontal: boolean;
|
|
5
5
|
menuActions: unknown[];
|
|
6
|
+
showSettings: boolean;
|
|
6
7
|
$props: {
|
|
7
8
|
readonly sidebarItems?: unknown[] | undefined;
|
|
8
9
|
readonly horizontal?: boolean | undefined;
|
|
9
10
|
readonly menuActions?: unknown[] | undefined;
|
|
11
|
+
readonly showSettings?: boolean | undefined;
|
|
10
12
|
};
|
|
11
13
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
12
14
|
export default _default;
|
|
@@ -48,10 +48,12 @@ export { default as FeedKeyboard } from './2_feed_elements/FeedKeyboard/FeedKeyb
|
|
|
48
48
|
export { default as FileMessage } from './2_feed_elements/FileMessage/FileMessage.vue';
|
|
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
|
+
export { default as StickerMessage } from './2_feed_elements/StickerMessage/StickerMessage.vue';
|
|
51
52
|
export { default as ReplyAudioMessage } from './2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue';
|
|
52
53
|
export { default as ReplyCallMessage } from './2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue';
|
|
53
54
|
export { default as ReplyFileMessage } from './2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue';
|
|
54
55
|
export { default as ReplyImageMessage } from './2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue';
|
|
56
|
+
export { default as ReplyStickerMessage } from './2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue';
|
|
55
57
|
export { default as ReplyTextMessage } from './2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue';
|
|
56
58
|
export { default as ReplyVideoMessage } from './2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue';
|
|
57
59
|
export { default as SplashScreen } from './2_feed_elements/SplashScreen/SplashScreen.vue';
|
|
@@ -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/types/main.d.ts
CHANGED
|
File without changes
|