@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,38 +1,46 @@
1
- import { defineComponent as de, inject as fe, ref as f, watch as W, nextTick as A, onMounted as ve, onUnmounted as be, computed as k, createElementBlock as u, openBlock as i, normalizeStyle as $, normalizeClass as v, unref as t, createCommentVNode as n, createElementVNode as l, createBlock as b, createVNode as g, withCtx as d, createTextVNode as ye, toDisplayString as L, Transition as x, withModifiers as P, Teleport as he } from "vue";
2
- import we from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
3
- import pe from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
4
- import ke from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
5
- import xe from "../BaseReplyMessage/BaseReplyMessage.vue.js";
6
- import Re from "../../2_modals/ModalFullscreen/ModalFullscreen.vue.js";
7
- import Me from "../MessageReactions/MessageReactions.vue.js";
8
- import Se from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
9
- import Ce from "../MessageSmsInvite/MessageSmsInvite.vue.js";
10
- import Ie from "../../1_atoms/Tooltip/Tooltip.vue.js";
11
- import { useMessageActions as Te } from "../../../hooks/messages/useMessageActions.js";
12
- import { useMessageLinks as je } from "../../../hooks/messages/useMessageLinks.js";
13
- import { useChannelAccentColor as Ae } from "../../../hooks/messages/useChannelAccentColor.js";
14
- import { useSubtextTooltip as Le } from "../../../hooks/messages/useSubtextTooltip.js";
1
+ import { defineComponent as Ie, inject as Ae, ref as b, watch as J, nextTick as E, onMounted as Le, onUnmounted as je, computed as p, createElementBlock as m, openBlock as a, normalizeStyle as O, normalizeClass as y, unref as s, createCommentVNode as i, createElementVNode as l, createBlock as f, createVNode as r, withCtx as v, createTextVNode as Ee, toDisplayString as C, Fragment as K, Transition as x, withModifiers as Q, Teleport as X } from "vue";
2
+ import Oe from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
3
+ import Be from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
4
+ import Ue from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
5
+ import ze from "../BaseReplyMessage/BaseReplyMessage.vue.js";
6
+ import Fe from "../../2_modals/ModalFullscreen/ModalFullscreen.vue.js";
7
+ import Ne from "../MessageReactions/MessageReactions.vue.js";
8
+ import Y from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
9
+ import Ve from "../MessageSmsInvite/MessageSmsInvite.vue.js";
10
+ import He from "../DeletedMessageContent/DeletedMessageContent.vue.js";
11
+ import We from "../../1_atoms/Tooltip/Tooltip.vue.js";
12
+ import { useMessageActions as De } from "../../../hooks/messages/useMessageActions.js";
13
+ import { useMessageMenuActions as Pe } from "../../../hooks/messages/useMessageMenuActions.js";
14
+ import { useMessageLinks as $e } from "../../../hooks/messages/useMessageLinks.js";
15
+ import { useChannelAccentColor as qe } from "../../../hooks/messages/useChannelAccentColor.js";
16
+ import { useSubtextTooltip as Ge } from "../../../hooks/messages/useSubtextTooltip.js";
17
+ import { useStartReply as Je } from "../../../hooks/messages/useStartReply.js";
15
18
  import "../../../hooks/useMessageDraft.js";
16
19
  import "../../../hooks/useSearchModel.js";
17
- import { useTheme as Ee } from "../../../hooks/useTheme.js";
20
+ import { useTheme as Ke } from "../../../hooks/useTheme.js";
18
21
  import "../../../hooks/useEmojiNative.js";
19
22
  /* empty css */
20
23
  /* empty css */
21
- import { buildReplyPayload as Oe } from "../../../hooks/messages/buildReplyPayload.js";
22
- import { getStatus as Be, getStatusTitle as Ue } from "../../../functions/getStatusMessage.js";
23
- import { getMessageClass as ze } from "../../../functions/getMessageClass.js";
24
- import { createReactionHandlers as Ne } from "../../../functions/createReactionHandlers.js";
24
+ import "../../../locale/useLocale.js";
25
+ /* empty css */
26
+ import { buildReplyPayload as Z } from "../../../hooks/messages/buildReplyPayload.js";
27
+ import { getStatus as Qe, getStatusTitle as Xe } from "../../../functions/getStatusMessage.js";
28
+ import { getMessageClass as Ye } from "../../../functions/getMessageClass.js";
29
+ import { createReactionHandlers as Ze } from "../../../functions/createReactionHandlers.js";
25
30
  import "../../../functions/parseMarkdown.js";
26
- const Fe = ["messageId"], Ve = ["src"], He = {
31
+ const _e = ["messageId"], es = ["src"], ss = {
27
32
  key: 1,
28
33
  class: "image-message__subtext"
29
- }, We = {
34
+ }, ts = { class: "image-message__info-container" }, as = {
35
+ key: 0,
36
+ class: "image-message__time"
37
+ }, ns = {
30
38
  key: 0,
31
39
  class: "image-message__blur-wrapper"
32
- }, $e = ["src", "alt"], Pe = ["src", "alt"], De = ["src", "alt"], qe = {
40
+ }, is = ["src", "alt"], ls = ["src", "alt"], ms = ["src", "alt"], os = {
33
41
  key: 0,
34
42
  class: "image-message__info-container"
35
- }, Ge = { class: "image-message__time" }, Je = ["innerHTML"], Ke = ["src", "alt"], ps = /* @__PURE__ */ de({
43
+ }, us = { class: "image-message__time" }, rs = ["innerHTML"], gs = ["src", "alt"], Ds = /* @__PURE__ */ Ie({
36
44
  __name: "ImageMessage",
37
45
  props: {
38
46
  message: {
@@ -76,65 +84,77 @@ const Fe = ["messageId"], Ve = ["src"], He = {
76
84
  }
77
85
  },
78
86
  emits: ["action", "reply", "sms-invite"],
79
- setup(e, { emit: D }) {
80
- const q = fe("chatAppId"), { getTheme: E } = Ee(q), s = e, S = D, C = f(!1), {
81
- isOpenMenu: I,
82
- buttonMenuVisible: G,
83
- showMenu: J,
84
- hideMenu: K,
85
- clickAction: Q,
86
- viewsAction: O,
87
- handleClickReplied: X
88
- } = Te(s.message, S), R = f(!1), { linkedHtml: B, inNewWindow: U } = je(() => s.message.text), c = f(null), r = f(null), y = f(0), T = f(0);
89
- W(
90
- () => B.value,
87
+ setup(e, { emit: _ }) {
88
+ const B = Ae("chatAppId"), { getTheme: U } = Ke(B || ""), { menuActions: R } = Pe(() => t.message), { startReply: ee } = Je(B || ""), t = e, T = _, I = b(!1), {
89
+ isOpenMenu: se,
90
+ buttonMenuVisible: z,
91
+ menuAnchorRef: te,
92
+ menuRef: ae,
93
+ menuStyle: ne,
94
+ menuTheme: ie,
95
+ showMenu: le,
96
+ hideMenu: me,
97
+ openMenu: oe,
98
+ toggleMenu: F,
99
+ onMenuMouseEnter: ue,
100
+ onMenuMouseLeave: re,
101
+ clickAction: ge,
102
+ viewsAction: N,
103
+ handleClickReplied: ce
104
+ } = De(t.message, T, {
105
+ onReply: () => ee(Z(t.message, "message.image"))
106
+ }), h = b(!1), { linkedHtml: V, inNewWindow: H } = $e(() => t.message.text), c = b(null), g = b(null), M = b(0), A = b(0);
107
+ J(
108
+ () => V.value,
91
109
  () => {
92
- h(), A(() => {
93
- o && r.value && o.observe(r.value);
110
+ w(), E(() => {
111
+ o && g.value && o.observe(g.value);
94
112
  });
95
113
  }
96
114
  );
97
- const h = () => {
98
- A(() => {
99
- c.value && (y.value = c.value.offsetWidth), r.value && (T.value = r.value.offsetWidth);
115
+ const w = () => {
116
+ E(() => {
117
+ c.value && (M.value = c.value.offsetWidth), g.value && (A.value = g.value.offsetWidth);
100
118
  });
101
119
  };
102
- let o = null, M = null;
103
- ve(() => {
104
- h(), M = () => h(), window.addEventListener("resize", M), typeof ResizeObserver < "u" && (o = new ResizeObserver(() => {
105
- h();
106
- }), c.value && o.observe(c.value), r.value && o.observe(r.value));
107
- }), be(() => {
108
- M && window.removeEventListener("resize", M), o && o.disconnect();
109
- }), W(
110
- () => [s.message.text, s.message.url],
120
+ let o = null, S = null;
121
+ Le(() => {
122
+ w(), S = () => w(), window.addEventListener("resize", S), typeof ResizeObserver < "u" && (o = new ResizeObserver(() => {
123
+ w();
124
+ }), c.value && o.observe(c.value), g.value && o.observe(g.value));
125
+ }), je(() => {
126
+ S && window.removeEventListener("resize", S), o && o.disconnect();
127
+ }), J(
128
+ () => [t.message.text, t.message.url],
111
129
  () => {
112
- h(), A(() => {
113
- o && (o.disconnect(), c.value && o.observe(c.value), r.value && o.observe(r.value));
130
+ w(), E(() => {
131
+ o && (o.disconnect(), c.value && o.observe(c.value), g.value && o.observe(g.value));
114
132
  });
115
133
  },
116
134
  { immediate: !0 }
117
135
  );
118
- const z = k(() => s.message.text && T.value > y.value && y.value > 0), Y = () => {
119
- J(), R.value = !0;
120
- }, N = () => {
121
- K(), R.value = !1;
122
- }, Z = k(() => s.message.reply && s.message.text ? "0" : s.message.text ? T.value > y.value && y.value > 0 ? "0" : "8px 8px 0 0" : s.message.reply ? "0 0 8px 8px" : "8px"), _ = k(() => Be(s.message.status)), ee = k(() => Ue(s.message.status, s.message.statusMsg)), { bubbleStyle: se } = Ae(
123
- k(() => s.message),
136
+ const W = p(() => t.message.text && A.value > M.value && M.value > 0), de = () => {
137
+ le(), h.value = !0;
138
+ }, D = (d) => {
139
+ me(d), z.value || (h.value = !1);
140
+ }, fe = () => {
141
+ re(), h.value = !1;
142
+ }, ve = p(() => t.message.reply && t.message.text ? "0" : t.message.text ? A.value > M.value && M.value > 0 ? "0" : "8px 8px 0 0" : t.message.reply ? "0 0 8px 8px" : "8px"), P = p(() => Qe(t.message.status)), $ = p(() => Xe(t.message.status, t.message.statusMsg)), { bubbleStyle: be } = qe(
143
+ p(() => t.message),
124
144
  { cssVariable: "--chotto-imagemessage-right-bg", position: "right" }
125
145
  );
126
- function F(w) {
127
- return ze(w.position, "image-message");
146
+ function L(d) {
147
+ return Ye(d.position, "image-message");
128
148
  }
129
- const te = () => C.value = !1, ae = async () => {
130
- var w, a;
131
- if (s.message.url)
149
+ const ye = () => I.value = !1, he = async () => {
150
+ var d, n;
151
+ if (t.message.url)
132
152
  try {
133
- const m = await fetch(s.message.url, {
153
+ const u = await fetch(t.message.url, {
134
154
  headers: {
135
155
  Accept: "image/*"
136
156
  }
137
- }), re = m.headers.get("content-type") || "", ue = await m.blob(), j = ((a = (w = s.message.url.split(".").pop()) == null ? void 0 : w.split("?")[0]) == null ? void 0 : a.toLowerCase()) || "", ge = {
157
+ }), Re = u.headers.get("content-type") || "", Se = await u.blob(), j = ((n = (d = t.message.url.split(".").pop()) == null ? void 0 : d.split("?")[0]) == null ? void 0 : n.toLowerCase()) || "", Ce = {
138
158
  "image/jpeg": "jpg",
139
159
  "image/jpg": "jpg",
140
160
  "image/png": "png",
@@ -143,209 +163,236 @@ const Fe = ["messageId"], Ve = ["src"], He = {
143
163
  "image/svg+xml": "svg",
144
164
  "image/bmp": "bmp"
145
165
  };
146
- let V = j && ["jpg", "jpeg", "png", "gif", "webp", "svg", "bmp"].includes(j) ? j : ge[re] || "jpg";
147
- const ce = s.message.alt ? s.message.alt.includes(".") ? s.message.alt : `${s.message.alt}.${V}` : `image-${s.message.messageId}.${V}`, H = window.URL.createObjectURL(ue), p = document.createElement("a");
148
- p.href = H, p.download = ce, document.body.appendChild(p), p.click(), document.body.removeChild(p), window.URL.revokeObjectURL(H);
149
- } catch (m) {
150
- console.error("Ошибка при скачивании изображения:", m);
166
+ let q = j && ["jpg", "jpeg", "png", "gif", "webp", "svg", "bmp"].includes(j) ? j : Ce[Re] || "jpg";
167
+ const Te = t.message.alt ? t.message.alt.includes(".") ? t.message.alt : `${t.message.alt}.${q}` : `image-${t.message.messageId}.${q}`, G = window.URL.createObjectURL(Se), k = document.createElement("a");
168
+ k.href = G, k.download = Te, document.body.appendChild(k), k.click(), document.body.removeChild(k), window.URL.revokeObjectURL(G);
169
+ } catch (u) {
170
+ console.error("Ошибка при скачивании изображения:", u);
151
171
  }
152
- }, { onToggleReaction: ie, onAddReaction: ne, onRemoveReaction: le } = Ne(S), oe = Le(() => s.message, () => s.subtextTooltipData);
153
- function me() {
154
- S("sms-invite", s.message);
172
+ }, { onToggleReaction: Me, onAddReaction: we, onRemoveReaction: ke } = Ze(T), pe = Ge(() => t.message, () => t.subtextTooltipData);
173
+ function xe() {
174
+ T("sms-invite", t.message);
155
175
  }
156
- return (w, a) => (i(), u("div", {
157
- class: v(["image-message", [
158
- F(e.message),
176
+ return (d, n) => (a(), m("div", {
177
+ ref_key: "menuAnchorRef",
178
+ ref: te,
179
+ class: y(["image-message", [
180
+ L(e.message),
159
181
  e.applyStyle(e.message)
160
182
  ]]),
161
183
  messageId: e.message.messageId,
162
- style: $(t(se)),
163
- onMouseleave: N
184
+ style: O(s(be)),
185
+ onMouseleave: D
164
186
  }, [
165
- e.message.avatar && e.isFirstInSeries ? (i(), u("img", {
187
+ e.message.avatar && e.isFirstInSeries ? (a(), m("img", {
166
188
  key: 0,
167
189
  class: "image-message__avatar",
168
190
  src: e.message.avatar,
169
191
  height: "32",
170
192
  width: "32"
171
- }, null, 8, Ve)) : n("", !0),
172
- e.message.subText && e.isFirstInSeries ? (i(), u("p", He, [
173
- g(Ie, {
174
- text: t(oe),
193
+ }, null, 8, es)) : i("", !0),
194
+ e.message.subText && e.isFirstInSeries ? (a(), m("p", ss, [
195
+ r(We, {
196
+ text: s(pe),
175
197
  position: e.message.position === "left" ? "right" : "left",
176
198
  offset: 8
177
199
  }, {
178
- default: d(() => [
179
- ye(L(e.message.subText), 1)
200
+ default: v(() => [
201
+ Ee(C(e.message.subText), 1)
180
202
  ]),
181
203
  _: 1
182
204
  }, 8, ["text", "position"])
183
- ])) : n("", !0),
205
+ ])) : i("", !0),
184
206
  l("div", {
185
- class: v(["image-message__content", { "is-first": e.isFirstInSeries, "with-avatar-indent": !e.isFirstInSeries && e.message.avatar }])
207
+ class: y(["image-message__content", { "is-first": e.isFirstInSeries, "with-avatar-indent": !e.isFirstInSeries && e.message.avatar }])
186
208
  }, [
187
- e.message.reply ? (i(), b(xe, {
188
- key: 0,
189
- style: { margin: "10px 10px 4px 16px" },
190
- class: v(e.message.position),
191
- message: e.message.reply,
192
- onReply: t(X)
193
- }, null, 8, ["class", "message", "onReply"])) : n("", !0),
194
- l("div", {
195
- class: v(["image-message__preview-button", { "image-message__preview-button--blur-edges": z.value }]),
196
- onClick: a[1] || (a[1] = (m) => C.value = !0),
197
- onMouseenter: Y,
198
- onMouseleave: N
199
- }, [
200
- z.value ? (i(), u("div", We, [
201
- l("img", {
202
- class: "image-message__blur-left",
203
- src: e.message.url,
204
- alt: e.message.alt
205
- }, null, 8, $e),
209
+ e.message.deleted ? (a(), m(K, { key: 0 }, [
210
+ r(He),
211
+ l("div", ts, [
212
+ e.message.time ? (a(), m("span", as, C(e.message.time), 1)) : i("", !0),
213
+ r(Y, {
214
+ "base-class": "image-message",
215
+ "message-class": L(e.message),
216
+ "message-status": e.message.status,
217
+ "status-class": P.value,
218
+ "status-title": $.value
219
+ }, null, 8, ["message-class", "message-status", "status-class", "status-title"])
220
+ ])
221
+ ], 64)) : (a(), m(K, { key: 1 }, [
222
+ e.message.reply ? (a(), f(ze, {
223
+ key: 0,
224
+ style: { margin: "10px 10px 4px 16px" },
225
+ class: y(e.message.position),
226
+ message: e.message.reply,
227
+ onReply: s(ce)
228
+ }, null, 8, ["class", "message", "onReply"])) : i("", !0),
229
+ l("div", {
230
+ class: y(["image-message__preview-button", { "image-message__preview-button--blur-edges": W.value }]),
231
+ onClick: n[1] || (n[1] = (u) => I.value = !0),
232
+ onMouseenter: de,
233
+ onMouseleave: D
234
+ }, [
235
+ W.value ? (a(), m("div", ns, [
236
+ l("img", {
237
+ class: "image-message__blur-left",
238
+ src: e.message.url,
239
+ alt: e.message.alt
240
+ }, null, 8, is),
241
+ l("img", {
242
+ class: "image-message__blur-right",
243
+ src: e.message.url,
244
+ alt: e.message.alt
245
+ }, null, 8, ls)
246
+ ])) : i("", !0),
206
247
  l("img", {
207
- class: "image-message__blur-right",
248
+ ref_key: "imageRef",
249
+ ref: c,
250
+ class: "image-message__preview-image",
251
+ style: O({ borderRadius: ve.value }),
208
252
  src: e.message.url,
209
253
  alt: e.message.alt
210
- }, null, 8, Pe)
211
- ])) : n("", !0),
212
- l("img", {
213
- ref_key: "imageRef",
214
- ref: c,
215
- class: "image-message__preview-image",
216
- style: $({ borderRadius: Z.value }),
217
- src: e.message.url,
218
- alt: e.message.alt
219
- }, null, 12, De),
220
- g(x, { name: "modal-fade" }, {
221
- default: d(() => [
222
- R.value ? (i(), u("div", qe, [
223
- e.message.views ? (i(), u("div", {
254
+ }, null, 12, ms),
255
+ r(x, { name: "modal-fade" }, {
256
+ default: v(() => [
257
+ h.value ? (a(), m("div", os, [
258
+ e.message.views ? (a(), m("div", {
259
+ key: 0,
260
+ class: "image-message__views",
261
+ onClick: n[0] || (n[0] = Q(
262
+ //@ts-ignore
263
+ (...u) => s(N) && s(N)(...u),
264
+ ["stop"]
265
+ ))
266
+ }, [
267
+ n[4] || (n[4] = l("span", { class: "pi pi-eye" }, null, -1)),
268
+ l("p", null, C(e.message.views), 1)
269
+ ])) : i("", !0),
270
+ l("span", us, C(e.message.time), 1),
271
+ r(Y, {
272
+ "base-class": "image-message",
273
+ "message-class": L(e.message),
274
+ "message-status": e.message.status,
275
+ "status-class": P.value,
276
+ "status-title": $.value
277
+ }, null, 8, ["message-class", "message-status", "status-class", "status-title"])
278
+ ])) : i("", !0)
279
+ ]),
280
+ _: 1
281
+ }),
282
+ r(x, { name: "modal-fade" }, {
283
+ default: v(() => [
284
+ h.value ? (a(), m("button", {
224
285
  key: 0,
225
- class: "image-message__views",
226
- onClick: a[0] || (a[0] = P(
227
- //@ts-ignore
228
- (...m) => t(O) && t(O)(...m),
229
- ["stop"]
230
- ))
231
- }, [
232
- a[4] || (a[4] = l("span", { class: "pi pi-eye" }, null, -1)),
233
- l("p", null, L(e.message.views), 1)
234
- ])) : n("", !0),
235
- l("span", Ge, L(e.message.time), 1),
236
- g(Se, {
237
- "base-class": "image-message",
238
- "message-class": F(e.message),
239
- "message-status": e.message.status,
240
- "status-class": _.value,
241
- "status-title": ee.value
242
- }, null, 8, ["message-class", "message-status", "status-class", "status-title"])
243
- ])) : n("", !0)
244
- ]),
245
- _: 1
246
- }),
247
- g(x, { name: "modal-fade" }, {
248
- default: d(() => [
249
- R.value ? (i(), u("button", {
286
+ class: "image-message__download-button",
287
+ onClick: Q(he, ["stop"])
288
+ }, [...n[5] || (n[5] = [
289
+ l("span", { class: "pi pi-download" }, null, -1)
290
+ ])])) : i("", !0)
291
+ ]),
292
+ _: 1
293
+ })
294
+ ], 34),
295
+ r(x, { name: "modal-fade" }, {
296
+ default: v(() => [
297
+ s(z) && s(R).length && !e.reactionsEnabled ? (a(), m("button", {
250
298
  key: 0,
251
- class: "image-message__download-button",
252
- onClick: P(ae, ["stop"])
253
- }, [...a[5] || (a[5] = [
254
- l("span", { class: "pi pi-download" }, null, -1)
255
- ])])) : n("", !0)
299
+ class: "image-message__menu-button",
300
+ onClick: n[2] || (n[2] = //@ts-ignore
301
+ (...u) => s(F) && s(F)(...u))
302
+ }, [...n[6] || (n[6] = [
303
+ l("span", { class: "pi pi-ellipsis-h" }, null, -1)
304
+ ])])) : i("", !0)
256
305
  ]),
257
306
  _: 1
258
- })
259
- ], 34),
260
- g(x, { name: "modal-fade" }, {
261
- default: d(() => [
262
- t(G) && e.message.actions ? (i(), u("button", {
263
- key: 0,
264
- class: "image-message__menu-button",
265
- onClick: a[2] || (a[2] = (m) => I.value = !t(I))
266
- }, [...a[6] || (a[6] = [
267
- l("span", { class: "pi pi-ellipsis-h" }, null, -1)
268
- ])])) : n("", !0)
269
- ]),
270
- _: 1
271
- }),
272
- g(x, { name: "context-menu" }, {
273
- default: d(() => [
274
- t(I) && e.message.actions ? (i(), b(we, {
275
- key: 0,
276
- class: "image-message__context-menu",
277
- actions: e.message.actions,
278
- onClick: t(Q)
279
- }, null, 8, ["actions", "onClick"])) : n("", !0)
280
- ]),
281
- _: 1
282
- }),
283
- e.message.text ? (i(), u("div", {
284
- key: 1,
285
- ref_key: "textRef",
286
- ref: r,
287
- class: "image-message__text-container"
288
- }, [
289
- l("p", {
290
- onClick: a[3] || (a[3] = //@ts-ignore
291
- (...m) => t(U) && t(U)(...m)),
292
- innerHTML: t(B)
293
- }, null, 8, Je)
294
- ], 512)) : n("", !0),
295
- g(Ce, {
296
- status: e.message.status,
297
- "has-messenger-account": e.message.hasMessengerAccount,
298
- channel: e.channel,
299
- onSmsInvite: me
300
- }, null, 8, ["status", "has-messenger-account", "channel"]),
301
- e.message.linkPreview ? (i(), b(pe, {
302
- key: 2,
303
- class: v(["image-message__link-preview", e.message.position]),
304
- "link-preview": e.message.linkPreview
305
- }, null, 8, ["class", "link-preview"])) : n("", !0),
306
- e.message.embed ? (i(), b(ke, {
307
- key: 3,
308
- class: v(e.message.position),
309
- embed: e.message.embed
310
- }, null, 8, ["class", "embed"])) : n("", !0),
311
- g(Me, {
312
- reactions: e.message.reactions,
313
- "message-id": e.message.messageId,
314
- reply: t(Oe)(e.message, "message.image"),
315
- enabled: e.reactionsEnabled,
316
- mode: e.reactionsMode,
317
- "current-user-id": e.currentUserId,
318
- "reaction-user-names": e.reactionUserNames,
319
- onToggleReaction: t(ie),
320
- onAddReaction: t(ne),
321
- onRemoveReaction: t(le)
322
- }, null, 8, ["reactions", "message-id", "reply", "enabled", "mode", "current-user-id", "reaction-user-names", "onToggleReaction", "onAddReaction", "onRemoveReaction"])
307
+ }),
308
+ (a(), f(X, { to: "body" }, [
309
+ r(x, { name: "context-menu" }, {
310
+ default: v(() => [
311
+ s(se) && s(R).length ? (a(), f(Oe, {
312
+ key: 0,
313
+ ref_key: "menuRef",
314
+ ref: ae,
315
+ class: "image-message__context-menu message-actions-menu",
316
+ style: O(s(ne)),
317
+ "data-theme": s(ie),
318
+ actions: s(R),
319
+ onClick: s(ge),
320
+ onMouseenter: s(ue),
321
+ onMouseleave: fe
322
+ }, null, 8, ["style", "data-theme", "actions", "onClick", "onMouseenter"])) : i("", !0)
323
+ ]),
324
+ _: 1
325
+ })
326
+ ])),
327
+ e.message.text ? (a(), m("div", {
328
+ key: 1,
329
+ ref_key: "textRef",
330
+ ref: g,
331
+ class: "image-message__text-container"
332
+ }, [
333
+ l("p", {
334
+ onClick: n[3] || (n[3] = //@ts-ignore
335
+ (...u) => s(H) && s(H)(...u)),
336
+ innerHTML: s(V)
337
+ }, null, 8, rs)
338
+ ], 512)) : i("", !0),
339
+ r(Ve, {
340
+ status: e.message.status,
341
+ "has-messenger-account": e.message.hasMessengerAccount,
342
+ channel: e.channel,
343
+ onSmsInvite: xe
344
+ }, null, 8, ["status", "has-messenger-account", "channel"]),
345
+ e.message.linkPreview ? (a(), f(Be, {
346
+ key: 2,
347
+ class: y(["image-message__link-preview", e.message.position]),
348
+ "link-preview": e.message.linkPreview
349
+ }, null, 8, ["class", "link-preview"])) : i("", !0),
350
+ e.message.embed ? (a(), f(Ue, {
351
+ key: 3,
352
+ class: y(e.message.position),
353
+ embed: e.message.embed
354
+ }, null, 8, ["class", "embed"])) : i("", !0),
355
+ r(Ne, {
356
+ reactions: e.message.reactions,
357
+ "message-id": e.message.messageId,
358
+ reply: s(Z)(e.message, "message.image"),
359
+ enabled: e.reactionsEnabled,
360
+ mode: e.reactionsMode,
361
+ "current-user-id": e.currentUserId,
362
+ "reaction-user-names": e.reactionUserNames,
363
+ "menu-enabled": s(R).length > 0,
364
+ onToggleReaction: s(Me),
365
+ onAddReaction: s(we),
366
+ onRemoveReaction: s(ke),
367
+ onMenu: s(oe)
368
+ }, null, 8, ["reactions", "message-id", "reply", "enabled", "mode", "current-user-id", "reaction-user-names", "menu-enabled", "onToggleReaction", "onAddReaction", "onRemoveReaction", "onMenu"])
369
+ ], 64))
323
370
  ], 2),
324
- (i(), b(he, { to: "body" }, [
325
- g(x, { name: "modal-fade" }, {
326
- default: d(() => [
327
- C.value ? (i(), b(Re, {
371
+ (a(), f(X, { to: "body" }, [
372
+ r(x, { name: "modal-fade" }, {
373
+ default: v(() => [
374
+ I.value && !e.message.deleted ? (a(), f(Fe, {
328
375
  key: 0,
329
- "data-theme": t(E)().theme ? t(E)().theme : "light",
376
+ "data-theme": s(U)().theme ? s(U)().theme : "light",
330
377
  title: e.message.alt,
331
- onClose: te
378
+ onClose: ye
332
379
  }, {
333
- default: d(() => [
380
+ default: v(() => [
334
381
  l("img", {
335
382
  class: "image-message__modal-image",
336
383
  src: e.message.url,
337
384
  alt: e.message.alt
338
- }, null, 8, Ke)
385
+ }, null, 8, gs)
339
386
  ]),
340
387
  _: 1
341
- }, 8, ["data-theme", "title"])) : n("", !0)
388
+ }, 8, ["data-theme", "title"])) : i("", !0)
342
389
  ]),
343
390
  _: 1
344
391
  })
345
392
  ]))
346
- ], 46, Fe));
393
+ ], 46, _e));
347
394
  }
348
395
  });
349
396
  export {
350
- ps as default
397
+ Ds as default
351
398
  };