@_solaris/messenger-widget 0.6.34 → 0.6.35

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.
package/dist/messenger.js CHANGED
@@ -1,4 +1,4 @@
1
- import { reactive as We, openBlock as c, createElementBlock as d, normalizeStyle as H, normalizeClass as R, toDisplayString as y, resolveComponent as P, createVNode as W, Transition as Ae, withCtx as Se, Fragment as B, renderList as D, withKeys as _e, withModifiers as K, createElementVNode as l, createCommentVNode as b, createBlock as E, resolveDynamicComponent as Te, mergeProps as je, withDirectives as G, vModelText as ee, createTextVNode as Me, renderSlot as $e, vModelCheckbox as Ge, vModelSelect as Ye, markRaw as Ie } from "vue";
1
+ import { reactive as We, openBlock as c, createElementBlock as d, normalizeStyle as H, normalizeClass as R, toDisplayString as v, resolveComponent as F, createVNode as W, Transition as Ae, withCtx as Se, Fragment as B, renderList as D, withKeys as _e, withModifiers as K, createElementVNode as l, createCommentVNode as b, createBlock as E, resolveDynamicComponent as Te, mergeProps as je, withDirectives as G, vModelText as ee, createTextVNode as Me, renderSlot as $e, vModelCheckbox as Ge, vModelSelect as Ye, markRaw as Ie } from "vue";
2
2
  const Je = [
3
3
  "connected",
4
4
  "message",
@@ -72,10 +72,10 @@ function tt(e) {
72
72
  body: p !== void 0 ? JSON.stringify(p) : void 0
73
73
  });
74
74
  if (!L.ok) {
75
- const O = await o(L), V = new Error(
75
+ const O = await o(L), q = new Error(
76
76
  `HTTP ${L.status} ${u} ${g} :: ${(O == null ? void 0 : O.error) || L.statusText}`
77
77
  );
78
- throw V.status = L.status, V.body = O, V;
78
+ throw q.status = L.status, q.body = O, q;
79
79
  }
80
80
  return L.status === 204 ? null : L.json();
81
81
  }
@@ -133,11 +133,11 @@ function tt(e) {
133
133
  return $.json();
134
134
  }),
135
135
  a("GET", "/customers/me")
136
- ]), V = { config: L, customer: (O == null ? void 0 : O.customer) ?? null };
137
- return t.lastBootstrap = V, await k(), typeof document < "u" && (t.visibilityHandler = _, document.addEventListener(
136
+ ]), q = { config: L, customer: (O == null ? void 0 : O.customer) ?? null };
137
+ return t.lastBootstrap = q, await k(), typeof document < "u" && (t.visibilityHandler = _, document.addEventListener(
138
138
  "visibilitychange",
139
139
  t.visibilityHandler
140
- )), h(), V;
140
+ )), h(), q;
141
141
  }
142
142
  async function k() {
143
143
  try {
@@ -150,7 +150,7 @@ function tt(e) {
150
150
  console.error("[transport] initial /conversations failed", u);
151
151
  }
152
152
  }
153
- async function v() {
153
+ async function y() {
154
154
  const u = await a("GET", "/customers/me");
155
155
  return (u == null ? void 0 : u.customer) ?? null;
156
156
  }
@@ -194,7 +194,7 @@ function tt(e) {
194
194
  `/conversations/${encodeURIComponent(u)}/messages${L}`
195
195
  );
196
196
  }
197
- async function q(u, g) {
197
+ async function V(u, g) {
198
198
  te();
199
199
  const p = {
200
200
  client_msg_id: g.client_msg_id,
@@ -221,13 +221,13 @@ function tt(e) {
221
221
  mime_type: p,
222
222
  size_bytes: L,
223
223
  name: g
224
- }), V = await fetch(O.upload_url, {
224
+ }), q = await fetch(O.upload_url, {
225
225
  method: "PUT",
226
226
  headers: { "Content-Type": p },
227
227
  body: u
228
228
  });
229
- if (!V.ok)
230
- throw new Error(`HTTP ${V.status} PUT signed upload`);
229
+ if (!q.ok)
230
+ throw new Error(`HTTP ${q.status} PUT signed upload`);
231
231
  return {
232
232
  type: st(p),
233
233
  path: O.path,
@@ -275,15 +275,15 @@ function tt(e) {
275
275
  t.panelOpen || Z();
276
276
  }, Ze));
277
277
  }
278
- function ve(u) {
278
+ function ye(u) {
279
279
  const g = t.panelOpen;
280
280
  t.panelOpen = !!u, t.panelOpen ? (clearTimeout(t.burstTimer), Q()) : te(), g !== t.panelOpen && h();
281
281
  }
282
282
  async function pe() {
283
283
  try {
284
284
  const u = await I(), g = u.reduce((L, O) => {
285
- const V = O == null ? void 0 : O.last_message_at;
286
- return V && (!L || V > L) ? V : L;
285
+ const q = O == null ? void 0 : O.last_message_at;
286
+ return q && (!L || q > L) ? q : L;
287
287
  }, null);
288
288
  g && (!t.lastActivityAt || g > t.lastActivityAt) && (t.lastActivityAt = g, r("activity", { conversations: u, latestAt: g }), te());
289
289
  } catch (u) {
@@ -334,11 +334,11 @@ function tt(e) {
334
334
  on: s,
335
335
  start: f,
336
336
  stop: w,
337
- setPanelOpen: ve,
337
+ setPanelOpen: ye,
338
338
  update: A,
339
339
  context: C,
340
340
  // REST
341
- getCustomer: v,
341
+ getCustomer: y,
342
342
  patchCustomer: T,
343
343
  listConversations: I,
344
344
  createConversation: S,
@@ -346,7 +346,7 @@ function tt(e) {
346
346
  patchConversation: M,
347
347
  markConversationRead: U,
348
348
  listMessages: x,
349
- postMessage: q,
349
+ postMessage: V,
350
350
  postCallback: J,
351
351
  uploadAttachment: ie,
352
352
  signAttachment: ae,
@@ -478,7 +478,7 @@ function it(e) {
478
478
  e.stop();
479
479
  }
480
480
  async function n(h) {
481
- const m = ve(h);
481
+ const m = ye(h);
482
482
  if (!m) return t.customer;
483
483
  try {
484
484
  const _ = await e.patchCustomer(m);
@@ -496,7 +496,7 @@ function it(e) {
496
496
  async function f(h) {
497
497
  const m = t.paginationByConv[h];
498
498
  if (!(m != null && m.loaded || m != null && m.loading)) {
499
- v(h, { nextCursor: null, loading: !0, loaded: !1 });
499
+ y(h, { nextCursor: null, loading: !0, loaded: !1 });
500
500
  try {
501
501
  const _ = await e.listMessages(h, {
502
502
  limit: o
@@ -506,13 +506,13 @@ function it(e) {
506
506
  const u = A.filter((g) => !((g == null ? void 0 : g.id) != null && C.has(`id:${String(g.id)}`) || g != null && g.client_msg_id && C.has(`c:${g.client_msg_id}`)));
507
507
  t.messagesByConv[h] = [...w, ...u].sort(
508
508
  te
509
- ), v(h, {
509
+ ), y(h, {
510
510
  nextCursor: (_ == null ? void 0 : _.next_cursor) ?? null,
511
511
  loading: !1,
512
512
  loaded: !0
513
513
  });
514
514
  } catch (_) {
515
- console.error("[store] openConversation failed", _), v(h, {
515
+ console.error("[store] openConversation failed", _), y(h, {
516
516
  nextCursor: null,
517
517
  loading: !1,
518
518
  loaded: !1
@@ -526,7 +526,7 @@ function it(e) {
526
526
  if (!m || m.loading || !m.nextCursor) return;
527
527
  const w = (A = (t.messagesByConv[h] || []).find((C) => C == null ? void 0 : C.created_at)) == null ? void 0 : A.created_at;
528
528
  if (w) {
529
- v(h, { ...m, loading: !0 });
529
+ y(h, { ...m, loading: !0 });
530
530
  try {
531
531
  const C = await e.listMessages(h, {
532
532
  before: w,
@@ -535,17 +535,17 @@ function it(e) {
535
535
  for (const O of g)
536
536
  (O == null ? void 0 : O.id) != null && p.add(`id:${String(O.id)}`), O != null && O.client_msg_id && p.add(`c:${O.client_msg_id}`);
537
537
  const L = u.filter((O) => !((O == null ? void 0 : O.id) != null && p.has(`id:${String(O.id)}`) || O != null && O.client_msg_id && p.has(`c:${O.client_msg_id}`)));
538
- t.messagesByConv[h] = [...L, ...g], v(h, {
538
+ t.messagesByConv[h] = [...L, ...g], y(h, {
539
539
  nextCursor: (C == null ? void 0 : C.next_cursor) ?? null,
540
540
  loading: !1,
541
541
  loaded: !0
542
542
  });
543
543
  } catch (C) {
544
- console.error("[store] loadMore failed", C), v(h, { ...m, loading: !1 });
544
+ console.error("[store] loadMore failed", C), y(h, { ...m, loading: !1 });
545
545
  }
546
546
  }
547
547
  }
548
- function v(h, m) {
548
+ function y(h, m) {
549
549
  t.paginationByConv = { ...t.paginationByConv, [h]: m };
550
550
  }
551
551
  async function T(h, m) {
@@ -653,7 +653,7 @@ function it(e) {
653
653
  }
654
654
  return null;
655
655
  }
656
- async function q(h, { rating: m, comment: _ } = {}) {
656
+ async function V(h, { rating: m, comment: _ } = {}) {
657
657
  const w = t.conversations.find((u) => u.id === h), C = {
658
658
  ...(w == null ? void 0 : w.metadata) || {},
659
659
  feedback: {
@@ -751,7 +751,7 @@ function it(e) {
751
751
  function te(h, m) {
752
752
  return (h.created_at || "").localeCompare(m.created_at || "");
753
753
  }
754
- function ve(h) {
754
+ function ye(h) {
755
755
  if (!h || typeof h != "object") return null;
756
756
  const m = {}, _ = {};
757
757
  for (const [w, A] of Object.entries(h))
@@ -780,7 +780,7 @@ function it(e) {
780
780
  send: z,
781
781
  clickCallback: M,
782
782
  signAttachment: x,
783
- submitFeedback: q,
783
+ submitFeedback: V,
784
784
  getActionInFlight: ie,
785
785
  getLatestSuggestions: ae,
786
786
  getLatestForm: J,
@@ -1174,13 +1174,13 @@ function N(e) {
1174
1174
  )), o);
1175
1175
  };
1176
1176
  }
1177
- function Pe(e, t) {
1177
+ function Fe(e, t) {
1178
1178
  if (!Array.isArray(e == null ? void 0 : e.options)) return t;
1179
1179
  const s = e.options.find((r) => (r == null ? void 0 : r.value) === t);
1180
1180
  return (s == null ? void 0 : s.label) || t;
1181
1181
  }
1182
1182
  function ze(e, t, s) {
1183
- return Array.isArray(t) ? t.map((r) => Pe(e, String(r))).join(", ") : typeof t == "boolean" ? s(t ? "common.yes" : "common.no") : Pe(e, String(t));
1183
+ return Array.isArray(t) ? t.map((r) => Fe(e, String(r))).join(", ") : typeof t == "boolean" ? s(t ? "common.yes" : "common.no") : Fe(e, String(t));
1184
1184
  }
1185
1185
  function mt(e, t, s = N()) {
1186
1186
  if (!e || !t) return "";
@@ -1217,29 +1217,29 @@ function ft(e, t, s = N()) {
1217
1217
  }
1218
1218
  };
1219
1219
  }
1220
- function qe(e) {
1220
+ function Ve(e) {
1221
1221
  return String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
1222
1222
  }
1223
1223
  function fe(e) {
1224
1224
  return /^(https?:\/\/|mailto:|tel:)/i.test(String(e).trim());
1225
1225
  }
1226
- const Fe = "";
1226
+ const Pe = "";
1227
1227
  function de(e) {
1228
1228
  let t = e;
1229
1229
  const s = [];
1230
1230
  return t = t.replace(/`([^`\n]+)`/g, (r, i) => {
1231
1231
  const n = s.length;
1232
- return s.push(i), `${Fe}CODE${n}${Fe}`;
1232
+ return s.push(i), `${Pe}CODE${n}${Pe}`;
1233
1233
  }), t = t.replace(/\[([^\]\n]+)\]\(([^)\s]+)\)/g, (r, i, n) => fe(n) ? `<a href="${n}" target="_blank" rel="noopener noreferrer">${i}</a>` : i), t = t.replace(/\*\*([^\n*][^\n]*?)\*\*/g, "<strong>$1</strong>"), t = t.replace(/__([^\n_][^\n]*?)__/g, "<u>$1</u>"), t = t.replace(/~~([^\n~][^\n]*?)~~/g, "<s>$1</s>"), t = t.replace(/(^|[^\w*])\*([^\n*]+?)\*(?!\w)/g, "$1<em>$2</em>"), t = t.replace(/(^|[^\w_])_([^\n_]+?)_(?!\w)/g, "$1<em>$2</em>"), t = t.replace(/CODE(\d+)/g, (r, i) => `<code class="wm-md-code">${s[+i]}</code>`), t;
1234
1234
  }
1235
- function Ve(e) {
1235
+ function qe(e) {
1236
1236
  if (!e) return "";
1237
1237
  const t = String(e).replace(/\[([^\]\n]+)\]\([^)\s]+\)/g, "$1");
1238
- return de(qe(t));
1238
+ return de(Ve(t));
1239
1239
  }
1240
1240
  function _t(e) {
1241
1241
  if (!e) return "";
1242
- const t = qe(e).split(`
1242
+ const t = Ve(e).split(`
1243
1243
  `), s = [];
1244
1244
  let r = 0;
1245
1245
  for (; r < t.length; ) {
@@ -1263,22 +1263,22 @@ function _t(e) {
1263
1263
  if (!T) break;
1264
1264
  k.push(T[1]), r++;
1265
1265
  }
1266
- const v = k.map((T) => `<li>${de(T)}</li>`).join("");
1266
+ const y = k.map((T) => `<li>${de(T)}</li>`).join("");
1267
1267
  s.push({
1268
1268
  type: "block",
1269
- html: `<ul class="wm-md-ul">${v}</ul>`
1269
+ html: `<ul class="wm-md-ul">${y}</ul>`
1270
1270
  });
1271
1271
  continue;
1272
1272
  }
1273
1273
  const o = /^\s*(\d+)\.\s+(.*)$/.exec(n);
1274
1274
  if (o) {
1275
- const k = parseInt(o[1], 10), v = [o[2]];
1275
+ const k = parseInt(o[1], 10), y = [o[2]];
1276
1276
  for (r++; r < t.length; ) {
1277
1277
  const S = /^\s*\d+\.\s+(.*)$/.exec(t[r]);
1278
1278
  if (!S) break;
1279
- v.push(S[1]), r++;
1279
+ y.push(S[1]), r++;
1280
1280
  }
1281
- const T = v.map((S) => `<li>${de(S)}</li>`).join(""), I = k !== 1 ? ` start="${k}"` : "";
1281
+ const T = y.map((S) => `<li>${de(S)}</li>`).join(""), I = k !== 1 ? ` start="${k}"` : "";
1282
1282
  s.push({
1283
1283
  type: "block",
1284
1284
  html: `<ol class="wm-md-ol"${I}>${T}</ol>`
@@ -1335,10 +1335,10 @@ function gt(e, t) {
1335
1335
  }
1336
1336
  return (e == null ? void 0 : e.last_message_preview) || (e == null ? void 0 : e.preview) || ((i = e == null ? void 0 : e.metadata) == null ? void 0 : i.last_preview) || "";
1337
1337
  }
1338
- function yt(e, t) {
1338
+ function vt(e, t) {
1339
1339
  return (e == null ? void 0 : e.name) || ((e == null ? void 0 : e.type) === "user" ? t("common.you") : (e == null ? void 0 : e.type) === "agent_human" ? t("common.agent") : (e == null ? void 0 : e.type) === "agent_ia" ? t("common.aiAssistant") : t("common.system"));
1340
1340
  }
1341
- function vt(e, t, s, r) {
1341
+ function yt(e, t, s, r) {
1342
1342
  const i = [
1343
1343
  `# ${e.name || s("common.conversation")}`,
1344
1344
  e.created_at ? s("export.createdOn", {
@@ -1350,7 +1350,7 @@ function vt(e, t, s, r) {
1350
1350
  if (!n) continue;
1351
1351
  const a = (n.text_md || "").trim();
1352
1352
  if (!a) continue;
1353
- const o = yt(n.author, s), f = n.created_at ? new Date(n.created_at).toLocaleString(r) : "";
1353
+ const o = vt(n.author, s), f = n.created_at ? new Date(n.created_at).toLocaleString(r) : "";
1354
1354
  i.push(`[${f}] ${o} :`), i.push(a), i.push("");
1355
1355
  }
1356
1356
  return i.join(`
@@ -1358,7 +1358,7 @@ function vt(e, t, s, r) {
1358
1358
  }
1359
1359
  function pt(e, t, s = N(), r) {
1360
1360
  if (!e) return;
1361
- const i = vt(e, t || [], s, re(r)), n = new Blob([i], { type: "text/plain;charset=utf-8" });
1361
+ const i = yt(e, t || [], s, re(r)), n = new Blob([i], { type: "text/plain;charset=utf-8" });
1362
1362
  try {
1363
1363
  const a = URL.createObjectURL(n), o = document.createElement("a");
1364
1364
  o.href = a, o.download = `${(e.name || "conversation").replace(/[^a-z0-9-_]+/gi, "_")}.txt`, document.body.appendChild(o), o.click(), document.body.removeChild(o), setTimeout(() => URL.revokeObjectURL(a), 1e3);
@@ -1691,10 +1691,10 @@ const wt = {
1691
1691
  this.nextRevealAt + s.pauseBetweenMs
1692
1692
  ) + n;
1693
1693
  this.nextRevealAt = o;
1694
- const f = Math.max(0, o - r), k = e.id, v = setTimeout(() => {
1695
- this.revealedAt = { ...this.revealedAt, [k]: Date.now() }, this.revealTimers = this.revealTimers.filter((T) => T !== v), typeof this.onMessageRevealed == "function" && this.onMessageRevealed(e, t);
1694
+ const f = Math.max(0, o - r), k = e.id, y = setTimeout(() => {
1695
+ this.revealedAt = { ...this.revealedAt, [k]: Date.now() }, this.revealTimers = this.revealTimers.filter((T) => T !== y), typeof this.onMessageRevealed == "function" && this.onMessageRevealed(e, t);
1696
1696
  }, f);
1697
- this.revealTimers.push(v);
1697
+ this.revealTimers.push(y);
1698
1698
  },
1699
1699
  // Walk the message list and queue / instantly-reveal every new
1700
1700
  // entry according to its origin. Used by the `currentConvMessages`
@@ -1812,7 +1812,7 @@ function At(e) {
1812
1812
  }
1813
1813
  return null;
1814
1814
  }
1815
- const F = (e, t) => {
1815
+ const P = (e, t) => {
1816
1816
  const s = e.__vccOpts || e;
1817
1817
  for (const [r, i] of t)
1818
1818
  s[r] = i;
@@ -1855,12 +1855,12 @@ function Mt(e, t, s, r, i, n) {
1855
1855
  }, null, 8, Tt)) : (c(), d("span", {
1856
1856
  key: 1,
1857
1857
  style: H({ fontSize: s.size * 0.36 + "px" })
1858
- }, y(n.initials), 5))
1858
+ }, v(n.initials), 5))
1859
1859
  ], 6);
1860
1860
  }
1861
- const ye = /* @__PURE__ */ F(St, [["render", Mt], ["__scopeId", "data-v-14e10c0d"]]), xt = 3, Ot = {
1861
+ const ve = /* @__PURE__ */ P(St, [["render", Mt], ["__scopeId", "data-v-14e10c0d"]]), xt = 3, Ot = {
1862
1862
  name: "WmLauncher",
1863
- components: { HumanAvatar: ye },
1863
+ components: { HumanAvatar: ve },
1864
1864
  inject: {
1865
1865
  // Translator shared by the Messenger shell; French fallback when
1866
1866
  // the component is used standalone.
@@ -1884,9 +1884,9 @@ const ye = /* @__PURE__ */ F(St, [["render", Mt], ["__scopeId", "data-v-14e10c0d
1884
1884
  return this.peeks.slice(0, xt).reverse();
1885
1885
  }
1886
1886
  }
1887
- }, Rt = ["aria-label", "onClick", "onKeydown"], Lt = ["aria-label", "onClick"], It = { class: "wm-peek__avatar" }, Bt = ["aria-label"], Et = { class: "wm-peek__body" }, Pt = { class: "wm-peek__head" }, Ft = { class: "wm-peek__name" }, Ut = { class: "wm-peek__action" }, Dt = { class: "wm-peek__text" }, Ht = ["onClick"], Nt = ["aria-label"], jt = ["aria-label"];
1887
+ }, Rt = ["aria-label", "onClick", "onKeydown"], Lt = ["aria-label", "onClick"], It = { class: "wm-peek__avatar" }, Bt = ["aria-label"], Et = { class: "wm-peek__body" }, Ft = { class: "wm-peek__head" }, Pt = { class: "wm-peek__name" }, Ut = { class: "wm-peek__action" }, Dt = { class: "wm-peek__text" }, Ht = ["onClick"], Nt = ["aria-label"], jt = ["aria-label"];
1888
1888
  function zt(e, t, s, r, i, n) {
1889
- const a = P("HumanAvatar");
1889
+ const a = F("HumanAvatar");
1890
1890
  return c(), d("div", {
1891
1891
  class: "wm-launcherWrap",
1892
1892
  onMouseenter: t[1] || (t[1] = (o) => e.$emit("hover", !0)),
@@ -1948,20 +1948,20 @@ function zt(e, t, s, r, i, n) {
1948
1948
  key: 0,
1949
1949
  class: "wm-peek__avatarBadge",
1950
1950
  "aria-label": n.t("launcher.unreadMessages", { count: o.count })
1951
- }, y(o.count > 9 ? "9+" : o.count), 9, Bt)) : b("", !0)
1951
+ }, v(o.count > 9 ? "9+" : o.count), 9, Bt)) : b("", !0)
1952
1952
  ]),
1953
1953
  l("div", Et, [
1954
- l("div", Pt, [
1955
- l("span", Ft, y(o.senderName || n.t("common.agent")), 1),
1956
- l("span", Ut, y(n.t("launcher.repliedToYou")), 1)
1954
+ l("div", Ft, [
1955
+ l("span", Pt, v(o.senderName || n.t("common.agent")), 1),
1956
+ l("span", Ut, v(n.t("launcher.repliedToYou")), 1)
1957
1957
  ]),
1958
- l("p", Dt, y(o.preview), 1)
1958
+ l("p", Dt, v(o.preview), 1)
1959
1959
  ]),
1960
1960
  l("button", {
1961
1961
  type: "button",
1962
1962
  class: "wm-peek__open",
1963
1963
  onClick: K((k) => e.$emit("open", o.convId), ["stop"])
1964
- }, y(n.t("common.open")), 9, Ht)
1964
+ }, v(n.t("common.open")), 9, Ht)
1965
1965
  ], 44, Rt))), 128))
1966
1966
  ], 2)) : b("", !0)
1967
1967
  ]),
@@ -1994,11 +1994,11 @@ function zt(e, t, s, r, i, n) {
1994
1994
  }) : n.t("launcher.unreadConversationsOne", {
1995
1995
  count: s.unreadCount
1996
1996
  })
1997
- }, y(s.unreadCount > 9 ? "9+" : s.unreadCount), 9, jt)) : b("", !0)
1997
+ }, v(s.unreadCount > 9 ? "9+" : s.unreadCount), 9, jt)) : b("", !0)
1998
1998
  ], 8, Nt)
1999
1999
  ], 32);
2000
2000
  }
2001
- const qt = /* @__PURE__ */ F(Ot, [["render", zt], ["__scopeId", "data-v-d81459bc"]]), Vt = {
2001
+ const Vt = /* @__PURE__ */ P(Ot, [["render", zt], ["__scopeId", "data-v-d81459bc"]]), qt = {
2002
2002
  name: "WmAIAvatar",
2003
2003
  props: {
2004
2004
  size: { type: Number, default: 26 },
@@ -2058,7 +2058,7 @@ function Gt(e, t, s, r, i, n) {
2058
2058
  }, null, 8, Wt)) : n.initials ? (c(), d("span", {
2059
2059
  key: 1,
2060
2060
  style: H({ fontSize: s.size * 0.36 + "px" })
2061
- }, y(n.initials), 5)) : (c(), d("svg", {
2061
+ }, v(n.initials), 5)) : (c(), d("svg", {
2062
2062
  key: 2,
2063
2063
  width: s.size * 0.5,
2064
2064
  height: s.size * 0.5,
@@ -2089,7 +2089,7 @@ function Gt(e, t, s, r, i, n) {
2089
2089
  ], 6)
2090
2090
  ], 6);
2091
2091
  }
2092
- const me = /* @__PURE__ */ F(Vt, [["render", Gt], ["__scopeId", "data-v-6f7f685d"]]), Yt = {
2092
+ const me = /* @__PURE__ */ P(qt, [["render", Gt], ["__scopeId", "data-v-6f7f685d"]]), Yt = {
2093
2093
  name: "WmTeamAvatars",
2094
2094
  props: {
2095
2095
  members: { type: Array, default: () => [] },
@@ -2137,13 +2137,13 @@ function en(e, t, s, r, i, n) {
2137
2137
  key: 0,
2138
2138
  src: a.avatar_url,
2139
2139
  alt: a.name || ""
2140
- }, null, 8, Xt)) : (c(), d("span", Qt, y(n.initialsFor(a)), 1))
2140
+ }, null, 8, Xt)) : (c(), d("span", Qt, v(n.initialsFor(a)), 1))
2141
2141
  ], 4))), 128))
2142
2142
  ], 4),
2143
- s.responseLabel ? (c(), d("span", Zt, y(s.responseLabel), 1)) : b("", !0)
2143
+ s.responseLabel ? (c(), d("span", Zt, v(s.responseLabel), 1)) : b("", !0)
2144
2144
  ])) : b("", !0);
2145
2145
  }
2146
- const tn = /* @__PURE__ */ F(Yt, [["render", en], ["__scopeId", "data-v-e49a9063"]]), nn = {
2146
+ const tn = /* @__PURE__ */ P(Yt, [["render", en], ["__scopeId", "data-v-e49a9063"]]), nn = {
2147
2147
  name: "WmHeader",
2148
2148
  components: { AIAvatar: me, TeamAvatars: tn },
2149
2149
  inject: {
@@ -2190,7 +2190,7 @@ const tn = /* @__PURE__ */ F(Yt, [["render", en], ["__scopeId", "data-v-e49a9063
2190
2190
  class: "wm-header__fill"
2191
2191
  }, un = { class: "wm-header__actions" }, hn = ["aria-label", "title"], mn = ["aria-label", "title"];
2192
2192
  function fn(e, t, s, r, i, n) {
2193
- const a = P("AIAvatar"), o = P("TeamAvatars");
2193
+ const a = F("AIAvatar"), o = F("TeamAvatars");
2194
2194
  return c(), d("div", sn, [
2195
2195
  s.showBack ? (c(), d("button", {
2196
2196
  key: 0,
@@ -2222,7 +2222,7 @@ function fn(e, t, s, r, i, n) {
2222
2222
  }, null, 8, ["name", "image-url"])
2223
2223
  ]),
2224
2224
  l("div", ln, [
2225
- l("div", cn, y(s.title), 1)
2225
+ l("div", cn, v(s.title), 1)
2226
2226
  ]),
2227
2227
  n.hasTeam ? (c(), E(o, {
2228
2228
  key: 0,
@@ -2288,7 +2288,7 @@ function fn(e, t, s, r, i, n) {
2288
2288
  ])
2289
2289
  ]);
2290
2290
  }
2291
- const _n = /* @__PURE__ */ F(nn, [["render", fn], ["__scopeId", "data-v-27232009"]]), De = {
2291
+ const _n = /* @__PURE__ */ P(nn, [["render", fn], ["__scopeId", "data-v-27232009"]]), De = {
2292
2292
  book: "M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253",
2293
2293
  changelog: "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2",
2294
2294
  status: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z",
@@ -2296,7 +2296,7 @@ const _n = /* @__PURE__ */ F(nn, [["render", fn], ["__scopeId", "data-v-27232009
2296
2296
  link: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"
2297
2297
  }, gn = {
2298
2298
  name: "WmOnboarding",
2299
- components: { AIAvatar: me, HumanAvatar: ye },
2299
+ components: { AIAvatar: me, HumanAvatar: ve },
2300
2300
  inject: {
2301
2301
  // Translator + resolved-language getter shared by the Messenger
2302
2302
  // shell. The language getter feeds `formatTs` (relative date
@@ -2474,7 +2474,7 @@ const _n = /* @__PURE__ */ F(nn, [["render", fn], ["__scopeId", "data-v-27232009
2474
2474
  return t ? { "--icon-url": `url("${t}")` } : null;
2475
2475
  },
2476
2476
  renderPreview(e) {
2477
- return Ve(e);
2477
+ return qe(e);
2478
2478
  },
2479
2479
  // Avatar resolution for a thread row, in priority order :
2480
2480
  // 1. last sender's `avatar_url` (image)
@@ -2532,7 +2532,7 @@ const _n = /* @__PURE__ */ F(nn, [["render", fn], ["__scopeId", "data-v-27232009
2532
2532
  });
2533
2533
  }
2534
2534
  }
2535
- }, yn = ["aria-label"], vn = {
2535
+ }, vn = ["aria-label"], yn = {
2536
2536
  key: 1,
2537
2537
  class: "wm-onb__hero-deco",
2538
2538
  width: "180",
@@ -2555,7 +2555,7 @@ const _n = /* @__PURE__ */ F(nn, [["render", fn], ["__scopeId", "data-v-27232009
2555
2555
  }, In = ["innerHTML"], Bn = { class: "wm-onb__alert-meta" }, En = {
2556
2556
  key: 0,
2557
2557
  class: "wm-onb__alert-time"
2558
- }, Pn = { class: "wm-onb__alert-resume" }, Fn = { class: "wm-onb__actions" }, Un = ["onClick"], Dn = { class: "wm-onb__btn-icon" }, Hn = ["aria-label"], Nn = {
2558
+ }, Fn = { class: "wm-onb__alert-resume" }, Pn = { class: "wm-onb__actions" }, Un = ["onClick"], Dn = { class: "wm-onb__btn-icon" }, Hn = ["aria-label"], Nn = {
2559
2559
  key: 1,
2560
2560
  width: "18",
2561
2561
  height: "18",
@@ -2566,7 +2566,7 @@ const _n = /* @__PURE__ */ F(nn, [["render", fn], ["__scopeId", "data-v-27232009
2566
2566
  "stroke-linecap": "round",
2567
2567
  "stroke-linejoin": "round",
2568
2568
  "aria-hidden": "true"
2569
- }, jn = ["d"], zn = { class: "wm-onb__btn-label" }, qn = {
2569
+ }, jn = ["d"], zn = { class: "wm-onb__btn-label" }, Vn = {
2570
2570
  key: 0,
2571
2571
  class: "wm-onb__btn-trail",
2572
2572
  width: "13",
@@ -2578,7 +2578,7 @@ const _n = /* @__PURE__ */ F(nn, [["render", fn], ["__scopeId", "data-v-27232009
2578
2578
  "stroke-linecap": "round",
2579
2579
  "stroke-linejoin": "round",
2580
2580
  "aria-hidden": "true"
2581
- }, Vn = { class: "wm-onb__btn-icon" }, Kn = {
2581
+ }, qn = { class: "wm-onb__btn-icon" }, Kn = {
2582
2582
  width: "18",
2583
2583
  height: "18",
2584
2584
  viewBox: "0 0 24 24",
@@ -2605,7 +2605,7 @@ const _n = /* @__PURE__ */ F(nn, [["render", fn], ["__scopeId", "data-v-27232009
2605
2605
  "aria-hidden": "true"
2606
2606
  };
2607
2607
  function Zn(e, t, s, r, i, n) {
2608
- const a = P("AIAvatar");
2608
+ const a = F("AIAvatar");
2609
2609
  return c(), d("div", {
2610
2610
  class: R(["wm-onb", {
2611
2611
  "wm-onb--launching": i.launchPhase !== "idle",
@@ -2623,8 +2623,8 @@ function Zn(e, t, s, r, i, n) {
2623
2623
  style: H(n.coverStyle),
2624
2624
  role: "img",
2625
2625
  "aria-label": n.heroTitle
2626
- }, null, 12, yn)) : b("", !0),
2627
- n.hasCover ? b("", !0) : (c(), d("svg", vn, [...t[7] || (t[7] = [
2626
+ }, null, 12, vn)) : b("", !0),
2627
+ n.hasCover ? b("", !0) : (c(), d("svg", yn, [...t[7] || (t[7] = [
2628
2628
  l("circle", {
2629
2629
  cx: "170",
2630
2630
  cy: "10",
@@ -2657,10 +2657,10 @@ function Zn(e, t, s, r, i, n) {
2657
2657
  }, null, 8, ["image-url"]),
2658
2658
  l("div", pn, [
2659
2659
  l("div", wn, [
2660
- l("div", bn, y(n.heroTitle), 1),
2661
- l("div", kn, y(n.heroSub), 1)
2660
+ l("div", bn, v(n.heroTitle), 1),
2661
+ l("div", kn, v(n.heroSub), 1)
2662
2662
  ]),
2663
- s.welcomeMessage ? (c(), d("div", Cn, y(s.welcomeMessage), 1)) : b("", !0)
2663
+ s.welcomeMessage ? (c(), d("div", Cn, v(s.welcomeMessage), 1)) : b("", !0)
2664
2664
  ])
2665
2665
  ], 2),
2666
2666
  n.unreadThreads.length ? (c(), d("div", An, [
@@ -2697,21 +2697,21 @@ function Zn(e, t, s, r, i, n) {
2697
2697
  }, null, 8, Mn)
2698
2698
  ], 2),
2699
2699
  l("span", xn, [
2700
- l("span", On, y(o.title), 1),
2700
+ l("span", On, v(o.title), 1),
2701
2701
  l("span", Rn, [
2702
- n.senderLabel(o) ? (c(), d("span", Ln, y(n.senderLabel(o)) + " · ", 1)) : b("", !0),
2702
+ n.senderLabel(o) ? (c(), d("span", Ln, v(n.senderLabel(o)) + " · ", 1)) : b("", !0),
2703
2703
  l("span", {
2704
2704
  innerHTML: n.renderPreview(o.preview)
2705
2705
  }, null, 8, In)
2706
2706
  ])
2707
2707
  ]),
2708
2708
  l("span", Bn, [
2709
- n.formatTs(o._ts) ? (c(), d("span", En, y(n.formatTs(o._ts)), 1)) : b("", !0),
2710
- l("span", Pn, y(n.t("onboarding.resume")), 1)
2709
+ n.formatTs(o._ts) ? (c(), d("span", En, v(n.formatTs(o._ts)), 1)) : b("", !0),
2710
+ l("span", Fn, v(n.t("onboarding.resume")), 1)
2711
2711
  ])
2712
2712
  ], 8, Sn))), 128))
2713
2713
  ])) : b("", !0),
2714
- l("div", Fn, [
2714
+ l("div", Pn, [
2715
2715
  (c(!0), d(B, null, D(s.quickLinks, (o, f) => (c(), d("button", {
2716
2716
  key: "ql-" + f,
2717
2717
  type: "button",
@@ -2731,8 +2731,8 @@ function Zn(e, t, s, r, i, n) {
2731
2731
  }, null, 8, jn)
2732
2732
  ]))
2733
2733
  ]),
2734
- l("span", zn, y(o.label), 1),
2735
- n.isExternalLink(o) ? (c(), d("svg", qn, [...t[9] || (t[9] = [
2734
+ l("span", zn, v(o.label), 1),
2735
+ n.isExternalLink(o) ? (c(), d("svg", Vn, [...t[9] || (t[9] = [
2736
2736
  l("path", { d: "M7 17L17 7M9 7h8v8" }, null, -1)
2737
2737
  ])])) : b("", !0)
2738
2738
  ], 8, Un))), 128)),
@@ -2742,15 +2742,15 @@ function Zn(e, t, s, r, i, n) {
2742
2742
  class: "wm-onb__btn",
2743
2743
  onClick: t[0] || (t[0] = (o) => e.$emit("view-history"))
2744
2744
  }, [
2745
- l("span", Vn, [
2745
+ l("span", qn, [
2746
2746
  (c(), d("svg", Kn, [
2747
2747
  l("path", {
2748
2748
  d: n.iconPath("chat")
2749
2749
  }, null, 8, Wn)
2750
2750
  ]))
2751
2751
  ]),
2752
- l("span", $n, y(n.t("onboarding.allConversations")), 1),
2753
- l("span", Gn, y(s.openThreads.length), 1),
2752
+ l("span", $n, v(n.t("onboarding.allConversations")), 1),
2753
+ l("span", Gn, v(s.openThreads.length), 1),
2754
2754
  t[10] || (t[10] = l("svg", {
2755
2755
  class: "wm-onb__btn-trail",
2756
2756
  width: "13",
@@ -2805,9 +2805,9 @@ function Zn(e, t, s, r, i, n) {
2805
2805
  ])
2806
2806
  ], 2);
2807
2807
  }
2808
- const es = /* @__PURE__ */ F(gn, [["render", Zn], ["__scopeId", "data-v-cfaffcfa"]]), ts = {
2808
+ const es = /* @__PURE__ */ P(gn, [["render", Zn], ["__scopeId", "data-v-cfaffcfa"]]), ts = {
2809
2809
  name: "WmHistory",
2810
- components: { AIAvatar: me, HumanAvatar: ye },
2810
+ components: { AIAvatar: me, HumanAvatar: ve },
2811
2811
  inject: {
2812
2812
  t: { default: () => N() },
2813
2813
  wmLocale: { default: () => () => "fr" }
@@ -2829,7 +2829,7 @@ const es = /* @__PURE__ */ F(gn, [["render", Zn], ["__scopeId", "data-v-cfaffcfa
2829
2829
  },
2830
2830
  methods: {
2831
2831
  renderPreview(e) {
2832
- return Ve(e);
2832
+ return qe(e);
2833
2833
  },
2834
2834
  avatarComponent(e) {
2835
2835
  var t;
@@ -2946,14 +2946,14 @@ function _s(e, t, s, r, i, n) {
2946
2946
  }, null, 8, ls)) : b("", !0)
2947
2947
  ], 2),
2948
2948
  l("span", cs, [
2949
- l("span", ds, y(a.title), 1),
2949
+ l("span", ds, v(a.title), 1),
2950
2950
  l("span", {
2951
2951
  class: "wm-hist__thread-preview",
2952
2952
  innerHTML: n.renderPreview(a.preview)
2953
2953
  }, null, 8, us)
2954
2954
  ]),
2955
2955
  l("span", hs, [
2956
- n.formatTs(a._ts) ? (c(), d("span", ms, y(n.formatTs(a._ts)), 1)) : b("", !0),
2956
+ n.formatTs(a._ts) ? (c(), d("span", ms, v(n.formatTs(a._ts)), 1)) : b("", !0),
2957
2957
  t[3] || (t[3] = l("svg", {
2958
2958
  width: "14",
2959
2959
  height: "14",
@@ -2970,15 +2970,15 @@ function _s(e, t, s, r, i, n) {
2970
2970
  ], -1))
2971
2971
  ])
2972
2972
  ], 10, as))), 128)),
2973
- n.filteredThreads.length ? b("", !0) : (c(), d("div", fs, y(i.query ? n.t("onboarding.noResults", { query: i.query }) : n.t("onboarding.noConversations")), 1))
2973
+ n.filteredThreads.length ? b("", !0) : (c(), d("div", fs, v(i.query ? n.t("onboarding.noResults", { query: i.query }) : n.t("onboarding.noConversations")), 1))
2974
2974
  ])
2975
2975
  ]);
2976
2976
  }
2977
- const gs = /* @__PURE__ */ F(ts, [["render", _s], ["__scopeId", "data-v-82e61354"]]);
2978
- function ys(e) {
2977
+ const gs = /* @__PURE__ */ P(ts, [["render", _s], ["__scopeId", "data-v-82e61354"]]);
2978
+ function vs(e) {
2979
2979
  return typeof e != "string" ? "" : e.replace(/`([^`]+)`/g, "$1").replace(/\*\*([^*]+)\*\*/g, "$1").replace(new RegExp("(?<!\\*)\\*([^*]+)\\*(?!\\*)", "g"), "$1").replace(/__([^_]+)__/g, "$1").replace(/\[([^\]]+)\]\([^)]+\)/g, "$1").replace(/\s+/g, " ").trim();
2980
2980
  }
2981
- const vs = {
2981
+ const ys = {
2982
2982
  name: "WmActionResult",
2983
2983
  props: {
2984
2984
  state: { type: String, default: "success" },
@@ -2988,7 +2988,7 @@ const vs = {
2988
2988
  },
2989
2989
  computed: {
2990
2990
  detailText() {
2991
- return ys(this.detail);
2991
+ return vs(this.detail);
2992
2992
  }
2993
2993
  }
2994
2994
  }, ps = {
@@ -3068,18 +3068,18 @@ function Ms(e, t, s, r, i, n) {
3068
3068
  ])]))
3069
3069
  ]),
3070
3070
  l("span", As, [
3071
- l("span", Ss, y(s.label), 1),
3071
+ l("span", Ss, v(s.label), 1),
3072
3072
  n.detailText ? (c(), d(B, { key: 0 }, [
3073
3073
  t[4] || (t[4] = l("span", {
3074
3074
  class: "wm-result__sep",
3075
3075
  "aria-hidden": "true"
3076
3076
  }, " · ", -1)),
3077
- l("span", Ts, y(n.detailText), 1)
3077
+ l("span", Ts, v(n.detailText), 1)
3078
3078
  ], 64)) : b("", !0)
3079
3079
  ])
3080
3080
  ], 2);
3081
3081
  }
3082
- const xs = /* @__PURE__ */ F(vs, [["render", Ms], ["__scopeId", "data-v-7284acd0"]]), Os = {
3082
+ const xs = /* @__PURE__ */ P(ys, [["render", Ms], ["__scopeId", "data-v-7284acd0"]]), Os = {
3083
3083
  name: "WmArtifactFormResponse",
3084
3084
  inject: {
3085
3085
  // Translator shared by the Messenger shell; French fallback when
@@ -3095,11 +3095,11 @@ const xs = /* @__PURE__ */ F(vs, [["render", Ms], ["__scopeId", "data-v-7284acd0
3095
3095
  return Array.isArray((e = this.data) == null ? void 0 : e.fields) ? this.data.fields : [];
3096
3096
  }
3097
3097
  }
3098
- }, Rs = { class: "wm-art wm-art--formResponse" }, Ls = { class: "wm-art__head" }, Is = { class: "wm-art__title" }, Bs = { class: "wm-art__badge wm-art__badge--success" }, Es = { class: "wm-art__body" }, Ps = { class: "wm-art__fieldLabel" };
3099
- function Fs(e, t, s, r, i, n) {
3098
+ }, Rs = { class: "wm-art wm-art--formResponse" }, Ls = { class: "wm-art__head" }, Is = { class: "wm-art__title" }, Bs = { class: "wm-art__badge wm-art__badge--success" }, Es = { class: "wm-art__body" }, Fs = { class: "wm-art__fieldLabel" };
3099
+ function Ps(e, t, s, r, i, n) {
3100
3100
  return c(), d("div", Rs, [
3101
3101
  l("div", Ls, [
3102
- l("div", Is, y(s.data.title || n.t("form.title")), 1),
3102
+ l("div", Is, v(s.data.title || n.t("form.title")), 1),
3103
3103
  l("span", Bs, [
3104
3104
  t[0] || (t[0] = l("svg", {
3105
3105
  width: "11",
@@ -3114,7 +3114,7 @@ function Fs(e, t, s, r, i, n) {
3114
3114
  }, [
3115
3115
  l("polyline", { points: "20 6 9 17 4 12" })
3116
3116
  ], -1)),
3117
- Me(" " + y(n.t("form.sent")), 1)
3117
+ Me(" " + v(n.t("form.sent")), 1)
3118
3118
  ])
3119
3119
  ]),
3120
3120
  l("div", Es, [
@@ -3122,18 +3122,18 @@ function Fs(e, t, s, r, i, n) {
3122
3122
  key: o,
3123
3123
  class: "wm-art__field"
3124
3124
  }, [
3125
- l("div", Ps, y(a.label), 1),
3125
+ l("div", Fs, v(a.label), 1),
3126
3126
  l("div", {
3127
3127
  class: R([
3128
3128
  "wm-art__fieldValue",
3129
3129
  { "wm-art__fieldValue--multi": a.multiline }
3130
3130
  ])
3131
- }, y(a.value), 3)
3131
+ }, v(a.value), 3)
3132
3132
  ]))), 128))
3133
3133
  ])
3134
3134
  ]);
3135
3135
  }
3136
- const Us = /* @__PURE__ */ F(Os, [["render", Fs], ["__scopeId", "data-v-713aecf1"]]), Ds = {
3136
+ const Us = /* @__PURE__ */ P(Os, [["render", Ps], ["__scopeId", "data-v-713aecf1"]]), Ds = {
3137
3137
  name: "WmArtifactInfoCard",
3138
3138
  props: {
3139
3139
  data: { type: Object, required: !0 }
@@ -3151,7 +3151,7 @@ const Us = /* @__PURE__ */ F(Os, [["render", Fs], ["__scopeId", "data-v-713aecf1
3151
3151
  }, Hs = { class: "wm-art wm-art--infoCard" }, Ns = {
3152
3152
  key: 0,
3153
3153
  class: "wm-art__image"
3154
- }, js = ["src", "alt"], zs = { class: "wm-art__head" }, qs = { class: "wm-art__headMain" }, Vs = { class: "wm-art__title" }, Ks = {
3154
+ }, js = ["src", "alt"], zs = { class: "wm-art__head" }, Vs = { class: "wm-art__headMain" }, qs = { class: "wm-art__title" }, Ks = {
3155
3155
  key: 0,
3156
3156
  class: "wm-art__subtitle"
3157
3157
  }, Ws = {
@@ -3171,9 +3171,9 @@ function Ys(e, t, s, r, i, n) {
3171
3171
  }, null, 8, js)
3172
3172
  ])) : b("", !0),
3173
3173
  l("div", zs, [
3174
- l("div", qs, [
3175
- l("div", Vs, y(s.data.title), 1),
3176
- s.data.subtitle ? (c(), d("div", Ks, y(s.data.subtitle), 1)) : b("", !0)
3174
+ l("div", Vs, [
3175
+ l("div", qs, v(s.data.title), 1),
3176
+ s.data.subtitle ? (c(), d("div", Ks, v(s.data.subtitle), 1)) : b("", !0)
3177
3177
  ]),
3178
3178
  s.data.badge && s.data.badge.label ? (c(), d("span", {
3179
3179
  key: 0,
@@ -3181,26 +3181,26 @@ function Ys(e, t, s, r, i, n) {
3181
3181
  "wm-art__badge",
3182
3182
  `wm-art__badge--${s.data.badge.tone || "neutral"}`
3183
3183
  ])
3184
- }, y(s.data.badge.label), 3)) : b("", !0)
3184
+ }, v(s.data.badge.label), 3)) : b("", !0)
3185
3185
  ]),
3186
3186
  n.hasBody ? (c(), d("div", Ws, [
3187
- s.data.body ? (c(), d("div", $s, y(s.data.body), 1)) : b("", !0),
3187
+ s.data.body ? (c(), d("div", $s, v(s.data.body), 1)) : b("", !0),
3188
3188
  n.fields.length ? (c(!0), d(B, { key: 1 }, D(n.fields, (a, o) => (c(), d("div", {
3189
3189
  key: o,
3190
3190
  class: "wm-art__field"
3191
3191
  }, [
3192
- l("div", Gs, y(a.label), 1),
3192
+ l("div", Gs, v(a.label), 1),
3193
3193
  l("div", {
3194
3194
  class: R([
3195
3195
  "wm-art__fieldValue",
3196
3196
  { "wm-art__fieldValue--multi": a.multiline }
3197
3197
  ])
3198
- }, y(a.value), 3)
3198
+ }, v(a.value), 3)
3199
3199
  ]))), 128)) : b("", !0)
3200
3200
  ])) : b("", !0)
3201
3201
  ]);
3202
3202
  }
3203
- const Js = /* @__PURE__ */ F(Ds, [["render", Ys], ["__scopeId", "data-v-7eae0e4a"]]);
3203
+ const Js = /* @__PURE__ */ P(Ds, [["render", Ys], ["__scopeId", "data-v-7eae0e4a"]]);
3204
3204
  function Xs(e, t, s) {
3205
3205
  if (!e) return "";
3206
3206
  const r = new Date(e);
@@ -3286,7 +3286,7 @@ const Qs = {
3286
3286
  function dr(e, t, s, r, i, n) {
3287
3287
  return c(), d("div", Zs, [
3288
3288
  l("div", er, [
3289
- l("div", tr, y(s.data.title), 1),
3289
+ l("div", tr, v(s.data.title), 1),
3290
3290
  l("div", nr, [
3291
3291
  l("div", sr, [
3292
3292
  t[0] || (t[0] = l("svg", {
@@ -3303,7 +3303,7 @@ function dr(e, t, s, r, i, n) {
3303
3303
  l("path", { d: "M20 12a2 2 0 0 1 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v4a2 2 0 0 1 0 4v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 1-2-2z" }),
3304
3304
  l("path", { d: "M13 5v2M13 17v2M13 11v2" })
3305
3305
  ], -1)),
3306
- l("span", null, y(s.data.reference), 1)
3306
+ l("span", null, v(s.data.reference), 1)
3307
3307
  ]),
3308
3308
  l("span", {
3309
3309
  class: R([
@@ -3316,17 +3316,17 @@ function dr(e, t, s, r, i, n) {
3316
3316
  class: "wm-tk__dot",
3317
3317
  "aria-hidden": "true"
3318
3318
  }, null, -1)),
3319
- Me(" " + y(s.data.status.label), 1)
3319
+ Me(" " + v(s.data.status.label), 1)
3320
3320
  ], 2)
3321
3321
  ]),
3322
- s.data.body ? (c(), d("div", rr, y(s.data.body), 1)) : b("", !0)
3322
+ s.data.body ? (c(), d("div", rr, v(s.data.body), 1)) : b("", !0)
3323
3323
  ]),
3324
3324
  n.fields.length ? (c(), d("div", ir, [
3325
3325
  (c(!0), d(B, null, D(n.fields, (a, o) => (c(), d("div", {
3326
3326
  key: o,
3327
3327
  class: "wm-art__field"
3328
3328
  }, [
3329
- l("div", ar, y(a.label), 1),
3329
+ l("div", ar, v(a.label), 1),
3330
3330
  l("div", {
3331
3331
  class: R([
3332
3332
  "wm-art__fieldValue",
@@ -3373,7 +3373,7 @@ function dr(e, t, s, r, i, n) {
3373
3373
  }, null, -1),
3374
3374
  l("path", { d: "M16 2v4M8 2v4M3 10h18" }, null, -1)
3375
3375
  ])])) : b("", !0),
3376
- l("span", null, y(a.value), 1)
3376
+ l("span", null, v(a.value), 1)
3377
3377
  ], 2)
3378
3378
  ]))), 128))
3379
3379
  ])) : b("", !0),
@@ -3398,11 +3398,11 @@ function dr(e, t, s, r, i, n) {
3398
3398
  }),
3399
3399
  l("path", { d: "M16 2v4M8 2v4M3 10h18" })
3400
3400
  ], -1)),
3401
- l("span", null, y(n.formattedDate), 1)
3401
+ l("span", null, v(n.formattedDate), 1)
3402
3402
  ])) : b("", !0)
3403
3403
  ]);
3404
3404
  }
3405
- const ur = /* @__PURE__ */ F(Qs, [["render", dr], ["__scopeId", "data-v-5f30c914"]]), hr = {
3405
+ const ur = /* @__PURE__ */ P(Qs, [["render", dr], ["__scopeId", "data-v-5f30c914"]]), hr = {
3406
3406
  form_response: Us,
3407
3407
  info_card: Js,
3408
3408
  ticket: ur
@@ -3427,7 +3427,7 @@ function fr(e, t, s, r, i, n) {
3427
3427
  data: s.artifact.data
3428
3428
  }, null, 8, ["data"])) : b("", !0);
3429
3429
  }
3430
- const _r = /* @__PURE__ */ F(mr, [["render", fr]]), gr = {
3430
+ const _r = /* @__PURE__ */ P(mr, [["render", fr]]), gr = {
3431
3431
  name: "WmAttachmentPreview",
3432
3432
  inject: {
3433
3433
  signAttachmentFn: { default: null },
@@ -3495,7 +3495,7 @@ const _r = /* @__PURE__ */ F(mr, [["render", fr]]), gr = {
3495
3495
  this.safeHref === "#" && e.preventDefault();
3496
3496
  }
3497
3497
  }
3498
- }, yr = ["href"], vr = ["src", "alt"], pr = ["src"], wr = ["src"], br = ["href", "download"], kr = { class: "wm-att__main" }, Cr = { class: "wm-att__name" }, Ar = {
3498
+ }, vr = ["href"], yr = ["src", "alt"], pr = ["src"], wr = ["src"], br = ["href", "download"], kr = { class: "wm-att__main" }, Cr = { class: "wm-att__name" }, Ar = {
3499
3499
  key: 0,
3500
3500
  class: "wm-att__meta"
3501
3501
  }, Sr = {
@@ -3518,8 +3518,8 @@ function Tr(e, t, s, r, i, n) {
3518
3518
  src: i.url,
3519
3519
  alt: n.displayName,
3520
3520
  loading: "lazy"
3521
- }, null, 8, vr)
3522
- ], 8, yr)) : n.kind === "audio" && i.url ? (c(), d("audio", {
3521
+ }, null, 8, yr)
3522
+ ], 8, vr)) : n.kind === "audio" && i.url ? (c(), d("audio", {
3523
3523
  key: 1,
3524
3524
  src: i.url,
3525
3525
  controls: "",
@@ -3556,14 +3556,14 @@ function Tr(e, t, s, r, i, n) {
3556
3556
  ])
3557
3557
  ], -1)),
3558
3558
  l("span", kr, [
3559
- l("span", Cr, y(n.displayName), 1),
3560
- n.sizeLabel ? (c(), d("span", Ar, y(n.sizeLabel), 1)) : b("", !0)
3559
+ l("span", Cr, v(n.displayName), 1),
3560
+ n.sizeLabel ? (c(), d("span", Ar, v(n.sizeLabel), 1)) : b("", !0)
3561
3561
  ]),
3562
3562
  i.loading ? (c(), d("span", Sr)) : b("", !0)
3563
3563
  ], 8, br))
3564
3564
  ], 2);
3565
3565
  }
3566
- const Mr = /* @__PURE__ */ F(gr, [["render", Tr], ["__scopeId", "data-v-b207a8bd"]]), xr = {
3566
+ const Mr = /* @__PURE__ */ P(gr, [["render", Tr], ["__scopeId", "data-v-b207a8bd"]]), xr = {
3567
3567
  name: "WmBubble",
3568
3568
  props: {
3569
3569
  role: { type: String, default: "ai" },
@@ -3585,7 +3585,7 @@ function Rr(e, t, s, r, i, n) {
3585
3585
  ], !0)
3586
3586
  ], 2);
3587
3587
  }
3588
- const Lr = /* @__PURE__ */ F(xr, [["render", Rr], ["__scopeId", "data-v-7ab13147"]]), Ir = { name: "WmTyping" }, Br = { class: "wm-typing" };
3588
+ const Lr = /* @__PURE__ */ P(xr, [["render", Rr], ["__scopeId", "data-v-7ab13147"]]), Ir = { name: "WmTyping" }, Br = { class: "wm-typing" };
3589
3589
  function Er(e, t, s, r, i, n) {
3590
3590
  return c(), d("div", Br, [...t[0] || (t[0] = [
3591
3591
  l("span", { style: { "animation-delay": "0s" } }, null, -1),
@@ -3593,11 +3593,11 @@ function Er(e, t, s, r, i, n) {
3593
3593
  l("span", { style: { "animation-delay": "0.4s" } }, null, -1)
3594
3594
  ])]);
3595
3595
  }
3596
- const Pr = /* @__PURE__ */ F(Ir, [["render", Er], ["__scopeId", "data-v-df2447fd"]]);
3596
+ const Fr = /* @__PURE__ */ P(Ir, [["render", Er], ["__scopeId", "data-v-df2447fd"]]);
3597
3597
  function se(e) {
3598
3598
  return e ? e.client_msg_id || e.id : "";
3599
3599
  }
3600
- const Fr = {
3600
+ const Pr = {
3601
3601
  transferred_to_human: "system.transferredToHuman",
3602
3602
  assigned: "system.assigned",
3603
3603
  unassigned: "system.unassigned",
@@ -3609,9 +3609,9 @@ const Fr = {
3609
3609
  name: "WmMessageList",
3610
3610
  components: {
3611
3611
  AIAvatar: me,
3612
- HumanAvatar: ye,
3612
+ HumanAvatar: ve,
3613
3613
  Bubble: Lr,
3614
- Typing: Pr,
3614
+ Typing: Fr,
3615
3615
  ActionResult: xs,
3616
3616
  AttachmentPreview: Mr,
3617
3617
  ArtifactRenderer: _r
@@ -3724,7 +3724,7 @@ const Fr = {
3724
3724
  if (o.role === "system") continue;
3725
3725
  const f = [];
3726
3726
  for (const k of o.messages)
3727
- for (const v of this.itemsOf(k)) f.push(v);
3727
+ for (const y of this.itemsOf(k)) f.push(y);
3728
3728
  o.items = f;
3729
3729
  }
3730
3730
  const t = [];
@@ -4010,9 +4010,9 @@ const Fr = {
4010
4010
  // doit garder son arrondi.
4011
4011
  cornersFor(e, t) {
4012
4012
  var ie, ae, X;
4013
- const s = e.items, r = (ie = s[t]) == null ? void 0 : ie.kind, i = (ae = s[t - 1]) == null ? void 0 : ae.kind, n = (X = s[t + 1]) == null ? void 0 : X.kind, a = e.role === "user", o = 14, f = 4, k = i == null ? void 0 : i.bottom, v = n == null ? void 0 : n.top, T = this.widthByKey[this.rowKeyOf(e, t)], I = this.widthByKey[this.rowKeyOf(e, t - 1)], S = this.widthByKey[this.rowKeyOf(e, t + 1)], z = 0.5, M = (Q, oe, Z) => Q != null && T != null ? Q + z >= T : oe === Z || oe === "card" && Z === "bubble";
4014
- let U = o, x = o, q = o, J = o;
4015
- return a ? (k && (x = f), (v || !n) && (q = f), k && M(I, k, r == null ? void 0 : r.top) && (U = f), v && M(S, v, r == null ? void 0 : r.bottom) && (J = f)) : (k && (U = f), (v || !n) && (J = f), k && M(I, k, r == null ? void 0 : r.top) && (x = f), v && M(S, v, r == null ? void 0 : r.bottom) && (q = f)), { tl: U, tr: x, br: q, bl: J };
4013
+ const s = e.items, r = (ie = s[t]) == null ? void 0 : ie.kind, i = (ae = s[t - 1]) == null ? void 0 : ae.kind, n = (X = s[t + 1]) == null ? void 0 : X.kind, a = e.role === "user", o = 14, f = 4, k = i == null ? void 0 : i.bottom, y = n == null ? void 0 : n.top, T = this.widthByKey[this.rowKeyOf(e, t)], I = this.widthByKey[this.rowKeyOf(e, t - 1)], S = this.widthByKey[this.rowKeyOf(e, t + 1)], z = 0.5, M = (Q, oe, Z) => Q != null && T != null ? Q + z >= T : oe === Z || oe === "card" && Z === "bubble";
4014
+ let U = o, x = o, V = o, J = o;
4015
+ return a ? (k && (x = f), (y || !n) && (V = f), k && M(I, k, r == null ? void 0 : r.top) && (U = f), y && M(S, y, r == null ? void 0 : r.bottom) && (J = f)) : (k && (U = f), (y || !n) && (J = f), k && M(I, k, r == null ? void 0 : r.top) && (x = f), y && M(S, y, r == null ? void 0 : r.bottom) && (V = f)), { tl: U, tr: x, br: V, bl: J };
4016
4016
  },
4017
4017
  // Inline column-count for the mosaic grid, capped at 4. Single
4018
4018
  // attachment falls back to the vertical-list layout (null). Two
@@ -4035,8 +4035,8 @@ const Fr = {
4035
4035
  // corners of every top-row cell flatten too.
4036
4036
  mosaicCornerStyle(e, t, s) {
4037
4037
  if (!t || t < 2) return null;
4038
- const r = Math.min(t, 4), i = Math.floor(e / r), n = e % r, a = n > 0, o = n < r - 1 && e + 1 < t, f = i > 0, k = e + r < t, v = "4px", T = {};
4039
- return (a || f) && (T["--wm-r-tl"] = v), (o || f) && (T["--wm-r-tr"] = v), (a || k) && (T["--wm-r-bl"] = v), (o || k) && (T["--wm-r-br"] = v), s && (T["--wm-r-tl"] = v, T["--wm-r-tr"] = v), Object.keys(T).length ? T : null;
4038
+ const r = Math.min(t, 4), i = Math.floor(e / r), n = e % r, a = n > 0, o = n < r - 1 && e + 1 < t, f = i > 0, k = e + r < t, y = "4px", T = {};
4039
+ return (a || f) && (T["--wm-r-tl"] = y), (o || f) && (T["--wm-r-tr"] = y), (a || k) && (T["--wm-r-bl"] = y), (o || k) && (T["--wm-r-br"] = y), s && (T["--wm-r-tl"] = y, T["--wm-r-tr"] = y), Object.keys(T).length ? T : null;
4040
4040
  },
4041
4041
  // Inline style emitting the four corner CSS variables. Set on
4042
4042
  // `.wm-list__row` so they cascade to Bubble/ActionResult/
@@ -4167,7 +4167,7 @@ const Fr = {
4167
4167
  return ((s = t.success) == null ? void 0 : s.summary) || ((i = (r = t.success) == null ? void 0 : r.metadata) == null ? void 0 : i.description) || "";
4168
4168
  if (t.state === "rejected") {
4169
4169
  if ((n = t.rejected) != null && n.reason) return t.rejected.reason;
4170
- const v = (o = (a = t.rejected) == null ? void 0 : a.metadata) == null ? void 0 : o.resolution, T = typeof v == "string" && v.startsWith("admin") ? "action.rejectedByAdmin" : "action.rejectedByUser";
4170
+ const y = (o = (a = t.rejected) == null ? void 0 : a.metadata) == null ? void 0 : o.resolution, T = typeof y == "string" && y.startsWith("admin") ? "action.rejectedByAdmin" : "action.rejectedByUser";
4171
4171
  return this.t(T);
4172
4172
  }
4173
4173
  return t.state === "failure" && (((f = t.failure) == null ? void 0 : f.summary) || ((k = t.failure) == null ? void 0 : k.error)) || "";
@@ -4179,7 +4179,7 @@ const Fr = {
4179
4179
  },
4180
4180
  systemLabel(e) {
4181
4181
  var i, n, a;
4182
- const t = (i = e == null ? void 0 : e.payload) == null ? void 0 : i.event, s = Fr[t], r = ((n = e == null ? void 0 : e.metadata) == null ? void 0 : n.agent_name) || ((a = e == null ? void 0 : e.author) == null ? void 0 : a.name) || this.t("messageList.anAgent");
4182
+ const t = (i = e == null ? void 0 : e.payload) == null ? void 0 : i.event, s = Pr[t], r = ((n = e == null ? void 0 : e.metadata) == null ? void 0 : n.agent_name) || ((a = e == null ? void 0 : e.author) == null ? void 0 : a.name) || this.t("messageList.anAgent");
4183
4183
  return s ? this.t(s, { name: r }) : (e == null ? void 0 : e.text_md) || this.t("messageList.conversationUpdate");
4184
4184
  },
4185
4185
  scrollToBottom() {
@@ -4216,10 +4216,10 @@ const Fr = {
4216
4216
  class: "wm-list__loadMore",
4217
4217
  role: "status",
4218
4218
  "aria-live": "polite"
4219
- }, zr = { class: "wm-list__loadMore-lbl" }, qr = {
4219
+ }, zr = { class: "wm-list__loadMore-lbl" }, Vr = {
4220
4220
  key: 1,
4221
4221
  class: "wm-list__historyEnd"
4222
- }, Vr = {
4222
+ }, qr = {
4223
4223
  key: 2,
4224
4224
  class: "wm-list__sep"
4225
4225
  }, Kr = { class: "wm-list__sep-label" }, Wr = {
@@ -4242,7 +4242,7 @@ const Fr = {
4242
4242
  class: "wm-list__row wm-list__row--ai fade-up"
4243
4243
  }, ii = { class: "wm-list__avatarSlot" }, ai = ["aria-label", "title"];
4244
4244
  function oi(e, t, s, r, i, n) {
4245
- const a = P("AIAvatar"), o = P("HumanAvatar"), f = P("ActionResult"), k = P("ArtifactRenderer"), v = P("Bubble"), T = P("AttachmentPreview"), I = P("Typing");
4245
+ const a = F("AIAvatar"), o = F("HumanAvatar"), f = F("ActionResult"), k = F("ArtifactRenderer"), y = F("Bubble"), T = F("AttachmentPreview"), I = F("Typing");
4246
4246
  return c(), d("div", Nr, [
4247
4247
  l("div", {
4248
4248
  ref: "scrollEl",
@@ -4254,11 +4254,11 @@ function oi(e, t, s, r, i, n) {
4254
4254
  class: "wm-list__loadMore-spinner",
4255
4255
  "aria-hidden": "true"
4256
4256
  }, null, -1)),
4257
- l("span", zr, y(n.t("messageList.loadingHistory")), 1)
4258
- ])) : n.historyExhausted ? (c(), d("div", qr, y(n.t("messageList.conversationStart")), 1)) : b("", !0),
4259
- s.dateLabel ? (c(), d("div", Vr, [
4257
+ l("span", zr, v(n.t("messageList.loadingHistory")), 1)
4258
+ ])) : n.historyExhausted ? (c(), d("div", Vr, v(n.t("messageList.conversationStart")), 1)) : b("", !0),
4259
+ s.dateLabel ? (c(), d("div", qr, [
4260
4260
  t[7] || (t[7] = l("div", { class: "wm-list__line" }, null, -1)),
4261
- l("span", Kr, y(s.dateLabel), 1),
4261
+ l("span", Kr, v(s.dateLabel), 1),
4262
4262
  t[8] || (t[8] = l("div", { class: "wm-list__line" }, null, -1))
4263
4263
  ])) : b("", !0),
4264
4264
  (c(!0), d(B, null, D(n.groups, (S, z) => (c(), d(B, {
@@ -4266,7 +4266,7 @@ function oi(e, t, s, r, i, n) {
4266
4266
  }, [
4267
4267
  S.key === n.unreadGroupKey ? (c(), d("div", Wr, [
4268
4268
  t[9] || (t[9] = l("div", { class: "wm-list__line wm-list__line--unread" }, null, -1)),
4269
- l("span", $r, y(n.t("messageList.unread")), 1),
4269
+ l("span", $r, v(n.t("messageList.unread")), 1),
4270
4270
  t[10] || (t[10] = l("div", { class: "wm-list__line wm-list__line--unread" }, null, -1))
4271
4271
  ])) : b("", !0),
4272
4272
  S.role === "system" || S.items.length ? (c(), d("div", {
@@ -4275,7 +4275,7 @@ function oi(e, t, s, r, i, n) {
4275
4275
  }, [
4276
4276
  S.role === "system" ? (c(), d("div", Gr, [
4277
4277
  t[11] || (t[11] = l("div", { class: "wm-list__line wm-list__line--strong" }, null, -1)),
4278
- l("span", Yr, y(S.systemLabel), 1),
4278
+ l("span", Yr, v(S.systemLabel), 1),
4279
4279
  t[12] || (t[12] = l("div", { class: "wm-list__line wm-list__line--strong" }, null, -1))
4280
4280
  ])) : (c(), d(B, { key: 1 }, [
4281
4281
  (c(!0), d(B, null, D(S.items, (M, U) => (c(), d(B, {
@@ -4337,7 +4337,7 @@ function oi(e, t, s, r, i, n) {
4337
4337
  "wm-list__body--mixed": !!M.message.text_md && n.attachmentsOf(M.message).length > 0
4338
4338
  }])
4339
4339
  }, [
4340
- M.message.text_md ? (c(), E(v, {
4340
+ M.message.text_md ? (c(), E(y, {
4341
4341
  key: 0,
4342
4342
  role: S.role,
4343
4343
  text: M.message.text_md
@@ -4356,12 +4356,12 @@ function oi(e, t, s, r, i, n) {
4356
4356
  }, [
4357
4357
  (c(!0), d(B, null, D(n.attachmentsOf(
4358
4358
  M.message
4359
- ), (x, q) => (c(), E(T, {
4360
- key: `${n.messageKey(M.message)}-att-${q}`,
4359
+ ), (x, V) => (c(), E(T, {
4360
+ key: `${n.messageKey(M.message)}-att-${V}`,
4361
4361
  attachment: x,
4362
4362
  style: H(
4363
4363
  n.mosaicCornerStyle(
4364
- q,
4364
+ V,
4365
4365
  n.attachmentsOf(M.message).length,
4366
4366
  !!M.message.text_md
4367
4367
  )
@@ -4374,18 +4374,18 @@ function oi(e, t, s, r, i, n) {
4374
4374
  key: 0,
4375
4375
  class: R(["wm-list__meta wm-list__meta--press", { "wm-list__meta--right": S.role === "user" }])
4376
4376
  }, [
4377
- S.role !== "user" ? (c(), d("span", Qr, y(n.roleLabel(S)), 1)) : b("", !0),
4377
+ S.role !== "user" ? (c(), d("span", Qr, v(n.roleLabel(S)), 1)) : b("", !0),
4378
4378
  S.role !== "user" && n.timeOf(M.message) ? (c(), d("span", Zr, "•")) : b("", !0),
4379
- n.timeOf(M.message) ? (c(), d("span", ei, y(n.timeOf(M.message)), 1)) : b("", !0)
4379
+ n.timeOf(M.message) ? (c(), d("span", ei, v(n.timeOf(M.message)), 1)) : b("", !0)
4380
4380
  ], 2)) : b("", !0)
4381
4381
  ], 64))), 128)),
4382
4382
  i.pressedItemKey === n.rowKeyOf(S, S.items.length - 1) && (S.role !== "user" || n.lastTimeOf(S)) && !n.hasTrailingOverlay(S) ? (c(), d("div", {
4383
4383
  key: 0,
4384
4384
  class: R(["wm-list__meta wm-list__meta--press", { "wm-list__meta--right": S.role === "user" }])
4385
4385
  }, [
4386
- S.role !== "user" ? (c(), d("span", ti, y(n.roleLabel(S)), 1)) : b("", !0),
4386
+ S.role !== "user" ? (c(), d("span", ti, v(n.roleLabel(S)), 1)) : b("", !0),
4387
4387
  S.role !== "user" && n.lastTimeOf(S) ? (c(), d("span", ni, "•")) : b("", !0),
4388
- n.lastTimeOf(S) ? (c(), d("span", si, y(n.lastTimeOf(S)), 1)) : b("", !0)
4388
+ n.lastTimeOf(S) ? (c(), d("span", si, v(n.lastTimeOf(S)), 1)) : b("", !0)
4389
4389
  ], 2)) : b("", !0)
4390
4390
  ], 64))
4391
4391
  ], 2)) : b("", !0)
@@ -4431,7 +4431,7 @@ function oi(e, t, s, r, i, n) {
4431
4431
  })
4432
4432
  ]);
4433
4433
  }
4434
- const li = /* @__PURE__ */ F(Hr, [["render", oi], ["__scopeId", "data-v-5a563f2b"]]), ge = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", Le = typeof window < "u" && typeof window.MediaRecorder < "u";
4434
+ const li = /* @__PURE__ */ P(Hr, [["render", oi], ["__scopeId", "data-v-5a563f2b"]]), ge = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", Le = typeof window < "u" && typeof window.MediaRecorder < "u";
4435
4435
  function ci() {
4436
4436
  return Le && [
4437
4437
  "video/webm;codecs=vp9,opus",
@@ -4496,56 +4496,56 @@ async function hi(e = {}) {
4496
4496
  t = await navigator.mediaDevices.getDisplayMedia(
4497
4497
  Ke({ audio: !0 })
4498
4498
  );
4499
- } catch (v) {
4500
- return (v == null ? void 0 : v.name) !== "NotAllowedError" && console.error("[media] record picker", v), null;
4499
+ } catch (y) {
4500
+ return (y == null ? void 0 : y.name) !== "NotAllowedError" && console.error("[media] record picker", y), null;
4501
4501
  }
4502
4502
  const s = ci();
4503
4503
  let r;
4504
4504
  try {
4505
4505
  r = s ? new window.MediaRecorder(t, { mimeType: s }) : new window.MediaRecorder(t);
4506
- } catch (v) {
4507
- return console.error("[media] recorder init", v), t.getTracks().forEach((T) => {
4506
+ } catch (y) {
4507
+ return console.error("[media] recorder init", y), t.getTracks().forEach((T) => {
4508
4508
  T.stop();
4509
4509
  }), null;
4510
4510
  }
4511
4511
  const i = [];
4512
4512
  let n = null, a = !1;
4513
- r.addEventListener("dataavailable", (v) => {
4514
- v.data && v.data.size > 0 && i.push(v.data);
4513
+ r.addEventListener("dataavailable", (y) => {
4514
+ y.data && y.data.size > 0 && i.push(y.data);
4515
4515
  }), r.addEventListener("stop", () => {
4516
- var v, T;
4516
+ var y, T;
4517
4517
  if (n && clearInterval(n), t.getTracks().forEach((I) => {
4518
4518
  I.stop();
4519
4519
  }), i.length) {
4520
4520
  const I = r.mimeType || s || "video/webm", S = new Blob(i, { type: I }), z = /mp4/.test(I) ? "mp4" : "webm", M = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19), U = new File([S], `ecran-${M}.${z}`, {
4521
4521
  type: I
4522
4522
  });
4523
- (v = e.onfinalize) == null || v.call(e, U);
4523
+ (y = e.onfinalize) == null || y.call(e, U);
4524
4524
  } else
4525
4525
  (T = e.oncancel) == null || T.call(e);
4526
- }), t.getVideoTracks().forEach((v) => {
4527
- v.addEventListener("ended", () => o(), { once: !0 });
4526
+ }), t.getVideoTracks().forEach((y) => {
4527
+ y.addEventListener("ended", () => o(), { once: !0 });
4528
4528
  });
4529
4529
  function o() {
4530
4530
  if (!a && (a = !0, r.state !== "inactive"))
4531
4531
  try {
4532
4532
  r.stop();
4533
- } catch (v) {
4534
- console.error("[media] recorder stop", v);
4533
+ } catch (y) {
4534
+ console.error("[media] recorder stop", y);
4535
4535
  }
4536
4536
  }
4537
4537
  try {
4538
4538
  r.start(1e3);
4539
- } catch (v) {
4540
- return console.error("[media] recorder start", v), t.getTracks().forEach((T) => {
4539
+ } catch (y) {
4540
+ return console.error("[media] recorder start", y), t.getTracks().forEach((T) => {
4541
4541
  T.stop();
4542
4542
  }), null;
4543
4543
  }
4544
4544
  (k = e.onstart) == null || k.call(e);
4545
4545
  const f = Date.now();
4546
4546
  return n = setInterval(() => {
4547
- var v;
4548
- (v = e.ontick) == null || v.call(e, Date.now() - f);
4547
+ var y;
4548
+ (y = e.ontick) == null || y.call(e, Date.now() - f);
4549
4549
  }, 500), {
4550
4550
  stop: o,
4551
4551
  get state() {
@@ -4749,11 +4749,11 @@ const mi = [
4749
4749
  }, _i = {
4750
4750
  key: 0,
4751
4751
  class: "wm-rec"
4752
- }, gi = { class: "wm-rec__lbl" }, yi = {
4752
+ }, gi = { class: "wm-rec__lbl" }, vi = {
4753
4753
  key: 1,
4754
4754
  class: "wm-compose__menu",
4755
4755
  role: "menu"
4756
- }, vi = ["disabled", "onClick"], pi = { class: "wm-compose__menuIcon" }, wi = {
4756
+ }, yi = ["disabled", "onClick"], pi = { class: "wm-compose__menuIcon" }, wi = {
4757
4757
  viewBox: "0 0 24 24",
4758
4758
  width: "14",
4759
4759
  height: "14",
@@ -4769,12 +4769,12 @@ function Ti(e, t, s, r, i, n) {
4769
4769
  class: "wm-rec__dot",
4770
4770
  "aria-hidden": "true"
4771
4771
  }, null, -1)),
4772
- l("span", gi, y(n.t("composer.recording", { time: n.recordingElapsedLabel })), 1),
4772
+ l("span", gi, v(n.t("composer.recording", { time: n.recordingElapsedLabel })), 1),
4773
4773
  l("button", {
4774
4774
  type: "button",
4775
4775
  class: "wm-rec__stop",
4776
4776
  onClick: t[0] || (t[0] = (...a) => n.stopRecording && n.stopRecording(...a))
4777
- }, y(n.t("composer.stop")), 1)
4777
+ }, v(n.t("composer.stop")), 1)
4778
4778
  ])) : b("", !0),
4779
4779
  l("form", {
4780
4780
  class: R(["wm-compose", { "has-attach": i.attachOpen, "is-expanded": n.expanded }]),
@@ -4792,7 +4792,7 @@ function Ti(e, t, s, r, i, n) {
4792
4792
  class: "wm-compose__overlay",
4793
4793
  onClick: t[2] || (t[2] = (a) => i.attachOpen = !1)
4794
4794
  })) : b("", !0),
4795
- i.attachOpen ? (c(), d("div", yi, [
4795
+ i.attachOpen ? (c(), d("div", vi, [
4796
4796
  (c(!0), d(B, null, D(n.attachItems, (a) => (c(), d("button", {
4797
4797
  key: a.action,
4798
4798
  type: "button",
@@ -4812,8 +4812,8 @@ function Ti(e, t, s, r, i, n) {
4812
4812
  }, null, 8, bi)
4813
4813
  ]))
4814
4814
  ]),
4815
- l("span", null, y(a.label), 1)
4816
- ], 8, vi))), 128))
4815
+ l("span", null, v(a.label), 1)
4816
+ ], 8, yi))), 128))
4817
4817
  ])) : b("", !0),
4818
4818
  G(l("textarea", {
4819
4819
  ref: "inputEl",
@@ -4878,7 +4878,7 @@ function Ti(e, t, s, r, i, n) {
4878
4878
  ], 34)
4879
4879
  ], 6);
4880
4880
  }
4881
- const Mi = /* @__PURE__ */ F(fi, [["render", Ti], ["__scopeId", "data-v-a9738520"]]), xi = {
4881
+ const Mi = /* @__PURE__ */ P(fi, [["render", Ti], ["__scopeId", "data-v-a9738520"]]), xi = {
4882
4882
  name: "WmInlineCallbacks",
4883
4883
  props: {
4884
4884
  // Array d'items `{ id?, label, style?, ... }`. Pour les suggestions,
@@ -4931,22 +4931,22 @@ function Bi(e, t, s, r, i, n) {
4931
4931
  class: "wm-icb__btn wm-icb__btn--chip",
4932
4932
  style: H({ animationDelay: s.baseDelay + o * s.stepDelay + "ms" }),
4933
4933
  onClick: (f) => e.$emit("select", a)
4934
- }, y(a.label), 13, Oi))), 128)) : (c(), d(B, { key: 1 }, [
4935
- n.headerTitle ? (c(), d("div", Ri, y(n.headerTitle), 1)) : b("", !0),
4934
+ }, v(a.label), 13, Oi))), 128)) : (c(), d(B, { key: 1 }, [
4935
+ n.headerTitle ? (c(), d("div", Ri, v(n.headerTitle), 1)) : b("", !0),
4936
4936
  l("div", Li, [
4937
4937
  (c(!0), d(B, null, D(s.items, (a, o) => (c(), d("button", {
4938
4938
  key: a.id != null ? a.id : o,
4939
4939
  type: "button",
4940
4940
  class: R(["wm-icb__btn", n.btnClass(a)]),
4941
4941
  onClick: (f) => e.$emit("select", a)
4942
- }, y(a.label), 11, Ii))), 128))
4942
+ }, v(a.label), 11, Ii))), 128))
4943
4943
  ])
4944
4944
  ], 64))
4945
4945
  ], 2)) : b("", !0);
4946
4946
  }
4947
- const Ei = /* @__PURE__ */ F(xi, [["render", Bi], ["__scopeId", "data-v-c8cc8cbf"]]);
4947
+ const Ei = /* @__PURE__ */ P(xi, [["render", Bi], ["__scopeId", "data-v-c8cc8cbf"]]);
4948
4948
  let He = 0;
4949
- const Pi = /* @__PURE__ */ new Set([
4949
+ const Fi = /* @__PURE__ */ new Set([
4950
4950
  "text",
4951
4951
  "textarea",
4952
4952
  "number",
@@ -4954,7 +4954,7 @@ const Pi = /* @__PURE__ */ new Set([
4954
4954
  "select",
4955
4955
  "multiselect",
4956
4956
  "date"
4957
- ]), Fi = {
4957
+ ]), Pi = {
4958
4958
  name: "WmFormCard",
4959
4959
  components: { AIAvatar: me },
4960
4960
  inject: {
@@ -4984,7 +4984,7 @@ const Pi = /* @__PURE__ */ new Set([
4984
4984
  // douteux.
4985
4985
  normalizedFields() {
4986
4986
  var t;
4987
- return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((s) => !(!(s != null && s.key) || !(s != null && s.label) || !Pi.has(s == null ? void 0 : s.type) || (s.type === "select" || s.type === "multiselect") && (!Array.isArray(s.options) || s.options.length === 0)));
4987
+ return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((s) => !(!(s != null && s.key) || !(s != null && s.label) || !Fi.has(s == null ? void 0 : s.type) || (s.type === "select" || s.type === "multiselect") && (!Array.isArray(s.options) || s.options.length === 0)));
4988
4988
  }
4989
4989
  },
4990
4990
  created() {
@@ -5040,7 +5040,7 @@ const Pi = /* @__PURE__ */ new Set([
5040
5040
  }, Ui = { class: "wm-form" }, Di = { class: "wm-form__head" }, Hi = { class: "wm-form__icon" }, Ni = { class: "wm-form__main" }, ji = { class: "wm-form__title" }, zi = {
5041
5041
  key: 0,
5042
5042
  class: "wm-form__detail"
5043
- }, qi = ["for"], Vi = {
5043
+ }, Vi = ["for"], qi = {
5044
5044
  key: 0,
5045
5045
  class: "wm-form__req",
5046
5046
  "aria-hidden": "true"
@@ -5065,7 +5065,7 @@ const Pi = /* @__PURE__ */ new Set([
5065
5065
  class: "wm-form__doneLbl"
5066
5066
  };
5067
5067
  function aa(e, t, s, r, i, n) {
5068
- const a = P("AIAvatar");
5068
+ const a = F("AIAvatar");
5069
5069
  return c(), d("div", Ui, [
5070
5070
  l("div", Di, [
5071
5071
  l("div", Hi, [
@@ -5076,8 +5076,8 @@ function aa(e, t, s, r, i, n) {
5076
5076
  }, null, 8, ["name", "image-url"])
5077
5077
  ]),
5078
5078
  l("div", Ni, [
5079
- l("div", ji, y(s.form.title || n.t("form.title")), 1),
5080
- s.form.description ? (c(), d("div", zi, y(s.form.description), 1)) : b("", !0)
5079
+ l("div", ji, v(s.form.title || n.t("form.title")), 1),
5080
+ s.form.description ? (c(), d("div", zi, v(s.form.description), 1)) : b("", !0)
5081
5081
  ])
5082
5082
  ]),
5083
5083
  l("form", {
@@ -5092,9 +5092,9 @@ function aa(e, t, s, r, i, n) {
5092
5092
  for: `wm-f-${i._uid}-${o.key}`,
5093
5093
  class: "wm-form__label"
5094
5094
  }, [
5095
- Me(y(o.label), 1),
5096
- o.required ? (c(), d("span", Vi, "*")) : b("", !0)
5097
- ], 8, qi),
5095
+ Me(v(o.label), 1),
5096
+ o.required ? (c(), d("span", qi, "*")) : b("", !0)
5097
+ ], 8, Vi),
5098
5098
  o.type === "text" ? G((c(), d("input", {
5099
5099
  key: 0,
5100
5100
  id: `wm-f-${i._uid}-${o.key}`,
@@ -5152,7 +5152,7 @@ function aa(e, t, s, r, i, n) {
5152
5152
  }, null, 8, Ji), [
5153
5153
  [Ge, i.values[o.key]]
5154
5154
  ]),
5155
- l("span", null, y(o.placeholder || n.t("common.yes")), 1)
5155
+ l("span", null, v(o.placeholder || n.t("common.yes")), 1)
5156
5156
  ])) : o.type === "select" ? G((c(), d("select", {
5157
5157
  key: 5,
5158
5158
  id: `wm-f-${i._uid}-${o.key}`,
@@ -5161,11 +5161,11 @@ function aa(e, t, s, r, i, n) {
5161
5161
  required: o.required,
5162
5162
  disabled: s.readOnly || i.busy
5163
5163
  }, [
5164
- l("option", Qi, y(o.placeholder || n.t("form.choose")), 1),
5164
+ l("option", Qi, v(o.placeholder || n.t("form.choose")), 1),
5165
5165
  (c(!0), d(B, null, D(o.options, (f) => (c(), d("option", {
5166
5166
  key: f.value,
5167
5167
  value: f.value
5168
- }, y(f.label), 9, Zi))), 128))
5168
+ }, v(f.label), 9, Zi))), 128))
5169
5169
  ], 8, Xi)), [
5170
5170
  [Ye, i.values[o.key]]
5171
5171
  ]) : o.type === "multiselect" ? (c(), d("div", ea, [
@@ -5184,24 +5184,24 @@ function aa(e, t, s, r, i, n) {
5184
5184
  k.target.checked
5185
5185
  )
5186
5186
  }, null, 40, ta),
5187
- l("span", null, y(f.label), 1)
5187
+ l("span", null, v(f.label), 1)
5188
5188
  ]))), 128))
5189
5189
  ])) : b("", !0)
5190
5190
  ]))), 128)),
5191
- i.error ? (c(), d("div", na, y(i.error), 1)) : b("", !0),
5192
- s.readOnly ? (c(), d("div", ia, y(n.t("form.responseSent")), 1)) : (c(), d("button", {
5191
+ i.error ? (c(), d("div", na, v(i.error), 1)) : b("", !0),
5192
+ s.readOnly ? (c(), d("div", ia, v(n.t("form.responseSent")), 1)) : (c(), d("button", {
5193
5193
  key: 1,
5194
5194
  type: "submit",
5195
5195
  class: "wm-form__submit",
5196
5196
  disabled: i.busy
5197
5197
  }, [
5198
5198
  i.busy ? (c(), d("span", ra)) : b("", !0),
5199
- l("span", null, y(i.busy ? n.t("common.sending") : s.form.submit_label || n.t("common.send")), 1)
5199
+ l("span", null, v(i.busy ? n.t("common.sending") : s.form.submit_label || n.t("common.send")), 1)
5200
5200
  ], 8, sa))
5201
5201
  ], 32)
5202
5202
  ]);
5203
5203
  }
5204
- const oa = /* @__PURE__ */ F(Fi, [["render", aa], ["__scopeId", "data-v-fe65cc56"]]), la = {
5204
+ const oa = /* @__PURE__ */ P(Pi, [["render", aa], ["__scopeId", "data-v-fe65cc56"]]), la = {
5205
5205
  name: "WmFeedback",
5206
5206
  inject: {
5207
5207
  // Translator shared by the Messenger shell; French fallback when
@@ -5235,13 +5235,13 @@ const oa = /* @__PURE__ */ F(Fi, [["render", aa], ["__scopeId", "data-v-fe65cc56
5235
5235
  !this.sel || this.busy || this.$emit("submit", { rating: this.sel });
5236
5236
  }
5237
5237
  }
5238
- }, ca = { class: "wm-fb" }, da = { class: "wm-fb__title" }, ua = { class: "wm-fb__sub" }, ha = { class: "wm-fb__row" }, ma = ["onClick"], fa = { class: "wm-fb__emoji" }, _a = { class: "wm-fb__label" }, ga = ["disabled"], ya = {
5238
+ }, ca = { class: "wm-fb" }, da = { class: "wm-fb__title" }, ua = { class: "wm-fb__sub" }, ha = { class: "wm-fb__row" }, ma = ["onClick"], fa = { class: "wm-fb__emoji" }, _a = { class: "wm-fb__label" }, ga = ["disabled"], va = {
5239
5239
  key: 1,
5240
5240
  class: "wm-fb__done"
5241
- }, va = { class: "wm-fb__doneTitle" }, pa = { class: "wm-fb__doneSub" };
5241
+ }, ya = { class: "wm-fb__doneTitle" }, pa = { class: "wm-fb__doneSub" };
5242
5242
  function wa(e, t, s, r, i, n) {
5243
5243
  return c(), d("div", ca, [
5244
- s.done ? (c(), d("div", ya, [
5244
+ s.done ? (c(), d("div", va, [
5245
5245
  t[1] || (t[1] = l("div", { class: "wm-fb__check" }, [
5246
5246
  l("svg", {
5247
5247
  width: "16",
@@ -5257,11 +5257,11 @@ function wa(e, t, s, r, i, n) {
5257
5257
  l("path", { d: "M20 6L9 17l-5-5" })
5258
5258
  ])
5259
5259
  ], -1)),
5260
- l("div", va, y(n.t("feedback.doneTitle")), 1),
5261
- l("div", pa, y(n.t("feedback.doneSubtitle")), 1)
5260
+ l("div", ya, v(n.t("feedback.doneTitle")), 1),
5261
+ l("div", pa, v(n.t("feedback.doneSubtitle")), 1)
5262
5262
  ])) : (c(), d(B, { key: 0 }, [
5263
- l("div", da, y(n.t("feedback.question")), 1),
5264
- l("div", ua, y(n.t("feedback.subtitle")), 1),
5263
+ l("div", da, v(n.t("feedback.question")), 1),
5264
+ l("div", ua, v(n.t("feedback.subtitle")), 1),
5265
5265
  l("div", ha, [
5266
5266
  (c(!0), d(B, null, D(n.options, (a) => (c(), d("button", {
5267
5267
  key: a.v,
@@ -5269,8 +5269,8 @@ function wa(e, t, s, r, i, n) {
5269
5269
  class: R(["wm-fb__opt", { "is-selected": i.sel === a.v }]),
5270
5270
  onClick: (o) => i.sel = a.v
5271
5271
  }, [
5272
- l("span", fa, y(a.e), 1),
5273
- l("span", _a, y(a.l), 1)
5272
+ l("span", fa, v(a.e), 1),
5273
+ l("span", _a, v(a.l), 1)
5274
5274
  ], 10, ma))), 128))
5275
5275
  ]),
5276
5276
  l("button", {
@@ -5278,11 +5278,11 @@ function wa(e, t, s, r, i, n) {
5278
5278
  class: "wm-fb__send",
5279
5279
  disabled: !i.sel || s.busy,
5280
5280
  onClick: t[0] || (t[0] = (...a) => n.onSend && n.onSend(...a))
5281
- }, y(s.busy ? n.t("common.sending") : n.t("feedback.submit")), 9, ga)
5281
+ }, v(s.busy ? n.t("common.sending") : n.t("feedback.submit")), 9, ga)
5282
5282
  ], 64))
5283
5283
  ]);
5284
5284
  }
5285
- const ba = /* @__PURE__ */ F(la, [["render", wa], ["__scopeId", "data-v-9b630564"]]), ka = {
5285
+ const ba = /* @__PURE__ */ P(la, [["render", wa], ["__scopeId", "data-v-9b630564"]]), ka = {
5286
5286
  name: "WmMoreMenu",
5287
5287
  inject: {
5288
5288
  // Translator shared by the Messenger shell; French fallback when
@@ -5357,7 +5357,7 @@ function Ea(e, t, s, r, i, n) {
5357
5357
  l("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z" })
5358
5358
  ])
5359
5359
  ], -1)),
5360
- l("span", Ta, y(n.t("moreMenu.editTitle")), 1)
5360
+ l("span", Ta, v(n.t("moreMenu.editTitle")), 1)
5361
5361
  ])) : b("", !0),
5362
5362
  s.canExport ? (c(), d("button", {
5363
5363
  key: 1,
@@ -5380,7 +5380,7 @@ function Ea(e, t, s, r, i, n) {
5380
5380
  l("path", { d: "M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13" })
5381
5381
  ])
5382
5382
  ], -1)),
5383
- l("span", Ma, y(n.t("moreMenu.exportTranscript")), 1),
5383
+ l("span", Ma, v(n.t("moreMenu.exportTranscript")), 1),
5384
5384
  t[8] || (t[8] = l("span", { class: "wm-mm__hint" }, ".txt", -1))
5385
5385
  ])) : b("", !0)
5386
5386
  ])) : b("", !0),
@@ -5407,7 +5407,7 @@ function Ea(e, t, s, r, i, n) {
5407
5407
  l("path", { d: "M15.54 8.46a5 5 0 010 7.07M19.07 4.93a10 10 0 010 14.14" })
5408
5408
  ])
5409
5409
  ], -1)),
5410
- l("span", Ra, y(n.t("moreMenu.sound")), 1),
5410
+ l("span", Ra, v(n.t("moreMenu.sound")), 1),
5411
5411
  l("span", {
5412
5412
  class: R(["wm-mm__toggle", { "wm-mm__toggle--on": i.soundOn }])
5413
5413
  }, [...t[9] || (t[9] = [
@@ -5438,7 +5438,7 @@ function Ea(e, t, s, r, i, n) {
5438
5438
  l("path", { d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zM10 6v4l3 2" })
5439
5439
  ])
5440
5440
  ], -1)),
5441
- l("span", Ia, y(n.t("moreMenu.serviceStatus")), 1)
5441
+ l("span", Ia, v(n.t("moreMenu.serviceStatus")), 1)
5442
5442
  ])) : b("", !0),
5443
5443
  s.helpUrl ? (c(), d("button", {
5444
5444
  key: 1,
@@ -5461,13 +5461,13 @@ function Ea(e, t, s, r, i, n) {
5461
5461
  l("path", { d: "M9 11a3 3 0 116 0c0 2-3 2-3 5M12 19h.01M12 22a10 10 0 110-20 10 10 0 010 20z" })
5462
5462
  ])
5463
5463
  ], -1)),
5464
- l("span", Ba, y(n.t("moreMenu.helpCenter")), 1)
5464
+ l("span", Ba, v(n.t("moreMenu.helpCenter")), 1)
5465
5465
  ])) : b("", !0)
5466
5466
  ])
5467
5467
  ])
5468
5468
  ]);
5469
5469
  }
5470
- const Pa = /* @__PURE__ */ F(ka, [["render", Ea], ["__scopeId", "data-v-4cf6d578"]]), Fa = {
5470
+ const Fa = /* @__PURE__ */ P(ka, [["render", Ea], ["__scopeId", "data-v-4cf6d578"]]), Pa = {
5471
5471
  name: "WmRenameDialog",
5472
5472
  inject: {
5473
5473
  // Translator shared by the Messenger shell; French fallback when
@@ -5513,7 +5513,7 @@ const Pa = /* @__PURE__ */ F(ka, [["render", Ea], ["__scopeId", "data-v-4cf6d578
5513
5513
  class: "wm-dialog__card",
5514
5514
  role: "dialog",
5515
5515
  "aria-modal": "true"
5516
- }, Ha = { class: "wm-dialog__head" }, Na = { class: "wm-dialog__title" }, ja = ["aria-label"], za = { class: "wm-dialog__body" }, qa = ["placeholder"], Va = { class: "wm-dialog__actions" }, Ka = ["disabled"];
5516
+ }, Ha = { class: "wm-dialog__head" }, Na = { class: "wm-dialog__title" }, ja = ["aria-label"], za = { class: "wm-dialog__body" }, Va = ["placeholder"], qa = { class: "wm-dialog__actions" }, Ka = ["disabled"];
5517
5517
  function Wa(e, t, s, r, i, n) {
5518
5518
  return c(), d("div", Ua, [
5519
5519
  l("div", {
@@ -5522,7 +5522,7 @@ function Wa(e, t, s, r, i, n) {
5522
5522
  }),
5523
5523
  l("div", Da, [
5524
5524
  l("div", Ha, [
5525
- l("div", Na, y(s.title || n.t("rename.title")), 1),
5525
+ l("div", Na, v(s.title || n.t("rename.title")), 1),
5526
5526
  l("button", {
5527
5527
  type: "button",
5528
5528
  class: "wm-dialog__close",
@@ -5556,30 +5556,30 @@ function Wa(e, t, s, r, i, n) {
5556
5556
  t[3] || (t[3] = _e(K((...a) => n.onSubmit && n.onSubmit(...a), ["prevent"]), ["enter"])),
5557
5557
  t[4] || (t[4] = _e(K((a) => e.$emit("close"), ["prevent"]), ["esc"]))
5558
5558
  ]
5559
- }, null, 40, qa), [
5559
+ }, null, 40, Va), [
5560
5560
  [ee, i.value]
5561
5561
  ])
5562
5562
  ]),
5563
- l("div", Va, [
5563
+ l("div", qa, [
5564
5564
  l("button", {
5565
5565
  type: "button",
5566
5566
  class: "wm-dialog__btn",
5567
5567
  onClick: t[5] || (t[5] = (a) => e.$emit("close"))
5568
- }, y(n.t("common.cancel")), 1),
5568
+ }, v(n.t("common.cancel")), 1),
5569
5569
  l("button", {
5570
5570
  type: "button",
5571
5571
  class: "wm-dialog__btn wm-dialog__btn--primary",
5572
5572
  disabled: !n.canSubmit,
5573
5573
  onClick: t[6] || (t[6] = (...a) => n.onSubmit && n.onSubmit(...a))
5574
- }, y(n.t("common.save")), 9, Ka)
5574
+ }, v(n.t("common.save")), 9, Ka)
5575
5575
  ])
5576
5576
  ])
5577
5577
  ]);
5578
5578
  }
5579
- const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8"]]), Ne = "ww-messenger-tokens", Ga = {
5579
+ const $a = /* @__PURE__ */ P(Pa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8"]]), Ne = "ww-messenger-tokens", Ga = {
5580
5580
  name: "Messenger",
5581
5581
  components: {
5582
- Launcher: qt,
5582
+ Launcher: Vt,
5583
5583
  Header: _n,
5584
5584
  Onboarding: es,
5585
5585
  History: gs,
@@ -5588,7 +5588,7 @@ const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8
5588
5588
  InlineCallbacks: Ei,
5589
5589
  FormCard: oa,
5590
5590
  Feedback: ba,
5591
- MoreMenu: Pa,
5591
+ MoreMenu: Fa,
5592
5592
  RenameDialog: $a
5593
5593
  },
5594
5594
  mixins: [
@@ -5730,11 +5730,13 @@ const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8
5730
5730
  // landing behind it.
5731
5731
  floatHeight: 0,
5732
5732
  floatRO: null,
5733
- // Mobile : décalage vertical du visual viewport quand le clavier
5734
- // pousse la zone visible vers le bas. Sert à ré-épingler le header
5735
- // au haut de la zone réellement visible (cf. Messenger.css). 0 = pas
5736
- // de clavier / desktop.
5737
- kbTop: 0,
5733
+ // Mobile : géométrie du visual viewport (zone réellement visible,
5734
+ // hors clavier). On y cale le panneau plein écran pour que la liste
5735
+ // de messages rétrécisse au-dessus du clavier au lieu d'être cachée
5736
+ // dessous. `vvTop` = offset du haut visible, `vvHeight` = hauteur
5737
+ // visible. null = desktop / pas de tracking → fallback CSS (100dvh).
5738
+ vvTop: 0,
5739
+ vvHeight: null,
5738
5740
  // Credentials reçues du parent via postMessage `INIT`. `origin`
5739
5741
  // est l'origine top-level du site marchand ; `token` est le JWT
5740
5742
  // linked one-shot optionnel. Tant que ces deux ne sont pas
@@ -5825,8 +5827,8 @@ const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8
5825
5827
  var k;
5826
5828
  const i = e[r.id] || [], n = Y(r.last_read_message_id);
5827
5829
  let a = 0, o = null;
5828
- for (let v = i.length - 1; v >= 0; v--) {
5829
- const T = i[v];
5830
+ for (let y = i.length - 1; y >= 0; y--) {
5831
+ const T = i[y];
5830
5832
  if (!T) continue;
5831
5833
  if (((k = T.author) == null ? void 0 : k.type) === "user") break;
5832
5834
  const I = Y(T.id);
@@ -5836,11 +5838,11 @@ const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8
5836
5838
  }
5837
5839
  }
5838
5840
  if (!i.length) {
5839
- const v = Y(r.last_message_id);
5840
- v != null && (n == null || v > n) && (a = 1, o = r.last_message_author || null);
5841
+ const y = Y(r.last_message_id);
5842
+ y != null && (n == null || y > n) && (a = 1, o = r.last_message_author || null);
5841
5843
  }
5842
5844
  const f = i.filter(
5843
- (v) => !((v == null ? void 0 : v.id) != null && t[v.id] === 0)
5845
+ (y) => !((y == null ? void 0 : y.id) != null && t[y.id] === 0)
5844
5846
  );
5845
5847
  return {
5846
5848
  ...r,
@@ -6066,8 +6068,8 @@ const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8
6066
6068
  if (!(a != null && a.loaded)) return t;
6067
6069
  }
6068
6070
  const s = this.revealedAt, r = (this.s.messagesByConv[e.id] || []).filter((a) => {
6069
- var o, f, k, v, T;
6070
- return (a == null ? void 0 : a.type) === "action" && ((o = a == null ? void 0 : a.payload) == null ? void 0 : o.state) === "pending" || he(a) && !(s[a.id] > 0) ? !1 : (a == null ? void 0 : a.type) === "action" || (a == null ? void 0 : a.type) === "system" || ((f = a == null ? void 0 : a.payload) == null ? void 0 : f.type) === "system" || Array.isArray((k = a == null ? void 0 : a.payload) == null ? void 0 : k.attachments) && a.payload.attachments.length || (v = a == null ? void 0 : a.metadata) != null && v.artifact || (T = a == null ? void 0 : a.metadata) != null && T.form || Array.isArray(a == null ? void 0 : a.callbacks) && a.callbacks.some((I) => (I == null ? void 0 : I.intent) === "submit_form") ? !0 : typeof (a == null ? void 0 : a.text_md) == "string" && a.text_md.trim().length > 0;
6071
+ var o, f, k, y, T;
6072
+ return (a == null ? void 0 : a.type) === "action" && ((o = a == null ? void 0 : a.payload) == null ? void 0 : o.state) === "pending" || he(a) && !(s[a.id] > 0) ? !1 : (a == null ? void 0 : a.type) === "action" || (a == null ? void 0 : a.type) === "system" || ((f = a == null ? void 0 : a.payload) == null ? void 0 : f.type) === "system" || Array.isArray((k = a == null ? void 0 : a.payload) == null ? void 0 : k.attachments) && a.payload.attachments.length || (y = a == null ? void 0 : a.metadata) != null && y.artifact || (T = a == null ? void 0 : a.metadata) != null && T.form || Array.isArray(a == null ? void 0 : a.callbacks) && a.callbacks.some((I) => (I == null ? void 0 : I.intent) === "submit_form") ? !0 : typeof (a == null ? void 0 : a.text_md) == "string" && a.text_md.trim().length > 0;
6071
6073
  });
6072
6074
  return t.length ? [...t, ...r] : r;
6073
6075
  },
@@ -6305,10 +6307,10 @@ const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8
6305
6307
  const e = document.createElement("style");
6306
6308
  e.id = Ne, e.textContent = at, document.head.appendChild(e);
6307
6309
  }
6308
- this._parentMessageHandler = this.onParentMessage.bind(this), window.addEventListener("message", this._parentMessageHandler), window.parent && window.parent !== window && window.parent.postMessage({ type: "READY" }, "*"), this.setupHeaderPin(), this.isEmbedded ? (await this.boot(), this.store && await this.open()) : (await this.$nextTick(), this.sendCurrentLauncherSize(), this.observeLauncherSize());
6310
+ this._parentMessageHandler = this.onParentMessage.bind(this), window.addEventListener("message", this._parentMessageHandler), window.parent && window.parent !== window && window.parent.postMessage({ type: "READY" }, "*"), this.setupViewportFit(), this.isEmbedded ? (await this.boot(), this.store && await this.open()) : (await this.$nextTick(), this.sendCurrentLauncherSize(), this.observeLauncherSize());
6309
6311
  },
6310
6312
  beforeUnmount() {
6311
- this._parentMessageHandler && (window.removeEventListener("message", this._parentMessageHandler), this._parentMessageHandler = null), this._launcherRo && (this._launcherRo.disconnect(), this._launcherRo = null), this.teardownHeaderPin(), this.cancelReveals(), this.cancelWelcomeTimers(), this.teardownLiveReveal(), this.disconnectFloatRO(), this.teardownNotifications(), this.store && this.store.destroy();
6313
+ this._parentMessageHandler && (window.removeEventListener("message", this._parentMessageHandler), this._parentMessageHandler = null), this._launcherRo && (this._launcherRo.disconnect(), this._launcherRo = null), this.teardownViewportFit(), this.cancelReveals(), this.cancelWelcomeTimers(), this.teardownLiveReveal(), this.disconnectFloatRO(), this.teardownNotifications(), this.store && this.store.destroy();
6312
6314
  },
6313
6315
  methods: {
6314
6316
  // Statut effectif d'une conversation : le `conversation_status`
@@ -6460,18 +6462,19 @@ const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8
6460
6462
  async close() {
6461
6463
  this.isOpen = !1, await this.$nextTick(), this.sendCurrentLauncherSize(), this.observeLauncherSize(), this.store && this.store.setPanelOpen(!1);
6462
6464
  },
6463
- // Suit visualViewport.offsetTop (clavier mobile) → kbTop, consommé par
6464
- // `.wm-header` (translateY) pour rester épinglé en haut de la zone
6465
- // visible. Gated mobile : sur desktop offsetTop reste 0, inutile.
6466
- setupHeaderPin() {
6465
+ // Suit la géométrie du visual viewport (clavier mobile) → vvTop/vvHeight,
6466
+ // consommés par `.wm-panel` (top + height) pour coller la zone visible.
6467
+ // Gated mobile : sur desktop le visual viewport == layout viewport,
6468
+ // inutile (on laisse le fallback CSS 100dvh).
6469
+ setupViewportFit() {
6467
6470
  const e = window.visualViewport;
6468
- !e || !(typeof window.matchMedia == "function" && window.matchMedia("(hover: none) and (pointer: coarse)").matches) || (this._headerPinHandler = () => {
6469
- this.kbTop = Math.max(0, Math.round(e.offsetTop));
6470
- }, e.addEventListener("resize", this._headerPinHandler), e.addEventListener("scroll", this._headerPinHandler));
6471
+ !e || !(typeof window.matchMedia == "function" && window.matchMedia("(hover: none) and (pointer: coarse)").matches) || (this._viewportFitHandler = () => {
6472
+ this.vvTop = Math.max(0, Math.round(e.offsetTop)), this.vvHeight = Math.round(e.height);
6473
+ }, this._viewportFitHandler(), e.addEventListener("resize", this._viewportFitHandler), e.addEventListener("scroll", this._viewportFitHandler));
6471
6474
  },
6472
- teardownHeaderPin() {
6475
+ teardownViewportFit() {
6473
6476
  const e = window.visualViewport;
6474
- !e || !this._headerPinHandler || (e.removeEventListener("resize", this._headerPinHandler), e.removeEventListener("scroll", this._headerPinHandler), this._headerPinHandler = null);
6477
+ !e || !this._viewportFitHandler || (e.removeEventListener("resize", this._viewportFitHandler), e.removeEventListener("scroll", this._viewportFitHandler), this._viewportFitHandler = null);
6475
6478
  },
6476
6479
  notifyParentResize(e, t) {
6477
6480
  if (window.parent && window.parent !== window)
@@ -6496,9 +6499,9 @@ const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8
6496
6499
  this.launcherHovered = e, this.sendCurrentLauncherSize();
6497
6500
  },
6498
6501
  sendCurrentLauncherSize() {
6499
- var v, T, I, S, z, M, U;
6502
+ var y, T, I, S, z, M, U;
6500
6503
  if (this.isOpen) return;
6501
- const e = (T = (v = this.$el) == null ? void 0 : v.querySelector) == null ? void 0 : T.call(v, ".wm-launcherWrap");
6504
+ const e = (T = (y = this.$el) == null ? void 0 : y.querySelector) == null ? void 0 : T.call(y, ".wm-launcherWrap");
6502
6505
  if (!e) return;
6503
6506
  const t = e.getBoundingClientRect();
6504
6507
  if (!t.width || !t.height) return;
@@ -6949,8 +6952,8 @@ const $a = /* @__PURE__ */ F(Fa, [["render", Wa], ["__scopeId", "data-v-6d5f94a8
6949
6952
  role: "status",
6950
6953
  "aria-live": "polite"
6951
6954
  }, go = { class: "wm-ended__lbl" };
6952
- function yo(e, t, s, r, i, n) {
6953
- const a = P("Launcher"), o = P("Header"), f = P("History"), k = P("Onboarding"), v = P("MessageList"), T = P("InlineCallbacks"), I = P("FormCard"), S = P("Feedback"), z = P("Composer"), M = P("MoreMenu"), U = P("RenameDialog");
6955
+ function vo(e, t, s, r, i, n) {
6956
+ const a = F("Launcher"), o = F("Header"), f = F("History"), k = F("Onboarding"), y = F("MessageList"), T = F("InlineCallbacks"), I = F("FormCard"), S = F("Feedback"), z = F("Composer"), M = F("MoreMenu"), U = F("RenameDialog");
6954
6957
  return c(), d("div", {
6955
6958
  class: R(["wm-root", `wm-root--${s.displayMode}`]),
6956
6959
  style: H(n.rootStyle)
@@ -6973,7 +6976,10 @@ function yo(e, t, s, r, i, n) {
6973
6976
  ]),
6974
6977
  style: H({
6975
6978
  ...i.floatHeight ? { "--wm-float-h": i.floatHeight + "px" } : null,
6976
- "--wm-kb-top": i.kbTop + "px"
6979
+ ...i.vvHeight != null ? {
6980
+ "--wm-vv-top": i.vvTop + "px",
6981
+ "--wm-vv-h": i.vvHeight + "px"
6982
+ } : null
6977
6983
  }),
6978
6984
  role: "dialog",
6979
6985
  "aria-label": "Messenger",
@@ -7041,8 +7047,8 @@ function yo(e, t, s, r, i, n) {
7041
7047
  ])
7042
7048
  ], -1)),
7043
7049
  l("div", null, [
7044
- l("div", eo, y(n.t("error.connectionFailed")), 1),
7045
- l("div", to, y(n.error), 1)
7050
+ l("div", eo, v(n.t("error.connectionFailed")), 1),
7051
+ l("div", to, v(n.error), 1)
7046
7052
  ])
7047
7053
  ])
7048
7054
  ])) : !n.currentConv && i.showHistory ? (c(), E(f, {
@@ -7051,7 +7057,7 @@ function yo(e, t, s, r, i, n) {
7051
7057
  threads: n.openThreads,
7052
7058
  onResume: n.onDrawerPick
7053
7059
  }, null, 8, ["threads", "onResume"])) : n.currentConv ? (c(), d("div", no, [
7054
- W(v, {
7060
+ W(y, {
7055
7061
  ref: "messageList",
7056
7062
  messages: n.displayedMessages,
7057
7063
  "streaming-active": n.streamingActive,
@@ -7099,13 +7105,13 @@ function yo(e, t, s, r, i, n) {
7099
7105
  class: "wm-actionWait__spinner",
7100
7106
  "aria-hidden": "true"
7101
7107
  }, null, -1)),
7102
- l("span", ao, y(n.t("action.inProgress", {
7108
+ l("span", ao, v(n.t("action.inProgress", {
7103
7109
  name: n.actionInFlightName
7104
7110
  })), 1)
7105
7111
  ])) : b("", !0),
7106
7112
  i.pendingAttachments.length ? (c(), d("div", oo, [
7107
- (c(!0), d(B, null, D(i.pendingAttachments, (x, q) => (c(), d("div", {
7108
- key: x.path || q,
7113
+ (c(!0), d(B, null, D(i.pendingAttachments, (x, V) => (c(), d("div", {
7114
+ key: x.path || V,
7109
7115
  class: "wm-attached__item"
7110
7116
  }, [
7111
7117
  x.previewUrl ? (c(), d("img", {
@@ -7131,8 +7137,8 @@ function yo(e, t, s, r, i, n) {
7131
7137
  ])
7132
7138
  ], -1)),
7133
7139
  l("span", uo, [
7134
- l("span", ho, y(x.name), 1),
7135
- n.formatAttachmentSize(x.size_bytes) ? (c(), d("span", mo, y(n.formatAttachmentSize(
7140
+ l("span", ho, v(x.name), 1),
7141
+ n.formatAttachmentSize(x.size_bytes) ? (c(), d("span", mo, v(n.formatAttachmentSize(
7136
7142
  x.size_bytes
7137
7143
  )), 1)) : b("", !0)
7138
7144
  ])
@@ -7141,7 +7147,7 @@ function yo(e, t, s, r, i, n) {
7141
7147
  type: "button",
7142
7148
  class: "wm-attached__remove",
7143
7149
  "aria-label": n.t("attachment.remove"),
7144
- onClick: (J) => n.removePendingAttachment(q)
7150
+ onClick: (J) => n.removePendingAttachment(V)
7145
7151
  }, [...t[13] || (t[13] = [
7146
7152
  l("svg", {
7147
7153
  width: "10",
@@ -7160,12 +7166,12 @@ function yo(e, t, s, r, i, n) {
7160
7166
  ]))), 128))
7161
7167
  ])) : b("", !0),
7162
7168
  n.endedBlockVisible ? (c(), d("div", _o, [
7163
- l("span", go, y(n.isClosed ? n.t("composer.conversationClosed") : n.t("composer.conversationEnded")), 1),
7169
+ l("span", go, v(n.isClosed ? n.t("composer.conversationClosed") : n.t("composer.conversationEnded")), 1),
7164
7170
  l("button", {
7165
7171
  type: "button",
7166
7172
  class: "wm-ended__btn",
7167
7173
  onClick: t[2] || (t[2] = (x) => n.isClosed ? n.onReopen() : n.startConv())
7168
- }, y(n.isClosed ? n.t("composer.reopen") : n.t("composer.newConversation")), 1)
7174
+ }, v(n.isClosed ? n.t("composer.reopen") : n.t("composer.newConversation")), 1)
7169
7175
  ])) : n.actionInFlight ? b("", !0) : (c(), E(z, {
7170
7176
  key: 4,
7171
7177
  ref: "composer",
@@ -7234,7 +7240,7 @@ function yo(e, t, s, r, i, n) {
7234
7240
  ], 6)) : b("", !0)
7235
7241
  ], 6);
7236
7242
  }
7237
- const wo = /* @__PURE__ */ F(Ga, [["render", yo], ["__scopeId", "data-v-a82ce23b"]]), bo = "0.6.34";
7243
+ const wo = /* @__PURE__ */ P(Ga, [["render", vo], ["__scopeId", "data-v-edf61ce7"]]), bo = "0.6.35";
7238
7244
  export {
7239
7245
  me as AIAvatar,
7240
7246
  be as AVATAR_COLORS,
@@ -7251,18 +7257,18 @@ export {
7251
7257
  ba as Feedback,
7252
7258
  oa as FormCard,
7253
7259
  _n as Header,
7254
- ye as HumanAvatar,
7260
+ ve as HumanAvatar,
7255
7261
  Ei as InlineCallbacks,
7256
- qt as Launcher,
7262
+ Vt as Launcher,
7257
7263
  Le as MEDIA_RECORDER_SUPPORTED,
7258
7264
  li as MessageList,
7259
7265
  wo as Messenger,
7260
- Pa as MoreMenu,
7266
+ Fa as MoreMenu,
7261
7267
  es as Onboarding,
7262
7268
  ge as SCREEN_CAPTURE_SUPPORTED,
7263
7269
  ht as SUPPORTED_LANGUAGES,
7264
7270
  tn as TeamAvatars,
7265
- Pr as Typing,
7271
+ Fr as Typing,
7266
7272
  bo as VERSION,
7267
7273
  xe as avatarColor,
7268
7274
  Oe as avatarInitials,
@@ -7276,7 +7282,7 @@ export {
7276
7282
  Ce as formatTime,
7277
7283
  po as guessAttachmentKind,
7278
7284
  ci as pickRecorderMime,
7279
- Ve as renderInlineMarkdown,
7285
+ qe as renderInlineMarkdown,
7280
7286
  _t as renderMarkdown,
7281
7287
  Re as resolveLanguage,
7282
7288
  hi as startScreenRecording,