@mobilon-dev/chotto 0.3.24 → 0.3.26

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 (40) hide show
  1. package/README.md +111 -22
  2. package/dist/{CreateChat-DqPybXXn.js → CreateChat-B9CfoSZb.js} +1 -1
  3. package/dist/{CreateChat2-Bxs28ww_.js → CreateChat2-ks_IikUi.js} +1 -1
  4. package/dist/{CreateDialog-IJDv_iIh.js → CreateDialog-DqXOFpdc.js} +1 -1
  5. package/dist/{ModalVideoRecorder-OOD5jytP.js → ModalVideoRecorder-DnncYgrj.js} +1 -1
  6. package/dist/{SelectUser2-D9B0H77q.js → SelectUser2-twrrtDkw.js} +1 -1
  7. package/dist/chotto.css +1 -1
  8. package/dist/{index-as74SdsT.js → index-CECDc5wp.js} +4186 -3808
  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/data/messages.d.ts +74 -3
  14. package/dist/types/components/1_atoms/ContextMenu/styles/types.d.ts +4 -0
  15. package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.d.ts +2 -2
  16. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.d.ts +56 -0
  17. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.d.ts +49 -0
  18. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.d.ts +42 -0
  19. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationDialogSync.d.ts +26 -0
  20. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.d.ts +32 -0
  21. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationSubMenu.d.ts +25 -0
  22. package/dist/types/components/2_blocks/CommunicationPanel/stories/CommunicationPanel.stories.d.ts +2 -2
  23. package/dist/types/components/2_chatlist_elements/ChatItem/types.d.ts +1 -0
  24. package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +116 -16
  25. package/dist/types/components/2_feed_elements/ImageMessage/styles/types.d.ts +12 -10
  26. package/dist/types/components/2_feed_elements/MessageStatusIndicator/MessageStatusIndicator.vue.d.ts +65 -0
  27. package/dist/types/components/2_feed_elements/MessageStatusIndicator/stories/MessageStatusIndicator.stories.d.ts +12 -0
  28. package/dist/types/components/2_feed_elements/VideoMessage/styles/types.d.ts +2 -0
  29. package/dist/types/components/2_feed_elements/types/messages.d.ts +1 -0
  30. package/dist/types/components/3_compounds/ChatList/ChatList.vue.d.ts +1 -5
  31. package/dist/types/components/3_compounds/ChatList/ChatListHeader.vue.d.ts +16 -0
  32. package/dist/types/components/3_compounds/ChatList/composables/index.d.ts +4 -0
  33. package/dist/types/components/3_compounds/ChatList/composables/useChatListActions.d.ts +29 -0
  34. package/dist/types/components/3_compounds/ChatList/composables/useChatListFilter.d.ts +58 -0
  35. package/dist/types/components/3_compounds/ChatList/composables/useChatListScroll.d.ts +34 -0
  36. package/dist/types/components/3_compounds/ChatList/composables/useChatListSelection.d.ts +56 -0
  37. package/dist/types/components/index.d.ts +2 -0
  38. package/dist/vuessages.es.js +97 -95
  39. package/dist/vuessages.umd.js +21 -21
  40. package/package.json +1 -1
@@ -1259,6 +1259,32 @@ export declare const messages: ({
1259
1259
  linkPreview?: undefined;
1260
1260
  keyboard?: undefined;
1261
1261
  reactions?: undefined;
1262
+ } | {
1263
+ chatId: number;
1264
+ dialogId: string;
1265
+ messageId: string;
1266
+ type: string;
1267
+ url: string;
1268
+ filename: string;
1269
+ direction: string;
1270
+ status: string;
1271
+ timestamp: string;
1272
+ header: string;
1273
+ subText: string;
1274
+ avatar: string;
1275
+ callDuration?: undefined;
1276
+ isMissedCall?: undefined;
1277
+ transcript?: undefined;
1278
+ text?: undefined;
1279
+ embed?: undefined;
1280
+ actions?: undefined;
1281
+ views?: undefined;
1282
+ alt?: undefined;
1283
+ reply?: undefined;
1284
+ linkPreview?: undefined;
1285
+ keyboard?: undefined;
1286
+ reactions?: undefined;
1287
+ statusMsg?: undefined;
1262
1288
  } | {
1263
1289
  chatId: number;
1264
1290
  dialogId: string;
@@ -1423,7 +1449,40 @@ export declare const messages: ({
1423
1449
  messageId: string;
1424
1450
  type: string;
1425
1451
  url: string;
1426
- text: string;
1452
+ direction: string;
1453
+ status: string;
1454
+ subText: string;
1455
+ timestamp: string;
1456
+ header: string;
1457
+ avatar: string;
1458
+ actions: ({
1459
+ title: string;
1460
+ action: string;
1461
+ disabled?: undefined;
1462
+ } | {
1463
+ title: string;
1464
+ disabled: boolean;
1465
+ action: string;
1466
+ })[];
1467
+ callDuration?: undefined;
1468
+ isMissedCall?: undefined;
1469
+ transcript?: undefined;
1470
+ text?: undefined;
1471
+ embed?: undefined;
1472
+ views?: undefined;
1473
+ alt?: undefined;
1474
+ reply?: undefined;
1475
+ filename?: undefined;
1476
+ linkPreview?: undefined;
1477
+ keyboard?: undefined;
1478
+ reactions?: undefined;
1479
+ statusMsg?: undefined;
1480
+ } | {
1481
+ chatId: number;
1482
+ dialogId: string;
1483
+ messageId: string;
1484
+ type: string;
1485
+ url: string;
1427
1486
  direction: string;
1428
1487
  status: string;
1429
1488
  subText: string;
@@ -1434,14 +1493,26 @@ export declare const messages: ({
1434
1493
  items: {
1435
1494
  key: string;
1436
1495
  count: number;
1496
+ reactedByMe: boolean;
1437
1497
  }[];
1438
- meta?: undefined;
1498
+ meta: {
1499
+ mode: string;
1500
+ };
1439
1501
  };
1502
+ actions: ({
1503
+ title: string;
1504
+ action: string;
1505
+ disabled?: undefined;
1506
+ } | {
1507
+ title: string;
1508
+ disabled: boolean;
1509
+ action: string;
1510
+ })[];
1440
1511
  callDuration?: undefined;
1441
1512
  isMissedCall?: undefined;
1442
1513
  transcript?: undefined;
1514
+ text?: undefined;
1443
1515
  embed?: undefined;
1444
- actions?: undefined;
1445
1516
  views?: undefined;
1446
1517
  alt?: undefined;
1447
1518
  reply?: undefined;
@@ -56,4 +56,8 @@ export interface ContextMenuThemeCSSVariables {
56
56
  '--chotto-contextmenu-item-hover-background-color': string;
57
57
  /** Граница снизу элемента контекстного меню (не последний) */
58
58
  '--chotto-contextmenu-item-not-last-child-border-bottom': string;
59
+ /** Непрозрачность отключенного элемента контекстного меню */
60
+ '--chotto-contextmenu-item-disabled-opacity': string;
61
+ /** Курсор отключенного элемента контекстного меню */
62
+ '--chotto-contextmenu-item-disabled-cursor': string;
59
63
  }
@@ -1,16 +1,16 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
2
  $emit: (event: "select-attribute-channel" | "phone-call", ...args: any[]) => void;
3
3
  channels: unknown[];
4
+ channelTooltips: Record<string, any>;
4
5
  contactAttributes: unknown[];
5
6
  recentAttributeChannels: Record<string, any>;
6
7
  selectedDialog: Record<string, any>;
7
- channelTooltips: Record<string, any>;
8
8
  $props: {
9
9
  readonly channels?: unknown[] | undefined;
10
+ readonly channelTooltips?: Record<string, any> | undefined;
10
11
  readonly contactAttributes?: unknown[] | undefined;
11
12
  readonly recentAttributeChannels?: Record<string, any> | undefined;
12
13
  readonly selectedDialog?: Record<string, any> | undefined;
13
- readonly channelTooltips?: Record<string, any> | undefined;
14
14
  };
15
15
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
16
  export default _default;
@@ -0,0 +1,56 @@
1
+ import type { Ref, ComputedRef } from 'vue';
2
+ import type { ContactAttribute } from './useCommunicationAttributes';
3
+ /**
4
+ * Тип канала панели коммуникаций.
5
+ */
6
+ type Channel = {
7
+ channelId: string;
8
+ title?: string;
9
+ [key: string]: unknown;
10
+ };
11
+ /**
12
+ * Тип информации о недавно использованном атрибуте для канала.
13
+ */
14
+ type RecentAttributeMap = Record<string, {
15
+ channelId?: string;
16
+ } | undefined>;
17
+ /**
18
+ * Сигнатуры событий, которые эмитит панель.
19
+ */
20
+ interface CommunicationActionsEmit {
21
+ (event: 'select-attribute-channel', payload: {
22
+ attributeId: string;
23
+ channelId: string;
24
+ }): void;
25
+ (event: 'phone-call', payload: {
26
+ attributeId: string;
27
+ phoneNumber: unknown;
28
+ }): void;
29
+ }
30
+ interface UseCommunicationActionsOptions {
31
+ activeChannelType: Ref<string | null>;
32
+ channels: ComputedRef<Channel[]>;
33
+ recentAttributeChannels: ComputedRef<RecentAttributeMap>;
34
+ selectedChannel: Ref<Channel | Record<string, unknown>>;
35
+ selectedChannelType: Ref<string | null>;
36
+ isRecentAttributeHovered: Ref<boolean>;
37
+ hoveredAttribute: Ref<ContactAttribute | null>;
38
+ closeMenu: () => void;
39
+ hasMultipleChannels: (channelType: string) => boolean;
40
+ getSingleChannelForType: (channelType: string) => Channel | null;
41
+ getAvailableChannels: (channelType: string) => Channel[];
42
+ emit: CommunicationActionsEmit;
43
+ }
44
+ /**
45
+ * Инкапсулирует действия панели: звонок, выбор каналов, выбор атрибутов и работу с недавними атрибутами.
46
+ */
47
+ export declare function useCommunicationActions({ activeChannelType, channels, recentAttributeChannels, selectedChannel, selectedChannelType, isRecentAttributeHovered, hoveredAttribute, closeMenu, hasMultipleChannels, getSingleChannelForType, getAvailableChannels, emit, }: UseCommunicationActionsOptions): {
48
+ handlePhoneCall: (attribute: ContactAttribute | null | undefined) => void;
49
+ handleRecentAttributeClick: (recentAttribute: ContactAttribute | null) => void;
50
+ handleAttributeClick: (attribute: ContactAttribute) => void;
51
+ selectSingleChannel: (attribute: ContactAttribute, channelId: string) => void;
52
+ selectChannelForRecentAttribute: (channelId: string, recentAttribute: ContactAttribute | null) => void;
53
+ selectChannel: (channelId: string) => void;
54
+ availableChannels: () => Channel[];
55
+ };
56
+ export {};
@@ -0,0 +1,49 @@
1
+ import { type Ref, type ComputedRef } from 'vue';
2
+ /**
3
+ * Тип контактного атрибута из панели коммуникаций.
4
+ */
5
+ export type ContactAttribute = {
6
+ id: string;
7
+ type: string;
8
+ value?: string;
9
+ data?: unknown;
10
+ [key: string]: unknown;
11
+ };
12
+ /**
13
+ * Тип описания недавнего атрибута в пропсах.
14
+ */
15
+ export type RecentAttributeChannel = {
16
+ attributeId?: string;
17
+ channelId?: string;
18
+ tooltip?: string;
19
+ [key: string]: unknown;
20
+ };
21
+ type MaybeRef<T> = T | Ref<T> | ComputedRef<T>;
22
+ /**
23
+ * Параметры composable для работы с контактными атрибутами.
24
+ */
25
+ interface UseCommunicationAttributesOptions {
26
+ /** Реактивный список контактных атрибутов */
27
+ contactAttributes: MaybeRef<ContactAttribute[]>;
28
+ /** Реактивная карта недавних атрибутов по типам */
29
+ recentAttributeChannels: MaybeRef<Record<string, RecentAttributeChannel>>;
30
+ /** Текущий активный тип канала */
31
+ activeChannelType: Ref<string | null>;
32
+ /** Текущий замороженный атрибут (подсвеченный) */
33
+ frozenAttribute: Ref<{
34
+ id?: string;
35
+ } | null>;
36
+ }
37
+ /**
38
+ * Формирует структуру организованных атрибутов, вычисляет "последний" атрибут
39
+ * для активного канала и предоставляет вспомогательные методы для панели коммуникаций.
40
+ */
41
+ export declare function useCommunicationAttributes({ contactAttributes, recentAttributeChannels, activeChannelType, frozenAttribute, }: UseCommunicationAttributesOptions): {
42
+ organizedContactAttributes: Ref<Record<string, ContactAttribute[]>, Record<string, ContactAttribute[]>>;
43
+ organizeContactAttributes: () => void;
44
+ recentAttribute: ComputedRef<ContactAttribute | null>;
45
+ getRecentAttributeByType: (channelType: string) => ContactAttribute | null;
46
+ showRecentAttribute: ComputedRef<boolean>;
47
+ isAttributeFrozen: (attribute: ContactAttribute | null | undefined) => boolean;
48
+ };
49
+ export {};
@@ -0,0 +1,42 @@
1
+ import { type Component, type ComputedRef, type Ref } from 'vue';
2
+ /**
3
+ * Список поддерживаемых типов каналов в панели коммуникаций.
4
+ */
5
+ export declare const CHANNEL_TYPES: readonly ["phone", "whatsapp", "telegram", "max", "sms"];
6
+ export type ChannelType = (typeof CHANNEL_TYPES)[number];
7
+ /**
8
+ * Базовое описание канала.
9
+ */
10
+ type Channel = {
11
+ channelId: string;
12
+ title?: string;
13
+ [key: string]: unknown;
14
+ };
15
+ type MaybeRef<T> = T | Ref<T> | ComputedRef<T>;
16
+ type ChannelTooltips = Record<string, string>;
17
+ type ChannelsRef = MaybeRef<Channel[]>;
18
+ type ChannelTooltipsRef = MaybeRef<ChannelTooltips | undefined>;
19
+ interface UseCommunicationChannelsOptions {
20
+ /** Реактивный список каналов */
21
+ channels: ChannelsRef;
22
+ /** Реактивная карта пользовательских подсказок */
23
+ channelTooltips?: ChannelTooltipsRef;
24
+ /** Текущий выбранный тип канала */
25
+ selectedChannelType: Ref<string | null>;
26
+ }
27
+ export declare function useCommunicationChannels({ channels, channelTooltips, selectedChannelType }: UseCommunicationChannelsOptions): {
28
+ channelsTypes: ComputedRef<{
29
+ type: "phone" | "whatsapp" | "telegram" | "max" | "sms";
30
+ component: Component;
31
+ }[]>;
32
+ getTooltipText: (channelType: string) => string;
33
+ getChannelTypeFromId: (channelId: string | null | undefined) => string | null;
34
+ hasMultipleChannels: (channelType: string) => boolean;
35
+ isChannelActive: (channelType: string) => boolean;
36
+ getSingleChannelForType: (channelType: string) => Channel | null;
37
+ getMenuChannelIconComponent: (channelType: string) => Component | null;
38
+ getMenuChannelIconComponentForChannelId: (channelId: string) => Component | null;
39
+ getSingleMenuChannelIconComponent: (channelType: string) => Component | null;
40
+ getAvailableChannels: (channelType: string) => Channel[];
41
+ };
42
+ export {};
@@ -0,0 +1,26 @@
1
+ import { type Ref, type MaybeRef } from 'vue';
2
+ interface Dialog {
3
+ channelId?: string;
4
+ [key: string]: unknown;
5
+ }
6
+ interface Channel {
7
+ channelId: string;
8
+ [key: string]: unknown;
9
+ }
10
+ interface UseCommunicationDialogSyncOptions {
11
+ /** Текущее выбранное значение типа канала */
12
+ selectedChannelType: Ref<string | null>;
13
+ /** Текущий выбранный канал */
14
+ selectedChannel: Ref<Channel | Record<string, unknown>>;
15
+ /** Список доступных каналов */
16
+ channels: Ref<Channel[]>;
17
+ /** Текущий выбранный диалог */
18
+ selectedDialog: MaybeRef<Dialog | null | undefined>;
19
+ }
20
+ /**
21
+ * Синхронизирует выбранный канал панели с внешним диалогом.
22
+ */
23
+ export declare function useCommunicationDialogSync({ selectedChannelType, selectedChannel, channels, selectedDialog, }: UseCommunicationDialogSyncOptions): {
24
+ updateSelectedChannelFromDialog: (dialog: Dialog | null | undefined) => void;
25
+ };
26
+ export {};
@@ -0,0 +1,32 @@
1
+ import { type Ref } from 'vue';
2
+ /**
3
+ * Опции для composable управления меню коммуникаций.
4
+ */
5
+ interface UseCommunicationMenuOptions {
6
+ /** Ссылка на корневой контейнер панели */
7
+ panelRef: Ref<HTMLElement | null>;
8
+ /** Ссылка на панель с кнопками каналов */
9
+ channelsPanelRef: Ref<HTMLElement | null>;
10
+ /** Текущий выбранный тип канала */
11
+ selectedChannelType: Ref<string | null>;
12
+ /** Замороженный атрибут (для подсветки при наведении) */
13
+ frozenAttribute: Ref<unknown>;
14
+ /** Флаг наведения на недавний атрибут */
15
+ isRecentAttributeHovered: Ref<boolean>;
16
+ }
17
+ /**
18
+ * Компонует состояние и методы открытия/закрытия меню каналов, обработки кликов
19
+ * и вычисления ширины меню.
20
+ */
21
+ export declare function useCommunicationMenu({ panelRef, channelsPanelRef, selectedChannelType, frozenAttribute, isRecentAttributeHovered, }: UseCommunicationMenuOptions): {
22
+ activeChannelType: Ref<string | null, string | null>;
23
+ hoveredChannel: Ref<string | null, string | null>;
24
+ showMenu: Ref<boolean, boolean>;
25
+ showSubMenu: Ref<boolean, boolean>;
26
+ menuWidth: Ref<string, string>;
27
+ updateMenuWidth: () => void;
28
+ handleChannelClick: (channelType: string) => void;
29
+ closeMenu: () => void;
30
+ handleClickOutside: (event: Event) => void;
31
+ };
32
+ export {};
@@ -0,0 +1,25 @@
1
+ import { type Ref } from 'vue';
2
+ import type { ContactAttribute } from './useCommunicationAttributes';
3
+ interface UseCommunicationSubMenuOptions {
4
+ activeChannelType: Ref<string | null>;
5
+ showSubMenu: Ref<boolean>;
6
+ frozenAttribute: Ref<ContactAttribute | null>;
7
+ hoveredAttribute: Ref<ContactAttribute | null>;
8
+ isRecentAttributeHovered: Ref<boolean>;
9
+ hasMultipleChannels: (channelType: string) => boolean;
10
+ }
11
+ /**
12
+ * Управляет состоянием подменю выбора канала и hover-состояниями атрибутов.
13
+ */
14
+ export declare function useCommunicationSubMenu({ activeChannelType, showSubMenu, frozenAttribute, hoveredAttribute, isRecentAttributeHovered, hasMultipleChannels, }: UseCommunicationSubMenuOptions): {
15
+ subMenuTop: Ref<number, number>;
16
+ resetRegularAttributeHover: () => void;
17
+ handleRecentAttributeMouseEnter: (eventTarget: EventTarget | null) => EventTarget | null | undefined;
18
+ handleRecentAttributeMouseLeave: () => void;
19
+ handleAttributeMouseEnter: (attribute: ContactAttribute, eventTarget: EventTarget | null) => EventTarget | null;
20
+ handleAttributeMouseLeave: () => void;
21
+ keepSubMenuOpen: () => void;
22
+ closeSubMenu: () => void;
23
+ alignSubMenuWithTarget: (panelRef: Ref<HTMLElement | null>, targetEl: HTMLElement | null) => void;
24
+ };
25
+ export {};
@@ -4,16 +4,16 @@ declare const meta: {
4
4
  component: import("vue").DefineComponent<{}, {
5
5
  $emit: (event: "select-attribute-channel" | "phone-call", ...args: any[]) => void;
6
6
  channels: unknown[];
7
+ channelTooltips: Record<string, any>;
7
8
  contactAttributes: unknown[];
8
9
  recentAttributeChannels: Record<string, any>;
9
10
  selectedDialog: Record<string, any>;
10
- channelTooltips: Record<string, any>;
11
11
  $props: {
12
12
  readonly channels?: unknown[] | undefined;
13
+ readonly channelTooltips?: Record<string, any> | undefined;
13
14
  readonly contactAttributes?: unknown[] | undefined;
14
15
  readonly recentAttributeChannels?: Record<string, any> | undefined;
15
16
  readonly selectedDialog?: Record<string, any> | undefined;
16
- readonly channelTooltips?: Record<string, any> | undefined;
17
17
  };
18
18
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
19
19
  args: {};
@@ -3,6 +3,7 @@ export interface IAction {
3
3
  title: string;
4
4
  icon?: string;
5
5
  prime?: string;
6
+ disabled?: boolean;
6
7
  }
7
8
  export interface IChatDialog {
8
9
  branchId: string;
@@ -22,8 +22,18 @@ export interface AudioMessageThemeCSSVariables {
22
22
  '--chotto-audiomessage-content-max-width': string;
23
23
  /** Минимальная ширина контейнера */
24
24
  '--chotto-audiomessage-content-min-width': string;
25
- /** Внутренние отступы контейнера */
26
- '--chotto-audiomessage-content-padding': string;
25
+ /** Минимальная высота контейнера */
26
+ '--chotto-audiomessage-content-min-height': string;
27
+ /** Высота контейнера */
28
+ '--chotto-audiomessage-content-height': string;
29
+ /** Внутренний отступ сверху контейнера */
30
+ '--chotto-audiomessage-content-padding-top': string;
31
+ /** Внутренний отступ справа контейнера */
32
+ '--chotto-audiomessage-content-padding-right': string;
33
+ /** Внутренний отступ снизу контейнера */
34
+ '--chotto-audiomessage-content-padding-bottom': string;
35
+ /** Внутренний отступ слева контейнера */
36
+ '--chotto-audiomessage-content-padding-left': string;
27
37
  /** Контент псевдоэлемента "хвостик" слева */
28
38
  '--chotto-audiomessage-left-arrow-content': string;
29
39
  /** Позиционирование хвостика слева */
@@ -68,14 +78,14 @@ export interface AudioMessageThemeCSSVariables {
68
78
  '--chotto-audiomessage-audio-container-grid-template-columns': string;
69
79
  /** Промежуток между колонками плеера */
70
80
  '--chotto-audiomessage-audio-container-column-gap': string;
71
- /** Максимальная ширина контейнера плеера */
72
- '--chotto-audiomessage-audio-container-max-width': string;
73
81
  /** Скругление контейнера плеера */
74
82
  '--chotto-audiomessage-audio-container-border-radius': string;
75
83
  /** Внутренние отступы контейнера плеера */
76
84
  '--chotto-audiomessage-audio-container-padding': string;
77
85
  /** Захват двух колонок в сетке */
78
86
  '--chotto-audiomessage-audio-container-grid-column': string;
87
+ /** Выравнивание элементов контейнера аудио-плеера */
88
+ '--chotto-audiomessage-audio-container-align-items': string;
79
89
  /** Граница кнопки play/pause */
80
90
  '--chotto-audiomessage-play-pause-border': string;
81
91
  /** Курсор кнопки play/pause */
@@ -90,7 +100,19 @@ export interface AudioMessageThemeCSSVariables {
90
100
  '--chotto-audiomessage-play-pause-height': string;
91
101
  /** Скругление кнопки play/pause */
92
102
  '--chotto-audiomessage-play-pause-border-radius': string;
103
+ /** Отображение кнопки play/pause */
104
+ '--chotto-audiomessage-play-pause-display': string;
105
+ /** Выравнивание элементов кнопки play/pause */
106
+ '--chotto-audiomessage-play-pause-align-items': string;
107
+ /** Выравнивание содержимого кнопки play/pause */
108
+ '--chotto-audiomessage-play-pause-justify-content': string;
93
109
  /** Отображение иконки play/pause */
110
+ '--chotto-audiomessage-play-pause-icon-display': string;
111
+ /** Выравнивание элементов иконки play/pause */
112
+ '--chotto-audiomessage-play-pause-icon-align-items': string;
113
+ /** Выравнивание содержимого иконки play/pause */
114
+ '--chotto-audiomessage-play-pause-icon-justify-content': string;
115
+ /** Отображение иконки play/pause (legacy) */
94
116
  '--chotto-audiomessage-play-pause-span-display': string;
95
117
  /** Позиционирование иконки play/pause */
96
118
  '--chotto-audiomessage-play-pause-span-position': string;
@@ -116,6 +138,26 @@ export interface AudioMessageThemeCSSVariables {
116
138
  '--chotto-audiomessage-progress-bar-margin-top': string;
117
139
  /** Отступ слева прогресс-бара */
118
140
  '--chotto-audiomessage-progress-bar-margin-left': string;
141
+ /** Высота трека прогресс-бара */
142
+ '--chotto-audiomessage-progress-bar-track-height': string;
143
+ /** Фон прогресса прогресс-бара */
144
+ '--chotto-audiomessage-progress-bar-progress-background': string;
145
+ /** Flex-свойство прогресс-бара */
146
+ '--chotto-audiomessage-progress-bar-flex': string;
147
+ /** Ширина прогресс-бара */
148
+ '--chotto-audiomessage-progress-bar-width': string;
149
+ /** Колонка грида обёртки прогресс-бара */
150
+ '--chotto-audiomessage-progress-wrapper-grid-column': string;
151
+ /** Ряд грида обёртки прогресс-бара */
152
+ '--chotto-audiomessage-progress-wrapper-grid-row': string;
153
+ /** Отображение обёртки прогресс-бара */
154
+ '--chotto-audiomessage-progress-wrapper-display': string;
155
+ /** Выравнивание элементов обёртки прогресс-бара */
156
+ '--chotto-audiomessage-progress-wrapper-align-items': string;
157
+ /** Промежуток между колонками обёртки прогресс-бара */
158
+ '--chotto-audiomessage-progress-wrapper-column-gap': string;
159
+ /** Выравнивание обёртки прогресс-бара */
160
+ '--chotto-audiomessage-progress-wrapper-align-self': string;
119
161
  /** Ширина бегунка прогресс-бара */
120
162
  '--chotto-audiomessage-progress-bar-thumb-width': string;
121
163
  /** Высота бегунка прогресс-бара */
@@ -128,10 +170,20 @@ export interface AudioMessageThemeCSSVariables {
128
170
  '--chotto-audiomessage-progress-bar-thumb-border-radius': string;
129
171
  /** Тень бегунка (для заливки полосы) */
130
172
  '--chotto-audiomessage-progress-bar-thumb-box-shadow': string;
173
+ /** Отступ сверху бегунка прогресс-бара */
174
+ '--chotto-audiomessage-progress-bar-thumb-margin-top': string;
175
+ /** Колонка грида блока управления плеером */
176
+ '--chotto-audiomessage-player-controls-grid-column': string;
177
+ /** Ряд грида блока управления плеером */
178
+ '--chotto-audiomessage-player-controls-grid-row': string;
131
179
  /** Отображение блока управления плеером */
132
180
  '--chotto-audiomessage-player-controls-display': string;
133
181
  /** Выравнивание элементов управления плеером */
134
182
  '--chotto-audiomessage-player-controls-justify-content': string;
183
+ /** Отступ сверху блока управления плеером */
184
+ '--chotto-audiomessage-player-controls-margin-top': string;
185
+ /** Дополнительное смещение блока управления плеером */
186
+ '--chotto-audiomessage-player-controls-extra-offset': string;
135
187
  /** Отображение контейнера кнопок скорости */
136
188
  '--chotto-audiomessage-speed-btn-container-display': string;
137
189
  /** Промежуток между кнопками скорости */
@@ -152,12 +204,18 @@ export interface AudioMessageThemeCSSVariables {
152
204
  '--chotto-audiomessage-speed-btn-hover-font-weight': string;
153
205
  /** Толщина шрифта выбранной кнопки */
154
206
  '--chotto-audiomessage-speed-btn-selected-font-weight': string;
155
- /** Колонка грида оставшегося времени */
156
- '--chotto-audiomessage-remaining-time-grid-column': string;
157
- /** Отступ снизу у оставшегося времени */
158
- '--chotto-audiomessage-remaining-time-margin-bottom': string;
159
- /** Высота контейнера оставшегося времени */
160
- '--chotto-audiomessage-remaining-time-height': string;
207
+ /** Цвет текста кнопки скорости */
208
+ '--chotto-audiomessage-speed-btn-text-color': string;
209
+ /** Отступ времени */
210
+ '--chotto-audiomessage-time-margin': string;
211
+ /** Толщина шрифта времени */
212
+ '--chotto-audiomessage-time-font-weight': string;
213
+ /** Цвет времени */
214
+ '--chotto-audiomessage-time-color': string;
215
+ /** Отступ слева длительности */
216
+ '--chotto-audiomessage-duration-margin-left': string;
217
+ /** Выравнивание текста длительности */
218
+ '--chotto-audiomessage-duration-text-align': string;
161
219
  /** Выравнивание аватара */
162
220
  '--chotto-audiomessage-avatar-align-self': string;
163
221
  /** Вписывание изображения аватара */
@@ -168,16 +226,20 @@ export interface AudioMessageThemeCSSVariables {
168
226
  '--chotto-audiomessage-avatar-min-height': string;
169
227
  /** Скругление аватара */
170
228
  '--chotto-audiomessage-avatar-border-radius': string;
171
- /** Колонка грида инфо-контейнера */
172
- '--chotto-audiomessage-info-container-grid-column': string;
173
- /** Отступ слева у инфо-контейнера */
174
- '--chotto-audiomessage-info-container-margin-left': string;
229
+ /** Позиционирование инфо-контейнера */
230
+ '--chotto-audiomessage-info-container-position': string;
231
+ /** Отступ справа инфо-контейнера */
232
+ '--chotto-audiomessage-info-container-right': string;
233
+ /** Отступ снизу инфо-контейнера */
234
+ '--chotto-audiomessage-info-container-bottom': string;
175
235
  /** Отображение инфо-контейнера */
176
236
  '--chotto-audiomessage-info-container-display': string;
177
237
  /** Выравнивание элементов инфо-контейнера */
178
238
  '--chotto-audiomessage-info-container-align-items': string;
179
239
  /** Промежуток между элементами инфо-контейнера */
180
240
  '--chotto-audiomessage-info-container-column-gap': string;
241
+ /** События указателя инфо-контейнера */
242
+ '--chotto-audiomessage-info-container-pointer-events': string;
181
243
  /** Позиционирование кнопки скачивания */
182
244
  '--chotto-audiomessage-download-button-position': string;
183
245
  /** Отступ справа кнопки скачивания */
@@ -220,6 +282,8 @@ export interface AudioMessageThemeCSSVariables {
220
282
  '--chotto-audiomessage-menu-button-cursor': string;
221
283
  /** Переход кнопки меню */
222
284
  '--chotto-audiomessage-menu-button-transition': string;
285
+ /** Z-index кнопки меню */
286
+ '--chotto-audiomessage-menu-button-z-index': string;
223
287
  /** Позиционирование контекстного меню */
224
288
  '--chotto-audiomessage-context-menu-position': string;
225
289
  /** Колонка грида текстового контейнера */
@@ -256,6 +320,20 @@ export interface AudioMessageThemeCSSVariables {
256
320
  '--chotto-audiomessage-transcript-delimiter-height': string;
257
321
  /** Скругление разделителя */
258
322
  '--chotto-audiomessage-transcript-delimiter-border-radius': string;
323
+ /** Колонка грида реакций */
324
+ '--chotto-audiomessage-reactions-grid-column': string;
325
+ /** Отступ сверху реакций */
326
+ '--chotto-audiomessage-reactions-margin-top': string;
327
+ /** Отступ снизу реакций */
328
+ '--chotto-audiomessage-reactions-margin-bottom': string;
329
+ /** Перенос строк реакций */
330
+ '--chotto-audiomessage-reactions-flex-wrap': string;
331
+ /** Максимальная ширина реакций */
332
+ '--chotto-audiomessage-reactions-max-width': string;
333
+ /** Внутренний отступ справа реакций */
334
+ '--chotto-audiomessage-reactions-padding-right': string;
335
+ /** Внутренний отступ снизу реакций */
336
+ '--chotto-audiomessage-reactions-padding-bottom': string;
259
337
  /** Отображение общего контейнера лево/право */
260
338
  '--chotto-audiomessage-left-right-display': string;
261
339
  /** Шаблон колонок левой раскладки */
@@ -280,12 +358,24 @@ export interface AudioMessageThemeCSSVariables {
280
358
  '--chotto-audiomessage-left-menu-button-top': string;
281
359
  /** Положение кнопки меню слева (right) */
282
360
  '--chotto-audiomessage-left-menu-button-right': string;
361
+ /** Положение кнопки меню слева (bottom) */
362
+ '--chotto-audiomessage-left-menu-button-bottom': string;
363
+ /** Положение кнопки меню слева (left) */
364
+ '--chotto-audiomessage-left-menu-button-left': string;
283
365
  /** Позиция контекстного меню слева (top) */
284
366
  '--chotto-audiomessage-left-context-menu-top': string;
285
367
  /** Позиция контекстного меню слева (left) */
286
368
  '--chotto-audiomessage-left-context-menu-left': string;
287
369
  /** Отступ контекстного меню слева сверху */
288
370
  '--chotto-audiomessage-left-context-menu-margin-top': string;
371
+ /** Ширина контекстного меню слева */
372
+ '--chotto-audiomessage-left-context-menu-width': string;
373
+ /** Высота контекстного меню слева */
374
+ '--chotto-audiomessage-left-context-menu-height': string;
375
+ /** Промежуток между строками контекстного меню слева */
376
+ '--chotto-audiomessage-left-context-menu-row-gap': string;
377
+ /** Внутренние отступы контекстного меню слева */
378
+ '--chotto-audiomessage-left-context-menu-padding': string;
289
379
  /** Шаблон колонок правой раскладки */
290
380
  '--chotto-audiomessage-right-grid-template-columns': string;
291
381
  /** Колонка грида аватара справа */
@@ -310,12 +400,24 @@ export interface AudioMessageThemeCSSVariables {
310
400
  '--chotto-audiomessage-right-menu-button-top': string;
311
401
  /** Положение кнопки меню справа (left) */
312
402
  '--chotto-audiomessage-right-menu-button-left': string;
403
+ /** Положение кнопки меню справа (bottom) */
404
+ '--chotto-audiomessage-right-menu-button-bottom': string;
405
+ /** Положение кнопки меню справа (right) */
406
+ '--chotto-audiomessage-right-menu-button-right': string;
313
407
  /** Позиция контекстного меню справа (top) */
314
408
  '--chotto-audiomessage-right-context-menu-top': string;
315
409
  /** Позиция контекстного меню справа (right) */
316
410
  '--chotto-audiomessage-right-context-menu-right': string;
317
411
  /** Отступ контекстного меню справа сверху */
318
412
  '--chotto-audiomessage-right-context-menu-margin-top': string;
413
+ /** Ширина контекстного меню справа */
414
+ '--chotto-audiomessage-right-context-menu-width': string;
415
+ /** Высота контекстного меню справа */
416
+ '--chotto-audiomessage-right-context-menu-height': string;
417
+ /** Промежуток между строками контекстного меню справа */
418
+ '--chotto-audiomessage-right-context-menu-row-gap': string;
419
+ /** Внутренние отступы контекстного меню справа */
420
+ '--chotto-audiomessage-right-context-menu-padding': string;
319
421
  /** Позиционирование модального окна */
320
422
  '--chotto-audiomessage-modal-position': string;
321
423
  /** Отступ сверху модального окна */
@@ -378,8 +480,6 @@ export interface AudioMessageThemeCSSVariables {
378
480
  '--chotto-audiomessage-type-icon-color': string;
379
481
  /** Размер шрифта кнопки скорости */
380
482
  '--chotto-audiomessage-speed-btn-font-size': string;
381
- /** Размер шрифта оставшегося времени */
382
- '--chotto-audiomessage-remaining-time-font-size': string;
383
483
  /** Размер шрифта подписи */
384
484
  '--chotto-audiomessage-subtext-font-size': string;
385
485
  /** Цвет текста подписи */