@mobilon-dev/chotto 0.3.111 → 0.3.112
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/chotto.css +1 -1
- package/dist/components/2_blocks/FeedFoundItem/FeedFoundItem.vue.js +2 -2
- package/dist/components/2_blocks/FeedFoundItem/FeedFoundItem.vue2.js +37 -25
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +1 -1
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +341 -253
- package/dist/hooks/messages/buildReplyPayload.js +14 -12
- package/dist/hooks/messages/getImageMessageItems.js +21 -0
- package/dist/hooks/validators/messages/messageValidator.js +49 -42
- package/dist/index.js +80 -77
- package/dist/themes/dark.css +1 -1
- package/dist/themes/default.css +1 -1
- package/dist/themes/glass.css +1 -1
- package/dist/themes/green.css +1 -1
- package/dist/themes/mobilon1.css +1 -1
- package/dist/types/src/apps/data/messages.d.ts +250 -77
- package/dist/types/src/components/2_feed_elements/ImageMessage/stories/ImageMessage.stories.d.ts +3 -0
- package/dist/types/src/components/2_feed_elements/ImageMessage/styles/types.d.ts +40 -0
- package/dist/types/src/components/2_feed_elements/types/components.d.ts +3 -1
- package/dist/types/src/components/2_feed_elements/types/messages.d.ts +15 -1
- package/dist/types/src/hooks/messages/buildReplyPayload.d.ts +2 -1
- package/dist/types/src/hooks/messages/getImageMessageItems.d.ts +12 -0
- package/dist/types/src/hooks/messages/index.d.ts +1 -0
- package/dist/types/src/hooks/validators/messages/types.d.ts +6 -0
- package/package.json +1 -1
package/dist/types/src/components/2_feed_elements/ImageMessage/stories/ImageMessage.stories.d.ts
CHANGED
|
@@ -22,3 +22,6 @@ export declare const LeftMessageWithPreviewLink: Story;
|
|
|
22
22
|
export declare const WithImagePreviewUrl: Story;
|
|
23
23
|
export declare const RightWithImagePreviewUrl: Story;
|
|
24
24
|
export declare const RightMessageWithPreviewLink: Story;
|
|
25
|
+
export declare const AlbumTwoImages: Story;
|
|
26
|
+
export declare const AlbumThreeImages: Story;
|
|
27
|
+
export declare const AlbumFiveImages: Story;
|
|
@@ -392,6 +392,46 @@ export interface ImageMessageThemeCSSVariables {
|
|
|
392
392
|
'--chotto-imagemessage-modal-image-max-height': string;
|
|
393
393
|
/** Максимальная ширина изображения в модальном окне */
|
|
394
394
|
'--chotto-imagemessage-modal-image-max-width': string;
|
|
395
|
+
/** Минимальная ширина сетки альбома */
|
|
396
|
+
'--chotto-imagemessage-album-size': string;
|
|
397
|
+
/** Отображение сетки альбома */
|
|
398
|
+
'--chotto-imagemessage-album-display': string;
|
|
399
|
+
/** Промежуток между фото в альбоме */
|
|
400
|
+
'--chotto-imagemessage-album-gap': string;
|
|
401
|
+
/** Ширина сетки альбома */
|
|
402
|
+
'--chotto-imagemessage-album-width': string;
|
|
403
|
+
/** Высота сетки альбома */
|
|
404
|
+
'--chotto-imagemessage-album-height': string;
|
|
405
|
+
/** Фон плитки альбома */
|
|
406
|
+
'--chotto-imagemessage-album-tile-background': string;
|
|
407
|
+
/** Курсор плитки альбома */
|
|
408
|
+
'--chotto-imagemessage-album-tile-cursor': string;
|
|
409
|
+
/** Вписывание фото в плитке альбома */
|
|
410
|
+
'--chotto-imagemessage-album-tile-object-fit': string;
|
|
411
|
+
/** Фон оверлея «ещё N» */
|
|
412
|
+
'--chotto-imagemessage-album-overflow-background': string;
|
|
413
|
+
/** Цвет текста оверлея «ещё N» */
|
|
414
|
+
'--chotto-imagemessage-album-overflow-color': string;
|
|
415
|
+
/** Размер шрифта оверлея «ещё N» */
|
|
416
|
+
'--chotto-imagemessage-album-overflow-font-size': string;
|
|
417
|
+
/** Размер кнопки навигации в модалке альбома */
|
|
418
|
+
'--chotto-imagemessage-modal-nav-size': string;
|
|
419
|
+
/** Фон кнопки навигации в модалке альбома */
|
|
420
|
+
'--chotto-imagemessage-modal-nav-background': string;
|
|
421
|
+
/** Цвет иконки навигации в модалке альбома */
|
|
422
|
+
'--chotto-imagemessage-modal-nav-color': string;
|
|
423
|
+
/** Скругление кнопки навигации в модалке альбома */
|
|
424
|
+
'--chotto-imagemessage-modal-nav-border-radius': string;
|
|
425
|
+
/** Размер иконки навигации в модалке альбома */
|
|
426
|
+
'--chotto-imagemessage-modal-nav-font-size': string;
|
|
427
|
+
/** Цвет счётчика в модалке альбома */
|
|
428
|
+
'--chotto-imagemessage-modal-counter-color': string;
|
|
429
|
+
/** Размер шрифта счётчика в модалке альбома */
|
|
430
|
+
'--chotto-imagemessage-modal-counter-font-size': string;
|
|
431
|
+
/** Внутренние отступы счётчика в модалке альбома */
|
|
432
|
+
'--chotto-imagemessage-modal-counter-padding': string;
|
|
433
|
+
/** Скругление счётчика в модалке альбома */
|
|
434
|
+
'--chotto-imagemessage-modal-counter-border-radius': string;
|
|
395
435
|
/** Переход появления контекстного меню */
|
|
396
436
|
'--chotto-imagemessage-context-menu-enter-active-transition': string;
|
|
397
437
|
/** Переход скрытия контекстного меню */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IAudioMessage, ICallMessage, IDateMessage, IFileMessage, IImageMessage, IKeyBoard, ILinkPreview, ISystemMessage, ITextMessage, ITypingMessage, IVideoMessage, Reply } from "@/types";
|
|
1
|
+
import { IAudioMessage, ICallMessage, IDateMessage, IFileMessage, IImageMessage, IImageMessageItem, IKeyBoard, ILinkPreview, ISystemMessage, ITextMessage, ITypingMessage, IVideoMessage, Reply } from "@/types";
|
|
2
2
|
export interface IFeedObject {
|
|
3
3
|
messageId: string;
|
|
4
4
|
type: string;
|
|
@@ -10,6 +10,8 @@ export interface IFeedObject {
|
|
|
10
10
|
url?: string;
|
|
11
11
|
/** URL превью картинки для ленты (для `message.image`) */
|
|
12
12
|
imagePreviewUrl?: string;
|
|
13
|
+
/** Несколько изображений в одном `message.image` */
|
|
14
|
+
items?: IImageMessageItem[];
|
|
13
15
|
/** URL сжатого превью видео для ленты (для `message.video`) */
|
|
14
16
|
videoPreviewUrl?: string;
|
|
15
17
|
/** URL обложки видео для ленты (для `message.video`) */
|
|
@@ -268,13 +268,27 @@ export interface IFileMessage {
|
|
|
268
268
|
/** Можно ли ещё удалить (если `false` — пункт меню disabled) */
|
|
269
269
|
canDelete?: boolean;
|
|
270
270
|
}
|
|
271
|
+
/** Одно изображение в альбоме `message.image` */
|
|
272
|
+
export interface IImageMessageItem {
|
|
273
|
+
url: string;
|
|
274
|
+
/** URL превью для ленты. Если нет — показывается `url`. */
|
|
275
|
+
imagePreviewUrl?: string;
|
|
276
|
+
filename?: string;
|
|
277
|
+
size?: number | string;
|
|
278
|
+
}
|
|
271
279
|
export interface IImageMessage {
|
|
272
280
|
messageId: string;
|
|
273
281
|
position: string;
|
|
274
282
|
time: string;
|
|
275
|
-
|
|
283
|
+
/**
|
|
284
|
+
* Полноразмерный URL (для одного фото или как дубль первого элемента `items`).
|
|
285
|
+
* Если задан `items`, в ленте используются элементы массива.
|
|
286
|
+
*/
|
|
287
|
+
url?: string;
|
|
276
288
|
/** URL превью для ленты. Если нет — в ленте показывается `url`. При широком просмотре открывается полноразмерный `url`. */
|
|
277
289
|
imagePreviewUrl?: string;
|
|
290
|
+
/** Несколько изображений в одном сообщении. Один элемент — обычное фото. */
|
|
291
|
+
items?: IImageMessageItem[];
|
|
278
292
|
alt?: string;
|
|
279
293
|
status: string;
|
|
280
294
|
statusMsg?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Reply } from '@/types';
|
|
1
|
+
import type { IImageMessageItem, Reply } from '@/types';
|
|
2
2
|
export interface ReplyMessageSource {
|
|
3
3
|
messageId: string | number;
|
|
4
4
|
type?: string;
|
|
@@ -10,5 +10,6 @@ export interface ReplyMessageSource {
|
|
|
10
10
|
filename?: string;
|
|
11
11
|
header?: string;
|
|
12
12
|
callDuration?: string;
|
|
13
|
+
items?: IImageMessageItem[];
|
|
13
14
|
}
|
|
14
15
|
export declare function buildReplyPayload(message: ReplyMessageSource, fallbackType: string): Reply;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IImageMessageItem } from '@/types';
|
|
2
|
+
export interface ImageMessageItemsSource {
|
|
3
|
+
url?: string;
|
|
4
|
+
imagePreviewUrl?: string;
|
|
5
|
+
filename?: string;
|
|
6
|
+
items?: IImageMessageItem[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Список картинок сообщения: `items`, если их больше нуля, иначе корневые `url` / `imagePreviewUrl`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getImageMessageItems(message: ImageMessageItemsSource | undefined): IImageMessageItem[];
|
|
12
|
+
export declare function getPrimaryImageItem(message: ImageMessageItemsSource | undefined): IImageMessageItem | undefined;
|
|
@@ -11,6 +11,7 @@ export * from './useStartReply';
|
|
|
11
11
|
export * from './useStartEdit';
|
|
12
12
|
export * from './canStartEditLastSent';
|
|
13
13
|
export * from './buildReplyPayload';
|
|
14
|
+
export * from './getImageMessageItems';
|
|
14
15
|
export * from './buildEditPayload';
|
|
15
16
|
export * from './getEditTooltipLines';
|
|
16
17
|
export * from './getDeletedOriginalText';
|
|
@@ -55,6 +55,12 @@ export interface Message {
|
|
|
55
55
|
coverUrl?: string;
|
|
56
56
|
filename?: string;
|
|
57
57
|
alt?: string;
|
|
58
|
+
items?: Array<{
|
|
59
|
+
url: string;
|
|
60
|
+
imagePreviewUrl?: string;
|
|
61
|
+
filename?: string;
|
|
62
|
+
size?: number | string;
|
|
63
|
+
}>;
|
|
58
64
|
views?: number;
|
|
59
65
|
reply?: MessageReply;
|
|
60
66
|
embed?: MessageEmbed;
|