@mobilon-dev/chotto 0.3.65 → 0.3.66

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.
@@ -1,35 +1,39 @@
1
- import { defineComponent as Me, inject as Se, ref as g, computed as y, watch as B, createElementBlock as p, openBlock as u, unref as l, normalizeStyle as X, normalizeClass as T, createCommentVNode as c, createElementVNode as o, createVNode as x, withCtx as P, createTextVNode as Re, toDisplayString as w, createBlock as M, withDirectives as D, vShow as Y, vModelText as Ie, Transition as _, Teleport as Ne, nextTick as Ae } from "vue";
2
- import Fe from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
3
- import Ee from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
4
- import $e from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
5
- import Le from "../BaseReplyMessage/BaseReplyMessage.vue.js";
6
- import Ve from "../MessageReactions/MessageReactions.vue.js";
7
- import Be from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
8
- import Pe from "../MessageSmsInvite/MessageSmsInvite.vue.js";
9
- import De from "../../1_atoms/Tooltip/Tooltip.vue.js";
10
- import { useMessageActions as Ue } from "../../../hooks/messages/useMessageActions.js";
11
- import { useMessageLinks as Ze } from "../../../hooks/messages/useMessageLinks.js";
12
- import { useChannelAccentColor as je } from "../../../hooks/messages/useChannelAccentColor.js";
13
- import { useSubtextTooltip as He } from "../../../hooks/messages/useSubtextTooltip.js";
14
- import { getStatus as Oe, getStatusTitle as qe } from "../../../functions/getStatusMessage.js";
15
- import { getMessageClass as ze } from "../../../functions/getMessageClass.js";
16
- import { createReactionHandlers as We } from "../../../functions/createReactionHandlers.js";
1
+ import { defineComponent as Ve, ref as p, computed as g, watch as D, createElementBlock as c, openBlock as l, unref as u, normalizeStyle as ie, normalizeClass as C, createCommentVNode as f, createElementVNode as o, createVNode as k, withCtx as j, createTextVNode as le, toDisplayString as y, createBlock as N, withDirectives as O, vShow as ue, vModelText as De, Transition as re, Fragment as U, renderList as je, nextTick as Oe } from "vue";
2
+ import Ue from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
3
+ import Ze from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
4
+ import He from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
5
+ import qe from "../BaseReplyMessage/BaseReplyMessage.vue.js";
6
+ import ze from "../MessageReactions/MessageReactions.vue.js";
7
+ import Je from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
8
+ import We from "../MessageSmsInvite/MessageSmsInvite.vue.js";
9
+ import Ge from "../../1_atoms/Tooltip/Tooltip.vue.js";
10
+ import { useMessageActions as Ke } from "../../../hooks/messages/useMessageActions.js";
11
+ import { useMessageLinks as Qe } from "../../../hooks/messages/useMessageLinks.js";
12
+ import { useChannelAccentColor as Xe } from "../../../hooks/messages/useChannelAccentColor.js";
13
+ import { useSubtextTooltip as Ye } from "../../../hooks/messages/useSubtextTooltip.js";
14
+ import { getStatus as et, getStatusTitle as tt } from "../../../functions/getStatusMessage.js";
15
+ import { getMessageClass as st } from "../../../functions/getMessageClass.js";
16
+ import { createReactionHandlers as at } from "../../../functions/createReactionHandlers.js";
17
17
  import "../../../functions/parseMarkdown.js";
18
- import "../../../hooks/useMessageDraft.js";
19
- import "../../../hooks/useSearchModel.js";
20
- import { useTheme as Ge } from "../../../hooks/useTheme.js";
21
- /* empty css */
22
- /* empty css */
23
- const Je = ["messageId"], Ke = ["src"], Qe = {
18
+ const nt = ["messageId"], ot = ["src"], it = {
24
19
  key: 1,
25
20
  class: "audio-message__subtext"
26
- }, Xe = { class: "audio-message__audio-container" }, Ye = ["src"], _e = { class: "audio-message__progress-wrapper" }, es = ["max"], ss = { class: "audio-message__speed-btn-container" }, ts = { class: "audio-message__player-controls" }, as = { class: "audio-message__current-time" }, os = { class: "audio-message__duration" }, ns = {
21
+ }, lt = { class: "audio-message__audio-container" }, ut = ["src"], rt = { class: "audio-message__progress-wrapper" }, mt = ["max"], ct = { class: "audio-message__speed-btn-container" }, dt = { class: "audio-message__player-controls" }, gt = { class: "audio-message__current-time" }, vt = { class: "audio-message__duration" }, ft = {
27
22
  key: 1,
28
- class: "audio-message__transcript-container"
29
- }, is = {
30
- key: 2,
31
23
  class: "audio-message__text-container"
32
- }, ls = ["innerHTML"], us = { class: "audio-message__info-container" }, rs = { class: "audio-message__time" }, ms = ["data-theme"], ds = { class: "audio-message__modal" }, cs = { style: { "word-wrap": "break-word", "max-width": "25rem" } }, Bs = /* @__PURE__ */ Me({
24
+ }, pt = ["innerHTML"], yt = { class: "audio-message__info-container" }, bt = { class: "audio-message__actions" }, ht = { class: "audio-message__time" }, xt = {
25
+ key: 0,
26
+ class: "audio-message__expand-panel"
27
+ }, Ct = { class: "audio-message__expand-inner" }, wt = {
28
+ key: 0,
29
+ class: "audio-message__expand-placeholder"
30
+ }, kt = {
31
+ key: 1,
32
+ class: "audio-message__expand-plain"
33
+ }, St = {
34
+ key: 0,
35
+ class: "audio-message__expand-placeholder"
36
+ }, Tt = { class: "audio-message__expand-close-wrap" }, me = "Распознаем звонок, пожалуйста подождите...", Ht = /* @__PURE__ */ Ve({
33
37
  __name: "AudioMessage",
34
38
  props: {
35
39
  message: {
@@ -60,8 +64,36 @@ const Je = ["messageId"], Ke = ["src"], Qe = {
60
64
  }
61
65
  },
62
66
  emits: ["action", "reply", "sms-invite"],
63
- setup(s, { emit: ee }) {
64
- const se = Se("chatAppId"), { getTheme: U } = Ge(se), i = s, I = g([
67
+ setup(s, { emit: ce }) {
68
+ function Z(e) {
69
+ if (e == null) return null;
70
+ if (typeof e == "object") return e;
71
+ if (typeof e != "string") return null;
72
+ const t = e.trim();
73
+ if (!t) return null;
74
+ try {
75
+ return JSON.parse(t);
76
+ } catch {
77
+ return null;
78
+ }
79
+ }
80
+ function H(e) {
81
+ var t;
82
+ if (e == null) return null;
83
+ if (typeof e == "object" && e !== null && "summary" in e)
84
+ return String(e.summary ?? "").trim() || null;
85
+ if (typeof e == "string") {
86
+ const a = e.trim();
87
+ if (!a) return null;
88
+ if (a.startsWith("{")) {
89
+ const m = Z(a);
90
+ return ((t = m == null ? void 0 : m.summary) == null ? void 0 : t.trim()) || null;
91
+ }
92
+ return a;
93
+ }
94
+ return null;
95
+ }
96
+ const i = s, _ = p([
65
97
  {
66
98
  text: "1.0x",
67
99
  speed: 1
@@ -78,59 +110,79 @@ const Je = ["messageId"], Ke = ["src"], Qe = {
78
110
  text: "2.0x",
79
111
  speed: 2
80
112
  }
81
- ]), N = g(0), A = y(() => I.value[N.value] ?? I.value[0]), te = () => {
82
- N.value = (N.value + 1) % I.value.length, t.value && (t.value.playbackRate = A.value.speed);
83
- }, F = ee, t = g(null), C = g(void 0), r = g(!1), v = g(0), d = g(0), b = g(!1), E = (a) => {
84
- if (a == null) return;
85
- if (typeof a == "number")
86
- return !Number.isFinite(a) || a < 0 ? void 0 : Math.floor(a);
87
- const e = String(a).trim();
88
- if (!e) return;
89
- if (/^\d+$/.test(e)) {
90
- const f = Number(e);
91
- return Number.isFinite(f) && f >= 0 ? Math.floor(f) : void 0;
113
+ ]), F = p(0), A = g(() => _.value[F.value] ?? _.value[0]), de = () => {
114
+ F.value = (F.value + 1) % _.value.length, n.value && (n.value.playbackRate = A.value.speed);
115
+ }, S = ce, n = p(null), w = p(void 0), d = p(!1), h = p(0), v = p(0), x = p(!1), E = g(() => {
116
+ var t, a;
117
+ const e = i.message;
118
+ return e.url || (typeof ((t = e.meta) == null ? void 0 : t.url) == "string" ? e.meta.url : void 0) || ((a = e.data) == null ? void 0 : a.url);
119
+ }), L = (e) => {
120
+ if (e == null) return;
121
+ if (typeof e == "number")
122
+ return !Number.isFinite(e) || e < 0 ? void 0 : Math.floor(e);
123
+ const t = String(e).trim();
124
+ if (!t) return;
125
+ if (/^\d+$/.test(t)) {
126
+ const r = Number(t);
127
+ return Number.isFinite(r) && r >= 0 ? Math.floor(r) : void 0;
92
128
  }
93
- const m = e.match(/^(\d+):([0-5]\d):([0-5]\d)$/);
94
- if (m) {
95
- const f = Number(m[1]), V = Number(m[2]), h = Number(m[3]);
96
- return f * 3600 + V * 60 + h;
129
+ const a = t.match(/^(\d+):([0-5]\d):([0-5]\d)$/);
130
+ if (a) {
131
+ const r = Number(a[1]), B = Number(a[2]), V = Number(a[3]);
132
+ return r * 3600 + B * 60 + V;
97
133
  }
98
- const n = e.match(/^(\d+):([0-5]\d)$/);
99
- if (n) return Number(n[1]) * 60 + Number(n[2]);
100
- }, Z = () => {
101
- r.value = !1, d.value = 0, v.value = E(i.message.duration) ?? 0, b.value = !1;
134
+ const m = t.match(/^(\d+):([0-5]\d)$/);
135
+ if (m) return Number(m[1]) * 60 + Number(m[2]);
136
+ }, q = () => {
137
+ d.value = !1, v.value = 0, h.value = L(i.message.duration) ?? 0, x.value = !1;
102
138
  };
103
- Z(), B(
104
- () => i.message.url,
105
- (a, e) => {
106
- a !== e && (Z(), C.value = void 0, t.value && (t.value.pause(), t.value.currentTime = 0, t.value.removeAttribute("src"), t.value.load()));
139
+ q(), D(
140
+ () => E.value,
141
+ (e, t) => {
142
+ e !== t && (q(), w.value = void 0, n.value && (n.value.pause(), n.value.currentTime = 0, n.value.removeAttribute("src"), n.value.load()));
107
143
  }
108
- ), B(
144
+ ), D(
109
145
  () => i.message.duration,
110
146
  () => {
111
- C.value === void 0 && (v.value = E(i.message.duration) ?? 0);
147
+ w.value === void 0 && (h.value = L(i.message.duration) ?? 0);
112
148
  }
113
149
  );
114
150
  const {
115
151
  isOpenMenu: $,
116
- buttonMenuVisible: ae,
117
- showMenu: j,
118
- hideMenu: L,
119
- clickAction: oe,
120
- viewsAction: H,
121
- handleClickReplied: ne
122
- } = Ue(i.message, F), S = g(!1), ie = async () => {
123
- var a, e, m;
124
- if (i.message.url)
152
+ buttonMenuVisible: ge,
153
+ showMenu: z,
154
+ hideMenu: P,
155
+ clickAction: ve,
156
+ viewsAction: J,
157
+ handleClickReplied: fe
158
+ } = Ke(i.message, S), b = p(null), M = p({ text: !1, summary: !1 }), pe = g(() => {
159
+ var a;
160
+ const e = i.message, t = e.transcript ?? ((a = e.meta) == null ? void 0 : a.transcript);
161
+ return t ? typeof t == "object" && t !== null && "replies" in t ? t : typeof t == "string" && t.trim() ? Z(t) : null : null;
162
+ }), W = g(() => {
163
+ var m;
164
+ const e = pe.value;
165
+ if ((m = e == null ? void 0 : e.replies) != null && m.length)
166
+ return e.replies.map((r) => String(r.text ?? "").trim()).filter(Boolean);
167
+ const t = i.message, a = typeof t.transcript == "object" && t.transcript && "text" in t.transcript ? t.transcript.text ?? "" : "";
168
+ return String(a).split(/\r?\n+/g).map((r) => r.trim()).filter(Boolean);
169
+ }), G = g(() => W.value.length > 0), K = g(() => {
170
+ var t;
171
+ const e = i.message;
172
+ return H(e.summary) ?? H((t = e.meta) == null ? void 0 : t.summary) ?? "Резюме недоступно";
173
+ }), Q = g(() => K.value !== "Резюме недоступно"), ye = async () => {
174
+ var t, a, m;
175
+ const e = E.value;
176
+ if (e)
125
177
  try {
126
- const n = await fetch(i.message.url, {
178
+ const r = await fetch(e, {
127
179
  headers: {
128
180
  Accept: "audio/*"
129
181
  }
130
182
  });
131
- if (!n.ok)
132
- throw new Error(`HTTP error! status: ${n.status}`);
133
- const f = n.headers.get("content-type") || "", V = await n.blob(), h = ((e = (a = i.message.url.split(".").pop()) == null ? void 0 : a.split("?")[0]) == null ? void 0 : e.toLowerCase()) || "", ke = {
183
+ if (!r.ok)
184
+ throw new Error(`HTTP error! status: ${r.status}`);
185
+ const B = r.headers.get("content-type") || "", V = await r.blob(), R = ((a = (t = e.split(".").pop()) == null ? void 0 : t.split("?")[0]) == null ? void 0 : a.toLowerCase()) || "", Pe = {
134
186
  "audio/mpeg": "mp3",
135
187
  "audio/mp3": "mp3",
136
188
  "audio/wav": "wav",
@@ -141,306 +193,324 @@ const Je = ["messageId"], Ke = ["src"], Qe = {
141
193
  "audio/flac": "flac",
142
194
  "audio/m4a": "m4a",
143
195
  "audio/x-m4a": "m4a",
144
- "application/octet-stream": h || "mp3"
145
- }, J = h && ["mp3", "wav", "ogg", "webm", "aac", "flac", "m4a"].includes(h) ? h : ke[f] || "mp3", K = i.message.url.split("/"), R = decodeURIComponent(((m = K[K.length - 1]) == null ? void 0 : m.split("?")[0]) || ""), Te = R ? R.includes(".") ? R : `${R}.${J}` : `audio-${i.message.messageId}.${J}`, Q = window.URL.createObjectURL(V), k = document.createElement("a");
146
- k.href = Q, k.download = Te, document.body.appendChild(k), k.click(), document.body.removeChild(k), window.URL.revokeObjectURL(Q);
147
- } catch (n) {
148
- console.error("Ошибка при скачивании аудио:", n), window.open(i.message.url, "_blank");
196
+ "application/octet-stream": R || "mp3"
197
+ }, ae = R && ["mp3", "wav", "ogg", "webm", "aac", "flac", "m4a"].includes(R) ? R : Pe[B] || "mp3", ne = e.split("/"), I = decodeURIComponent(((m = ne[ne.length - 1]) == null ? void 0 : m.split("?")[0]) || ""), Be = I ? I.includes(".") ? I : `${I}.${ae}` : `audio-${i.message.messageId}.${ae}`, oe = window.URL.createObjectURL(V), T = document.createElement("a");
198
+ T.href = oe, T.download = Be, document.body.appendChild(T), T.click(), document.body.removeChild(T), window.URL.revokeObjectURL(oe);
199
+ } catch (r) {
200
+ console.error("Ошибка при скачивании аудио:", r), e && window.open(e, "_blank");
149
201
  }
150
- }, le = (a) => {
151
- a.action === "download" ? (ie(), L()) : oe(a);
152
- }, { linkedHtml: ue, inNewWindow: O } = Ze(() => i.message.text), re = y(() => Oe(i.message.status)), me = y(() => qe(i.message.status, i.message.statusMsg)), { bubbleStyle: de } = je(
153
- y(() => i.message),
202
+ }, be = (e) => {
203
+ e.action === "download" ? (ye(), P()) : ve(e);
204
+ }, { linkedHtml: he, inNewWindow: X } = Qe(() => i.message.text), xe = g(() => et(i.message.status)), Ce = g(() => tt(i.message.status, i.message.statusMsg)), { bubbleStyle: we } = Xe(
205
+ g(() => i.message),
154
206
  { cssVariable: "--chotto-audiomessage-right-background-color", position: "right" }
155
- ), q = async () => {
156
- if (!(!t.value || !i.message.url))
157
- if (r.value)
158
- t.value.pause(), r.value = !1;
207
+ ), Y = async () => {
208
+ const e = E.value;
209
+ if (!(!n.value || !e))
210
+ if (d.value)
211
+ n.value.pause(), d.value = !1;
159
212
  else
160
213
  try {
161
- C.value || (C.value = i.message.url, await Ae(), t.value.load()), await t.value.play(), r.value = !0;
162
- } catch (a) {
163
- console.error("Не удалось воспроизвести аудио", a), r.value = !1;
214
+ w.value || (w.value = e, await Oe(), n.value.load()), await n.value.play(), d.value = !0;
215
+ } catch (t) {
216
+ console.error("Не удалось воспроизвести аудио", t), d.value = !1;
164
217
  }
165
- }, z = (a) => {
166
- const e = Math.floor(a / 60), m = Math.floor(a % 60);
167
- return `${e.toString().padStart(2, "0")}:${m.toString().padStart(2, "0")}`;
168
- }, ce = y(() => z(d.value));
169
- B(
170
- () => d.value,
218
+ }, ee = (e) => {
219
+ const t = Math.floor(e / 60), a = Math.floor(e % 60);
220
+ return `${t.toString().padStart(2, "0")}:${a.toString().padStart(2, "0")}`;
221
+ }, ke = g(() => ee(v.value));
222
+ D(
223
+ () => v.value,
171
224
  () => {
172
- t.value && b.value && (t.value.duration != 1 / 0 && !Number.isNaN(t.value.duration) && (t.value.currentTime = d.value), Math.abs(d.value - v.value) < 0.1 && (r.value = !1));
225
+ n.value && x.value && (n.value.duration != 1 / 0 && !Number.isNaN(n.value.duration) && (n.value.currentTime = v.value), Math.abs(v.value - h.value) < 0.1 && (d.value = !1));
173
226
  }
174
227
  );
175
- const W = () => {
176
- t.value && b.value && t.value.duration != 1 / 0 && !Number.isNaN(t.value.duration) && (t.value.currentTime = d.value), b.value = !1;
177
- }, ge = y(() => z(v.value)), ve = () => {
178
- if (!t.value) return;
179
- const a = t.value;
180
- if (d.value = a.currentTime || 0, a.duration === 1 / 0 || Number.isNaN(a.duration)) {
181
- a.currentTime = 1e101;
182
- const e = () => {
183
- t.value && (v.value = t.value.duration || 0, d.value = 0, t.value.currentTime = 0);
228
+ const te = () => {
229
+ n.value && x.value && n.value.duration != 1 / 0 && !Number.isNaN(n.value.duration) && (n.value.currentTime = v.value), x.value = !1;
230
+ }, Se = g(() => ee(h.value)), Te = () => {
231
+ if (!n.value) return;
232
+ const e = n.value;
233
+ if (v.value = e.currentTime || 0, e.duration === 1 / 0 || Number.isNaN(e.duration)) {
234
+ e.currentTime = 1e101;
235
+ const t = () => {
236
+ n.value && (h.value = n.value.duration || 0, v.value = 0, n.value.currentTime = 0);
184
237
  };
185
- a.addEventListener("timeupdate", e, { once: !0 });
238
+ e.addEventListener("timeupdate", t, { once: !0 });
186
239
  } else
187
- v.value = a.duration || 0;
188
- a.playbackRate = A.value.speed;
189
- }, fe = () => {
190
- t.value && (b.value || (d.value = t.value.currentTime), t.value.ended && r.value && (r.value = !1));
191
- }, pe = () => {
192
- r.value = !1;
193
- }, we = () => {
194
- console.error("Не удалось загрузить аудио"), r.value = !1, C.value = void 0, t.value && (t.value.pause(), t.value.currentTime = 0, t.value.removeAttribute("src"), t.value.load()), v.value = E(i.message.duration) ?? 0;
240
+ h.value = e.duration || 0;
241
+ e.playbackRate = A.value.speed;
242
+ }, Me = () => {
243
+ n.value && (x.value || (v.value = n.value.currentTime), n.value.ended && d.value && (d.value = !1));
244
+ }, Re = () => {
245
+ d.value = !1;
246
+ }, Ie = () => {
247
+ console.error("Не удалось загрузить аудио"), d.value = !1, w.value = void 0, n.value && (n.value.pause(), n.value.currentTime = 0, n.value.removeAttribute("src"), n.value.load()), h.value = L(i.message.duration) ?? 0;
195
248
  };
196
- function G(a) {
197
- return ze(a.position, "audio-message");
249
+ function se(e) {
250
+ return st(e.position, "audio-message");
198
251
  }
199
- const { onToggleReaction: be, onAddReaction: Ce, onRemoveReaction: he } = We(F), ye = He(() => i.message, () => i.subtextTooltipData);
200
- function xe() {
201
- F("sms-invite", i.message);
252
+ const { onToggleReaction: Ne, onAddReaction: _e, onRemoveReaction: Fe } = at(S), Ae = Ye(() => i.message, () => i.subtextTooltipData);
253
+ function Ee() {
254
+ S("sms-invite", i.message);
202
255
  }
203
- return (a, e) => {
204
- var m;
205
- return u(), p("div", {
206
- class: T(["audio-message", [
207
- G(s.message),
208
- s.applyStyle(s.message)
209
- ]]),
210
- messageId: s.message.messageId,
211
- style: X(l(de)),
212
- onMouseleave: e[9] || (e[9] = //@ts-ignore
213
- (...n) => l(L) && l(L)(...n))
256
+ const Le = () => {
257
+ const e = b.value === "text" ? null : "text";
258
+ b.value = e, e === "text" && !G.value && !M.value.text && (M.value.text = !0, S("action", { action: "fetchTranscript", messageId: i.message.messageId }));
259
+ }, $e = () => {
260
+ const e = b.value === "summary" ? null : "summary";
261
+ b.value = e, e === "summary" && !Q.value && !M.value.summary && (M.value.summary = !0, S("action", { action: "fetchSummary", messageId: i.message.messageId }));
262
+ };
263
+ return (e, t) => (l(), c("div", {
264
+ class: C(["audio-message", [
265
+ se(s.message),
266
+ s.applyStyle(s.message)
267
+ ]]),
268
+ messageId: s.message.messageId,
269
+ style: ie(u(we)),
270
+ onMouseleave: t[8] || (t[8] = //@ts-ignore
271
+ (...a) => u(P) && u(P)(...a))
272
+ }, [
273
+ s.message.avatar && s.isFirstInSeries ? (l(), c("img", {
274
+ key: 0,
275
+ class: "audio-message__avatar",
276
+ src: s.message.avatar,
277
+ height: "32",
278
+ width: "32",
279
+ style: ie({ gridRow: s.message.subText ? "2" : "1" })
280
+ }, null, 12, ot)) : f("", !0),
281
+ s.message.subText && s.isFirstInSeries ? (l(), c("p", it, [
282
+ k(Ge, {
283
+ text: u(Ae),
284
+ position: s.message.position === "left" ? "right" : "left",
285
+ offset: 8
286
+ }, {
287
+ default: j(() => [
288
+ le(y(s.message.subText), 1)
289
+ ]),
290
+ _: 1
291
+ }, 8, ["text", "position"])
292
+ ])) : f("", !0),
293
+ o("div", {
294
+ class: C(["audio-message__content", { "is-first": s.isFirstInSeries, "with-avatar-indent": !s.isFirstInSeries && s.message.avatar }]),
295
+ onMouseenter: t[7] || (t[7] = //@ts-ignore
296
+ (...a) => u(z) && u(z)(...a))
214
297
  }, [
215
- s.message.avatar && s.isFirstInSeries ? (u(), p("img", {
298
+ s.message.reply ? (l(), N(qe, {
216
299
  key: 0,
217
- class: "audio-message__avatar",
218
- src: s.message.avatar,
219
- height: "32",
220
- width: "32",
221
- style: X({ gridRow: s.message.subText ? "2" : "1" })
222
- }, null, 12, Ke)) : c("", !0),
223
- s.message.subText && s.isFirstInSeries ? (u(), p("p", Qe, [
224
- x(De, {
225
- text: l(ye),
226
- position: s.message.position === "left" ? "right" : "left",
227
- offset: 8
228
- }, {
229
- default: P(() => [
230
- Re(w(s.message.subText), 1)
300
+ style: { "grid-column": "1/3" },
301
+ message: s.message.reply,
302
+ class: C(s.message.position),
303
+ onReply: u(fe)
304
+ }, null, 8, ["message", "class", "onReply"])) : f("", !0),
305
+ o("div", lt, [
306
+ o("audio", {
307
+ ref_key: "player",
308
+ ref: n,
309
+ src: w.value,
310
+ type: "audio/webm",
311
+ onLoadedmetadata: Te,
312
+ onTimeupdate: Me,
313
+ onEnded: Re,
314
+ onError: Ie
315
+ }, null, 40, ut),
316
+ O(o("button", {
317
+ class: "audio-message__play",
318
+ onClick: Y
319
+ }, [...t[9] || (t[9] = [
320
+ o("div", { class: "audio-message__play-icon" }, [
321
+ o("svg", {
322
+ width: "20",
323
+ height: "23",
324
+ viewBox: "0 0 20 23",
325
+ fill: "none",
326
+ xmlns: "http://www.w3.org/2000/svg"
327
+ }, [
328
+ o("path", {
329
+ d: "M18.99 12.9934L3.0825 22.2234C1.7325 23.0059 0 22.0584 0 20.4809V2.02087C0 0.44587 1.73 -0.50413 3.0825 0.28087L18.99 9.51087C19.2971 9.68618 19.5524 9.93959 19.7299 10.2454C19.9075 10.5512 20.001 10.8985 20.001 11.2521C20.001 11.6057 19.9075 11.953 19.7299 12.2589C19.5524 12.5647 19.2971 12.8181 18.99 12.9934Z",
330
+ fill: "#5F5F5F"
331
+ })
332
+ ])
333
+ ], -1)
334
+ ])], 512), [
335
+ [ue, !d.value]
336
+ ]),
337
+ O(o("button", {
338
+ class: "audio-message__pause",
339
+ onClick: Y
340
+ }, [...t[10] || (t[10] = [
341
+ o("div", { class: "audio-message__pause-icon" }, [
342
+ o("svg", {
343
+ width: "20",
344
+ height: "23",
345
+ viewBox: "0 0 20 23",
346
+ fill: "none",
347
+ xmlns: "http://www.w3.org/2000/svg"
348
+ }, [
349
+ o("path", {
350
+ d: "M3.75 0C4.74456 0 5.69839 0.395088 6.40165 1.09835C7.10491 1.80161 7.5 2.75544 7.5 3.75V18.75C7.5 19.7446 7.10491 20.6984 6.40165 21.4017C5.69839 22.1049 4.74456 22.5 3.75 22.5C2.75544 22.5 1.80161 22.1049 1.09835 21.4017C0.395088 20.6984 2.09588e-08 19.7446 0 18.75V3.75C0 2.75544 0.395088 1.80161 1.09835 1.09835C1.80161 0.395088 2.75544 0 3.75 0ZM16.25 0C17.2446 0 18.1984 0.395088 18.9017 1.09835C19.6049 1.80161 20 2.75544 20 3.75V18.75C20 19.7446 19.6049 20.6984 18.9017 21.4017C18.1984 22.1049 17.2446 22.5 16.25 22.5C15.2554 22.5 14.3016 22.1049 13.5983 21.4017C12.8951 20.6984 12.5 19.7446 12.5 18.75V3.75C12.5 2.75544 12.8951 1.80161 13.5983 1.09835C14.3016 0.395088 15.2554 0 16.25 0Z",
351
+ fill: "#5F5F5F"
352
+ })
353
+ ])
354
+ ], -1)
355
+ ])], 512), [
356
+ [ue, d.value]
357
+ ]),
358
+ o("div", rt, [
359
+ O(o("input", {
360
+ "onUpdate:modelValue": t[0] || (t[0] = (a) => v.value = a),
361
+ class: "audio-message__progress-bar-container",
362
+ type: "range",
363
+ min: 0,
364
+ max: h.value,
365
+ step: "0.1",
366
+ onMousedown: t[1] || (t[1] = (a) => x.value = !0),
367
+ onMouseup: te,
368
+ onTouchstartPassive: t[2] || (t[2] = (a) => x.value = !0),
369
+ onTouchendPassive: te
370
+ }, null, 40, mt), [
371
+ [De, v.value]
231
372
  ]),
232
- _: 1
233
- }, 8, ["text", "position"])
234
- ])) : c("", !0),
235
- o("div", {
236
- class: T(["audio-message__content", { "is-first": s.isFirstInSeries, "with-avatar-indent": !s.isFirstInSeries && s.message.avatar }]),
237
- onMouseenter: e[8] || (e[8] = //@ts-ignore
238
- (...n) => l(j) && l(j)(...n))
239
- }, [
240
- s.message.reply ? (u(), M(Le, {
373
+ o("div", ct, [
374
+ o("button", {
375
+ type: "button",
376
+ class: "audio-message__speed-btn",
377
+ onClick: de
378
+ }, y(A.value.text), 1)
379
+ ])
380
+ ]),
381
+ o("div", dt, [
382
+ o("p", gt, y(ke.value), 1),
383
+ o("p", vt, y(Se.value), 1)
384
+ ])
385
+ ]),
386
+ s.message.text ? (l(), c("div", ft, [
387
+ o("p", {
388
+ onClick: t[3] || (t[3] = //@ts-ignore
389
+ (...a) => u(X) && u(X)(...a)),
390
+ innerHTML: u(he)
391
+ }, null, 8, pt)
392
+ ])) : f("", !0),
393
+ s.message.linkPreview ? (l(), N(Ze, {
394
+ key: 2,
395
+ class: C(["audio-message__link-preview", s.message.position]),
396
+ "link-preview": s.message.linkPreview
397
+ }, null, 8, ["class", "link-preview"])) : f("", !0),
398
+ s.message.embed ? (l(), N(He, {
399
+ key: 3,
400
+ class: C(s.message.position),
401
+ embed: s.message.embed
402
+ }, null, 8, ["class", "embed"])) : f("", !0),
403
+ k(ze, {
404
+ reactions: s.message.reactions,
405
+ "message-id": s.message.messageId,
406
+ enabled: s.reactionsEnabled,
407
+ onToggleReaction: u(Ne),
408
+ onAddReaction: u(_e),
409
+ onRemoveReaction: u(Fe)
410
+ }, null, 8, ["reactions", "message-id", "enabled", "onToggleReaction", "onAddReaction", "onRemoveReaction"]),
411
+ o("div", yt, [
412
+ o("div", bt, [
413
+ o("button", {
414
+ class: C([
415
+ "audio-message__action-button",
416
+ { "audio-message__action-button--active": b.value === "text" }
417
+ ]),
418
+ type: "button",
419
+ onClick: Le
420
+ }, " Текст ", 2),
421
+ o("button", {
422
+ class: C([
423
+ "audio-message__action-button",
424
+ { "audio-message__action-button--active": b.value === "summary" }
425
+ ]),
426
+ type: "button",
427
+ onClick: $e
428
+ }, " Резюме ", 2)
429
+ ]),
430
+ s.message.views ? (l(), c("div", {
241
431
  key: 0,
242
- style: { "grid-column": "1/3" },
243
- message: s.message.reply,
244
- class: T(s.message.position),
245
- onReply: l(ne)
246
- }, null, 8, ["message", "class", "onReply"])) : c("", !0),
247
- o("div", Xe, [
248
- o("audio", {
249
- ref_key: "player",
250
- ref: t,
251
- src: C.value,
252
- type: "audio/webm",
253
- onLoadedmetadata: ve,
254
- onTimeupdate: fe,
255
- onEnded: pe,
256
- onError: we
257
- }, null, 40, Ye),
258
- D(o("button", {
259
- class: "audio-message__play",
260
- onClick: q
261
- }, [...e[10] || (e[10] = [
262
- o("div", { class: "audio-message__play-icon" }, [
263
- o("svg", {
264
- width: "20",
265
- height: "23",
266
- viewBox: "0 0 20 23",
267
- fill: "none",
268
- xmlns: "http://www.w3.org/2000/svg"
269
- }, [
270
- o("path", {
271
- d: "M18.99 12.9934L3.0825 22.2234C1.7325 23.0059 0 22.0584 0 20.4809V2.02087C0 0.44587 1.73 -0.50413 3.0825 0.28087L18.99 9.51087C19.2971 9.68618 19.5524 9.93959 19.7299 10.2454C19.9075 10.5512 20.001 10.8985 20.001 11.2521C20.001 11.6057 19.9075 11.953 19.7299 12.2589C19.5524 12.5647 19.2971 12.8181 18.99 12.9934Z",
272
- fill: "#5F5F5F"
273
- })
274
- ])
275
- ], -1)
276
- ])], 512), [
277
- [Y, !r.value]
278
- ]),
279
- D(o("button", {
280
- class: "audio-message__pause",
281
- onClick: q
282
- }, [...e[11] || (e[11] = [
283
- o("div", { class: "audio-message__pause-icon" }, [
284
- o("svg", {
285
- width: "20",
286
- height: "23",
287
- viewBox: "0 0 20 23",
288
- fill: "none",
289
- xmlns: "http://www.w3.org/2000/svg"
290
- }, [
291
- o("path", {
292
- d: "M3.75 0C4.74456 0 5.69839 0.395088 6.40165 1.09835C7.10491 1.80161 7.5 2.75544 7.5 3.75V18.75C7.5 19.7446 7.10491 20.6984 6.40165 21.4017C5.69839 22.1049 4.74456 22.5 3.75 22.5C2.75544 22.5 1.80161 22.1049 1.09835 21.4017C0.395088 20.6984 2.09588e-08 19.7446 0 18.75V3.75C0 2.75544 0.395088 1.80161 1.09835 1.09835C1.80161 0.395088 2.75544 0 3.75 0ZM16.25 0C17.2446 0 18.1984 0.395088 18.9017 1.09835C19.6049 1.80161 20 2.75544 20 3.75V18.75C20 19.7446 19.6049 20.6984 18.9017 21.4017C18.1984 22.1049 17.2446 22.5 16.25 22.5C15.2554 22.5 14.3016 22.1049 13.5983 21.4017C12.8951 20.6984 12.5 19.7446 12.5 18.75V3.75C12.5 2.75544 12.8951 1.80161 13.5983 1.09835C14.3016 0.395088 15.2554 0 16.25 0Z",
293
- fill: "#5F5F5F"
294
- })
295
- ])
296
- ], -1)
297
- ])], 512), [
298
- [Y, r.value]
299
- ]),
300
- o("div", _e, [
301
- D(o("input", {
302
- "onUpdate:modelValue": e[0] || (e[0] = (n) => d.value = n),
303
- class: "audio-message__progress-bar-container",
304
- type: "range",
305
- min: 0,
306
- max: v.value,
307
- step: "0.1",
308
- onMousedown: e[1] || (e[1] = (n) => b.value = !0),
309
- onMouseup: W,
310
- onTouchstartPassive: e[2] || (e[2] = (n) => b.value = !0),
311
- onTouchendPassive: W
312
- }, null, 40, es), [
313
- [Ie, d.value]
432
+ class: "audio-message__views",
433
+ onClick: t[4] || (t[4] = //@ts-ignore
434
+ (...a) => u(J) && u(J)(...a))
435
+ }, [
436
+ t[11] || (t[11] = o("span", { class: "pi pi-eye" }, null, -1)),
437
+ o("p", null, y(s.message.views), 1)
438
+ ])) : f("", !0),
439
+ o("span", ht, y(s.message.time), 1),
440
+ k(Je, {
441
+ "base-class": "audio-message",
442
+ "message-class": se(s.message),
443
+ "message-status": s.message.status,
444
+ "status-class": xe.value,
445
+ "status-title": Ce.value
446
+ }, null, 8, ["message-class", "message-status", "status-class", "status-title"])
447
+ ]),
448
+ k(re, { name: "audio-message-expand" }, {
449
+ default: j(() => [
450
+ b.value ? (l(), c("div", xt, [
451
+ o("div", Ct, [
452
+ b.value === "text" ? (l(), c(U, { key: 0 }, [
453
+ G.value ? f("", !0) : (l(), c("p", wt, y(me))),
454
+ (l(!0), c(U, null, je(W.value, (a, m) => (l(), c("p", {
455
+ key: `au-tr-${m}`,
456
+ class: "audio-message__expand-line"
457
+ }, y(a), 1))), 128))
458
+ ], 64)) : (l(), c("p", kt, [
459
+ Q.value ? (l(), c(U, { key: 1 }, [
460
+ le(y(K.value), 1)
461
+ ], 64)) : (l(), c("span", St, y(me)))
462
+ ]))
314
463
  ]),
315
- o("div", ss, [
464
+ o("div", Tt, [
316
465
  o("button", {
317
466
  type: "button",
318
- class: "audio-message__speed-btn",
319
- onClick: te
320
- }, w(A.value.text), 1)
467
+ class: "audio-message__expand-close",
468
+ onClick: t[5] || (t[5] = (a) => b.value = null)
469
+ }, " Закрыть ")
321
470
  ])
322
- ]),
323
- o("div", ts, [
324
- o("p", as, w(ce.value), 1),
325
- o("p", os, w(ge.value), 1)
326
- ])
471
+ ])) : f("", !0)
327
472
  ]),
328
- (m = s.message.transcript) != null && m.text ? (u(), p("div", ns, [
329
- o("p", {
330
- onClick: e[3] || (e[3] = (n) => S.value = !S.value)
331
- }, w(s.message.transcript.text), 1)
332
- ])) : c("", !0),
333
- s.message.text ? (u(), p("div", is, [
334
- o("p", {
335
- onClick: e[4] || (e[4] = //@ts-ignore
336
- (...n) => l(O) && l(O)(...n)),
337
- innerHTML: l(ue)
338
- }, null, 8, ls)
339
- ])) : c("", !0),
340
- s.message.linkPreview ? (u(), M(Ee, {
341
- key: 3,
342
- class: T(["audio-message__link-preview", s.message.position]),
343
- "link-preview": s.message.linkPreview
344
- }, null, 8, ["class", "link-preview"])) : c("", !0),
345
- s.message.embed ? (u(), M($e, {
346
- key: 4,
347
- class: T(s.message.position),
348
- embed: s.message.embed
349
- }, null, 8, ["class", "embed"])) : c("", !0),
350
- x(Ve, {
351
- reactions: s.message.reactions,
352
- "message-id": s.message.messageId,
353
- enabled: s.reactionsEnabled,
354
- onToggleReaction: l(be),
355
- onAddReaction: l(Ce),
356
- onRemoveReaction: l(he)
357
- }, null, 8, ["reactions", "message-id", "enabled", "onToggleReaction", "onAddReaction", "onRemoveReaction"]),
358
- o("div", us, [
359
- s.message.views ? (u(), p("div", {
473
+ _: 1
474
+ }),
475
+ k(We, {
476
+ status: s.message.status,
477
+ "has-messenger-account": s.message.hasMessengerAccount,
478
+ channel: s.channel,
479
+ onSmsInvite: Ee
480
+ }, null, 8, ["status", "has-messenger-account", "channel"]),
481
+ u(ge) && s.message.actions ? (l(), c("button", {
482
+ key: 4,
483
+ class: "audio-message__menu-button",
484
+ onClick: t[6] || (t[6] = (a) => $.value = !u($))
485
+ }, [...t[12] || (t[12] = [
486
+ o("svg", {
487
+ width: "4",
488
+ height: "17",
489
+ viewBox: "0 0 4 17",
490
+ fill: "none",
491
+ xmlns: "http://www.w3.org/2000/svg"
492
+ }, [
493
+ o("path", {
494
+ d: "M3.75 14.375C3.75 14.8723 3.55246 15.3492 3.20083 15.7008C2.84919 16.0525 2.37228 16.25 1.875 16.25C1.37772 16.25 0.900805 16.0525 0.549175 15.7008C0.197544 15.3492 0 14.8723 0 14.375C0 13.8777 0.197544 13.4008 0.549175 13.0492C0.900805 12.6975 1.37772 12.5 1.875 12.5C2.37228 12.5 2.84919 12.6975 3.20083 13.0492C3.55246 13.4008 3.75 13.8777 3.75 14.375ZM3.75 8.125C3.75 8.62228 3.55246 9.09919 3.20083 9.45083C2.84919 9.80246 2.37228 10 1.875 10C1.37772 10 0.900805 9.80246 0.549175 9.45083C0.197544 9.09919 0 8.62228 0 8.125C0 7.62772 0.197544 7.15081 0.549175 6.79917C0.900805 6.44754 1.37772 6.25 1.875 6.25C2.37228 6.25 2.84919 6.44754 3.20083 6.79917C3.55246 7.15081 3.75 7.62772 3.75 8.125ZM3.75 1.875C3.75 2.37228 3.55246 2.84919 3.20083 3.20083C2.84919 3.55246 2.37228 3.75 1.875 3.75C1.37772 3.75 0.900805 3.55246 0.549175 3.20083C0.197544 2.84919 0 2.37228 0 1.875C0 1.37772 0.197544 0.900806 0.549175 0.549175C0.900805 0.197544 1.37772 0 1.875 0C2.37228 0 2.84919 0.197544 3.20083 0.549175C3.55246 0.900806 3.75 1.37772 3.75 1.875Z",
495
+ fill: "#5F5F5F"
496
+ })
497
+ ], -1)
498
+ ])])) : f("", !0),
499
+ k(re, null, {
500
+ default: j(() => [
501
+ u($) && s.message.actions ? (l(), N(Ue, {
360
502
  key: 0,
361
- class: "audio-message__views",
362
- onClick: e[5] || (e[5] = //@ts-ignore
363
- (...n) => l(H) && l(H)(...n))
364
- }, [
365
- e[12] || (e[12] = o("span", { class: "pi pi-eye" }, null, -1)),
366
- o("p", null, w(s.message.views), 1)
367
- ])) : c("", !0),
368
- o("span", rs, w(s.message.time), 1),
369
- x(Be, {
370
- "base-class": "audio-message",
371
- "message-class": G(s.message),
372
- "message-status": s.message.status,
373
- "status-class": re.value,
374
- "status-title": me.value
375
- }, null, 8, ["message-class", "message-status", "status-class", "status-title"])
503
+ class: "audio-message__context-menu",
504
+ actions: s.message.actions,
505
+ onClick: be
506
+ }, null, 8, ["actions"])) : f("", !0)
376
507
  ]),
377
- x(Pe, {
378
- status: s.message.status,
379
- "has-messenger-account": s.message.hasMessengerAccount,
380
- channel: s.channel,
381
- onSmsInvite: xe
382
- }, null, 8, ["status", "has-messenger-account", "channel"]),
383
- l(ae) && s.message.actions ? (u(), p("button", {
384
- key: 5,
385
- class: "audio-message__menu-button",
386
- onClick: e[6] || (e[6] = (n) => $.value = !l($))
387
- }, [...e[13] || (e[13] = [
388
- o("svg", {
389
- width: "4",
390
- height: "17",
391
- viewBox: "0 0 4 17",
392
- fill: "none",
393
- xmlns: "http://www.w3.org/2000/svg"
394
- }, [
395
- o("path", {
396
- d: "M3.75 14.375C3.75 14.8723 3.55246 15.3492 3.20083 15.7008C2.84919 16.0525 2.37228 16.25 1.875 16.25C1.37772 16.25 0.900805 16.0525 0.549175 15.7008C0.197544 15.3492 0 14.8723 0 14.375C0 13.8777 0.197544 13.4008 0.549175 13.0492C0.900805 12.6975 1.37772 12.5 1.875 12.5C2.37228 12.5 2.84919 12.6975 3.20083 13.0492C3.55246 13.4008 3.75 13.8777 3.75 14.375ZM3.75 8.125C3.75 8.62228 3.55246 9.09919 3.20083 9.45083C2.84919 9.80246 2.37228 10 1.875 10C1.37772 10 0.900805 9.80246 0.549175 9.45083C0.197544 9.09919 0 8.62228 0 8.125C0 7.62772 0.197544 7.15081 0.549175 6.79917C0.900805 6.44754 1.37772 6.25 1.875 6.25C2.37228 6.25 2.84919 6.44754 3.20083 6.79917C3.55246 7.15081 3.75 7.62772 3.75 8.125ZM3.75 1.875C3.75 2.37228 3.55246 2.84919 3.20083 3.20083C2.84919 3.55246 2.37228 3.75 1.875 3.75C1.37772 3.75 0.900805 3.55246 0.549175 3.20083C0.197544 2.84919 0 2.37228 0 1.875C0 1.37772 0.197544 0.900806 0.549175 0.549175C0.900805 0.197544 1.37772 0 1.875 0C2.37228 0 2.84919 0.197544 3.20083 0.549175C3.55246 0.900806 3.75 1.37772 3.75 1.875Z",
397
- fill: "#5F5F5F"
398
- })
399
- ], -1)
400
- ])])) : c("", !0),
401
- x(_, null, {
402
- default: P(() => [
403
- l($) && s.message.actions ? (u(), M(Fe, {
404
- key: 0,
405
- class: "audio-message__context-menu",
406
- actions: s.message.actions,
407
- onClick: le
408
- }, null, 8, ["actions"])) : c("", !0)
409
- ]),
410
- _: 1
411
- }),
412
- (u(), M(Ne, { to: "body" }, [
413
- x(_, { name: "modal-fade" }, {
414
- default: P(() => {
415
- var n;
416
- return [
417
- S.value ? (u(), p("div", {
418
- key: 0,
419
- class: "audio-message__modal-overlay",
420
- "data-theme": l(U)().theme ? l(U)().theme : null
421
- }, [
422
- o("div", ds, [
423
- o("button", {
424
- class: "audio-message__modal-close-button",
425
- onClick: e[7] || (e[7] = (f) => S.value = !1)
426
- }, [...e[14] || (e[14] = [
427
- o("span", null, [
428
- o("i", { class: "pi pi-times" })
429
- ], -1)
430
- ])]),
431
- o("p", cs, w((n = s.message.transcript) == null ? void 0 : n.text), 1)
432
- ])
433
- ], 8, ms)) : c("", !0)
434
- ];
435
- }),
436
- _: 1
437
- })
438
- ]))
439
- ], 34)
440
- ], 46, Je);
441
- };
508
+ _: 1
509
+ })
510
+ ], 34)
511
+ ], 46, nt));
442
512
  }
443
513
  });
444
514
  export {
445
- Bs as default
515
+ Ht as default
446
516
  };