@mobilon-dev/chotto 0.3.83 → 0.3.85

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 (145) hide show
  1. package/dist/chotto.css +1 -1
  2. package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue2.js +3 -2
  3. package/dist/components/1_atoms/ContactContextMenu/ContactContextMenu.vue2.js +3 -2
  4. package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.js +38 -0
  5. package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue2.js +4 -0
  6. package/dist/components/1_atoms/Tooltip/Tooltip.vue.js +1 -1
  7. package/dist/components/1_atoms/Tooltip/Tooltip.vue2.js +49 -36
  8. package/dist/components/1_icons/CloseIcon.vue.js +21 -0
  9. package/dist/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.js +351 -282
  10. package/dist/components/2_blocks/CommunicationPanel/CommunicationPanelAttributeIndicator.vue.js +38 -33
  11. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.js +64 -39
  12. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.js +116 -61
  13. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.js +1 -1
  14. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.js +30 -16
  15. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationRecentSelection.js +47 -0
  16. package/dist/components/2_blocks/CommunicationPanel/icons/{CommunicationPanelConfirmSpinner.vue2.js → CommunicationPanelConfirmSpinner.vue.js} +1 -1
  17. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelUnconfirmedIcon.vue.js +19 -0
  18. package/dist/components/2_blocks/FeedSearch/FeedSearch.vue2.js +10 -9
  19. package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue2.js +8 -7
  20. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.js +2 -2
  21. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue2.js +48 -37
  22. package/dist/components/2_chatinput_elements/ButtonTemplateSelector/ButtonTemplateSelector.vue2.js +3 -2
  23. package/dist/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.js +7 -6
  24. package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue2.js +3 -2
  25. package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue2.js +3 -2
  26. package/dist/components/2_chatinput_elements/StickerPicker/StickerPicker.vue2.js +3 -2
  27. package/dist/components/2_chatinput_elements/TemplateSelector/TemplateSelector.vue.js +27 -26
  28. package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue2.js +3 -2
  29. package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue2.js +3 -2
  30. package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue2.js +3 -2
  31. package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue2.js +3 -2
  32. package/dist/components/2_elements/ChannelSelector/ChannelSelector.vue.js +6 -5
  33. package/dist/components/2_elements/ThemeMode/ThemeMode.vue.js +10 -9
  34. package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue2.js +3 -2
  35. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue.js +1 -1
  36. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +169 -143
  37. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.js +4 -4
  38. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue2.js +33 -32
  39. package/dist/components/2_feed_elements/CallMessage/CallMessage.vue2.js +8 -2
  40. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +3 -3
  41. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +134 -108
  42. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +1 -1
  43. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +116 -97
  44. package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue2.js +3 -2
  45. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue.js +2 -2
  46. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue2.js +232 -113
  47. package/dist/components/2_feed_elements/MessageReactions/composables/usePositioning.js +77 -62
  48. package/dist/components/2_feed_elements/MessageReactions/composables/useReactions.js +62 -20
  49. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.js +91 -69
  50. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsState.js +46 -22
  51. package/dist/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.js +21 -0
  52. package/dist/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.js +21 -0
  53. package/dist/components/2_feed_elements/MessageReactions/utils/quickReactions.js +2 -8
  54. package/dist/components/2_feed_elements/MessageReactions/utils/reactionTooltip.js +39 -0
  55. package/dist/components/2_feed_elements/MissedCallMessage/MissedCallMessage.vue2.js +26 -20
  56. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue.js +2 -2
  57. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue2.js +27 -18
  58. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue.js +2 -2
  59. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue2.js +16 -15
  60. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue.js +3 -3
  61. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue2.js +27 -18
  62. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue.js +1 -1
  63. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue2.js +16 -12
  64. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue.js +4 -4
  65. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue2.js +74 -65
  66. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue.js +1 -1
  67. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue2.js +20 -11
  68. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue.js +2 -2
  69. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue2.js +13 -9
  70. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +4 -4
  71. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +74 -55
  72. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +4 -4
  73. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +102 -76
  74. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +2 -2
  75. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +74 -55
  76. package/dist/components/3_compounds/ChatInput/ChatInput.vue.js +2 -2
  77. package/dist/components/3_compounds/ChatInput/ChatInput.vue2.js +99 -82
  78. package/dist/components/3_compounds/Feed/Feed.vue.js +3 -3
  79. package/dist/components/3_compounds/Feed/Feed.vue2.js +159 -139
  80. package/dist/components/3_compounds/Feed/composables/useFeedReply.js +22 -25
  81. package/dist/functions/renderAppleEmojis.js +92 -0
  82. package/dist/hooks/messages/buildReplyPayload.js +14 -0
  83. package/dist/hooks/messages/useMessageLinks.js +60 -50
  84. package/dist/hooks/messages/useStartReply.js +29 -0
  85. package/dist/hooks/useEmojiNative.js +19 -0
  86. package/dist/index.js +130 -122
  87. package/dist/themes/dark.css +1 -1
  88. package/dist/themes/default.css +1 -1
  89. package/dist/themes/glass.css +1 -1
  90. package/dist/themes/green.css +1 -1
  91. package/dist/themes/mobilon1.css +1 -1
  92. package/dist/types/apps/data/messages.d.ts +20 -18
  93. package/dist/types/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.d.ts +12 -0
  94. package/dist/types/components/1_atoms/Tooltip/stories/Tooltip.stories.d.ts +3 -0
  95. package/dist/types/components/1_icons/CloseIcon.vue.d.ts +2 -0
  96. package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.d.ts +2 -0
  97. package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanelAttributeIndicator.vue.d.ts +2 -2
  98. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.d.ts +10 -1
  99. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.d.ts +23 -2
  100. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.d.ts +1 -0
  101. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationRecentSelection.d.ts +20 -0
  102. package/dist/types/components/2_blocks/CommunicationPanel/icons/CommunicationPanelUnconfirmedIcon.vue.d.ts +2 -0
  103. package/dist/types/components/2_blocks/CommunicationPanel/icons/index.d.ts +1 -0
  104. package/dist/types/components/2_blocks/CommunicationPanel/stories/CommunicationPanel.stories.d.ts +2 -0
  105. package/dist/types/components/2_blocks/CommunicationPanel/styles/types.d.ts +42 -10
  106. package/dist/types/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.d.ts +9 -1
  107. package/dist/types/components/2_feed_elements/AudioMessage/AudioMessage.vue.d.ts +29 -0
  108. package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +24 -16
  109. package/dist/types/components/2_feed_elements/BaseReplyMessage/styles/types.d.ts +8 -4
  110. package/dist/types/components/2_feed_elements/FileMessage/FileMessage.vue.d.ts +29 -0
  111. package/dist/types/components/2_feed_elements/FileMessage/styles/types.d.ts +20 -0
  112. package/dist/types/components/2_feed_elements/ImageMessage/ImageMessage.vue.d.ts +29 -0
  113. package/dist/types/components/2_feed_elements/ImageMessage/styles/types.d.ts +2 -0
  114. package/dist/types/components/2_feed_elements/MessageReactions/MessageReactions.vue.d.ts +64 -1
  115. package/dist/types/components/2_feed_elements/MessageReactions/composables/index.d.ts +2 -2
  116. package/dist/types/components/2_feed_elements/MessageReactions/composables/usePositioning.d.ts +11 -1
  117. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactions.d.ts +20 -12
  118. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.d.ts +3 -3
  119. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsState.d.ts +13 -22
  120. package/dist/types/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.d.ts +2 -0
  121. package/dist/types/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.d.ts +2 -0
  122. package/dist/types/components/2_feed_elements/MessageReactions/styles/types.d.ts +14 -74
  123. package/dist/types/components/2_feed_elements/MessageReactions/utils/quickReactions.d.ts +1 -1
  124. package/dist/types/components/2_feed_elements/MessageReactions/utils/reactionTooltip.d.ts +14 -0
  125. package/dist/types/components/2_feed_elements/ReplyAudioMessage/styles/types.d.ts +6 -0
  126. package/dist/types/components/2_feed_elements/ReplyCallMessage/styles/types.d.ts +6 -0
  127. package/dist/types/components/2_feed_elements/ReplyFileMessage/styles/types.d.ts +6 -0
  128. package/dist/types/components/2_feed_elements/ReplyImageMessage/styles/types.d.ts +6 -0
  129. package/dist/types/components/2_feed_elements/ReplyStickerMessage/styles/types.d.ts +6 -0
  130. package/dist/types/components/2_feed_elements/ReplyTextMessage/styles/types.d.ts +4 -0
  131. package/dist/types/components/2_feed_elements/ReplyVideoMessage/styles/types.d.ts +6 -0
  132. package/dist/types/components/2_feed_elements/StickerMessage/StickerMessage.vue.d.ts +29 -0
  133. package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +29 -0
  134. package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +22 -0
  135. package/dist/types/components/2_feed_elements/VideoMessage/VideoMessage.vue.d.ts +29 -0
  136. package/dist/types/components/2_feed_elements/types/messages.d.ts +11 -6
  137. package/dist/types/components/3_compounds/ChatInput/styles/types.d.ts +2 -0
  138. package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +33 -0
  139. package/dist/types/functions/renderAppleEmojis.d.ts +16 -0
  140. package/dist/types/hooks/index.d.ts +1 -0
  141. package/dist/types/hooks/messages/buildReplyPayload.d.ts +11 -0
  142. package/dist/types/hooks/messages/index.d.ts +2 -0
  143. package/dist/types/hooks/messages/useStartReply.d.ts +6 -0
  144. package/dist/types/hooks/useEmojiNative.d.ts +9 -0
  145. package/package.json +1 -1
@@ -1477,8 +1477,9 @@ export declare const messages: ({
1477
1477
  reactions: {
1478
1478
  items: {
1479
1479
  key: string;
1480
- count: number;
1481
- reactedByMe: boolean;
1480
+ userId: string;
1481
+ name: string;
1482
+ date: number;
1482
1483
  }[];
1483
1484
  meta?: undefined;
1484
1485
  };
@@ -1522,8 +1523,9 @@ export declare const messages: ({
1522
1523
  reactions: {
1523
1524
  items: {
1524
1525
  key: string;
1525
- count: number;
1526
- reactedByMe: boolean;
1526
+ userId: string;
1527
+ name: string;
1528
+ date: number;
1527
1529
  }[];
1528
1530
  meta: {
1529
1531
  mode: string;
@@ -1610,8 +1612,9 @@ export declare const messages: ({
1610
1612
  reactions: {
1611
1613
  items: {
1612
1614
  key: string;
1613
- count: number;
1614
- reactedByMe: boolean;
1615
+ userId: string;
1616
+ name: string;
1617
+ date: number;
1615
1618
  }[];
1616
1619
  meta: {
1617
1620
  mode: string;
@@ -1809,8 +1812,9 @@ export declare const messages: ({
1809
1812
  reactions: {
1810
1813
  items: {
1811
1814
  key: string;
1812
- count: number;
1813
- reactedByMe: boolean;
1815
+ userId: string;
1816
+ name: string;
1817
+ date: number;
1814
1818
  }[];
1815
1819
  meta: {
1816
1820
  mode: string;
@@ -1892,15 +1896,12 @@ export declare const messages: ({
1892
1896
  subText: string;
1893
1897
  avatar: string;
1894
1898
  reactions: {
1895
- items: ({
1896
- key: string;
1897
- count: number;
1898
- reactedByMe?: undefined;
1899
- } | {
1899
+ items: {
1900
1900
  key: string;
1901
- count: number;
1902
- reactedByMe: boolean;
1903
- })[];
1901
+ userId: string;
1902
+ name: string;
1903
+ date: number;
1904
+ }[];
1904
1905
  meta: {
1905
1906
  mode: string;
1906
1907
  };
@@ -1987,8 +1988,9 @@ export declare const messages: ({
1987
1988
  reactions: {
1988
1989
  items: {
1989
1990
  key: string;
1990
- count: number;
1991
- reactedByMe: boolean;
1991
+ userId: string;
1992
+ name: string;
1993
+ date: number;
1992
1994
  }[];
1993
1995
  meta: {
1994
1996
  mode: string;
@@ -0,0 +1,12 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ emoji: {
3
+ type: StringConstructor;
4
+ required: true;
5
+ };
6
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ emoji: {
8
+ type: StringConstructor;
9
+ required: true;
10
+ };
11
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
12
+ export default _default;
@@ -9,6 +9,9 @@ export declare const Bottom: Story;
9
9
  export declare const Left: Story;
10
10
  export declare const Right: Story;
11
11
  export declare const BottomLeft: Story;
12
+ export declare const BottomRight: Story;
13
+ export declare const TopLeft: Story;
14
+ export declare const TopRight: Story;
12
15
  export declare const WithIcon: Story;
13
16
  export declare const WithButton: Story;
14
17
  export declare const LongText: Story;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -14,6 +14,7 @@ declare const _default: import("vue").DefineComponent<{}, {
14
14
  attributeTooltips: Record<string, any>;
15
15
  attributeIndicatorTooltips: Record<string, any>;
16
16
  showChannelIcons: boolean;
17
+ recentAttributeChannels: Record<string, any>;
17
18
  channelOrder?: unknown[] | undefined;
18
19
  visibleChannelTypes?: unknown[] | undefined;
19
20
  $props: {
@@ -31,6 +32,7 @@ declare const _default: import("vue").DefineComponent<{}, {
31
32
  readonly attributeTooltips?: Record<string, any> | undefined;
32
33
  readonly attributeIndicatorTooltips?: Record<string, any> | undefined;
33
34
  readonly showChannelIcons?: boolean | undefined;
35
+ readonly recentAttributeChannels?: Record<string, any> | undefined;
34
36
  readonly channelOrder?: unknown[] | undefined;
35
37
  readonly visibleChannelTypes?: unknown[] | undefined;
36
38
  };
@@ -1,13 +1,13 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- confirmingAttributeId: string;
3
2
  attribute: Record<string, any>;
3
+ confirmingAttributeId: string;
4
4
  isSelected: boolean;
5
5
  blockedAttributeIds: unknown[];
6
6
  indicatorTooltips: Record<string, any>;
7
7
  tooltipDelay: number;
8
8
  $props: {
9
- readonly confirmingAttributeId?: string | undefined;
10
9
  readonly attribute?: Record<string, any> | undefined;
10
+ readonly confirmingAttributeId?: string | undefined;
11
11
  readonly isSelected?: boolean | undefined;
12
12
  readonly blockedAttributeIds?: unknown[] | undefined;
13
13
  readonly indicatorTooltips?: Record<string, any> | undefined;
@@ -1,5 +1,6 @@
1
1
  import type { Ref, ComputedRef } from 'vue';
2
2
  import type { ContactAttribute, ConfirmAttributePayload } from './useCommunicationAttributes';
3
+ import { type RecentChannelEntry } from './useCommunicationRecentSelection';
3
4
  /**
4
5
  * Тип канала панели коммуникаций.
5
6
  */
@@ -39,15 +40,23 @@ interface UseCommunicationActionsOptions {
39
40
  showDefaultChannelTooltipWithTimer: () => void;
40
41
  clearDefaultChannelTooltip: () => void;
41
42
  emit: CommunicationActionsEmit;
43
+ /** Временный выбор для галочек в открытом меню до обновления selectedDialog родителем (#15146). */
44
+ panelPendingSelection?: Ref<{
45
+ channelType: string;
46
+ attributeId: string;
47
+ channelId: string;
48
+ } | null>;
42
49
  }
43
50
  /**
44
51
  * Инкапсулирует действия панели: звонок, выбор каналов, выбор атрибутов.
45
52
  */
46
- export declare function useCommunicationActions({ activeChannelType, channels, selectedChannel, selectedChannelType, hoveredAttribute, confirmingAttributeId, isAttributeBlocked, closeMenu, hasMultipleChannels, getSingleChannelForType, getAvailableChannels, isChannelEmpty, isNewDialog, showDefaultChannelTooltipWithTimer, clearDefaultChannelTooltip, emit, }: UseCommunicationActionsOptions): {
53
+ export declare function useCommunicationActions({ activeChannelType, channels, selectedChannel, selectedChannelType, hoveredAttribute, confirmingAttributeId, isAttributeBlocked, closeMenu, hasMultipleChannels, getSingleChannelForType, getAvailableChannels, isChannelEmpty, isNewDialog, showDefaultChannelTooltipWithTimer, clearDefaultChannelTooltip, emit, panelPendingSelection, }: UseCommunicationActionsOptions): {
47
54
  handlePhoneCall: (attribute: ContactAttribute | null | undefined) => void;
48
55
  handleAttributeClick: (attribute: ContactAttribute) => void;
49
56
  selectSingleChannel: (attribute: ContactAttribute, channelId: string) => void;
50
57
  selectChannel: (channelId: string) => void;
51
58
  availableChannels: () => Channel[];
59
+ applyRecentChannelButtonSelection: (channelType: string, recentMap: Record<string, RecentChannelEntry> | undefined, organizedAttributes: Record<string, ContactAttribute[]>) => boolean;
60
+ clearPanelPendingSelection: () => void;
52
61
  };
53
62
  export {};
@@ -3,6 +3,15 @@ import { type ChannelType } from './useCommunicationChannels';
3
3
  /** Допустимые статусы контактного атрибута */
4
4
  export declare const CONTACT_ATTRIBUTE_STATUSES: readonly ["confirmed", "unconfirmed"];
5
5
  export type ContactAttributeStatus = (typeof CONTACT_ATTRIBUTE_STATUSES)[number];
6
+ export declare const CANON_RESOLVE_SUBSTATUS_NOT_FOUND = "not_found";
7
+ /** Результат неудачного resolveCanon для пары attribute + channel (с бэкенда). */
8
+ export type CanonResolveState = {
9
+ channelId: string;
10
+ substatus: typeof CANON_RESOLVE_SUBSTATUS_NOT_FOUND | string;
11
+ updatedTimestampms?: number;
12
+ /** chn_* — для сопоставления с display channelId в подменю */
13
+ backendChannelId?: string;
14
+ };
6
15
  /**
7
16
  * Тип контактного атрибута из панели коммуникаций.
8
17
  */
@@ -12,6 +21,7 @@ export type ContactAttribute = {
12
21
  value?: string;
13
22
  data?: unknown;
14
23
  status?: ContactAttributeStatus;
24
+ canonResolveStates?: CanonResolveState[];
15
25
  [key: string]: unknown;
16
26
  };
17
27
  export declare function isContactAttributeStatus(value: unknown): value is ContactAttributeStatus;
@@ -21,6 +31,14 @@ export declare function isContactAttributeStatus(value: unknown): value is Conta
21
31
  export declare function getAttributeStatusClass(attribute: ContactAttribute | null | undefined): `status-${ContactAttributeStatus}` | null;
22
32
  export declare function isAttributeConfirmed(attribute: ContactAttribute | null | undefined): boolean;
23
33
  export declare function isAttributeUnconfirmed(attribute: ContactAttribute | null | undefined): boolean;
34
+ export declare function getAttributeCanonResolveStates(attribute: ContactAttribute | null | undefined): CanonResolveState[];
35
+ export declare function isCanonResolveSubstatusNotFound(substatus: unknown): boolean;
36
+ /** Есть неудачная попытка подтверждения хотя бы в одном канале. */
37
+ export declare function hasCanonResolveNotFound(attribute: ContactAttribute | null | undefined): boolean;
38
+ export declare function isChannelCanonResolveNotFound(attribute: ContactAttribute | null | undefined, channelId: string | null | undefined, extraChannelIds?: readonly string[]): boolean;
39
+ export type SubMenuChannelIndicatorType = 'spinner' | 'check' | 'unconfirmed';
40
+ /** Индикатор в списке каналов связи: (!) для not_found, галочка — для выбранного. */
41
+ export declare function getSubMenuChannelIndicatorType(attribute: ContactAttribute | null | undefined, channelId: string | null | undefined, isChannelSelected: boolean, confirmingAttributeId: string | null | undefined, extraChannelIds?: readonly string[]): SubMenuChannelIndicatorType | null;
24
42
  /** Нужно запросить подтверждение атрибута у родителя (запрос на сервер). */
25
43
  export declare function needsAttributeConfirmation(attribute: ContactAttribute | null | undefined): boolean;
26
44
  /** Payload события confirm-attribute */
@@ -30,13 +48,15 @@ export type ConfirmAttributePayload = {
30
48
  channelType: string;
31
49
  attribute: ContactAttribute;
32
50
  };
51
+ export declare function shouldShowAttributeStatusIndicator(attribute: ContactAttribute | null | undefined, isSelected: boolean): boolean;
33
52
  export declare function shouldShowAttributeCheckmark(attribute: ContactAttribute | null | undefined, isSelected: boolean): boolean;
34
- export declare function getAttributeCheckIndicatorClass(attribute: ContactAttribute | null | undefined, isSelected: boolean): 'selected-indicator' | 'confirmed-indicator' | null;
53
+ export declare function shouldShowAttributeUnconfirmedIndicator(attribute: ContactAttribute | null | undefined): boolean;
54
+ export declare function getAttributeCheckIndicatorClass(attribute: ContactAttribute | null | undefined, isSelected: boolean): 'selected-indicator' | 'confirmed-indicator' | 'unconfirmed-indicator' | null;
35
55
  export declare function isAttributeConfirming(attribute: ContactAttribute | null | undefined, confirmingAttributeId: string | null | undefined): boolean;
36
56
  /** Атрибут заблокирован после неудачного подтверждения (до повторного входа в меню). */
37
57
  export declare function isAttributeBlocked(attribute: ContactAttribute | null | undefined, blockedAttributeIds: readonly string[] | null | undefined): boolean;
38
58
  /** Ключи подсказок для галочки / спиннера в слоте индикатора */
39
- export type AttributeIndicatorTooltipKey = 'selected' | 'confirmed' | 'confirming' | 'blocked';
59
+ export type AttributeIndicatorTooltipKey = 'selected' | 'confirmed' | 'unconfirmed' | 'confirming' | 'blocked';
40
60
  export type AttributeIndicatorTooltips = Partial<Record<AttributeIndicatorTooltipKey, string>>;
41
61
  export type AttributeIndicatorTooltipContext = {
42
62
  isSelected: boolean;
@@ -51,6 +71,7 @@ export declare function shouldShowBlockedIndicatorSlot(attribute: ContactAttribu
51
71
  */
52
72
  export declare function getAttributeIndicatorTooltipKey(attribute: ContactAttribute | null | undefined, context: AttributeIndicatorTooltipContext): AttributeIndicatorTooltipKey | null;
53
73
  export declare function getAttributeIndicatorTooltipText(attribute: ContactAttribute | null | undefined, tooltips: AttributeIndicatorTooltips | null | undefined, context: AttributeIndicatorTooltipContext): string;
74
+ export declare function getSubMenuChannelIndicatorClass(attribute: ContactAttribute | null | undefined, channelId: string | null | undefined, isChannelSelected: boolean, confirmingAttributeId: string | null | undefined, extraChannelIds?: readonly string[]): 'selected-indicator' | 'unconfirmed-indicator' | 'confirming-indicator' | null;
54
75
  type MaybeRef<T> = T | Ref<T> | ComputedRef<T>;
55
76
  /**
56
77
  * Параметры composable для работы с контактными атрибутами.
@@ -19,6 +19,7 @@ export declare function useCommunicationMenu({ panelRef, selectedChannelType, fr
19
19
  showMenu: Ref<boolean, boolean>;
20
20
  showSubMenu: Ref<boolean, boolean>;
21
21
  handleChannelClick: (channelType: string) => void;
22
+ openMenu: (channelType: string) => void;
22
23
  closeMenu: () => void;
23
24
  handleClickOutside: (event: Event) => void;
24
25
  };
@@ -0,0 +1,20 @@
1
+ import type { ContactAttribute } from './useCommunicationAttributes';
2
+ export type RecentChannelEntry = {
3
+ attributeId?: string;
4
+ channelId?: string;
5
+ tooltip?: string;
6
+ };
7
+ type Channel = {
8
+ channelId: string;
9
+ title?: string;
10
+ [key: string]: unknown;
11
+ };
12
+ export declare function isOneClickChannelType(channelType: string): boolean;
13
+ /**
14
+ * Разрешает attribute + channelId для one-click по кнопке типа канала.
15
+ */
16
+ export declare function resolveRecentChannelSelection(channelType: string, recentMap: Record<string, RecentChannelEntry> | undefined, organizedAttributes: Record<string, ContactAttribute[]>, getSingleChannelForType: (type: string) => Channel | null, getAvailableChannels: (type: string) => Channel[]): {
17
+ attribute: ContactAttribute;
18
+ channelId: string;
19
+ } | null;
20
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -1,4 +1,5 @@
1
1
  export { default as CommunicationPanelCheckIcon } from './CommunicationPanelCheckIcon.vue';
2
+ export { default as CommunicationPanelUnconfirmedIcon } from './CommunicationPanelUnconfirmedIcon.vue';
2
3
  export { default as CommunicationPanelConfirmSpinner } from './CommunicationPanelConfirmSpinner.vue';
3
4
  export { default as CommunicationPanelPhoneIcon } from './CommunicationPanelPhoneIcon.vue';
4
5
  export { default as CommunicationPanelWhatsAppIcon } from './CommunicationPanelWhatsAppIcon.vue';
@@ -17,6 +17,7 @@ declare const meta: {
17
17
  attributeTooltips: Record<string, any>;
18
18
  attributeIndicatorTooltips: Record<string, any>;
19
19
  showChannelIcons: boolean;
20
+ recentAttributeChannels: Record<string, any>;
20
21
  channelOrder?: unknown[] | undefined;
21
22
  visibleChannelTypes?: unknown[] | undefined;
22
23
  $props: {
@@ -34,6 +35,7 @@ declare const meta: {
34
35
  readonly attributeTooltips?: Record<string, any> | undefined;
35
36
  readonly attributeIndicatorTooltips?: Record<string, any> | undefined;
36
37
  readonly showChannelIcons?: boolean | undefined;
38
+ readonly recentAttributeChannels?: Record<string, any> | undefined;
37
39
  readonly channelOrder?: unknown[] | undefined;
38
40
  readonly visibleChannelTypes?: unknown[] | undefined;
39
41
  };
@@ -220,6 +220,10 @@ export interface CommunicationPanelThemeCSSVariables {
220
220
  '--chotto-communicationpanel-attribute-color': string;
221
221
  /** Размер шрифта элемента атрибута */
222
222
  '--chotto-communicationpanel-attribute-font-size': string;
223
+ /** Минимальная ширина элемента атрибута */
224
+ '--chotto-communicationpanel-attribute-min-width': string;
225
+ /** Переполнение элемента атрибута */
226
+ '--chotto-communicationpanel-attribute-overflow': string;
223
227
  /** Цвет фона элемента атрибута при наведении */
224
228
  '--chotto-communicationpanel-attribute-hover-background': string;
225
229
  /** Цвет элемента атрибута при наведении */
@@ -242,6 +246,10 @@ export interface CommunicationPanelThemeCSSVariables {
242
246
  '--chotto-communicationpanel-attribute-info-flex': string;
243
247
  /** Выравнивание по поперечной оси информации атрибута */
244
248
  '--chotto-communicationpanel-attribute-info-align-items': string;
249
+ /** Минимальная ширина информации атрибута */
250
+ '--chotto-communicationpanel-attribute-info-min-width': string;
251
+ /** Переполнение информации атрибута */
252
+ '--chotto-communicationpanel-attribute-info-overflow': string;
245
253
  /** Отображение слота индикатора атрибута */
246
254
  '--chotto-communicationpanel-attribute-indicator-slot-display': string;
247
255
  /** Выравнивание по поперечной оси слота индикатора атрибута */
@@ -250,6 +258,22 @@ export interface CommunicationPanelThemeCSSVariables {
250
258
  '--chotto-communicationpanel-attribute-indicator-slot-justify-content': string;
251
259
  /** Сжатие слота индикатора атрибута */
252
260
  '--chotto-communicationpanel-attribute-indicator-slot-flex-shrink': string;
261
+ /** Отображение тултипа в слоте индикатора атрибута */
262
+ '--chotto-communicationpanel-attribute-indicator-tooltip-display': string;
263
+ /** Выравнивание по поперечной оси тултипа в слоте индикатора атрибута */
264
+ '--chotto-communicationpanel-attribute-indicator-tooltip-align-items': string;
265
+ /** Выравнивание по главной оси тултипа в слоте индикатора атрибута */
266
+ '--chotto-communicationpanel-attribute-indicator-tooltip-justify-content': string;
267
+ /** Коэффициент роста значения атрибута */
268
+ '--chotto-communicationpanel-attribute-value-flex': string;
269
+ /** Минимальная ширина значения атрибута */
270
+ '--chotto-communicationpanel-attribute-value-min-width': string;
271
+ /** Переполнение значения атрибута */
272
+ '--chotto-communicationpanel-attribute-value-overflow': string;
273
+ /** Обрезка текста значения атрибута */
274
+ '--chotto-communicationpanel-attribute-value-text-overflow': string;
275
+ /** Перенос пробелов значения атрибута */
276
+ '--chotto-communicationpanel-attribute-value-white-space': string;
253
277
  /** Жирность шрифта значения атрибута */
254
278
  '--chotto-communicationpanel-attribute-value-font-weight': string;
255
279
  /** Размер шрифта значения атрибута */
@@ -276,6 +300,8 @@ export interface CommunicationPanelThemeCSSVariables {
276
300
  '--chotto-communicationpanel-empty-placeholder-pointer-events': string;
277
301
  /** Высота строки placeholder пустых каналов */
278
302
  '--chotto-communicationpanel-empty-placeholder-line-height': string;
303
+ /** Сжатие иконки меню */
304
+ '--chotto-communicationpanel-menu-icon-flex-shrink': string;
279
305
  /** Цвет серой иконки меню */
280
306
  '--chotto-communicationpanel-menu-icon-grey-color': string;
281
307
  /** Размер шрифта серой иконки меню */
@@ -374,12 +400,22 @@ export interface CommunicationPanelThemeCSSVariables {
374
400
  '--chotto-communicationpanel-submenu-header-text-transform': string;
375
401
  /** Граница снизу заголовка подменю */
376
402
  '--chotto-communicationpanel-submenu-header-border-bottom': string;
403
+ /** Отображение слота индикатора подменю */
404
+ '--chotto-communicationpanel-submenu-indicator-slot-display': string;
405
+ /** Выравнивание по поперечной оси слота индикатора подменю */
406
+ '--chotto-communicationpanel-submenu-indicator-slot-align-items': string;
407
+ /** Выравнивание по главной оси слота индикатора подменю */
408
+ '--chotto-communicationpanel-submenu-indicator-slot-justify-content': string;
409
+ /** Сжатие слота индикатора подменю */
410
+ '--chotto-communicationpanel-submenu-indicator-slot-flex-shrink': string;
377
411
  /** Отображение элемента подменю */
378
412
  '--chotto-communicationpanel-submenu-item-display': string;
413
+ /** Колонки сетки элемента подменю */
414
+ '--chotto-communicationpanel-submenu-item-grid-columns': string;
379
415
  /** Выравнивание по поперечной оси элемента подменю */
380
416
  '--chotto-communicationpanel-submenu-item-align-items': string;
381
- /** Выравнивание по главной оси элемента подменю */
382
- '--chotto-communicationpanel-submenu-item-justify-content': string;
417
+ /** Промежуток между колонками элемента подменю */
418
+ '--chotto-communicationpanel-submenu-item-column-gap': string;
383
419
  /** Отступы элемента подменю */
384
420
  '--chotto-communicationpanel-submenu-item-padding': string;
385
421
  /** Курсор элемента подменю */
@@ -388,8 +424,6 @@ export interface CommunicationPanelThemeCSSVariables {
388
424
  '--chotto-communicationpanel-submenu-item-transition': string;
389
425
  /** Радиус границы элемента подменю */
390
426
  '--chotto-communicationpanel-submenu-item-border-radius': string;
391
- /** Промежуток между элементами подменю */
392
- '--chotto-communicationpanel-submenu-item-gap': string;
393
427
  /** Цвет фона элемента подменю */
394
428
  '--chotto-communicationpanel-submenu-item-background': string;
395
429
  /** Цвет элемента подменю */
@@ -410,8 +444,6 @@ export interface CommunicationPanelThemeCSSVariables {
410
444
  '--chotto-communicationpanel-selected-color': string;
411
445
  /** Жирность шрифта выбранного элемента подменю */
412
446
  '--chotto-communicationpanel-selected-font-weight': string;
413
- /** Отступы выбранного элемента подменю */
414
- '--chotto-communicationpanel-selected-padding': string;
415
447
  /** Отображение индикатора выбранного элемента */
416
448
  '--chotto-communicationpanel-selected-indicator-display': string;
417
449
  /** Выравнивание по поперечной оси индикатора выбранного элемента */
@@ -446,6 +478,8 @@ export interface CommunicationPanelThemeCSSVariables {
446
478
  '--chotto-communicationpanel-blocked-indicator-display': string;
447
479
  /** Радиус маркера blocked */
448
480
  '--chotto-communicationpanel-blocked-indicator-border-radius': string;
481
+ /** Размер маркера blocked */
482
+ '--chotto-communicationpanel-blocked-indicator-mark-size': string;
449
483
  /** Фон маркера blocked (прозрачный — только зона для тултипа) */
450
484
  '--chotto-communicationpanel-blocked-indicator-mark-background': string;
451
485
  /** Прозрачность маркера blocked */
@@ -468,8 +502,6 @@ export interface CommunicationPanelThemeCSSVariables {
468
502
  '--chotto-communicationpanel-submenu-icon-height': string;
469
503
  /** Сжатие иконки подменю */
470
504
  '--chotto-communicationpanel-submenu-icon-flex-shrink': string;
471
- /** Отступ слева иконки подменю */
472
- '--chotto-communicationpanel-submenu-icon-margin-left': string;
473
505
  /** Цвет иконки подменю */
474
506
  '--chotto-communicationpanel-submenu-icon-color': string;
475
507
  /** Размер шрифта иконки подменю */
@@ -484,8 +516,8 @@ export interface CommunicationPanelThemeCSSVariables {
484
516
  '--chotto-communicationpanel-submenu-title-overflow': string;
485
517
  /** Обрезка текста заголовка подменю */
486
518
  '--chotto-communicationpanel-submenu-title-text-overflow': string;
487
- /** Коэффициент роста заголовка подменю */
488
- '--chotto-communicationpanel-submenu-title-flex-grow': string;
519
+ /** Минимальная ширина заголовка подменю */
520
+ '--chotto-communicationpanel-submenu-title-min-width': string;
489
521
  /** Жирность шрифта заголовка подменю */
490
522
  '--chotto-communicationpanel-submenu-title-font-weight': string;
491
523
  /** Высота строки заголовка подменю */
@@ -9,6 +9,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
9
9
  default: string;
10
10
  validator: (value: string) => boolean;
11
11
  };
12
+ /**
13
+ * true — системные эмодзи; false — 3D (Apple) в пикере, инпуте и ленте.
14
+ * Значение пишется в общий store чата (useEmojiNative).
15
+ */
12
16
  native: {
13
17
  type: BooleanConstructor;
14
18
  default: boolean;
@@ -23,13 +27,17 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
23
27
  default: string;
24
28
  validator: (value: string) => boolean;
25
29
  };
30
+ /**
31
+ * true — системные эмодзи; false — 3D (Apple) в пикере, инпуте и ленте.
32
+ * Значение пишется в общий store чата (useEmojiNative).
33
+ */
26
34
  native: {
27
35
  type: BooleanConstructor;
28
36
  default: boolean;
29
37
  };
30
38
  }>> & Readonly<{}>, {
39
+ native: boolean;
31
40
  mode: string;
32
41
  state: string;
33
- native: boolean;
34
42
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
35
43
  export default _default;
@@ -16,6 +16,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
16
16
  type: BooleanConstructor;
17
17
  default: boolean;
18
18
  };
19
+ reactionsMode: {
20
+ type: () => "single" | "multi";
21
+ default: string;
22
+ validator: (value: string) => boolean;
23
+ };
24
+ currentUserId: {
25
+ type: () => string | number | undefined;
26
+ default: undefined;
27
+ };
28
+ reactionUserNames: {
29
+ type: () => Record<string, string>;
30
+ default: undefined;
31
+ };
19
32
  subtextTooltipData: {
20
33
  type: () => Record<string, string>;
21
34
  required: false;
@@ -47,6 +60,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
47
60
  type: BooleanConstructor;
48
61
  default: boolean;
49
62
  };
63
+ reactionsMode: {
64
+ type: () => "single" | "multi";
65
+ default: string;
66
+ validator: (value: string) => boolean;
67
+ };
68
+ currentUserId: {
69
+ type: () => string | number | undefined;
70
+ default: undefined;
71
+ };
72
+ reactionUserNames: {
73
+ type: () => Record<string, string>;
74
+ default: undefined;
75
+ };
50
76
  subtextTooltipData: {
51
77
  type: () => Record<string, string>;
52
78
  required: false;
@@ -63,9 +89,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
63
89
  "onSms-invite"?: ((...args: any[]) => any) | undefined;
64
90
  }>, {
65
91
  channel: string;
92
+ currentUserId: string | number | undefined;
93
+ reactionUserNames: Record<string, string>;
66
94
  applyStyle: Function;
67
95
  isFirstInSeries: boolean;
68
96
  reactionsEnabled: boolean;
97
+ reactionsMode: "single" | "multi";
69
98
  subtextTooltipData: Record<string, string>;
70
99
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
71
100
  export default _default;
@@ -230,8 +230,22 @@ export interface AudioMessageThemeCSSVariables {
230
230
  '--chotto-audiomessage-avatar-min-height': string;
231
231
  /** Скругление аватара */
232
232
  '--chotto-audiomessage-avatar-border-radius': string;
233
- /** Колонки грида инфо-контейнера */
234
- '--chotto-audiomessage-info-container-grid-column': string;
233
+ /** Колонки грида футера */
234
+ '--chotto-audiomessage-footer-grid-column': string;
235
+ /** Отображение футера */
236
+ '--chotto-audiomessage-footer-display': string;
237
+ /** Выравнивание элементов футера по поперечной оси */
238
+ '--chotto-audiomessage-footer-align-items': string;
239
+ /** Выравнивание элементов футера по главной оси */
240
+ '--chotto-audiomessage-footer-justify-content': string;
241
+ /** Промежуток между элементами футера */
242
+ '--chotto-audiomessage-footer-column-gap': string;
243
+ /** Отступ сверху футера */
244
+ '--chotto-audiomessage-footer-margin-top': string;
245
+ /** Отступ справа футера */
246
+ '--chotto-audiomessage-footer-margin-right': string;
247
+ /** Доп. отступ сверху футера при наличии реакций */
248
+ '--chotto-audiomessage-footer-reactions-extra-margin-top': string;
235
249
  /** Отображение инфо-контейнера */
236
250
  '--chotto-audiomessage-info-container-display': string;
237
251
  /** Выравнивание элементов инфо-контейнера */
@@ -240,12 +254,12 @@ export interface AudioMessageThemeCSSVariables {
240
254
  '--chotto-audiomessage-info-container-justify-content': string;
241
255
  /** Промежуток между элементами инфо-контейнера */
242
256
  '--chotto-audiomessage-info-container-column-gap': string;
243
- /** Отступ справа инфо-контейнера */
244
- '--chotto-audiomessage-info-container-margin-right': string;
245
- /** Отступ сверху инфо-контейнера */
246
- '--chotto-audiomessage-info-container-margin-top': string;
247
257
  /** События указателя инфо-контейнера */
248
258
  '--chotto-audiomessage-info-container-pointer-events': string;
259
+ /** Растягивание инфо-контейнера в футере */
260
+ '--chotto-audiomessage-info-container-flex': string;
261
+ /** Минимальная ширина инфо-контейнера */
262
+ '--chotto-audiomessage-info-container-min-width': string;
249
263
  /** Отображение контейнера кнопок "Текст / Резюме" */
250
264
  '--chotto-audiomessage-actions-display': string;
251
265
  /** Выравнивание элементов контейнера кнопок */
@@ -386,20 +400,14 @@ export interface AudioMessageThemeCSSVariables {
386
400
  '--chotto-audiomessage-transcript-delimiter-height': string;
387
401
  /** Скругление разделителя */
388
402
  '--chotto-audiomessage-transcript-delimiter-border-radius': string;
389
- /** Колонка грида реакций */
390
- '--chotto-audiomessage-reactions-grid-column': string;
391
- /** Отступ сверху реакций */
392
- '--chotto-audiomessage-reactions-margin-top': string;
393
- /** Отступ снизу реакций */
394
- '--chotto-audiomessage-reactions-margin-bottom': string;
403
+ /** Растягивание блока реакций в футере */
404
+ '--chotto-audiomessage-reactions-flex': string;
395
405
  /** Перенос строк реакций */
396
406
  '--chotto-audiomessage-reactions-flex-wrap': string;
407
+ /** Минимальная ширина реакций */
408
+ '--chotto-audiomessage-reactions-min-width': string;
397
409
  /** Максимальная ширина реакций */
398
410
  '--chotto-audiomessage-reactions-max-width': string;
399
- /** Внутренний отступ справа реакций */
400
- '--chotto-audiomessage-reactions-padding-right': string;
401
- /** Внутренний отступ снизу реакций */
402
- '--chotto-audiomessage-reactions-padding-bottom': string;
403
411
  /** Отображение общего контейнера лево/право */
404
412
  '--chotto-audiomessage-left-right-display': string;
405
413
  /** Шаблон колонок левой раскладки */
@@ -20,6 +20,10 @@ export interface BaseReplyMessageThemeCSSVariables {
20
20
  '--chotto-basereplymessage-container-overflow': string;
21
21
  /** Отступ снизу контейнера */
22
22
  '--chotto-basereplymessage-container-margin-bottom': string;
23
+ /** Отступ справа контейнера */
24
+ '--chotto-basereplymessage-container-margin-right': string;
25
+ /** Цвет фона контейнера */
26
+ '--chotto-basereplymessage-container-background-color': string;
23
27
  /** Контент псевдоэлемента перед контейнером */
24
28
  '--chotto-basereplymessage-container-before-content': string;
25
29
  /** Позиционирование псевдоэлемента */
@@ -32,6 +36,10 @@ export interface BaseReplyMessageThemeCSSVariables {
32
36
  '--chotto-basereplymessage-container-before-width': string;
33
37
  /** Высота псевдоэлемента */
34
38
  '--chotto-basereplymessage-container-before-height': string;
39
+ /** Скругление верхнего левого угла псевдоэлемента */
40
+ '--chotto-basereplymessage-container-before-border-top-left-radius': string;
41
+ /** Скругление нижнего левого угла псевдоэлемента */
42
+ '--chotto-basereplymessage-container-before-border-bottom-left-radius': string;
35
43
  /** Отображение кнопки сброса */
36
44
  '--chotto-basereplymessage-reset-display': string;
37
45
  /** Позиционирование кнопки сброса */
@@ -52,10 +60,6 @@ export interface BaseReplyMessageThemeCSSVariables {
52
60
  '--chotto-basereplymessage-grid-padding': string;
53
61
  /** Правый внутренний отступ блока ответа в инпуте */
54
62
  '--chotto-basereplymessage-chat-input-reply-padding-right': string;
55
- /** Граница блока ответа в инпуте */
56
- '--chotto-basereplymessage-chat-input-reply-border': string;
57
- /** Скругление блока ответа в инпуте */
58
- '--chotto-basereplymessage-chat-input-reply-border-radius': string;
59
63
  /** Перенос слов в блоке ответа в инпуте */
60
64
  '--chotto-basereplymessage-chat-input-reply-word-break': string;
61
65
  /** Отступ снизу блока ответа в инпуте */