@mobilon-dev/chotto 0.3.85 → 0.3.87

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 (151) hide show
  1. package/dist/chotto.css +1 -1
  2. package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue2.js +15 -13
  3. package/dist/components/1_atoms/ContactContextMenu/ContactContextMenu.vue2.js +4 -2
  4. package/dist/components/1_atoms/ContextMenu/ContextMenu.vue.js +43 -39
  5. package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.js +7 -5
  6. package/dist/components/1_atoms/LoadingIndicator/LoadingIndicator.vue.js +19 -18
  7. package/dist/components/1_atoms/Tooltip/Tooltip.vue.js +2 -2
  8. package/dist/components/1_atoms/Tooltip/Tooltip.vue2.js +83 -72
  9. package/dist/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.js +174 -165
  10. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.js +21 -18
  11. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.js +32 -27
  12. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationSubMenu.js +44 -35
  13. package/dist/components/2_blocks/FeedSearch/FeedSearch.vue2.js +11 -10
  14. package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue2.js +4 -2
  15. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue2.js +18 -16
  16. package/dist/components/2_chatinput_elements/ButtonTemplateSelector/ButtonTemplateSelector.vue2.js +16 -14
  17. package/dist/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.js +4 -2
  18. package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue2.js +4 -2
  19. package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue2.js +4 -2
  20. package/dist/components/2_chatinput_elements/StickerPicker/StickerPicker.vue2.js +4 -2
  21. package/dist/components/2_chatinput_elements/TemplateSelector/TemplateSelector.vue.js +4 -2
  22. package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue2.js +4 -3
  23. package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue2.js +4 -2
  24. package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue2.js +3 -2
  25. package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue2.js +4 -2
  26. package/dist/components/2_elements/ChannelSelector/ChannelSelector.vue.js +3 -2
  27. package/dist/components/2_elements/ThemeMode/ThemeMode.vue.js +7 -5
  28. package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue2.js +4 -2
  29. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue.js +1 -1
  30. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +387 -340
  31. package/dist/components/2_feed_elements/BaseEditMessage/BaseEditMessage.vue.js +7 -0
  32. package/dist/components/2_feed_elements/BaseEditMessage/BaseEditMessage.vue2.js +34 -0
  33. package/dist/components/2_feed_elements/CallMessage/CallMessage.vue.js +2 -2
  34. package/dist/components/2_feed_elements/CallMessage/CallMessage.vue2.js +388 -352
  35. package/dist/components/2_feed_elements/DeletedMessageContent/DeletedMessageContent.vue.js +7 -0
  36. package/dist/components/2_feed_elements/DeletedMessageContent/DeletedMessageContent.vue2.js +63 -0
  37. package/dist/components/2_feed_elements/DeletedMessageContent/icons/DeletedMessageIcon.vue.js +21 -0
  38. package/dist/components/2_feed_elements/EditTextMessage/EditTextMessage.vue.js +7 -0
  39. package/dist/components/2_feed_elements/EditTextMessage/EditTextMessage.vue2.js +35 -0
  40. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +2 -2
  41. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +204 -157
  42. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +3 -3
  43. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +273 -226
  44. package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue2.js +9 -7
  45. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue.js +2 -2
  46. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue2.js +141 -117
  47. package/dist/components/2_feed_elements/MessageReactions/icons/DeleteIcon.vue.js +32 -0
  48. package/dist/components/2_feed_elements/MessageReactions/icons/EditIcon.vue.js +32 -0
  49. package/dist/components/2_feed_elements/MessageReactions/icons/MessageActionsIcon.vue.js +21 -0
  50. package/dist/components/2_feed_elements/MissedCallMessage/MissedCallMessage.vue.js +4 -4
  51. package/dist/components/2_feed_elements/MissedCallMessage/MissedCallMessage.vue2.js +102 -66
  52. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue2.js +11 -9
  53. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue2.js +14 -12
  54. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue2.js +11 -9
  55. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue2.js +13 -11
  56. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue2.js +11 -9
  57. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue2.js +4 -2
  58. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +2 -2
  59. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +255 -210
  60. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +1 -1
  61. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +241 -140
  62. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +3 -3
  63. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +245 -200
  64. package/dist/components/2_modals/ConfirmDeleteMessage/ConfirmDeleteMessage.vue.js +7 -0
  65. package/dist/components/2_modals/ConfirmDeleteMessage/ConfirmDeleteMessage.vue3.js +58 -0
  66. package/dist/components/3_compounds/ChatInput/ChatInput.vue.js +2 -2
  67. package/dist/components/3_compounds/ChatInput/ChatInput.vue2.js +5 -4
  68. package/dist/components/3_compounds/ChatList/ChatListHeader.vue.js +8 -8
  69. package/dist/components/3_compounds/ChatList/icons/LogoIcon.vue.js +12 -13
  70. package/dist/components/3_compounds/Feed/Feed.vue.js +2 -2
  71. package/dist/components/3_compounds/Feed/Feed.vue2.js +187 -163
  72. package/dist/components/3_compounds/Feed/composables/useFeedComponents.js +41 -26
  73. package/dist/components/3_compounds/Feed/composables/useFeedReply.js +16 -11
  74. package/dist/components/3_compounds/Feed/utils/getDefaultMessageMenuActions.js +31 -0
  75. package/dist/hooks/messages/buildEditPayload.js +10 -0
  76. package/dist/hooks/messages/calculateMessageMenuPosition.js +70 -0
  77. package/dist/hooks/messages/getDeletedOriginalText.js +26 -0
  78. package/dist/hooks/messages/getEditTooltipLines.js +28 -0
  79. package/dist/hooks/messages/useMessageActions.js +94 -19
  80. package/dist/hooks/messages/useMessageMenuActions.js +18 -0
  81. package/dist/hooks/messages/useStartEdit.js +30 -0
  82. package/dist/hooks/messages/useStartReply.js +16 -14
  83. package/dist/hooks/modals/useConfirmDeleteMessage.js +24 -0
  84. package/dist/hooks/useMessageDraft.js +46 -66
  85. package/dist/hooks/validators/messages/messageValidator.js +29 -35
  86. package/dist/index.js +220 -194
  87. package/dist/locale/en.js +6 -1
  88. package/dist/locale/ru.js +6 -1
  89. package/dist/themes/dark.css +1 -1
  90. package/dist/themes/default.css +1 -1
  91. package/dist/themes/glass.css +1 -1
  92. package/dist/themes/green.css +1 -1
  93. package/dist/themes/mobilon1.css +1 -1
  94. package/dist/types/apps/data/messages.d.ts +0 -321
  95. package/dist/types/components/1_atoms/ContextMenu/ContextMenu.vue.d.ts +0 -2
  96. package/dist/types/components/1_atoms/ContextMenu/stories/ContextMenu.stories.d.ts +1 -0
  97. package/dist/types/components/1_atoms/ContextMenu/styles/types.d.ts +18 -0
  98. package/dist/types/components/1_atoms/LoadingIndicator/styles/types.d.ts +0 -2
  99. package/dist/types/components/1_atoms/Tooltip/Tooltip.vue.d.ts +12 -1
  100. package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.d.ts +2 -0
  101. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.d.ts +3 -1
  102. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.d.ts +3 -0
  103. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationSubMenu.d.ts +4 -2
  104. package/dist/types/components/2_blocks/CommunicationPanel/stories/CommunicationPanel.stories.d.ts +1 -0
  105. package/dist/types/components/2_feed_elements/BaseEditMessage/BaseEditMessage.vue.d.ts +23 -0
  106. package/dist/types/components/2_feed_elements/BaseEditMessage/stories/BaseEditMessage.stories.d.ts +6 -0
  107. package/dist/types/components/2_feed_elements/DeletedMessageContent/DeletedMessageContent.vue.d.ts +31 -0
  108. package/dist/types/components/2_feed_elements/DeletedMessageContent/icons/DeletedMessageIcon.vue.d.ts +2 -0
  109. package/dist/types/components/2_feed_elements/DeletedMessageContent/styles/types.d.ts +35 -0
  110. package/dist/types/components/2_feed_elements/EditTextMessage/EditTextMessage.vue.d.ts +13 -0
  111. package/dist/types/components/2_feed_elements/EditTextMessage/stories/EditTextMessage.stories.d.ts +7 -0
  112. package/dist/types/components/2_feed_elements/FeedKeyboard/FeedKeyboard.vue.d.ts +1 -1
  113. package/dist/types/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue.d.ts +1 -1
  114. package/dist/types/components/2_feed_elements/MessageReactions/MessageReactions.vue.d.ts +35 -0
  115. package/dist/types/components/2_feed_elements/MessageReactions/icons/DeleteIcon.vue.d.ts +2 -0
  116. package/dist/types/components/2_feed_elements/MessageReactions/icons/EditIcon.vue.d.ts +2 -0
  117. package/dist/types/components/2_feed_elements/MessageReactions/icons/MessageActionsIcon.vue.d.ts +2 -0
  118. package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +11 -3
  119. package/dist/types/components/2_feed_elements/TextMessage/stories/TextMessage.stories.d.ts +1 -0
  120. package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +22 -0
  121. package/dist/types/components/2_feed_elements/VideoMessage/stories/VideoMessage.stories.d.ts +2 -2
  122. package/dist/types/components/2_feed_elements/types/components.d.ts +1 -2
  123. package/dist/types/components/2_feed_elements/types/messages.d.ts +116 -9
  124. package/dist/types/components/2_modals/ConfirmDeleteMessage/ConfirmDeleteMessage.vue.d.ts +22 -0
  125. package/dist/types/components/2_modals/ConfirmDeleteMessage/stories/ConfirmDeleteMessage.stories.d.ts +37 -0
  126. package/dist/types/components/2_modals/ConfirmDeleteMessage/styles/types.d.ts +97 -0
  127. package/dist/types/components/3_compounds/ChatInput/types/IInputMessage.d.ts +2 -1
  128. package/dist/types/components/3_compounds/ChatList/styles/types.d.ts +2 -2
  129. package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +20 -3
  130. package/dist/types/components/3_compounds/Feed/composables/useFeedComponents.d.ts +6 -2
  131. package/dist/types/components/3_compounds/Feed/composables/useFeedGrouping.d.ts +0 -1
  132. package/dist/types/components/3_compounds/Feed/composables/useFeedReply.d.ts +7 -1
  133. package/dist/types/components/3_compounds/Feed/utils/getDefaultMessageMenuActions.d.ts +3 -0
  134. package/dist/types/components/3_compounds/SideBar/SideBar.vue.d.ts +2 -2
  135. package/dist/types/components/index.d.ts +4 -0
  136. package/dist/types/hooks/messages/buildEditPayload.d.ts +7 -0
  137. package/dist/types/hooks/messages/calculateMessageMenuPosition.d.ts +16 -0
  138. package/dist/types/hooks/messages/getDeletedOriginalText.d.ts +28 -0
  139. package/dist/types/hooks/messages/getEditTooltipLines.d.ts +17 -0
  140. package/dist/types/hooks/messages/index.d.ts +6 -0
  141. package/dist/types/hooks/messages/useMessageActions.d.ts +33 -39
  142. package/dist/types/hooks/messages/useMessageMenuActions.d.ts +10 -0
  143. package/dist/types/hooks/messages/useStartEdit.d.ts +6 -0
  144. package/dist/types/hooks/modals/index.d.ts +1 -0
  145. package/dist/types/hooks/modals/useConfirmDeleteMessage.d.ts +2 -0
  146. package/dist/types/hooks/useMessageDraft.d.ts +10 -1
  147. package/dist/types/hooks/validators/messages/types.d.ts +0 -6
  148. package/dist/types/locale/en.d.ts +5 -0
  149. package/dist/types/locale/ru.d.ts +5 -0
  150. package/dist/types/main.d.ts +1 -0
  151. package/package.json +1 -1
@@ -2,11 +2,9 @@ declare const _default: import("vue").DefineComponent<{}, {
2
2
  $emit: (event: "click" | "mouseenter" | "mouseleave", ...args: any[]) => void;
3
3
  actions: unknown[];
4
4
  id: string;
5
- dataTheme: string;
6
5
  $props: {
7
6
  readonly actions?: unknown[] | undefined;
8
7
  readonly id?: string | undefined;
9
- readonly dataTheme?: string | undefined;
10
8
  };
11
9
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
12
10
  export default _default;
@@ -6,3 +6,4 @@ type Story = StoryObj<typeof ContextMenu>;
6
6
  export declare const Standard: Story;
7
7
  export declare const WithIcons: Story;
8
8
  export declare const FileDropDownMenu: Story;
9
+ export declare const WithSeparatorAndDanger: Story;
@@ -54,6 +54,10 @@ export interface ContextMenuThemeCSSVariables {
54
54
  '--chotto-contextmenu-item-width': string;
55
55
  /** Промежуток между элементами внутри элемента контекстного меню */
56
56
  '--chotto-contextmenu-item-gap': string;
57
+ /** Box-sizing элемента контекстного меню */
58
+ '--chotto-contextmenu-item-box-sizing': string;
59
+ /** Высота элемента контекстного меню */
60
+ '--chotto-contextmenu-item-height': string;
57
61
  /** Отступ справа иконки элемента контекстного меню */
58
62
  '--chotto-contextmenu-item-icon-margin-right': string;
59
63
  /** Коэффициент сжатия иконки элемента контекстного меню */
@@ -66,4 +70,18 @@ export interface ContextMenuThemeCSSVariables {
66
70
  '--chotto-contextmenu-item-disabled-opacity': string;
67
71
  /** Курсор отключенного элемента контекстного меню */
68
72
  '--chotto-contextmenu-item-disabled-cursor': string;
73
+ /** Отображение разделителя контекстного меню */
74
+ '--chotto-contextmenu-separator-display': string;
75
+ /** Высота разделителя контекстного меню */
76
+ '--chotto-contextmenu-separator-height': string;
77
+ /** Ширина разделителя контекстного меню */
78
+ '--chotto-contextmenu-separator-width': string;
79
+ /** Отступы разделителя контекстного меню */
80
+ '--chotto-contextmenu-separator-margin': string;
81
+ /** Внутренние отступы разделителя контекстного меню */
82
+ '--chotto-contextmenu-separator-padding': string;
83
+ /** Цвет фона разделителя контекстного меню */
84
+ '--chotto-contextmenu-separator-background-color': string;
85
+ /** Выравнивание разделителя по главной оси (grid) */
86
+ '--chotto-contextmenu-separator-justify-self': string;
69
87
  }
@@ -26,8 +26,6 @@ export interface LoadingIndicatorThemeCSSVariables {
26
26
  '--chotto-loadingindicator-small-bottom': string;
27
27
  /** Высота индикатора */
28
28
  '--chotto-loadingindicator-small-height': string;
29
- /** Цвет обводки точек */
30
- '--chotto-loadingindicator-dot-stroke': string;
31
29
  /** Толщина обводки точек */
32
30
  '--chotto-loadingindicator-dot-stroke-width': string;
33
31
  /** Заливка точек */
@@ -1,6 +1,8 @@
1
- declare var __VLS_1: {};
1
+ declare var __VLS_1: {}, __VLS_11: {};
2
2
  type __VLS_Slots = {} & {
3
3
  default?: (props: typeof __VLS_1) => any;
4
+ } & {
5
+ content?: (props: typeof __VLS_11) => any;
4
6
  };
5
7
  declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
8
  text: {
@@ -41,6 +43,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
41
43
  type: StringConstructor;
42
44
  default: string;
43
45
  };
46
+ bubbleStyle: {
47
+ type: () => Record<string, string>;
48
+ default: () => {};
49
+ };
44
50
  }>, {
45
51
  startAutoShow: () => void;
46
52
  clearAutoTimer: () => void;
@@ -84,6 +90,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
84
90
  type: StringConstructor;
85
91
  default: string;
86
92
  };
93
+ bubbleStyle: {
94
+ type: () => Record<string, string>;
95
+ default: () => {};
96
+ };
87
97
  }>> & Readonly<{}>, {
88
98
  text: string;
89
99
  position: string;
@@ -94,6 +104,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
94
104
  delay: number;
95
105
  hideOnClick: boolean;
96
106
  maxWidth: string;
107
+ bubbleStyle: Record<string, string>;
97
108
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
98
109
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
99
110
  export default _default;
@@ -1,4 +1,6 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
+ /** Снять pin и закрыть оба меню (вызывать с host при ОК на splash). */
3
+ closeMenu: () => void;
2
4
  $emit: (event: "select-attribute-channel" | "confirm-attribute" | "phone-call" | "reset-blocked-attributes", ...args: any[]) => void;
3
5
  channels: unknown[];
4
6
  messages: unknown[];
@@ -32,6 +32,8 @@ interface UseCommunicationActionsOptions {
32
32
  confirmingAttributeId: Ref<string | null>;
33
33
  isAttributeBlocked: (attribute: ContactAttribute | null | undefined) => boolean;
34
34
  closeMenu: () => void;
35
+ /** Закрепить меню до closeMenu (клик снаружи) — на время confirm-attribute. */
36
+ pinMenuOpen: () => void;
35
37
  hasMultipleChannels: (channelType: string) => boolean;
36
38
  getSingleChannelForType: (channelType: string) => Channel | null;
37
39
  getAvailableChannels: (channelType: string) => Channel[];
@@ -50,7 +52,7 @@ interface UseCommunicationActionsOptions {
50
52
  /**
51
53
  * Инкапсулирует действия панели: звонок, выбор каналов, выбор атрибутов.
52
54
  */
53
- export declare function useCommunicationActions({ activeChannelType, channels, selectedChannel, selectedChannelType, hoveredAttribute, confirmingAttributeId, isAttributeBlocked, closeMenu, hasMultipleChannels, getSingleChannelForType, getAvailableChannels, isChannelEmpty, isNewDialog, showDefaultChannelTooltipWithTimer, clearDefaultChannelTooltip, emit, panelPendingSelection, }: UseCommunicationActionsOptions): {
55
+ export declare function useCommunicationActions({ activeChannelType, channels, selectedChannel, selectedChannelType, hoveredAttribute, confirmingAttributeId, isAttributeBlocked, closeMenu, pinMenuOpen, hasMultipleChannels, getSingleChannelForType, getAvailableChannels, isChannelEmpty, isNewDialog, showDefaultChannelTooltipWithTimer, clearDefaultChannelTooltip, emit, panelPendingSelection, }: UseCommunicationActionsOptions): {
54
56
  handlePhoneCall: (attribute: ContactAttribute | null | undefined) => void;
55
57
  handleAttributeClick: (attribute: ContactAttribute) => void;
56
58
  selectSingleChannel: (attribute: ContactAttribute, channelId: string) => void;
@@ -18,9 +18,12 @@ export declare function useCommunicationMenu({ panelRef, selectedChannelType, fr
18
18
  hoveredChannel: Ref<string | null, string | null>;
19
19
  showMenu: Ref<boolean, boolean>;
20
20
  showSubMenu: Ref<boolean, boolean>;
21
+ retainOpenUntilDismiss: Ref<boolean, boolean>;
21
22
  handleChannelClick: (channelType: string) => void;
22
23
  openMenu: (channelType: string) => void;
23
24
  closeMenu: () => void;
25
+ pinMenuOpen: () => void;
26
+ armOutsideClickSuppression: () => void;
24
27
  handleClickOutside: (event: Event) => void;
25
28
  };
26
29
  export {};
@@ -1,17 +1,19 @@
1
- import { type Ref } from 'vue';
1
+ import { type ComputedRef, type Ref } from 'vue';
2
2
  import type { ContactAttribute } from './useCommunicationAttributes';
3
3
  interface UseCommunicationSubMenuOptions {
4
4
  activeChannelType: Ref<string | null>;
5
5
  showSubMenu: Ref<boolean>;
6
6
  frozenAttribute: Ref<ContactAttribute | null>;
7
7
  hoveredAttribute: Ref<ContactAttribute | null>;
8
+ confirmingAttributeId: Ref<string | null> | ComputedRef<string | null>;
9
+ retainOpenUntilDismiss: Ref<boolean>;
8
10
  hasMultipleChannels: (channelType: string) => boolean;
9
11
  isAttributeBlocked: (attribute: ContactAttribute | null | undefined) => boolean;
10
12
  }
11
13
  /**
12
14
  * Управляет состоянием подменю выбора канала и hover-состояниями атрибутов.
13
15
  */
14
- export declare function useCommunicationSubMenu({ activeChannelType, showSubMenu, frozenAttribute, hoveredAttribute, hasMultipleChannels, isAttributeBlocked, }: UseCommunicationSubMenuOptions): {
16
+ export declare function useCommunicationSubMenu({ activeChannelType, showSubMenu, frozenAttribute, hoveredAttribute, confirmingAttributeId, retainOpenUntilDismiss, hasMultipleChannels, isAttributeBlocked, }: UseCommunicationSubMenuOptions): {
15
17
  subMenuTop: Ref<number, number>;
16
18
  handleAttributeMouseEnter: (attribute: ContactAttribute, eventTarget: EventTarget | null) => EventTarget | null;
17
19
  handleAttributeMouseLeave: () => void;
@@ -2,6 +2,7 @@ import type { StoryObj } from '@storybook/vue3-vite';
2
2
  declare const meta: {
3
3
  title: string;
4
4
  component: import("vue").DefineComponent<{}, {
5
+ closeMenu: () => void;
5
6
  $emit: (event: "select-attribute-channel" | "confirm-attribute" | "phone-call" | "reset-blocked-attributes", ...args: any[]) => void;
6
7
  channels: unknown[];
7
8
  messages: unknown[];
@@ -0,0 +1,23 @@
1
+ import { Edit } from '@/types';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ message: {
4
+ type: () => Edit;
5
+ default: () => Edit;
6
+ };
7
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ action: (...args: any[]) => void;
9
+ edit: (...args: any[]) => void;
10
+ reset: (...args: any[]) => void;
11
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
+ message: {
13
+ type: () => Edit;
14
+ default: () => Edit;
15
+ };
16
+ }>> & Readonly<{
17
+ onAction?: ((...args: any[]) => any) | undefined;
18
+ onEdit?: ((...args: any[]) => any) | undefined;
19
+ onReset?: ((...args: any[]) => any) | undefined;
20
+ }>, {
21
+ message: Edit;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
23
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import BaseEditMessage from '../BaseEditMessage.vue';
3
+ declare const meta: Meta<typeof BaseEditMessage>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof BaseEditMessage>;
6
+ export declare const ChatInputEditMessage: Story;
@@ -0,0 +1,31 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ /** Оригинальный текст удалённого сообщения */
3
+ originalText: {
4
+ type: StringConstructor;
5
+ required: false;
6
+ default: string;
7
+ };
8
+ /** Строка мета: «Имя, дата в время» */
9
+ meta: {
10
+ type: StringConstructor;
11
+ required: false;
12
+ default: string;
13
+ };
14
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ /** Оригинальный текст удалённого сообщения */
16
+ originalText: {
17
+ type: StringConstructor;
18
+ required: false;
19
+ default: string;
20
+ };
21
+ /** Строка мета: «Имя, дата в время» */
22
+ meta: {
23
+ type: StringConstructor;
24
+ required: false;
25
+ default: string;
26
+ };
27
+ }>> & Readonly<{}>, {
28
+ meta: string;
29
+ originalText: string;
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
31
+ export default _default;
@@ -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;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * CSS переменные для компонента DeletedMessageContent
3
+ */
4
+ export interface DeletedMessageContentThemeCSSVariables {
5
+ /** Отображение контейнера */
6
+ '--chotto-deletedmessagecontent-display': string;
7
+ /** Выравнивание элементов */
8
+ '--chotto-deletedmessagecontent-align-items': string;
9
+ /** Отступ между иконкой и текстом */
10
+ '--chotto-deletedmessagecontent-gap': string;
11
+ /** Семейство шрифтов */
12
+ '--chotto-deletedmessagecontent-font-family': string;
13
+ /** Размер иконки */
14
+ '--chotto-deletedmessagecontent-icon-size': string;
15
+ /** Цвет текста (серый) */
16
+ '--chotto-deletedmessagecontent-text-color': string;
17
+ /** Размер шрифта текста */
18
+ '--chotto-deletedmessagecontent-text-font-size': string;
19
+ /** Жирность шрифта текста */
20
+ '--chotto-deletedmessagecontent-text-font-weight': string;
21
+ /** Высота строки текста */
22
+ '--chotto-deletedmessagecontent-text-line-height': string;
23
+ /** Курсор на заглушке */
24
+ '--chotto-deletedmessagecontent-cursor': string;
25
+ /** Отображение тултипа */
26
+ '--chotto-deletedmessagecontent-tooltip-display': string;
27
+ /** Направление flex тултипа */
28
+ '--chotto-deletedmessagecontent-tooltip-flex-direction': string;
29
+ /** Отступ между строками тултипа */
30
+ '--chotto-deletedmessagecontent-tooltip-row-gap': string;
31
+ /** Цвет оригинального текста в тултипе */
32
+ '--chotto-deletedmessagecontent-tooltip-original-color': string;
33
+ /** Цвет мета-строки в тултипе */
34
+ '--chotto-deletedmessagecontent-tooltip-meta-color': string;
35
+ }
@@ -0,0 +1,13 @@
1
+ import { Edit } from '@/types';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ message: {
4
+ type: () => Edit;
5
+ required: true;
6
+ };
7
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
8
+ message: {
9
+ type: () => Edit;
10
+ required: true;
11
+ };
12
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
13
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import EditTextMessage from '../EditTextMessage.vue';
3
+ declare const meta: Meta<typeof EditTextMessage>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof EditTextMessage>;
6
+ export declare const Default: Story;
7
+ export declare const LongText: Story;
@@ -27,6 +27,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
27
27
  onAction?: ((...args: any[]) => any) | undefined;
28
28
  }>, {
29
29
  buttons: IFeedKeyboard[];
30
- align: "left" | "right" | "center";
30
+ align: "center" | "left" | "right";
31
31
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
32
32
  export default _default;
@@ -52,6 +52,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
52
52
  }>> & Readonly<{
53
53
  onAction?: ((...args: any[]) => any) | undefined;
54
54
  }>, {
55
- align: "left" | "right" | "center";
55
+ align: "center" | "left" | "right";
56
56
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
57
  export default _default;
@@ -47,7 +47,24 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
47
47
  type: BooleanConstructor;
48
48
  default: boolean;
49
49
  };
50
+ /** Показывать кнопку меню действий сообщения в панели быстрых реакций */
51
+ menuEnabled: {
52
+ type: BooleanConstructor;
53
+ default: boolean;
54
+ };
50
55
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
56
+ menu: (payload: {
57
+ messageId: string | number;
58
+ triggerRect?: {
59
+ top: number;
60
+ right: number;
61
+ bottom: number;
62
+ left: number;
63
+ width: number;
64
+ height: number;
65
+ };
66
+ event?: MouseEvent;
67
+ }) => any;
51
68
  "toggle-reaction": (payload: {
52
69
  messageId: string | number;
53
70
  key: string;
@@ -106,7 +123,24 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
106
123
  type: BooleanConstructor;
107
124
  default: boolean;
108
125
  };
126
+ /** Показывать кнопку меню действий сообщения в панели быстрых реакций */
127
+ menuEnabled: {
128
+ type: BooleanConstructor;
129
+ default: boolean;
130
+ };
109
131
  }>> & Readonly<{
132
+ onMenu?: ((payload: {
133
+ messageId: string | number;
134
+ triggerRect?: {
135
+ top: number;
136
+ right: number;
137
+ bottom: number;
138
+ left: number;
139
+ width: number;
140
+ height: number;
141
+ };
142
+ event?: MouseEvent;
143
+ }) => any) | undefined;
110
144
  "onToggle-reaction"?: ((payload: {
111
145
  messageId: string | number;
112
146
  key: string;
@@ -129,5 +163,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
129
163
  currentUserName: string;
130
164
  reactionUserNames: Record<string, string>;
131
165
  replyEnabled: boolean;
166
+ menuEnabled: boolean;
132
167
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
133
168
  export default _default;
@@ -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;
@@ -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;
@@ -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,7 +1,11 @@
1
- import { ITextMessage } from '@/types';
1
+ import { ITextMessage, MessageDeleteInfo } from '@/types';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  message: {
4
- type: () => ITextMessage;
4
+ type: () => ITextMessage & {
5
+ filename?: string;
6
+ alt?: string;
7
+ deletion?: MessageDeleteInfo;
8
+ };
5
9
  required: true;
6
10
  };
7
11
  applyStyle: {
@@ -45,7 +49,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
45
49
  "sms-invite": (...args: any[]) => void;
46
50
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
47
51
  message: {
48
- type: () => ITextMessage;
52
+ type: () => ITextMessage & {
53
+ filename?: string;
54
+ alt?: string;
55
+ deletion?: MessageDeleteInfo;
56
+ };
49
57
  required: true;
50
58
  };
51
59
  applyStyle: {
@@ -8,6 +8,7 @@ export declare const LeftMessages: Story;
8
8
  export declare const RightMessages: Story;
9
9
  export declare const LeftMessageMax: Story;
10
10
  export declare const RightMessageMax: Story;
11
+ export declare const MessagesWithEdit: Story;
11
12
  export declare const MessagesWithLinks: Story;
12
13
  export declare const MessagesWithReply: Story;
13
14
  export declare const MessagesWithPreviewAndEmbed: Story;
@@ -96,6 +96,28 @@ export interface TextMessageThemeCSSVariables {
96
96
  '--chotto-textmessage-views-p-font-size': string;
97
97
  /** Цвет текста просмотров */
98
98
  '--chotto-textmessage-views-p-color': string;
99
+ /** Размер шрифта метки «изменено» */
100
+ '--chotto-textmessage-edited-font-size': string;
101
+ /** Цвет метки «изменено» */
102
+ '--chotto-textmessage-edited-color': string;
103
+ /** Стиль шрифта метки «изменено» */
104
+ '--chotto-textmessage-edited-font-style': string;
105
+ /** Курсор метки «изменено» */
106
+ '--chotto-textmessage-edited-cursor': string;
107
+ /** Перенос строк метки «изменено» */
108
+ '--chotto-textmessage-edited-white-space': string;
109
+ /** Отображение контейнера тултипа правки */
110
+ '--chotto-textmessage-edit-tooltip-display': string;
111
+ /** Направление flex контейнера тултипа правки */
112
+ '--chotto-textmessage-edit-tooltip-flex-direction': string;
113
+ /** Промежуток между строками тултипа правки */
114
+ '--chotto-textmessage-edit-tooltip-row-gap': string;
115
+ /** Рамка тултипа правки */
116
+ '--chotto-textmessage-edit-tooltip-border': string;
117
+ /** Цвет оригинального текста в тултипе правки */
118
+ '--chotto-textmessage-edit-tooltip-original-color': string;
119
+ /** Цвет мета-строки (автор, дата) в тултипе правки */
120
+ '--chotto-textmessage-edit-tooltip-meta-color': string;
99
121
  /** Размер шрифта времени */
100
122
  '--chotto-textmessage-time-font-size': string;
101
123
  /** Цвет времени */
@@ -12,8 +12,8 @@ export declare const LeftMessageWithAvatarAndSubtext: Story;
12
12
  export declare const RightMessageWithAvatarAndSubtext: Story;
13
13
  export declare const LeftMessageWithMarkdownText: Story;
14
14
  export declare const RightMessageWithMarkdownText: Story;
15
- export declare const LeftMessageWithTextAndActions: Story;
16
- export declare const RightMessageWithTextAndActions: Story;
15
+ export declare const LeftMessageWithText: Story;
16
+ export declare const RightMessageWithText: Story;
17
17
  export declare const RightMessageWithStatusSent: Story;
18
18
  export declare const RightMessageWithStatusReceived: Story;
19
19
  export declare const RightMessageWithStatusRead: Story;
@@ -1,4 +1,4 @@
1
- import { IAudioMessage, ICallMessage, IDateMessage, IFileMessage, IImageMessage, IKeyBoard, ILinkPreview, ISystemMessage, ITextMessage, ITypingMessage, IVideoMessage, Reply, IAction } from "@/types";
1
+ import { IAudioMessage, ICallMessage, IDateMessage, IFileMessage, IImageMessage, IKeyBoard, ILinkPreview, ISystemMessage, ITextMessage, ITypingMessage, IVideoMessage, Reply } from "@/types";
2
2
  export interface IFeedObject {
3
3
  messageId: string;
4
4
  type: string;
@@ -12,7 +12,6 @@ export interface IFeedObject {
12
12
  filename?: string;
13
13
  avatar?: string;
14
14
  subtext?: string;
15
- actions?: IAction[];
16
15
  views?: number;
17
16
  callDuration?: string;
18
17
  isMissedCall?: boolean;