@mobilon-dev/chotto 0.3.110 → 0.3.112

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 (35) hide show
  1. package/dist/chotto.css +1 -1
  2. package/dist/components/2_blocks/FeedFoundItem/FeedFoundItem.vue.js +2 -2
  3. package/dist/components/2_blocks/FeedFoundItem/FeedFoundItem.vue2.js +37 -25
  4. package/dist/components/2_feed_elements/FeedReplyQuote/FeedReplyQuote.vue.js +2 -2
  5. package/dist/components/2_feed_elements/FeedReplyQuote/FeedReplyQuote.vue2.js +14 -11
  6. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +3 -3
  7. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +341 -253
  8. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue.js +3 -3
  9. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue2.js +27 -27
  10. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue.js +1 -1
  11. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue2.js +48 -35
  12. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +3 -3
  13. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +297 -286
  14. package/dist/hooks/messages/buildReplyPayload.js +14 -9
  15. package/dist/hooks/messages/getImageMessageItems.js +21 -0
  16. package/dist/hooks/validators/messages/messageValidator.js +59 -52
  17. package/dist/index.js +80 -77
  18. package/dist/themes/dark.css +1 -1
  19. package/dist/themes/default.css +1 -1
  20. package/dist/themes/glass.css +1 -1
  21. package/dist/themes/green.css +1 -1
  22. package/dist/themes/mobilon1.css +1 -1
  23. package/dist/types/src/apps/data/messages.d.ts +535 -74
  24. package/dist/types/src/components/2_feed_elements/ImageMessage/stories/ImageMessage.stories.d.ts +5 -0
  25. package/dist/types/src/components/2_feed_elements/ImageMessage/styles/types.d.ts +40 -0
  26. package/dist/types/src/components/2_feed_elements/ReplyVideoMessage/styles/types.d.ts +32 -0
  27. package/dist/types/src/components/2_feed_elements/VideoMessage/stories/VideoMessage.stories.d.ts +3 -0
  28. package/dist/types/src/components/2_feed_elements/VideoMessage/styles/types.d.ts +32 -0
  29. package/dist/types/src/components/2_feed_elements/types/components.d.ts +9 -1
  30. package/dist/types/src/components/2_feed_elements/types/messages.d.ts +27 -1
  31. package/dist/types/src/hooks/messages/buildReplyPayload.d.ts +5 -1
  32. package/dist/types/src/hooks/messages/getImageMessageItems.d.ts +12 -0
  33. package/dist/types/src/hooks/messages/index.d.ts +1 -0
  34. package/dist/types/src/hooks/validators/messages/types.d.ts +12 -0
  35. package/package.json +1 -1
@@ -1,45 +1,52 @@
1
- import { defineComponent as Pe, inject as Ue, ref as d, watch as se, nextTick as j, onMounted as ze, onUnmounted as He, computed as y, createElementBlock as m, openBlock as n, normalizeStyle as O, normalizeClass as h, unref as t, createCommentVNode as o, createElementVNode as l, createBlock as f, createVNode as g, withCtx as b, createTextVNode as Ne, toDisplayString as I, Fragment as te, Transition as R, withModifiers as ae, Teleport as ne } from "vue";
2
- import Ve from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
3
- import We from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
4
- import $e from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
5
- import De from "../FeedReplyQuote/FeedReplyQuote.vue.js";
6
- import qe from "../../2_modals/ModalFullscreen/ModalFullscreen.vue.js";
7
- import Qe from "../MessageReactions/MessageReactions.vue.js";
8
- import ie from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
9
- import Ge from "../MessageSmsInvite/MessageSmsInvite.vue.js";
10
- import Je from "../DeletedMessageContent/DeletedMessageContent.vue.js";
11
- import Ke from "../../1_atoms/Tooltip/Tooltip.vue.js";
12
- import { useMessageActions as Xe } from "../../../hooks/messages/useMessageActions.js";
13
- import { useMessageHoverActions as Ye } from "../../../hooks/messages/useMessageHoverActions.js";
14
- import { useMessageReactionsInFeed as Ze } from "../../../hooks/messages/useMessageReactionsInFeed.js";
15
- import { useMessageMenuActions as _e } from "../../../hooks/messages/useMessageMenuActions.js";
16
- import { useMessageLinks as es } from "../../../hooks/messages/useMessageLinks.js";
17
- import { useChannelAccentColor as ss } from "../../../hooks/messages/useChannelAccentColor.js";
18
- import { useSubtextTooltip as ts } from "../../../hooks/messages/useSubtextTooltip.js";
19
- import { useStartReply as as } from "../../../hooks/messages/useStartReply.js";
20
- import { useTheme as ns } from "../../../hooks/useTheme.js";
1
+ import { defineComponent as as, inject as ns, ref as b, computed as r, watch as K, nextTick as Q, onMounted as ls, onUnmounted as os, createElementBlock as o, openBlock as l, normalizeStyle as j, normalizeClass as k, unref as a, createCommentVNode as i, createElementVNode as m, createBlock as p, createVNode as v, withCtx as M, createTextVNode as is, toDisplayString as R, Fragment as O, renderList as ms, withModifiers as A, Transition as L, Teleport as ke } from "vue";
2
+ import us from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
3
+ import rs from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
4
+ import gs from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
5
+ import cs from "../FeedReplyQuote/FeedReplyQuote.vue.js";
6
+ import ds from "../../2_modals/ModalFullscreen/ModalFullscreen.vue.js";
7
+ import vs from "../MessageReactions/MessageReactions.vue.js";
8
+ import Me from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
9
+ import fs from "../MessageSmsInvite/MessageSmsInvite.vue.js";
10
+ import bs from "../DeletedMessageContent/DeletedMessageContent.vue.js";
11
+ import ys from "../../1_atoms/Tooltip/Tooltip.vue.js";
12
+ import { useMessageActions as hs } from "../../../hooks/messages/useMessageActions.js";
13
+ import { useMessageHoverActions as ps } from "../../../hooks/messages/useMessageHoverActions.js";
14
+ import { useMessageReactionsInFeed as ws } from "../../../hooks/messages/useMessageReactionsInFeed.js";
15
+ import { useMessageMenuActions as ks } from "../../../hooks/messages/useMessageMenuActions.js";
16
+ import { useMessageLinks as Ms } from "../../../hooks/messages/useMessageLinks.js";
17
+ import { useChannelAccentColor as Rs } from "../../../hooks/messages/useChannelAccentColor.js";
18
+ import { useSubtextTooltip as xs } from "../../../hooks/messages/useSubtextTooltip.js";
19
+ import { useStartReply as Is } from "../../../hooks/messages/useStartReply.js";
20
+ import { useTheme as Cs } from "../../../hooks/useTheme.js";
21
21
  /* empty css */
22
22
  /* empty css */
23
23
  import "../../../locale/useLocale.js";
24
24
  /* empty css */
25
- import { buildReplyPayload as oe } from "../../../hooks/messages/buildReplyPayload.js";
26
- import { getStatus as is, getStatusTitle as os } from "../../../functions/getStatusMessage.js";
27
- import { getMessageClass as ls } from "../../../functions/getMessageClass.js";
28
- import { createReactionHandlers as ms } from "../../../functions/createReactionHandlers.js";
25
+ import { buildReplyPayload as Re } from "../../../hooks/messages/buildReplyPayload.js";
26
+ import { getImageMessageItems as Ts } from "../../../hooks/messages/getImageMessageItems.js";
27
+ import { getStatus as Ss, getStatusTitle as As } from "../../../functions/getStatusMessage.js";
28
+ import { getMessageClass as Ls } from "../../../functions/getMessageClass.js";
29
+ import { createReactionHandlers as Es } from "../../../functions/createReactionHandlers.js";
29
30
  import "../../../functions/parseMarkdown.js";
30
- const rs = ["messageId"], us = ["src"], gs = {
31
+ const Us = ["messageId"], Ps = ["src"], js = {
31
32
  key: 1,
32
33
  class: "image-message__subtext"
33
- }, cs = { class: "image-message__info-container" }, ds = {
34
+ }, Os = { class: "image-message__info-container" }, Bs = {
34
35
  key: 0,
35
36
  class: "image-message__time"
36
- }, fs = {
37
+ }, Fs = ["onClick"], Ns = ["src", "alt"], zs = {
38
+ key: 0,
39
+ class: "image-message__album-overflow"
40
+ }, Hs = {
37
41
  key: 0,
38
42
  class: "image-message__blur-wrapper"
39
- }, vs = ["src", "alt"], bs = ["src", "alt"], ys = ["src", "alt"], hs = {
43
+ }, Vs = ["src", "alt"], $s = ["src", "alt"], Ds = ["src", "alt"], Ws = {
40
44
  key: 0,
41
45
  class: "image-message__info-container"
42
- }, ws = { class: "image-message__time" }, Ms = ["innerHTML"], ps = ["src", "alt"], Ys = /* @__PURE__ */ Pe({
46
+ }, _s = { class: "image-message__time" }, qs = ["innerHTML"], Ks = { class: "image-message__modal-body" }, Qs = ["src", "alt"], Gs = {
47
+ key: 2,
48
+ class: "image-message__modal-counter"
49
+ }, B = 4, Ct = /* @__PURE__ */ as({
43
50
  __name: "ImageMessage",
44
51
  props: {
45
52
  message: {
@@ -83,81 +90,118 @@ const rs = ["messageId"], us = ["src"], gs = {
83
90
  }
84
91
  },
85
92
  emits: ["action", "reply", "sms-invite"],
86
- setup(e, { emit: le }) {
87
- const F = Ue("chatAppId"), { getTheme: B } = ns(F || ""), { menuActions: x } = _e(() => s.message), { hoverActionsEnabled: me, reactionsActive: P } = Ye(
88
- () => s.channel,
89
- () => s.reactionsEnabled,
90
- () => s.message
91
- ), { startReply: re } = as(F || ""), s = e, S = le, T = d(!1), {
92
- isOpenMenu: ue,
93
- buttonMenuVisible: U,
94
- menuAnchorRef: ge,
95
- menuRef: ce,
96
- menuStyle: de,
97
- menuTheme: fe,
98
- showMenu: ve,
99
- hideMenu: be,
100
- openMenu: ye,
101
- toggleMenu: z,
102
- onMenuMouseEnter: he,
103
- onMenuMouseLeave: we,
104
- clickAction: Me,
105
- viewsAction: H,
106
- handleClickReplied: pe
107
- } = Xe(s.message, S, {
108
- onReply: () => re(oe(s.message, "message.image"))
109
- }), w = d(!1), { linkedHtml: N, inNewWindow: V } = es(() => s.message.text), v = d(null), c = d(null), M = d(0), A = d(0);
110
- se(
111
- () => N.value,
93
+ setup(e, { emit: xe }) {
94
+ const G = ns("chatAppId"), { getTheme: J } = Cs(G || ""), { menuActions: E } = ks(() => t.message), { hoverActionsEnabled: Ie, reactionsActive: X } = ps(
95
+ () => t.channel,
96
+ () => t.reactionsEnabled,
97
+ () => t.message
98
+ ), { startReply: Ce } = Is(G || ""), t = e, F = xe, x = b(!1), y = b(0), g = r(() => Ts(t.message)), d = r(() => g.value.length > 1), N = r(() => g.value.slice(0, B)), z = r(() => Math.max(0, g.value.length - B)), Te = r(() => String(Math.min(g.value.length, B))), H = r(() => {
99
+ const s = g.value[0];
100
+ return (s == null ? void 0 : s.imagePreviewUrl) || (s == null ? void 0 : s.url) || "";
101
+ }), V = r(() => g.value[y.value] || g.value[0]), Se = r(() => {
102
+ var s;
103
+ return ((s = V.value) == null ? void 0 : s.url) || "";
104
+ }), $ = r(() => {
105
+ var s;
106
+ return ((s = V.value) == null ? void 0 : s.filename) || t.message.alt;
107
+ }), Ae = r(() => d.value ? $.value || `${y.value + 1} / ${g.value.length}` : $.value);
108
+ function Y(s) {
109
+ y.value = s, x.value = !0;
110
+ }
111
+ function Le() {
112
+ d.value || Y(0);
113
+ }
114
+ function Ee(s) {
115
+ const n = z.value > 0 && s === N.value.length - 1;
116
+ Y(n ? B : s);
117
+ }
118
+ function Z() {
119
+ const s = g.value.length;
120
+ s < 2 || (y.value = (y.value - 1 + s) % s);
121
+ }
122
+ function ee() {
123
+ const s = g.value.length;
124
+ s < 2 || (y.value = (y.value + 1) % s);
125
+ }
126
+ function D(s) {
127
+ !x.value || !d.value || (s.key === "ArrowLeft" ? (s.preventDefault(), Z()) : s.key === "ArrowRight" && (s.preventDefault(), ee()));
128
+ }
129
+ K(x, (s) => {
130
+ s ? window.addEventListener("keydown", D) : window.removeEventListener("keydown", D);
131
+ });
132
+ const {
133
+ isOpenMenu: Ue,
134
+ buttonMenuVisible: se,
135
+ menuAnchorRef: Pe,
136
+ menuRef: je,
137
+ menuStyle: Oe,
138
+ menuTheme: Be,
139
+ showMenu: Fe,
140
+ hideMenu: Ne,
141
+ openMenu: ze,
142
+ toggleMenu: te,
143
+ onMenuMouseEnter: He,
144
+ onMenuMouseLeave: Ve,
145
+ clickAction: $e,
146
+ viewsAction: ae,
147
+ handleClickReplied: De
148
+ } = hs(t.message, F, {
149
+ onReply: () => Ce(Re(t.message, "message.image"))
150
+ }), I = b(!1), { linkedHtml: ne, inNewWindow: le } = Ms(() => t.message.text), w = b(null), f = b(null), C = b(0), W = b(0);
151
+ K(
152
+ () => ne.value,
112
153
  () => {
113
- p(), j(() => {
114
- r && c.value && r.observe(c.value);
154
+ T(), Q(() => {
155
+ c && f.value && c.observe(f.value);
115
156
  });
116
157
  }
117
158
  );
118
- const p = () => {
119
- j(() => {
120
- v.value && (M.value = v.value.offsetWidth), c.value && (A.value = c.value.offsetWidth);
159
+ const T = () => {
160
+ Q(() => {
161
+ w.value && (C.value = w.value.offsetWidth), f.value && (W.value = f.value.offsetWidth);
121
162
  });
122
163
  };
123
- let r = null, C = null;
124
- ze(() => {
125
- p(), C = () => p(), window.addEventListener("resize", C), typeof ResizeObserver < "u" && (r = new ResizeObserver(() => {
126
- p();
127
- }), v.value && r.observe(v.value), c.value && r.observe(c.value));
128
- }), He(() => {
129
- C && window.removeEventListener("resize", C), r && r.disconnect();
130
- }), se(
131
- () => [s.message.text, s.message.url],
164
+ let c = null, U = null;
165
+ ls(() => {
166
+ T(), U = () => T(), window.addEventListener("resize", U), typeof ResizeObserver < "u" && (c = new ResizeObserver(() => {
167
+ T();
168
+ }), w.value && c.observe(w.value), f.value && c.observe(f.value));
169
+ }), os(() => {
170
+ U && window.removeEventListener("resize", U), c && c.disconnect(), window.removeEventListener("keydown", D);
171
+ }), K(
172
+ () => [t.message.text, t.message.url, t.message.imagePreviewUrl, t.message.items],
132
173
  () => {
133
- p(), j(() => {
134
- r && (r.disconnect(), v.value && r.observe(v.value), c.value && r.observe(c.value));
174
+ T(), Q(() => {
175
+ c && (c.disconnect(), w.value && c.observe(w.value), f.value && c.observe(f.value));
135
176
  });
136
177
  },
137
178
  { immediate: !0 }
138
179
  );
139
- const W = y(() => s.message.text && A.value > M.value && M.value > 0), ke = () => {
140
- ve(), w.value = !0;
141
- }, $ = (u) => {
142
- be(u), U.value || (w.value = !1);
143
- }, Re = () => {
144
- we(), w.value = !1;
145
- }, xe = y(() => s.message.reply && s.message.text ? "0" : s.message.text ? A.value > M.value && M.value > 0 ? "0" : "var(--chotto-imagemessage-preview-with-caption-border-radius, 7px 7px 0 0)" : s.message.reply ? "var(--chotto-imagemessage-preview-with-reply-border-radius, 0 0 7px 7px)" : "var(--chotto-imagemessage-preview-border-radius, 7px)"), D = y(() => is(s.message.status)), q = y(() => os(s.message.status, s.message.statusMsg)), { bubbleStyle: Ce } = ss(
146
- y(() => s.message),
180
+ const oe = r(() => d.value ? !1 : !!t.message.text && W.value > C.value && C.value > 0), We = () => {
181
+ Fe(), I.value = !0;
182
+ }, ie = (s) => {
183
+ Ne(s), se.value || (I.value = !1);
184
+ }, _e = () => {
185
+ Ve(), I.value = !1;
186
+ }, me = r(() => t.message.reply && t.message.text ? "0" : t.message.text ? W.value > C.value && C.value > 0 ? "0" : "var(--chotto-imagemessage-preview-with-caption-border-radius, 7px 7px 0 0)" : t.message.reply ? "var(--chotto-imagemessage-preview-with-reply-border-radius, 0 0 7px 7px)" : "var(--chotto-imagemessage-preview-border-radius, 7px)"), ue = r(() => Ss(t.message.status)), re = r(() => As(t.message.status, t.message.statusMsg)), { bubbleStyle: qe } = Rs(
187
+ r(() => t.message),
147
188
  { cssVariable: "--chotto-imagemessage-right-bg", position: "right" }
148
189
  );
149
- function E(u) {
150
- return ls(u.position, "image-message");
190
+ function _(s) {
191
+ return Ls(s.position, "image-message");
151
192
  }
152
- const Ie = () => T.value = !1, Se = async () => {
153
- var u, a;
154
- if (s.message.url)
193
+ const Ke = () => {
194
+ x.value = !1;
195
+ }, Qe = r(() => x.value ? V.value : g.value[0]), Ge = async () => {
196
+ var n, u;
197
+ const s = Qe.value;
198
+ if (s != null && s.url)
155
199
  try {
156
- const i = await fetch(s.message.url, {
200
+ const h = await fetch(s.url, {
157
201
  headers: {
158
202
  Accept: "image/*"
159
203
  }
160
- }), je = i.headers.get("content-type") || "", Oe = await i.blob(), L = ((a = (u = s.message.url.split(".").pop()) == null ? void 0 : u.split("?")[0]) == null ? void 0 : a.toLowerCase()) || "", Fe = {
204
+ }), he = h.headers.get("content-type") || "", es = await h.blob(), q = ((u = (n = s.url.split(".").pop()) == null ? void 0 : n.split("?")[0]) == null ? void 0 : u.toLowerCase()) || "", ss = {
161
205
  "image/jpeg": "jpg",
162
206
  "image/jpg": "jpg",
163
207
  "image/png": "png",
@@ -166,266 +210,310 @@ const rs = ["messageId"], us = ["src"], gs = {
166
210
  "image/svg+xml": "svg",
167
211
  "image/bmp": "bmp"
168
212
  };
169
- let _ = L && ["jpg", "jpeg", "png", "gif", "webp", "svg", "bmp"].includes(L) ? L : Fe[je] || "jpg";
170
- const Be = s.message.alt ? s.message.alt.includes(".") ? s.message.alt : `${s.message.alt}.${_}` : `image-${s.message.messageId}.${_}`, ee = window.URL.createObjectURL(Oe), k = document.createElement("a");
171
- k.href = ee, k.download = Be, document.body.appendChild(k), k.click(), document.body.removeChild(k), window.URL.revokeObjectURL(ee);
172
- } catch (i) {
173
- console.error("Ошибка при скачивании изображения:", i);
213
+ let pe = q && ["jpg", "jpeg", "png", "gif", "webp", "svg", "bmp"].includes(q) ? q : ss[he] || "jpg";
214
+ const P = s.filename || t.message.alt, ts = P ? P.includes(".") ? P : `${P}.${pe}` : `image-${t.message.messageId}.${pe}`, we = window.URL.createObjectURL(es), S = document.createElement("a");
215
+ S.href = we, S.download = ts, document.body.appendChild(S), S.click(), document.body.removeChild(S), window.URL.revokeObjectURL(we);
216
+ } catch (h) {
217
+ console.error("Ошибка при скачивании изображения:", h);
174
218
  }
175
- }, { onToggleReaction: Q, onAddReaction: G, onRemoveReaction: J } = ms(S), K = d(null), X = d(null), Te = y(() => {
176
- var a;
177
- const u = (a = X.value) == null ? void 0 : a.$el;
178
- return u instanceof HTMLElement ? u : null;
179
- }), { showReactions: Ae, onContentPointerEnter: Y, onContentPointerLeave: Z } = Ze({
180
- message: () => s.message,
181
- messageId: () => s.message.messageId,
182
- reactions: () => s.message.reactions,
183
- reactionsActive: P,
184
- reactionsMode: () => s.reactionsMode,
185
- reply: () => oe(s.message, "message.image"),
186
- menuEnabled: () => x.value.length > 0,
187
- contentRef: K,
188
- chipsRef: Te,
219
+ }, { onToggleReaction: ge, onAddReaction: ce, onRemoveReaction: de } = Es(F), ve = b(null), fe = b(null), Je = r(() => {
220
+ var n;
221
+ const s = (n = fe.value) == null ? void 0 : n.$el;
222
+ return s instanceof HTMLElement ? s : null;
223
+ }), { showReactions: Xe, onContentPointerEnter: be, onContentPointerLeave: ye } = ws({
224
+ message: () => t.message,
225
+ messageId: () => t.message.messageId,
226
+ reactions: () => t.message.reactions,
227
+ reactionsActive: X,
228
+ reactionsMode: () => t.reactionsMode,
229
+ reply: () => Re(t.message, "message.image"),
230
+ menuEnabled: () => E.value.length > 0,
231
+ contentRef: ve,
232
+ chipsRef: Je,
189
233
  handlers: {
190
- onToggleReaction: Q,
191
- onAddReaction: G,
192
- onRemoveReaction: J,
193
- onMenu: ye
234
+ onToggleReaction: ge,
235
+ onAddReaction: ce,
236
+ onRemoveReaction: de,
237
+ onMenu: ze
194
238
  }
195
- }), Ee = ts(() => s.message, () => s.subtextTooltipData);
196
- function Le() {
197
- S("sms-invite", s.message);
239
+ }), Ye = xs(() => t.message, () => t.subtextTooltipData);
240
+ function Ze() {
241
+ F("sms-invite", t.message);
198
242
  }
199
- return (u, a) => (n(), m("div", {
243
+ return (s, n) => (l(), o("div", {
200
244
  ref_key: "menuAnchorRef",
201
- ref: ge,
202
- class: h(["image-message", [
203
- E(e.message),
245
+ ref: Pe,
246
+ class: k(["image-message", [
247
+ _(e.message),
204
248
  e.applyStyle(e.message)
205
249
  ]]),
206
250
  messageId: e.message.messageId,
207
- style: O(t(Ce)),
208
- onMouseleave: $
251
+ style: j(a(qe)),
252
+ onMouseleave: ie
209
253
  }, [
210
- e.message.avatar && e.isFirstInSeries ? (n(), m("img", {
254
+ e.message.avatar && e.isFirstInSeries ? (l(), o("img", {
211
255
  key: 0,
212
256
  class: "image-message__avatar",
213
257
  src: e.message.avatar,
214
258
  height: "32",
215
259
  width: "32"
216
- }, null, 8, us)) : o("", !0),
217
- e.message.subText && e.isFirstInSeries ? (n(), m("p", gs, [
218
- g(Ke, {
219
- text: t(Ee),
260
+ }, null, 8, Ps)) : i("", !0),
261
+ e.message.subText && e.isFirstInSeries ? (l(), o("p", js, [
262
+ v(ys, {
263
+ text: a(Ye),
220
264
  position: e.message.position === "left" ? "right" : "left",
221
265
  offset: 8
222
266
  }, {
223
- default: b(() => [
224
- Ne(I(e.message.subText), 1)
267
+ default: M(() => [
268
+ is(R(e.message.subText), 1)
225
269
  ]),
226
270
  _: 1
227
271
  }, 8, ["text", "position"])
228
- ])) : o("", !0),
229
- l("div", {
272
+ ])) : i("", !0),
273
+ m("div", {
230
274
  ref_key: "contentRef",
231
- ref: K,
232
- class: h(["image-message__content", { "is-first": e.isFirstInSeries, "with-avatar-indent": !e.isFirstInSeries && e.message.avatar, "has-caption": !!e.message.text }]),
233
- onPointerenter: a[4] || (a[4] = //@ts-ignore
234
- (...i) => t(Y) && t(Y)(...i)),
235
- onPointerleave: a[5] || (a[5] = //@ts-ignore
236
- (...i) => t(Z) && t(Z)(...i))
275
+ ref: ve,
276
+ class: k(["image-message__content", { "is-first": e.isFirstInSeries, "with-avatar-indent": !e.isFirstInSeries && e.message.avatar, "has-caption": !!e.message.text }]),
277
+ onPointerenter: n[3] || (n[3] = //@ts-ignore
278
+ (...u) => a(be) && a(be)(...u)),
279
+ onPointerleave: n[4] || (n[4] = //@ts-ignore
280
+ (...u) => a(ye) && a(ye)(...u))
237
281
  }, [
238
- a[9] || (a[9] = l("div", {
282
+ n[8] || (n[8] = m("div", {
239
283
  class: "image-message__bottom-shadow",
240
284
  "aria-hidden": "true"
241
285
  }, null, -1)),
242
- e.message.deleted ? (n(), m(te, { key: 0 }, [
243
- g(Je),
244
- l("div", cs, [
245
- e.message.time ? (n(), m("span", ds, I(e.message.time), 1)) : o("", !0),
246
- g(ie, {
286
+ e.message.deleted ? (l(), o(O, { key: 0 }, [
287
+ v(bs),
288
+ m("div", Os, [
289
+ e.message.time ? (l(), o("span", Bs, R(e.message.time), 1)) : i("", !0),
290
+ v(Me, {
247
291
  "base-class": "image-message",
248
- "message-class": E(e.message),
292
+ "message-class": _(e.message),
249
293
  "message-status": e.message.status,
250
- "status-class": D.value,
251
- "status-title": q.value
294
+ "status-class": ue.value,
295
+ "status-title": re.value
252
296
  }, null, 8, ["message-class", "message-status", "status-class", "status-title"])
253
297
  ])
254
- ], 64)) : (n(), m(te, { key: 1 }, [
255
- e.message.reply ? (n(), f(De, {
298
+ ], 64)) : (l(), o(O, { key: 1 }, [
299
+ e.message.reply ? (l(), p(cs, {
256
300
  key: 0,
257
301
  style: { margin: "10px 10px 4px 16px" },
258
- class: h(e.message.position),
302
+ class: k(e.message.position),
259
303
  message: e.message.reply,
260
- onReply: t(pe)
261
- }, null, 8, ["class", "message", "onReply"])) : o("", !0),
262
- l("div", {
263
- class: h(["image-message__preview-button", { "image-message__preview-button--blur-edges": W.value }]),
264
- onClick: a[1] || (a[1] = (i) => T.value = !0),
265
- onMouseenter: ke,
266
- onMouseleave: $
304
+ onReply: a(De)
305
+ }, null, 8, ["class", "message", "onReply"])) : i("", !0),
306
+ m("div", {
307
+ class: k(["image-message__preview-button", {
308
+ "image-message__preview-button--blur-edges": oe.value,
309
+ "image-message__preview-button--album": d.value
310
+ }]),
311
+ style: j(d.value ? { borderRadius: me.value } : void 0),
312
+ onClick: Le,
313
+ onMouseenter: We,
314
+ onMouseleave: ie
267
315
  }, [
268
- W.value ? (n(), m("div", fs, [
269
- l("img", {
270
- class: "image-message__blur-left",
271
- src: e.message.url,
272
- alt: e.message.alt
273
- }, null, 8, vs),
274
- l("img", {
275
- class: "image-message__blur-right",
276
- src: e.message.url,
316
+ d.value ? (l(), o("div", {
317
+ key: 0,
318
+ class: k(["image-message__album", "image-message__album--" + Te.value])
319
+ }, [
320
+ (l(!0), o(O, null, ms(N.value, (u, h) => (l(), o("button", {
321
+ key: (u.url || "") + "-" + h,
322
+ type: "button",
323
+ class: "image-message__album-tile",
324
+ onClick: A((he) => Ee(h), ["stop"])
325
+ }, [
326
+ m("img", {
327
+ class: "image-message__album-image",
328
+ src: u.imagePreviewUrl || u.url,
329
+ alt: u.filename
330
+ }, null, 8, Ns),
331
+ z.value > 0 && h === N.value.length - 1 ? (l(), o("span", zs, "+" + R(z.value), 1)) : i("", !0)
332
+ ], 8, Fs))), 128))
333
+ ], 2)) : (l(), o(O, { key: 1 }, [
334
+ oe.value ? (l(), o("div", Hs, [
335
+ m("img", {
336
+ class: "image-message__blur-left",
337
+ src: H.value,
338
+ alt: e.message.alt
339
+ }, null, 8, Vs),
340
+ m("img", {
341
+ class: "image-message__blur-right",
342
+ src: H.value,
343
+ alt: e.message.alt
344
+ }, null, 8, $s)
345
+ ])) : i("", !0),
346
+ m("img", {
347
+ ref_key: "imageRef",
348
+ ref: w,
349
+ class: "image-message__preview-image",
350
+ style: j({ borderRadius: me.value }),
351
+ src: H.value,
277
352
  alt: e.message.alt
278
- }, null, 8, bs)
279
- ])) : o("", !0),
280
- l("img", {
281
- ref_key: "imageRef",
282
- ref: v,
283
- class: "image-message__preview-image",
284
- style: O({ borderRadius: xe.value }),
285
- src: e.message.url,
286
- alt: e.message.alt
287
- }, null, 12, ys),
288
- g(R, { name: "modal-fade" }, {
289
- default: b(() => [
290
- w.value ? (n(), m("div", hs, [
291
- e.message.views ? (n(), m("div", {
353
+ }, null, 12, Ds)
354
+ ], 64)),
355
+ v(L, { name: "modal-fade" }, {
356
+ default: M(() => [
357
+ I.value ? (l(), o("div", Ws, [
358
+ e.message.views ? (l(), o("div", {
292
359
  key: 0,
293
360
  class: "image-message__views",
294
- onClick: a[0] || (a[0] = ae(
361
+ onClick: n[0] || (n[0] = A(
295
362
  //@ts-ignore
296
- (...i) => t(H) && t(H)(...i),
363
+ (...u) => a(ae) && a(ae)(...u),
297
364
  ["stop"]
298
365
  ))
299
366
  }, [
300
- a[6] || (a[6] = l("span", { class: "pi pi-eye" }, null, -1)),
301
- l("p", null, I(e.message.views), 1)
302
- ])) : o("", !0),
303
- l("span", ws, I(e.message.time), 1),
304
- g(ie, {
367
+ n[5] || (n[5] = m("span", { class: "pi pi-eye" }, null, -1)),
368
+ m("p", null, R(e.message.views), 1)
369
+ ])) : i("", !0),
370
+ m("span", _s, R(e.message.time), 1),
371
+ v(Me, {
305
372
  "base-class": "image-message",
306
- "message-class": E(e.message),
373
+ "message-class": _(e.message),
307
374
  "message-status": e.message.status,
308
- "status-class": D.value,
309
- "status-title": q.value
375
+ "status-class": ue.value,
376
+ "status-title": re.value
310
377
  }, null, 8, ["message-class", "message-status", "status-class", "status-title"])
311
- ])) : o("", !0)
378
+ ])) : i("", !0)
312
379
  ]),
313
380
  _: 1
314
381
  }),
315
- g(R, { name: "modal-fade" }, {
316
- default: b(() => [
317
- w.value ? (n(), m("button", {
382
+ v(L, { name: "modal-fade" }, {
383
+ default: M(() => [
384
+ I.value ? (l(), o("button", {
318
385
  key: 0,
319
386
  class: "image-message__download-button",
320
- onClick: ae(Se, ["stop"])
321
- }, [...a[7] || (a[7] = [
322
- l("span", { class: "pi pi-download" }, null, -1)
323
- ])])) : o("", !0)
387
+ onClick: A(Ge, ["stop"])
388
+ }, [...n[6] || (n[6] = [
389
+ m("span", { class: "pi pi-download" }, null, -1)
390
+ ])])) : i("", !0)
324
391
  ]),
325
392
  _: 1
326
393
  })
327
- ], 34),
328
- g(R, { name: "modal-fade" }, {
329
- default: b(() => [
330
- t(U) && t(x).length && !e.reactionsEnabled && t(me) ? (n(), m("button", {
394
+ ], 38),
395
+ v(L, { name: "modal-fade" }, {
396
+ default: M(() => [
397
+ a(se) && a(E).length && !e.reactionsEnabled && a(Ie) ? (l(), o("button", {
331
398
  key: 0,
332
399
  class: "image-message__menu-button",
333
- onClick: a[2] || (a[2] = //@ts-ignore
334
- (...i) => t(z) && t(z)(...i))
335
- }, [...a[8] || (a[8] = [
336
- l("span", { class: "pi pi-ellipsis-h" }, null, -1)
337
- ])])) : o("", !0)
400
+ onClick: n[1] || (n[1] = //@ts-ignore
401
+ (...u) => a(te) && a(te)(...u))
402
+ }, [...n[7] || (n[7] = [
403
+ m("span", { class: "pi pi-ellipsis-h" }, null, -1)
404
+ ])])) : i("", !0)
338
405
  ]),
339
406
  _: 1
340
407
  }),
341
- (n(), f(ne, { to: "body" }, [
342
- g(R, { name: "context-menu" }, {
343
- default: b(() => [
344
- t(ue) && t(x).length ? (n(), f(Ve, {
408
+ (l(), p(ke, { to: "body" }, [
409
+ v(L, { name: "context-menu" }, {
410
+ default: M(() => [
411
+ a(Ue) && a(E).length ? (l(), p(us, {
345
412
  key: 0,
346
413
  ref_key: "menuRef",
347
- ref: ce,
414
+ ref: je,
348
415
  class: "image-message__context-menu message-actions-menu",
349
- style: O(t(de)),
350
- "data-theme": t(fe),
351
- actions: t(x),
352
- onClick: t(Me),
353
- onMouseenter: t(he),
354
- onMouseleave: Re
355
- }, null, 8, ["style", "data-theme", "actions", "onClick", "onMouseenter"])) : o("", !0)
416
+ style: j(a(Oe)),
417
+ "data-theme": a(Be),
418
+ actions: a(E),
419
+ onClick: a($e),
420
+ onMouseenter: a(He),
421
+ onMouseleave: _e
422
+ }, null, 8, ["style", "data-theme", "actions", "onClick", "onMouseenter"])) : i("", !0)
356
423
  ]),
357
424
  _: 1
358
425
  })
359
426
  ])),
360
- e.message.text ? (n(), m("div", {
427
+ e.message.text ? (l(), o("div", {
361
428
  key: 1,
362
429
  ref_key: "textRef",
363
- ref: c,
430
+ ref: f,
364
431
  class: "image-message__text-container"
365
432
  }, [
366
- l("p", {
367
- onClick: a[3] || (a[3] = //@ts-ignore
368
- (...i) => t(V) && t(V)(...i)),
369
- innerHTML: t(N)
370
- }, null, 8, Ms)
371
- ], 512)) : o("", !0),
372
- g(Ge, {
433
+ m("p", {
434
+ onClick: n[2] || (n[2] = //@ts-ignore
435
+ (...u) => a(le) && a(le)(...u)),
436
+ innerHTML: a(ne)
437
+ }, null, 8, qs)
438
+ ], 512)) : i("", !0),
439
+ v(fs, {
373
440
  status: e.message.status,
374
441
  "has-messenger-account": e.message.hasMessengerAccount,
375
442
  channel: e.channel,
376
- onSmsInvite: Le
443
+ onSmsInvite: Ze
377
444
  }, null, 8, ["status", "has-messenger-account", "channel"]),
378
- e.message.linkPreview ? (n(), f(We, {
445
+ e.message.linkPreview ? (l(), p(rs, {
379
446
  key: 2,
380
- class: h(["image-message__link-preview", e.message.position]),
447
+ class: k(["image-message__link-preview", e.message.position]),
381
448
  "link-preview": e.message.linkPreview
382
- }, null, 8, ["class", "link-preview"])) : o("", !0),
383
- e.message.embed ? (n(), f($e, {
449
+ }, null, 8, ["class", "link-preview"])) : i("", !0),
450
+ e.message.embed ? (l(), p(gs, {
384
451
  key: 3,
385
- class: h(e.message.position),
452
+ class: k(e.message.position),
386
453
  embed: e.message.embed
387
- }, null, 8, ["class", "embed"])) : o("", !0),
388
- t(Ae) ? (n(), f(Qe, {
454
+ }, null, 8, ["class", "embed"])) : i("", !0),
455
+ a(Xe) ? (l(), p(vs, {
389
456
  key: 4,
390
457
  ref_key: "reactionsRef",
391
- ref: X,
458
+ ref: fe,
392
459
  reactions: e.message.reactions,
393
460
  "message-id": e.message.messageId,
394
- enabled: t(P),
461
+ enabled: a(X),
395
462
  mode: e.reactionsMode,
396
463
  "current-user-id": e.currentUserId,
397
464
  "reaction-user-names": e.reactionUserNames,
398
- onToggleReaction: t(Q),
399
- onAddReaction: t(G),
400
- onRemoveReaction: t(J)
401
- }, null, 8, ["reactions", "message-id", "enabled", "mode", "current-user-id", "reaction-user-names", "onToggleReaction", "onAddReaction", "onRemoveReaction"])) : o("", !0)
465
+ onToggleReaction: a(ge),
466
+ onAddReaction: a(ce),
467
+ onRemoveReaction: a(de)
468
+ }, null, 8, ["reactions", "message-id", "enabled", "mode", "current-user-id", "reaction-user-names", "onToggleReaction", "onAddReaction", "onRemoveReaction"])) : i("", !0)
402
469
  ], 64))
403
470
  ], 34),
404
- (n(), f(ne, { to: "body" }, [
405
- g(R, { name: "modal-fade" }, {
406
- default: b(() => [
407
- T.value && !e.message.deleted ? (n(), f(qe, {
471
+ (l(), p(ke, { to: "body" }, [
472
+ v(L, { name: "modal-fade" }, {
473
+ default: M(() => [
474
+ x.value && !e.message.deleted ? (l(), p(ds, {
408
475
  key: 0,
409
- "data-theme": t(B)().theme ? t(B)().theme : "light",
410
- title: e.message.alt,
411
- onClose: Ie
476
+ "data-theme": a(J)().theme ? a(J)().theme : "light",
477
+ title: Ae.value,
478
+ onClose: Ke
412
479
  }, {
413
- default: b(() => [
414
- l("img", {
415
- class: "image-message__modal-image",
416
- src: e.message.url,
417
- alt: e.message.alt
418
- }, null, 8, ps)
480
+ default: M(() => [
481
+ m("div", Ks, [
482
+ d.value ? (l(), o("button", {
483
+ key: 0,
484
+ type: "button",
485
+ class: "image-message__modal-nav image-message__modal-nav--prev",
486
+ "aria-label": "Предыдущее изображение",
487
+ onClick: A(Z, ["stop"])
488
+ }, [...n[9] || (n[9] = [
489
+ m("span", { class: "pi pi-chevron-left" }, null, -1)
490
+ ])])) : i("", !0),
491
+ m("img", {
492
+ class: "image-message__modal-image",
493
+ src: Se.value,
494
+ alt: $.value
495
+ }, null, 8, Qs),
496
+ d.value ? (l(), o("button", {
497
+ key: 1,
498
+ type: "button",
499
+ class: "image-message__modal-nav image-message__modal-nav--next",
500
+ "aria-label": "Следующее изображение",
501
+ onClick: A(ee, ["stop"])
502
+ }, [...n[10] || (n[10] = [
503
+ m("span", { class: "pi pi-chevron-right" }, null, -1)
504
+ ])])) : i("", !0),
505
+ d.value ? (l(), o("span", Gs, R(y.value + 1) + " / " + R(g.value.length), 1)) : i("", !0)
506
+ ])
419
507
  ]),
420
508
  _: 1
421
- }, 8, ["data-theme", "title"])) : o("", !0)
509
+ }, 8, ["data-theme", "title"])) : i("", !0)
422
510
  ]),
423
511
  _: 1
424
512
  })
425
513
  ]))
426
- ], 46, rs));
514
+ ], 46, Us));
427
515
  }
428
516
  });
429
517
  export {
430
- Ys as default
518
+ Ct as default
431
519
  };