@mobilon-dev/chotto 0.3.83 → 0.3.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/chotto.css +1 -1
  2. package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue2.js +3 -2
  3. package/dist/components/1_atoms/ContactContextMenu/ContactContextMenu.vue2.js +3 -2
  4. package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.js +38 -0
  5. package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue2.js +4 -0
  6. package/dist/components/1_atoms/Tooltip/Tooltip.vue.js +1 -1
  7. package/dist/components/1_atoms/Tooltip/Tooltip.vue2.js +49 -36
  8. package/dist/components/1_icons/CloseIcon.vue.js +21 -0
  9. package/dist/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.js +351 -282
  10. package/dist/components/2_blocks/CommunicationPanel/CommunicationPanelAttributeIndicator.vue.js +38 -33
  11. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.js +64 -39
  12. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.js +116 -61
  13. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.js +1 -1
  14. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.js +30 -16
  15. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationRecentSelection.js +47 -0
  16. package/dist/components/2_blocks/CommunicationPanel/icons/{CommunicationPanelConfirmSpinner.vue2.js → CommunicationPanelConfirmSpinner.vue.js} +1 -1
  17. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelUnconfirmedIcon.vue.js +19 -0
  18. package/dist/components/2_blocks/FeedSearch/FeedSearch.vue2.js +10 -9
  19. package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue2.js +8 -7
  20. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.js +2 -2
  21. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue2.js +48 -37
  22. package/dist/components/2_chatinput_elements/ButtonTemplateSelector/ButtonTemplateSelector.vue2.js +3 -2
  23. package/dist/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.js +7 -6
  24. package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue2.js +3 -2
  25. package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue2.js +3 -2
  26. package/dist/components/2_chatinput_elements/StickerPicker/StickerPicker.vue2.js +3 -2
  27. package/dist/components/2_chatinput_elements/TemplateSelector/TemplateSelector.vue.js +27 -26
  28. package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue2.js +3 -2
  29. package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue2.js +3 -2
  30. package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue2.js +3 -2
  31. package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue2.js +3 -2
  32. package/dist/components/2_elements/ChannelSelector/ChannelSelector.vue.js +6 -5
  33. package/dist/components/2_elements/ThemeMode/ThemeMode.vue.js +10 -9
  34. package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue2.js +3 -2
  35. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue.js +1 -1
  36. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +169 -143
  37. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.js +4 -4
  38. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue2.js +33 -32
  39. package/dist/components/2_feed_elements/CallMessage/CallMessage.vue2.js +8 -2
  40. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +3 -3
  41. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +134 -108
  42. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +1 -1
  43. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +116 -97
  44. package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue2.js +3 -2
  45. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue.js +2 -2
  46. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue2.js +232 -113
  47. package/dist/components/2_feed_elements/MessageReactions/composables/usePositioning.js +77 -62
  48. package/dist/components/2_feed_elements/MessageReactions/composables/useReactions.js +62 -20
  49. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.js +91 -69
  50. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsState.js +46 -22
  51. package/dist/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.js +21 -0
  52. package/dist/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.js +21 -0
  53. package/dist/components/2_feed_elements/MessageReactions/utils/quickReactions.js +2 -8
  54. package/dist/components/2_feed_elements/MessageReactions/utils/reactionTooltip.js +39 -0
  55. package/dist/components/2_feed_elements/MissedCallMessage/MissedCallMessage.vue2.js +26 -20
  56. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue.js +2 -2
  57. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue2.js +27 -18
  58. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue.js +2 -2
  59. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue2.js +16 -15
  60. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue.js +3 -3
  61. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue2.js +27 -18
  62. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue.js +1 -1
  63. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue2.js +16 -12
  64. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue.js +4 -4
  65. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue2.js +74 -65
  66. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue.js +1 -1
  67. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue2.js +20 -11
  68. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue.js +2 -2
  69. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue2.js +13 -9
  70. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +4 -4
  71. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +74 -55
  72. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +4 -4
  73. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +102 -76
  74. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +2 -2
  75. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +74 -55
  76. package/dist/components/3_compounds/ChatInput/ChatInput.vue.js +2 -2
  77. package/dist/components/3_compounds/ChatInput/ChatInput.vue2.js +99 -82
  78. package/dist/components/3_compounds/Feed/Feed.vue.js +3 -3
  79. package/dist/components/3_compounds/Feed/Feed.vue2.js +159 -139
  80. package/dist/components/3_compounds/Feed/composables/useFeedReply.js +22 -25
  81. package/dist/functions/renderAppleEmojis.js +92 -0
  82. package/dist/hooks/messages/buildReplyPayload.js +14 -0
  83. package/dist/hooks/messages/useMessageLinks.js +60 -50
  84. package/dist/hooks/messages/useStartReply.js +29 -0
  85. package/dist/hooks/useEmojiNative.js +19 -0
  86. package/dist/index.js +130 -122
  87. package/dist/themes/dark.css +1 -1
  88. package/dist/themes/default.css +1 -1
  89. package/dist/themes/glass.css +1 -1
  90. package/dist/themes/green.css +1 -1
  91. package/dist/themes/mobilon1.css +1 -1
  92. package/dist/types/apps/data/messages.d.ts +20 -18
  93. package/dist/types/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.d.ts +12 -0
  94. package/dist/types/components/1_atoms/Tooltip/stories/Tooltip.stories.d.ts +3 -0
  95. package/dist/types/components/1_icons/CloseIcon.vue.d.ts +2 -0
  96. package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.d.ts +2 -0
  97. package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanelAttributeIndicator.vue.d.ts +2 -2
  98. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.d.ts +10 -1
  99. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.d.ts +23 -2
  100. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.d.ts +1 -0
  101. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationRecentSelection.d.ts +20 -0
  102. package/dist/types/components/2_blocks/CommunicationPanel/icons/CommunicationPanelUnconfirmedIcon.vue.d.ts +2 -0
  103. package/dist/types/components/2_blocks/CommunicationPanel/icons/index.d.ts +1 -0
  104. package/dist/types/components/2_blocks/CommunicationPanel/stories/CommunicationPanel.stories.d.ts +2 -0
  105. package/dist/types/components/2_blocks/CommunicationPanel/styles/types.d.ts +42 -10
  106. package/dist/types/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.d.ts +9 -1
  107. package/dist/types/components/2_feed_elements/AudioMessage/AudioMessage.vue.d.ts +29 -0
  108. package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +24 -16
  109. package/dist/types/components/2_feed_elements/BaseReplyMessage/styles/types.d.ts +8 -4
  110. package/dist/types/components/2_feed_elements/FileMessage/FileMessage.vue.d.ts +29 -0
  111. package/dist/types/components/2_feed_elements/FileMessage/styles/types.d.ts +20 -0
  112. package/dist/types/components/2_feed_elements/ImageMessage/ImageMessage.vue.d.ts +29 -0
  113. package/dist/types/components/2_feed_elements/ImageMessage/styles/types.d.ts +2 -0
  114. package/dist/types/components/2_feed_elements/MessageReactions/MessageReactions.vue.d.ts +64 -1
  115. package/dist/types/components/2_feed_elements/MessageReactions/composables/index.d.ts +2 -2
  116. package/dist/types/components/2_feed_elements/MessageReactions/composables/usePositioning.d.ts +11 -1
  117. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactions.d.ts +20 -12
  118. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.d.ts +3 -3
  119. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsState.d.ts +13 -22
  120. package/dist/types/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.d.ts +2 -0
  121. package/dist/types/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.d.ts +2 -0
  122. package/dist/types/components/2_feed_elements/MessageReactions/styles/types.d.ts +14 -74
  123. package/dist/types/components/2_feed_elements/MessageReactions/utils/quickReactions.d.ts +1 -1
  124. package/dist/types/components/2_feed_elements/MessageReactions/utils/reactionTooltip.d.ts +14 -0
  125. package/dist/types/components/2_feed_elements/ReplyAudioMessage/styles/types.d.ts +6 -0
  126. package/dist/types/components/2_feed_elements/ReplyCallMessage/styles/types.d.ts +6 -0
  127. package/dist/types/components/2_feed_elements/ReplyFileMessage/styles/types.d.ts +6 -0
  128. package/dist/types/components/2_feed_elements/ReplyImageMessage/styles/types.d.ts +6 -0
  129. package/dist/types/components/2_feed_elements/ReplyStickerMessage/styles/types.d.ts +6 -0
  130. package/dist/types/components/2_feed_elements/ReplyTextMessage/styles/types.d.ts +4 -0
  131. package/dist/types/components/2_feed_elements/ReplyVideoMessage/styles/types.d.ts +6 -0
  132. package/dist/types/components/2_feed_elements/StickerMessage/StickerMessage.vue.d.ts +29 -0
  133. package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +29 -0
  134. package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +22 -0
  135. package/dist/types/components/2_feed_elements/VideoMessage/VideoMessage.vue.d.ts +29 -0
  136. package/dist/types/components/2_feed_elements/types/messages.d.ts +11 -6
  137. package/dist/types/components/3_compounds/ChatInput/styles/types.d.ts +2 -0
  138. package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +33 -0
  139. package/dist/types/functions/renderAppleEmojis.d.ts +16 -0
  140. package/dist/types/hooks/index.d.ts +1 -0
  141. package/dist/types/hooks/messages/buildReplyPayload.d.ts +11 -0
  142. package/dist/types/hooks/messages/index.d.ts +2 -0
  143. package/dist/types/hooks/messages/useStartReply.d.ts +6 -0
  144. package/dist/types/hooks/useEmojiNative.d.ts +9 -0
  145. package/package.json +1 -1
@@ -1,36 +1,38 @@
1
- import { defineComponent as de, inject as fe, ref as f, watch as N, nextTick as A, onMounted as ve, onUnmounted as be, computed as k, createElementBlock as u, openBlock as i, normalizeStyle as U, normalizeClass as v, unref as a, createCommentVNode as n, createElementVNode as l, createBlock as b, createVNode as r, withCtx as d, createTextVNode as he, toDisplayString as L, Transition as x, withModifiers as D, Teleport as ye } from "vue";
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
2
  import we from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
3
3
  import pe from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
4
4
  import ke from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
5
5
  import xe from "../BaseReplyMessage/BaseReplyMessage.vue.js";
6
6
  import Re from "../../2_modals/ModalFullscreen/ModalFullscreen.vue.js";
7
7
  import Me from "../MessageReactions/MessageReactions.vue.js";
8
- import Ce from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
9
- import Te from "../MessageSmsInvite/MessageSmsInvite.vue.js";
10
- import Se from "../../1_atoms/Tooltip/Tooltip.vue.js";
11
- import { useMessageActions as Ie } from "../../../hooks/messages/useMessageActions.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
12
  import { useMessageLinks as je } from "../../../hooks/messages/useMessageLinks.js";
13
13
  import { useChannelAccentColor as Ae } from "../../../hooks/messages/useChannelAccentColor.js";
14
14
  import { useSubtextTooltip as Le } from "../../../hooks/messages/useSubtextTooltip.js";
15
- import { getStatus as Ee, getStatusTitle as Be } from "../../../functions/getStatusMessage.js";
16
- import { getMessageClass as Oe } from "../../../functions/getMessageClass.js";
17
- import { createReactionHandlers as ze } from "../../../functions/createReactionHandlers.js";
18
- import "../../../functions/parseMarkdown.js";
19
15
  import "../../../hooks/useMessageDraft.js";
20
16
  import "../../../hooks/useSearchModel.js";
21
- import { useTheme as Fe } from "../../../hooks/useTheme.js";
17
+ import { useTheme as Ee } from "../../../hooks/useTheme.js";
18
+ import "../../../hooks/useEmojiNative.js";
22
19
  /* empty css */
23
20
  /* empty css */
24
- const Ve = ["messageId"], He = ["src"], We = {
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";
25
+ import "../../../functions/parseMarkdown.js";
26
+ const Fe = ["messageId"], Ve = ["src"], He = {
25
27
  key: 1,
26
28
  class: "image-message__subtext"
27
- }, $e = {
29
+ }, We = {
28
30
  key: 0,
29
31
  class: "image-message__blur-wrapper"
30
- }, Ne = ["src", "alt"], Ue = ["src", "alt"], De = ["src", "alt"], Pe = {
32
+ }, $e = ["src", "alt"], Pe = ["src", "alt"], De = ["src", "alt"], qe = {
31
33
  key: 0,
32
34
  class: "image-message__info-container"
33
- }, qe = { class: "image-message__time" }, Ge = ["innerHTML"], Je = ["src", "alt"], hs = /* @__PURE__ */ de({
35
+ }, Ge = { class: "image-message__time" }, Je = ["innerHTML"], Ke = ["src", "alt"], ps = /* @__PURE__ */ de({
34
36
  __name: "ImageMessage",
35
37
  props: {
36
38
  message: {
@@ -49,6 +51,19 @@ const Ve = ["messageId"], He = ["src"], We = {
49
51
  type: Boolean,
50
52
  default: !0
51
53
  },
54
+ reactionsMode: {
55
+ type: String,
56
+ default: "single",
57
+ validator: (e) => ["single", "multi"].includes(e)
58
+ },
59
+ currentUserId: {
60
+ type: [String, Number],
61
+ default: void 0
62
+ },
63
+ reactionUserNames: {
64
+ type: Object,
65
+ default: void 0
66
+ },
52
67
  subtextTooltipData: {
53
68
  type: Object,
54
69
  required: !1,
@@ -61,65 +76,65 @@ const Ve = ["messageId"], He = ["src"], We = {
61
76
  }
62
77
  },
63
78
  emits: ["action", "reply", "sms-invite"],
64
- setup(e, { emit: P }) {
65
- const q = fe("chatAppId"), { getTheme: E } = Fe(q), s = e, C = P, T = f(!1), {
66
- isOpenMenu: S,
79
+ setup(e, { emit: D }) {
80
+ const q = fe("chatAppId"), { getTheme: E } = Ee(q), s = e, S = D, C = f(!1), {
81
+ isOpenMenu: I,
67
82
  buttonMenuVisible: G,
68
83
  showMenu: J,
69
84
  hideMenu: K,
70
85
  clickAction: Q,
71
- viewsAction: B,
86
+ viewsAction: O,
72
87
  handleClickReplied: X
73
- } = Ie(s.message, C), R = f(!1), { linkedHtml: O, inNewWindow: z } = je(() => s.message.text), c = f(null), g = f(null), h = f(0), I = f(0);
74
- N(
75
- () => O.value,
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,
76
91
  () => {
77
- y(), A(() => {
78
- o && g.value && o.observe(g.value);
92
+ h(), A(() => {
93
+ o && r.value && o.observe(r.value);
79
94
  });
80
95
  }
81
96
  );
82
- const y = () => {
97
+ const h = () => {
83
98
  A(() => {
84
- c.value && (h.value = c.value.offsetWidth), g.value && (I.value = g.value.offsetWidth);
99
+ c.value && (y.value = c.value.offsetWidth), r.value && (T.value = r.value.offsetWidth);
85
100
  });
86
101
  };
87
102
  let o = null, M = null;
88
103
  ve(() => {
89
- y(), M = () => y(), window.addEventListener("resize", M), typeof ResizeObserver < "u" && (o = new ResizeObserver(() => {
90
- y();
91
- }), c.value && o.observe(c.value), g.value && o.observe(g.value));
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));
92
107
  }), be(() => {
93
108
  M && window.removeEventListener("resize", M), o && o.disconnect();
94
- }), N(
109
+ }), W(
95
110
  () => [s.message.text, s.message.url],
96
111
  () => {
97
- y(), A(() => {
98
- o && (o.disconnect(), c.value && o.observe(c.value), g.value && o.observe(g.value));
112
+ h(), A(() => {
113
+ o && (o.disconnect(), c.value && o.observe(c.value), r.value && o.observe(r.value));
99
114
  });
100
115
  },
101
116
  { immediate: !0 }
102
117
  );
103
- const F = k(() => s.message.text && I.value > h.value && h.value > 0), Y = () => {
118
+ const z = k(() => s.message.text && T.value > y.value && y.value > 0), Y = () => {
104
119
  J(), R.value = !0;
105
- }, V = () => {
120
+ }, N = () => {
106
121
  K(), R.value = !1;
107
- }, Z = k(() => s.message.reply && s.message.text ? "0" : s.message.text ? I.value > h.value && h.value > 0 ? "0" : "8px 8px 0 0" : s.message.reply ? "0 0 8px 8px" : "8px"), _ = k(() => Ee(s.message.status)), ee = k(() => Be(s.message.status, s.message.statusMsg)), { bubbleStyle: se } = Ae(
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(
108
123
  k(() => s.message),
109
124
  { cssVariable: "--chotto-imagemessage-right-bg", position: "right" }
110
125
  );
111
- function H(w) {
112
- return Oe(w.position, "image-message");
126
+ function F(w) {
127
+ return ze(w.position, "image-message");
113
128
  }
114
- const te = () => T.value = !1, ae = async () => {
115
- var w, t;
129
+ const te = () => C.value = !1, ae = async () => {
130
+ var w, a;
116
131
  if (s.message.url)
117
132
  try {
118
133
  const m = await fetch(s.message.url, {
119
134
  headers: {
120
135
  Accept: "image/*"
121
136
  }
122
- }), ge = m.headers.get("content-type") || "", ue = await m.blob(), j = ((t = (w = s.message.url.split(".").pop()) == null ? void 0 : w.split("?")[0]) == null ? void 0 : t.toLowerCase()) || "", re = {
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 = {
123
138
  "image/jpeg": "jpg",
124
139
  "image/jpg": "jpg",
125
140
  "image/png": "png",
@@ -128,24 +143,24 @@ const Ve = ["messageId"], He = ["src"], We = {
128
143
  "image/svg+xml": "svg",
129
144
  "image/bmp": "bmp"
130
145
  };
131
- let W = j && ["jpg", "jpeg", "png", "gif", "webp", "svg", "bmp"].includes(j) ? j : re[ge] || "jpg";
132
- const ce = s.message.alt ? s.message.alt.includes(".") ? s.message.alt : `${s.message.alt}.${W}` : `image-${s.message.messageId}.${W}`, $ = window.URL.createObjectURL(ue), p = document.createElement("a");
133
- p.href = $, p.download = ce, document.body.appendChild(p), p.click(), document.body.removeChild(p), window.URL.revokeObjectURL($);
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);
134
149
  } catch (m) {
135
150
  console.error("Ошибка при скачивании изображения:", m);
136
151
  }
137
- }, { onToggleReaction: ie, onAddReaction: ne, onRemoveReaction: le } = ze(C), oe = Le(() => s.message, () => s.subtextTooltipData);
152
+ }, { onToggleReaction: ie, onAddReaction: ne, onRemoveReaction: le } = Ne(S), oe = Le(() => s.message, () => s.subtextTooltipData);
138
153
  function me() {
139
- C("sms-invite", s.message);
154
+ S("sms-invite", s.message);
140
155
  }
141
- return (w, t) => (i(), u("div", {
156
+ return (w, a) => (i(), u("div", {
142
157
  class: v(["image-message", [
143
- H(e.message),
158
+ F(e.message),
144
159
  e.applyStyle(e.message)
145
160
  ]]),
146
161
  messageId: e.message.messageId,
147
- style: U(a(se)),
148
- onMouseleave: V
162
+ style: $(t(se)),
163
+ onMouseleave: N
149
164
  }, [
150
165
  e.message.avatar && e.isFirstInSeries ? (i(), u("img", {
151
166
  key: 0,
@@ -153,15 +168,15 @@ const Ve = ["messageId"], He = ["src"], We = {
153
168
  src: e.message.avatar,
154
169
  height: "32",
155
170
  width: "32"
156
- }, null, 8, He)) : n("", !0),
157
- e.message.subText && e.isFirstInSeries ? (i(), u("p", We, [
158
- r(Se, {
159
- text: a(oe),
171
+ }, null, 8, Ve)) : n("", !0),
172
+ e.message.subText && e.isFirstInSeries ? (i(), u("p", He, [
173
+ g(Ie, {
174
+ text: t(oe),
160
175
  position: e.message.position === "left" ? "right" : "left",
161
176
  offset: 8
162
177
  }, {
163
178
  default: d(() => [
164
- he(L(e.message.subText), 1)
179
+ ye(L(e.message.subText), 1)
165
180
  ]),
166
181
  _: 1
167
182
  }, 8, ["text", "position"])
@@ -174,53 +189,53 @@ const Ve = ["messageId"], He = ["src"], We = {
174
189
  style: { margin: "10px 10px 4px 16px" },
175
190
  class: v(e.message.position),
176
191
  message: e.message.reply,
177
- onReply: a(X)
192
+ onReply: t(X)
178
193
  }, null, 8, ["class", "message", "onReply"])) : n("", !0),
179
194
  l("div", {
180
- class: v(["image-message__preview-button", { "image-message__preview-button--blur-edges": F.value }]),
181
- onClick: t[1] || (t[1] = (m) => T.value = !0),
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),
182
197
  onMouseenter: Y,
183
- onMouseleave: V
198
+ onMouseleave: N
184
199
  }, [
185
- F.value ? (i(), u("div", $e, [
200
+ z.value ? (i(), u("div", We, [
186
201
  l("img", {
187
202
  class: "image-message__blur-left",
188
203
  src: e.message.url,
189
204
  alt: e.message.alt
190
- }, null, 8, Ne),
205
+ }, null, 8, $e),
191
206
  l("img", {
192
207
  class: "image-message__blur-right",
193
208
  src: e.message.url,
194
209
  alt: e.message.alt
195
- }, null, 8, Ue)
210
+ }, null, 8, Pe)
196
211
  ])) : n("", !0),
197
212
  l("img", {
198
213
  ref_key: "imageRef",
199
214
  ref: c,
200
215
  class: "image-message__preview-image",
201
- style: U({ borderRadius: Z.value }),
216
+ style: $({ borderRadius: Z.value }),
202
217
  src: e.message.url,
203
218
  alt: e.message.alt
204
219
  }, null, 12, De),
205
- r(x, { name: "modal-fade" }, {
220
+ g(x, { name: "modal-fade" }, {
206
221
  default: d(() => [
207
- R.value ? (i(), u("div", Pe, [
222
+ R.value ? (i(), u("div", qe, [
208
223
  e.message.views ? (i(), u("div", {
209
224
  key: 0,
210
225
  class: "image-message__views",
211
- onClick: t[0] || (t[0] = D(
226
+ onClick: a[0] || (a[0] = P(
212
227
  //@ts-ignore
213
- (...m) => a(B) && a(B)(...m),
228
+ (...m) => t(O) && t(O)(...m),
214
229
  ["stop"]
215
230
  ))
216
231
  }, [
217
- t[4] || (t[4] = l("span", { class: "pi pi-eye" }, null, -1)),
232
+ a[4] || (a[4] = l("span", { class: "pi pi-eye" }, null, -1)),
218
233
  l("p", null, L(e.message.views), 1)
219
234
  ])) : n("", !0),
220
- l("span", qe, L(e.message.time), 1),
221
- r(Ce, {
235
+ l("span", Ge, L(e.message.time), 1),
236
+ g(Se, {
222
237
  "base-class": "image-message",
223
- "message-class": H(e.message),
238
+ "message-class": F(e.message),
224
239
  "message-status": e.message.status,
225
240
  "status-class": _.value,
226
241
  "status-title": ee.value
@@ -229,38 +244,38 @@ const Ve = ["messageId"], He = ["src"], We = {
229
244
  ]),
230
245
  _: 1
231
246
  }),
232
- r(x, { name: "modal-fade" }, {
247
+ g(x, { name: "modal-fade" }, {
233
248
  default: d(() => [
234
249
  R.value ? (i(), u("button", {
235
250
  key: 0,
236
251
  class: "image-message__download-button",
237
- onClick: D(ae, ["stop"])
238
- }, [...t[5] || (t[5] = [
252
+ onClick: P(ae, ["stop"])
253
+ }, [...a[5] || (a[5] = [
239
254
  l("span", { class: "pi pi-download" }, null, -1)
240
255
  ])])) : n("", !0)
241
256
  ]),
242
257
  _: 1
243
258
  })
244
259
  ], 34),
245
- r(x, { name: "modal-fade" }, {
260
+ g(x, { name: "modal-fade" }, {
246
261
  default: d(() => [
247
- a(G) && e.message.actions ? (i(), u("button", {
262
+ t(G) && e.message.actions ? (i(), u("button", {
248
263
  key: 0,
249
264
  class: "image-message__menu-button",
250
- onClick: t[2] || (t[2] = (m) => S.value = !a(S))
251
- }, [...t[6] || (t[6] = [
265
+ onClick: a[2] || (a[2] = (m) => I.value = !t(I))
266
+ }, [...a[6] || (a[6] = [
252
267
  l("span", { class: "pi pi-ellipsis-h" }, null, -1)
253
268
  ])])) : n("", !0)
254
269
  ]),
255
270
  _: 1
256
271
  }),
257
- r(x, { name: "context-menu" }, {
272
+ g(x, { name: "context-menu" }, {
258
273
  default: d(() => [
259
- a(S) && e.message.actions ? (i(), b(we, {
274
+ t(I) && e.message.actions ? (i(), b(we, {
260
275
  key: 0,
261
276
  class: "image-message__context-menu",
262
277
  actions: e.message.actions,
263
- onClick: a(Q)
278
+ onClick: t(Q)
264
279
  }, null, 8, ["actions", "onClick"])) : n("", !0)
265
280
  ]),
266
281
  _: 1
@@ -268,16 +283,16 @@ const Ve = ["messageId"], He = ["src"], We = {
268
283
  e.message.text ? (i(), u("div", {
269
284
  key: 1,
270
285
  ref_key: "textRef",
271
- ref: g,
286
+ ref: r,
272
287
  class: "image-message__text-container"
273
288
  }, [
274
289
  l("p", {
275
- onClick: t[3] || (t[3] = //@ts-ignore
276
- (...m) => a(z) && a(z)(...m)),
277
- innerHTML: a(O)
278
- }, null, 8, Ge)
290
+ onClick: a[3] || (a[3] = //@ts-ignore
291
+ (...m) => t(U) && t(U)(...m)),
292
+ innerHTML: t(B)
293
+ }, null, 8, Je)
279
294
  ], 512)) : n("", !0),
280
- r(Te, {
295
+ g(Ce, {
281
296
  status: e.message.status,
282
297
  "has-messenger-account": e.message.hasMessengerAccount,
283
298
  channel: e.channel,
@@ -293,21 +308,25 @@ const Ve = ["messageId"], He = ["src"], We = {
293
308
  class: v(e.message.position),
294
309
  embed: e.message.embed
295
310
  }, null, 8, ["class", "embed"])) : n("", !0),
296
- r(Me, {
311
+ g(Me, {
297
312
  reactions: e.message.reactions,
298
313
  "message-id": e.message.messageId,
314
+ reply: t(Oe)(e.message, "message.image"),
299
315
  enabled: e.reactionsEnabled,
300
- onToggleReaction: a(ie),
301
- onAddReaction: a(ne),
302
- onRemoveReaction: a(le)
303
- }, null, 8, ["reactions", "message-id", "enabled", "onToggleReaction", "onAddReaction", "onRemoveReaction"])
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"])
304
323
  ], 2),
305
- (i(), b(ye, { to: "body" }, [
306
- r(x, { name: "modal-fade" }, {
324
+ (i(), b(he, { to: "body" }, [
325
+ g(x, { name: "modal-fade" }, {
307
326
  default: d(() => [
308
- T.value ? (i(), b(Re, {
327
+ C.value ? (i(), b(Re, {
309
328
  key: 0,
310
- "data-theme": a(E)().theme ? a(E)().theme : "light",
329
+ "data-theme": t(E)().theme ? t(E)().theme : "light",
311
330
  title: e.message.alt,
312
331
  onClose: te
313
332
  }, {
@@ -316,7 +335,7 @@ const Ve = ["messageId"], He = ["src"], We = {
316
335
  class: "image-message__modal-image",
317
336
  src: e.message.url,
318
337
  alt: e.message.alt
319
- }, null, 8, Je)
338
+ }, null, 8, Ke)
320
339
  ]),
321
340
  _: 1
322
341
  }, 8, ["data-theme", "title"])) : n("", !0)
@@ -324,9 +343,9 @@ const Ve = ["messageId"], He = ["src"], We = {
324
343
  _: 1
325
344
  })
326
345
  ]))
327
- ], 46, Ve));
346
+ ], 46, Fe));
328
347
  }
329
348
  });
330
349
  export {
331
- hs as default
350
+ ps as default
332
351
  };
@@ -2,12 +2,13 @@ import { defineComponent as u, useTemplateRef as f, inject as x, createElementBl
2
2
  import { useMessageDraft as C } from "../../../hooks/useMessageDraft.js";
3
3
  import "../../../hooks/useSearchModel.js";
4
4
  import "../../../hooks/useTheme.js";
5
+ import "../../../hooks/useEmojiNative.js";
5
6
  /* empty css */
6
7
  /* empty css */
7
8
  import "../../../node_modules/linkifyjs/dist/linkify.js";
8
9
  import "../../../node_modules/linkify-string/dist/linkify-string.js";
9
10
  import "../../../functions/parseMarkdown.js";
10
- const v = ["onClick"], $ = /* @__PURE__ */ u({
11
+ const v = ["onClick"], j = /* @__PURE__ */ u({
11
12
  __name: "MessageKeyboard",
12
13
  props: {
13
14
  keyboard: {
@@ -43,5 +44,5 @@ const v = ["onClick"], $ = /* @__PURE__ */ u({
43
44
  }
44
45
  });
45
46
  export {
46
- $ as default
47
+ j as default
47
48
  };
@@ -1,7 +1,7 @@
1
1
  import o from "./MessageReactions.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../_virtual/_plugin-vue_export-helper.js";
4
- const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-350f4d0b"]]);
4
+ const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-7ff9cca1"]]);
5
5
  export {
6
- r as default
6
+ e as default
7
7
  };