@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
@@ -1,7 +1,7 @@
1
1
  import o from "./Feed.vue2.js";
2
2
  /* empty css */
3
- import t from "../../../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-7733717c"]]);
3
+ import e from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ const p = /* @__PURE__ */ e(o, [["__scopeId", "data-v-3ec3e740"]]);
5
5
  export {
6
6
  p as default
7
7
  };
@@ -1,26 +1,28 @@
1
- import { defineComponent as be, ref as k, computed as i, provide as j, inject as K, unref as s, watch as ke, nextTick as x, onMounted as ve, createElementBlock as c, openBlock as r, createVNode as g, createBlock as f, createCommentVNode as u, normalizeStyle as L, renderSlot as U, withDirectives as he, createElementVNode as v, vShow as Se, Transition as h, withCtx as S, Fragment as Me, renderList as Ie, resolveDynamicComponent as Re, mergeProps as Be, toDisplayString as Te, Teleport as Ae } from "vue";
2
- import Ce from "../../2_feed_elements/DateMessageSticky/DateMessageSticky.vue.js";
3
- import Fe from "../../2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.js";
4
- import De from "../../2_feed_elements/MessageKeyboard/MessageKeyboard.vue.js";
5
- import we from "../../2_feed_elements/FeedKeyboard/FeedKeyboard.vue.js";
6
- import Oe from "../../2_feed_elements/TypingMessage/TypingMessage.vue.js";
7
- import je from "../../1_atoms/LoadingIndicator/LoadingIndicator.vue.js";
8
- import { useFeedButton as Ke } from "./composables/useFeedButton.js";
9
- import { useFeedComponents as xe } from "./composables/useFeedComponents.js";
10
- import { useFeedGrouping as Le } from "./composables/useFeedGrouping.js";
11
- import { useFeedKeyboard as Ue } from "./composables/useFeedKeyboard.js";
12
- import { useFeedLoadMore as Ne } from "./composables/useFeedLoadMore.js";
13
- import { useFeedMessageVisibility as Ve } from "./composables/useFeedMessageVisibility.js";
14
- import { useFeedReply as $e } from "./composables/useFeedReply.js";
15
- import { useFeedScroll as qe } from "./composables/useFeedScroll.js";
16
- import { useFeedScrollTo as Pe } from "./composables/useFeedScrollTo.js";
17
- import { useStickyDate as ze } from "./composables/useStickyDate.js";
18
- import { throttle as Ee } from "./functions/throttle.js";
19
- import We from "./assets/chat-background.svg.js";
20
- const Ge = { class: "message-feed-wrapper" }, He = ["id"], Je = { class: "message-feed__loading" }, Qe = ["id", "data-timestamp", "onDblclick"], Xe = { style: { margin: "auto" } }, Ye = {
1
+ import { defineComponent as ve, ref as v, computed as i, provide as h, inject as K, unref as t, watch as he, nextTick as x, onMounted as Me, createElementBlock as u, openBlock as r, createVNode as g, createBlock as m, createCommentVNode as d, normalizeStyle as L, renderSlot as U, withDirectives as Se, createElementVNode as M, vShow as Re, Transition as S, withCtx as R, Fragment as Ie, renderList as Ae, resolveDynamicComponent as Be, mergeProps as Te, toDisplayString as Ce, Teleport as E } from "vue";
2
+ import Fe from "../../2_feed_elements/DateMessageSticky/DateMessageSticky.vue.js";
3
+ import De from "../../2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.js";
4
+ import we from "../../2_feed_elements/BaseEditMessage/BaseEditMessage.vue.js";
5
+ import Oe from "../../2_feed_elements/MessageKeyboard/MessageKeyboard.vue.js";
6
+ import je from "../../2_feed_elements/FeedKeyboard/FeedKeyboard.vue.js";
7
+ import Ke from "../../2_feed_elements/TypingMessage/TypingMessage.vue.js";
8
+ import xe from "../../1_atoms/LoadingIndicator/LoadingIndicator.vue.js";
9
+ import { useFeedButton as Le } from "./composables/useFeedButton.js";
10
+ import { useFeedComponents as Ue } from "./composables/useFeedComponents.js";
11
+ import { useFeedGrouping as Ee } from "./composables/useFeedGrouping.js";
12
+ import { useFeedKeyboard as Ne } from "./composables/useFeedKeyboard.js";
13
+ import { useFeedLoadMore as Ve } from "./composables/useFeedLoadMore.js";
14
+ import { useFeedMessageVisibility as $e } from "./composables/useFeedMessageVisibility.js";
15
+ import { useFeedReply as qe } from "./composables/useFeedReply.js";
16
+ import { useFeedScroll as Pe } from "./composables/useFeedScroll.js";
17
+ import { useFeedScrollTo as ze } from "./composables/useFeedScrollTo.js";
18
+ import { useStickyDate as We } from "./composables/useStickyDate.js";
19
+ import { throttle as Ge } from "./functions/throttle.js";
20
+ import { getDefaultMessageMenuActions as He } from "./utils/getDefaultMessageMenuActions.js";
21
+ import Je from "./assets/chat-background.svg.js";
22
+ const Qe = { class: "message-feed-wrapper" }, Xe = ["id"], Ye = { class: "message-feed__loading" }, Ze = ["id", "data-timestamp", "onDblclick"], _e = { style: { margin: "auto" } }, et = {
21
23
  key: 0,
22
24
  class: "message-feed__unread-amount"
23
- }, bt = /* @__PURE__ */ be({
25
+ }, St = /* @__PURE__ */ ve({
24
26
  __name: "Feed",
25
27
  props: {
26
28
  objects: {
@@ -108,6 +110,14 @@ const Ge = { class: "message-feed-wrapper" }, He = ["id"], Je = { class: "messag
108
110
  type: Function,
109
111
  required: !1,
110
112
  default: void 0
113
+ },
114
+ /**
115
+ * Пункты контекстного меню сообщений (с иконками).
116
+ * По умолчанию: Ответить, Редактировать, разделитель, Удалить (красный).
117
+ */
118
+ messageMenuActions: {
119
+ type: Array,
120
+ default: () => He()
111
121
  }
112
122
  },
113
123
  emits: [
@@ -123,256 +133,270 @@ const Ge = { class: "message-feed-wrapper" }, He = ["id"], Je = { class: "messag
123
133
  "delimiterRead"
124
134
  ],
125
135
  setup(e, { emit: N }) {
126
- const a = e, b = k(), l = k(), M = k(), {
136
+ const a = e, k = v(), l = v(), I = v(), {
127
137
  isShowButton: V,
128
138
  isKeyboardPlace: $,
129
139
  checkButtonVisibility: q
130
- } = Ke({
140
+ } = Le({
131
141
  feedRef: l,
132
- keyboardRef: M
133
- }), { componentsMap: P } = xe(), z = i(() => a.reactionsEnabled), E = i(() => a.reactionsMode), I = i(() => a.currentUserId), R = i(() => a.reactionUserNames);
134
- j("currentUserId", I), j("reactionUserNames", R);
135
- const { groupedObjects: W } = Le({
142
+ keyboardRef: I
143
+ }), { componentsMap: P } = Ue(), z = i(() => a.reactionsEnabled), W = i(() => a.reactionsMode), A = i(() => a.currentUserId), B = i(() => a.reactionUserNames);
144
+ h("currentUserId", A), h("reactionUserNames", B), h(
145
+ "messageMenuActions",
146
+ i(() => a.messageMenuActions)
147
+ );
148
+ const { groupedObjects: G } = Ee({
136
149
  objects: i(() => a.objects)
137
- }), y = K("chatAppId"), B = K("selectedChat", void 0), T = i(() => {
138
- if (B)
139
- return s(B);
150
+ }), y = K("chatAppId"), T = K("selectedChat", void 0), C = i(() => {
151
+ if (T)
152
+ return t(T);
140
153
  });
141
- function G(o) {
142
- return o.timestamp;
154
+ function H(s) {
155
+ return s.timestamp;
143
156
  }
144
- function H(o) {
145
- var m;
146
- const n = o;
147
- if (!n.dialogId || !((m = T.value) != null && m.dialogs))
157
+ function J(s) {
158
+ var f;
159
+ const n = s;
160
+ if (!n.dialogId || !((f = C.value) != null && f.dialogs))
148
161
  return;
149
- const t = T.value.dialogs.find((p) => p.dialogId === n.dialogId);
150
- return t == null ? void 0 : t.channelId;
162
+ const o = C.value.dialogs.find((b) => b.dialogId === n.dialogId);
163
+ return o == null ? void 0 : o.channelId;
151
164
  }
152
- function J(o) {
153
- return o.type === "message.call" && typeof a.callMessageOnCallback == "function" ? { onCall: a.callMessageOnCallback } : {};
165
+ function Q(s) {
166
+ return s.type === "message.call" && typeof a.callMessageOnCallback == "function" ? { onCall: a.callMessageOnCallback } : {};
154
167
  }
155
- const d = N, {
156
- checkScrollPosition: Q,
157
- startScrollWatch: A,
158
- stopScrollWatch: C,
159
- resetAllowFlags: X
160
- } = Ne({
168
+ const c = N, {
169
+ checkScrollPosition: X,
170
+ startScrollWatch: F,
171
+ stopScrollWatch: D,
172
+ resetAllowFlags: Y
173
+ } = Ve({
161
174
  feedRef: l,
162
- emit: d,
175
+ emit: c,
163
176
  isLoadingMoreRef: i(() => a.isLoadingMore)
164
177
  }), {
165
- getMessage: F,
166
- messageAction: Y,
167
- handleClickReplied: Z,
168
- feedObjectDoubleClick: _,
169
- handleResetReply: ee
170
- } = $e({
178
+ getMessage: p,
179
+ messageAction: Z,
180
+ handleClickReplied: _,
181
+ feedObjectDoubleClick: ee,
182
+ handleResetReply: te,
183
+ handleResetEdit: oe
184
+ } = qe({
171
185
  enableDoubleClickReply: a.enableDoubleClickReply,
172
- emit: d
186
+ emit: c
173
187
  });
174
- function te(o) {
175
- d("smsInvite", o);
188
+ function se(s) {
189
+ c("smsInvite", s);
176
190
  }
177
- function oe(o) {
178
- d("delimiterRead", o);
191
+ function ae(s) {
192
+ c("delimiterRead", s);
179
193
  }
180
194
  const {
181
- showKeyboard: se,
182
- keyboardAction: ae,
183
- feedKeyboardAction: ne
184
- } = Ue({
195
+ showKeyboard: ne,
196
+ keyboardAction: re,
197
+ feedKeyboardAction: ie
198
+ } = Ne({
185
199
  isKeyboardPlace: $,
186
200
  objects: i(() => a.objects),
187
- emit: d
201
+ emit: c
188
202
  }), {
189
- showStickyDate: re,
190
- stickyDateText: ie,
191
- show: le
192
- } = ze({
203
+ showStickyDate: le,
204
+ stickyDateText: de,
205
+ show: ce
206
+ } = We({
193
207
  feedRef: l,
194
- trackingObjects: b
208
+ trackingObjects: k
195
209
  }), {
196
- isInitialized: de,
197
- performScrollToBottom: ce,
198
- ensureScrollToBottom: D,
199
- initializeScroll: ue,
200
- smoothScrollToBottom: me
201
- } = qe({
210
+ isInitialized: ue,
211
+ performScrollToBottom: me,
212
+ ensureScrollToBottom: w,
213
+ initializeScroll: fe,
214
+ smoothScrollToBottom: ge
215
+ } = Pe({
202
216
  feedRef: l,
203
217
  objectsRef: i(() => a.objects),
204
218
  scrollToBottomRef: i(() => a.scrollToBottom)
205
- }), w = i(() => a.chatBackground ?? `data:image/svg+xml;charset=utf-8,${encodeURIComponent(We)}`);
206
- function O(o = !0) {
207
- q(), Q(o), le();
219
+ }), O = i(() => a.chatBackground ?? `data:image/svg+xml;charset=utf-8,${encodeURIComponent(Je)}`);
220
+ function j(s = !0) {
221
+ q(), X(s), ce();
208
222
  }
209
- const fe = Ee(() => O(), 250);
210
- function ge() {
211
- d("forceScrollToBottom"), me();
223
+ const ye = Ge(() => j(), 250);
224
+ function pe() {
225
+ c("forceScrollToBottom"), ge();
212
226
  }
213
- function ye(o) {
227
+ function be(s) {
214
228
  const n = a.objects;
215
- if (o.startsWith("mid-")) {
216
- const t = parseInt(o.slice(4), 10);
217
- return n[t];
229
+ if (s.startsWith("mid-")) {
230
+ const o = parseInt(s.slice(4), 10);
231
+ return n[o];
218
232
  }
219
- return n.find((t) => t.messageId === o);
233
+ return n.find((o) => o.messageId === s);
220
234
  }
221
- const { restartObserving: pe } = Ve({
222
- trackingObjects: b,
235
+ const { restartObserving: ke } = $e({
236
+ trackingObjects: k,
223
237
  chatAppId: y,
224
- getMessageById: ye,
225
- onMessageVisible: (o) => d("messageVisible", o)
238
+ getMessageById: be,
239
+ onMessageVisible: (s) => c("messageVisible", s)
226
240
  });
227
- return ke(
241
+ return he(
228
242
  () => a.objects,
229
243
  () => {
230
244
  x(() => {
231
245
  requestAnimationFrame(() => {
232
- X(), O(!1), b.value = document.querySelectorAll(".tracking-message"), pe();
246
+ Y(), j(!1), k.value = document.querySelectorAll(".tracking-message"), ke();
233
247
  });
234
248
  });
235
249
  },
236
250
  { immediate: !0 }
237
- ), Pe({
251
+ ), ze({
238
252
  targetIdRef: i(() => a.scrollTo),
239
253
  feedContainerId: `feed-container-${y}`
240
- }), ve(() => {
254
+ }), Me(() => {
241
255
  x(() => {
242
- a.objects.length > 0 && !de.value && ue();
243
- const o = new ResizeObserver(() => {
244
- a.scrollToBottom && (ce(), setTimeout(() => {
245
- D();
256
+ a.objects.length > 0 && !ue.value && fe();
257
+ const s = new ResizeObserver(() => {
258
+ a.scrollToBottom && (me(), setTimeout(() => {
259
+ w();
246
260
  }, 200), setTimeout(() => {
247
- D();
261
+ w();
248
262
  }, 800));
249
263
  });
250
- l.value && o.observe(l.value);
264
+ l.value && s.observe(l.value);
251
265
  });
252
- }), (o, n) => (r(), c("div", Ge, [
253
- e.objects.length > 0 || e.typing ? (r(), c("div", {
266
+ }), (s, n) => (r(), u("div", Qe, [
267
+ e.objects.length > 0 || e.typing ? (r(), u("div", {
254
268
  key: 0,
255
- id: "feed-container-" + s(y),
269
+ id: "feed-container-" + t(y),
256
270
  ref_key: "refFeed",
257
271
  ref: l,
258
272
  class: "message-feed",
259
- style: L({ backgroundImage: `url(${w.value})` }),
260
- onScroll: n[0] || (n[0] = (t) => s(fe)()),
273
+ style: L({ backgroundImage: `url(${O.value})` }),
274
+ onScroll: n[0] || (n[0] = (o) => t(ye)()),
261
275
  onMousedown: n[1] || (n[1] = //@ts-ignore
262
- (...t) => s(A) && s(A)(...t)),
276
+ (...o) => t(F) && t(F)(...o)),
263
277
  onMouseup: n[2] || (n[2] = //@ts-ignore
264
- (...t) => s(C) && s(C)(...t))
278
+ (...o) => t(D) && t(D)(...o))
265
279
  }, [
266
- U(o.$slots, "prepend", {}, void 0, !0),
267
- he(v("div", Je, [
268
- g(je, {
280
+ U(s.$slots, "prepend", {}, void 0, !0),
281
+ Se(M("div", Ye, [
282
+ g(xe, {
269
283
  "is-loading": e.isLoadingMore,
270
284
  size: "small",
271
285
  position: "top"
272
286
  }, null, 8, ["is-loading"])
273
287
  ], 512), [
274
- [Se, e.isLoadingMore]
288
+ [Re, e.isLoadingMore]
275
289
  ]),
276
- g(h, null, {
277
- default: S(() => [
278
- s(re) && !e.isLoadingMore ? (r(), f(Ce, {
290
+ g(S, null, {
291
+ default: R(() => [
292
+ t(le) && !e.isLoadingMore ? (r(), m(Fe, {
279
293
  key: 0,
280
294
  class: "message-feed__sticky-date",
281
- text: s(ie)
282
- }, null, 8, ["text"])) : u("", !0)
295
+ text: t(de)
296
+ }, null, 8, ["text"])) : d("", !0)
283
297
  ]),
284
298
  _: 1
285
299
  }),
286
- (r(!0), c(Me, null, Ie(s(W), (t, m) => (r(), c("div", {
287
- id: "msg-" + (t.messageId ?? "mid-" + m),
288
- key: t.messageId ?? "mid-" + m,
289
- "data-timestamp": G(t),
300
+ (r(!0), u(Ie, null, Ae(t(G), (o, f) => (r(), u("div", {
301
+ id: "msg-" + (o.messageId ?? "mid-" + f),
302
+ key: o.messageId ?? "mid-" + f,
303
+ "data-timestamp": H(o),
290
304
  class: "tracking-message",
291
- onDblclick: (p) => s(_)(p, t)
305
+ onDblclick: (b) => t(ee)(b, o)
292
306
  }, [
293
- (r(), f(Re(s(P)(t.type)), Be({
294
- key: t.messageId ?? "mid-" + m,
307
+ (r(), m(Be(t(P)(o)), Te({
308
+ key: o.messageId ?? "mid-" + f,
295
309
  class: "message-feed__message",
296
- message: t,
310
+ message: o,
297
311
  "apply-style": e.applyStyle,
298
- "is-first-in-series": t.isFirstInSeries,
312
+ "is-first-in-series": o.isFirstInSeries,
299
313
  "reactions-enabled": z.value,
300
- "reactions-mode": E.value,
301
- "current-user-id": I.value,
302
- "reaction-user-names": R.value,
314
+ "reactions-mode": W.value,
315
+ "current-user-id": A.value,
316
+ "reaction-user-names": B.value,
303
317
  "subtext-tooltip-data": e.subtextTooltipData,
304
- channel: H(t)
305
- }, { ref_for: !0 }, J(t), {
306
- onAction: s(Y),
307
- onReply: s(Z),
308
- onSmsInvite: (p) => te(t),
309
- onRead: oe
318
+ channel: J(o)
319
+ }, { ref_for: !0 }, Q(o), {
320
+ onAction: t(Z),
321
+ onReply: t(_),
322
+ onSmsInvite: (b) => se(o),
323
+ onRead: ae
310
324
  }), null, 16, ["message", "apply-style", "is-first-in-series", "reactions-enabled", "reactions-mode", "current-user-id", "reaction-user-names", "subtext-tooltip-data", "channel", "onAction", "onReply", "onSmsInvite"]))
311
- ], 40, Qe))), 128)),
312
- e.typing ? (r(), f(Oe, {
325
+ ], 40, Ze))), 128)),
326
+ e.typing ? (r(), m(Ke, {
313
327
  key: 0,
314
328
  message: {
315
329
  subText: e.typing.title,
316
330
  avatar: e.typing.avatar
317
331
  }
318
- }, null, 8, ["message"])) : u("", !0),
319
- g(h, null, {
320
- default: S(() => [
321
- s(se) ? (r(), f(De, {
332
+ }, null, 8, ["message"])) : d("", !0),
333
+ g(S, null, {
334
+ default: R(() => [
335
+ t(ne) ? (r(), m(Oe, {
322
336
  key: 0,
323
337
  ref_key: "keyboardRef",
324
- ref: M,
338
+ ref: I,
325
339
  class: "message-feed__keyboard",
326
340
  keyboard: e.objects[e.objects.length - 1].keyboard,
327
341
  align: e.keyboardAlign,
328
- onAction: s(ae)
329
- }, null, 8, ["keyboard", "align", "onAction"])) : u("", !0)
342
+ onAction: t(re)
343
+ }, null, 8, ["keyboard", "align", "onAction"])) : d("", !0)
330
344
  ]),
331
345
  _: 1
332
346
  }),
333
- e.feedKeyboards && e.feedKeyboards.length > 0 ? (r(), f(we, {
347
+ e.feedKeyboards && e.feedKeyboards.length > 0 ? (r(), m(je, {
334
348
  key: 1,
335
349
  buttons: e.feedKeyboards,
336
350
  align: e.feedKeyboardAlign,
337
- onAction: s(ne)
338
- }, null, 8, ["buttons", "align", "onAction"])) : u("", !0)
339
- ], 44, He)) : (r(), c("div", {
351
+ onAction: t(ie)
352
+ }, null, 8, ["buttons", "align", "onAction"])) : d("", !0)
353
+ ], 44, Xe)) : (r(), u("div", {
340
354
  key: 1,
341
355
  ref_key: "refFeed",
342
356
  ref: l,
343
357
  class: "message-feed",
344
- style: L({ backgroundImage: `url(${w.value})` })
358
+ style: L({ backgroundImage: `url(${O.value})` })
345
359
  }, [
346
- v("div", Xe, [
347
- U(o.$slots, "empty-feed", {}, void 0, !0)
360
+ M("div", _e, [
361
+ U(s.$slots, "empty-feed", {}, void 0, !0)
348
362
  ])
349
363
  ], 4)),
350
- g(h, null, {
351
- default: S(() => [
352
- s(V) ? (r(), c("button", {
364
+ g(S, null, {
365
+ default: R(() => [
366
+ t(V) ? (r(), u("button", {
353
367
  key: 0,
354
368
  class: "message-feed__button-down",
355
- onClick: ge
369
+ onClick: pe
356
370
  }, [
357
- e.buttonParams ? (r(), c("div", Ye, Te(e.buttonParams.unreadAmount), 1)) : u("", !0),
358
- n[3] || (n[3] = v("span", { class: "pi pi-angle-down message-feed__icon-down" }, null, -1))
359
- ])) : u("", !0)
371
+ e.buttonParams ? (r(), u("div", et, Ce(e.buttonParams.unreadAmount), 1)) : d("", !0),
372
+ n[3] || (n[3] = M("span", { class: "pi pi-angle-down message-feed__icon-down" }, null, -1))
373
+ ])) : d("", !0)
360
374
  ]),
361
375
  _: 1
362
376
  }),
363
- s(F)().reply ? (r(), f(Ae, {
377
+ t(p)().reply ? (r(), m(E, {
364
378
  key: 2,
365
- to: "#chat-input-reply-line-" + s(y)
379
+ to: "#chat-input-reply-line-" + t(y)
380
+ }, [
381
+ g(De, {
382
+ class: "chat-input-reply",
383
+ message: t(p)().reply,
384
+ onReset: t(te)
385
+ }, null, 8, ["message", "onReset"])
386
+ ], 8, ["to"])) : d("", !0),
387
+ t(p)().edit ? (r(), m(E, {
388
+ key: 3,
389
+ to: "#chat-input-reply-line-" + t(y)
366
390
  }, [
367
- g(Fe, {
391
+ g(we, {
368
392
  class: "chat-input-reply",
369
- message: s(F)().reply,
370
- onReset: s(ee)
393
+ message: t(p)().edit,
394
+ onReset: t(oe)
371
395
  }, null, 8, ["message", "onReset"])
372
- ], 8, ["to"])) : u("", !0)
396
+ ], 8, ["to"])) : d("", !0)
373
397
  ]));
374
398
  }
375
399
  });
376
400
  export {
377
- bt as default
401
+ St as default
378
402
  };
@@ -1,33 +1,48 @@
1
- import s from "../../../2_feed_elements/AudioMessage/AudioMessage.vue.js";
2
- import m from "../../../2_feed_elements/CallMessage/CallMessage.vue.js";
3
- import o from "../../../2_feed_elements/FileMessage/FileMessage.vue.js";
1
+ import t from "../../../2_feed_elements/AudioMessage/AudioMessage.vue.js";
2
+ import o from "../../../2_feed_elements/CallMessage/CallMessage.vue.js";
3
+ import i from "../../../2_feed_elements/FileMessage/FileMessage.vue.js";
4
4
  import r from "../../../2_feed_elements/ImageMessage/ImageMessage.vue.js";
5
5
  import a from "../../../2_feed_elements/TextMessage/TextMessage.vue.js";
6
- import t from "../../../2_feed_elements/VideoMessage/VideoMessage.vue.js";
7
- import i from "../../../2_feed_elements/DateMessage/DateMessage.vue.js";
8
- import g from "../../../2_feed_elements/SystemMessage/SystemMessage.vue.js";
9
- import p from "../../../2_feed_elements/TypingMessage/TypingMessage.vue.js";
10
- import M from "../../../2_feed_elements/StickerMessage/StickerMessage.vue.js";
11
- import f from "../../../2_feed_elements/DelimiterMessage/DelimiterMessage.vue.js";
12
- import n from "../../../2_feed_elements/MissedCallMessage/MissedCallMessage.vue.js";
13
- function I() {
6
+ import g from "../../../2_feed_elements/VideoMessage/VideoMessage.vue.js";
7
+ import p from "../../../2_feed_elements/DateMessage/DateMessage.vue.js";
8
+ import n from "../../../2_feed_elements/SystemMessage/SystemMessage.vue.js";
9
+ import f from "../../../2_feed_elements/TypingMessage/TypingMessage.vue.js";
10
+ import l from "../../../2_feed_elements/StickerMessage/StickerMessage.vue.js";
11
+ import M from "../../../2_feed_elements/DelimiterMessage/DelimiterMessage.vue.js";
12
+ import d from "../../../2_feed_elements/MissedCallMessage/MissedCallMessage.vue.js";
13
+ const m = {
14
+ "message.text": a,
15
+ "message.image": r,
16
+ "message.file": i,
17
+ "message.audio": t,
18
+ "message.video": g,
19
+ "message.call": o,
20
+ "message.missedCall": d,
21
+ "message.sticker": l,
22
+ "message.system": n,
23
+ "system.date": p,
24
+ "message.typing": f,
25
+ "message.delimiter": M
26
+ }, c = /* @__PURE__ */ new Set([
27
+ "message.text",
28
+ "message.image",
29
+ "message.file",
30
+ "message.audio",
31
+ "message.video",
32
+ "message.call",
33
+ "message.missedCall",
34
+ "message.sticker"
35
+ ]);
36
+ function N() {
14
37
  return {
15
- componentsMap: (e) => ({
16
- "message.text": a,
17
- "message.image": r,
18
- "message.file": o,
19
- "message.audio": s,
20
- "message.video": t,
21
- "message.call": m,
22
- "message.missedCall": n,
23
- "message.sticker": M,
24
- "message.system": g,
25
- "system.date": i,
26
- "message.typing": p,
27
- "message.delimiter": f
28
- })[e]
38
+ componentsMap: (e) => {
39
+ if (typeof e == "string")
40
+ return m[e];
41
+ const s = e.type ?? "";
42
+ return e.deleted && c.has(s) ? a : m[s];
43
+ }
29
44
  };
30
45
  }
31
46
  export {
32
- I as useFeedComponents
47
+ N as useFeedComponents
33
48
  };
@@ -1,26 +1,28 @@
1
- import { inject as n } from "vue";
2
- import { useMessageDraft as o } from "../../../../hooks/useMessageDraft.js";
1
+ import { inject as m } from "vue";
2
+ import { useMessageDraft as c } from "../../../../hooks/useMessageDraft.js";
3
3
  import "../../../../hooks/useSearchModel.js";
4
4
  import "../../../../hooks/useTheme.js";
5
5
  import "../../../../hooks/useEmojiNative.js";
6
6
  /* empty css */
7
7
  /* empty css */
8
+ import "../../../../locale/useLocale.js";
9
+ /* empty css */
8
10
  import "../../../../node_modules/linkifyjs/dist/linkify.js";
9
11
  import "../../../../node_modules/linkify-string/dist/linkify-string.js";
10
12
  import "../../../../functions/parseMarkdown.js";
11
- import { useStartReply as m, hideReplyPreview as d } from "../../../../hooks/messages/useStartReply.js";
12
- function w({ enableDoubleClickReply: s, emit: p }) {
13
- const i = n("chatAppId"), { getMessage: r, resetReply: l } = o(i), { startReply: a } = m(i);
13
+ import { useStartReply as f, hideReplyPreview as p } from "../../../../hooks/messages/useStartReply.js";
14
+ function T({ enableDoubleClickReply: r, emit: s }) {
15
+ const i = m("chatAppId"), { getMessage: l, resetReply: a, resetEdit: n, setMessageText: o } = c(i), { startReply: d } = f(i);
14
16
  return {
15
- getMessage: r,
17
+ getMessage: l,
16
18
  messageAction: (t) => {
17
- p("messageAction", t);
19
+ s("messageAction", t);
18
20
  },
19
21
  handleClickReplied: (t) => {
20
- p("clickRepliedMessage", t);
22
+ s("clickRepliedMessage", t);
21
23
  },
22
24
  feedObjectDoubleClick: (t, e) => {
23
- s && (t == null || t.preventDefault(), e.type.indexOf("system") === -1 && e.type.indexOf("typing") === -1 && a({
25
+ r && (t == null || t.preventDefault(), e.type.indexOf("system") === -1 && e.type.indexOf("typing") === -1 && d({
24
26
  messageId: e.messageId,
25
27
  type: e.type,
26
28
  text: e.text,
@@ -31,10 +33,13 @@ function w({ enableDoubleClickReply: s, emit: p }) {
31
33
  }));
32
34
  },
33
35
  handleResetReply: () => {
34
- l(), d(i);
36
+ a(), p(i);
37
+ },
38
+ handleResetEdit: () => {
39
+ n(), o(""), p(i);
35
40
  }
36
41
  };
37
42
  }
38
43
  export {
39
- w as useFeedReply
44
+ T as useFeedReply
40
45
  };