@_solaris/messenger-widget 0.5.62 → 0.5.64

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 Ve, openBlock as c, createElementBlock as d, normalizeStyle as z, normalizeClass as R, toDisplayString as v, resolveComponent as B, createVNode as V, Transition as Ne, withCtx as je, Fragment as I, renderList as j, withKeys as ge, withModifiers as J, createElementVNode as o, createCommentVNode as b, createBlock as U, resolveDynamicComponent as Ae, mergeProps as Fe, withDirectives as G, vModelText as te, createTextVNode as Se, renderSlot as Ke, vModelCheckbox as We, vModelSelect as Ge, markRaw as Re } from "vue";
1
+ import { reactive as Ve, openBlock as c, createElementBlock as d, normalizeStyle as z, normalizeClass as R, toDisplayString as v, resolveComponent as B, createVNode as V, Transition as Ne, withCtx as Fe, Fragment as I, renderList as F, withKeys as ge, withModifiers as J, createElementVNode as o, createCommentVNode as w, createBlock as U, resolveDynamicComponent as Ae, mergeProps as je, withDirectives as G, vModelText as te, createTextVNode as Se, renderSlot as Ke, vModelCheckbox as We, vModelSelect as Ge, markRaw as Re } from "vue";
2
2
  const Ye = [
3
3
  "connected",
4
4
  "message",
@@ -150,7 +150,7 @@ function Ze(e) {
150
150
  console.error("[transport] initial /conversations failed", u);
151
151
  }
152
152
  }
153
- async function w() {
153
+ async function b() {
154
154
  const u = await i("GET", "/customers/me");
155
155
  return (u == null ? void 0 : u.customer) ?? null;
156
156
  }
@@ -335,7 +335,7 @@ function Ze(e) {
335
335
  update: y,
336
336
  context: C,
337
337
  // REST
338
- getCustomer: w,
338
+ getCustomer: b,
339
339
  patchCustomer: T,
340
340
  listConversations: E,
341
341
  createConversation: A,
@@ -493,7 +493,7 @@ function st(e) {
493
493
  async function g(h) {
494
494
  const m = t.paginationByConv[h];
495
495
  if (!(m != null && m.loaded || m != null && m.loading)) {
496
- w(h, { nextCursor: null, loading: !0, loaded: !1 });
496
+ b(h, { nextCursor: null, loading: !0, loaded: !1 });
497
497
  try {
498
498
  const f = await e.listMessages(h, {
499
499
  limit: l
@@ -503,13 +503,13 @@ function st(e) {
503
503
  const _ = C.filter((p) => !((p == null ? void 0 : p.id) != null && u.has(`id:${String(p.id)}`) || p != null && p.client_msg_id && u.has(`c:${p.client_msg_id}`)));
504
504
  t.messagesByConv[h] = [...y, ..._].sort(
505
505
  me
506
- ), w(h, {
506
+ ), b(h, {
507
507
  nextCursor: (f == null ? void 0 : f.next_cursor) ?? null,
508
508
  loading: !1,
509
509
  loaded: !0
510
510
  });
511
511
  } catch (f) {
512
- console.error("[store] openConversation failed", f), w(h, {
512
+ console.error("[store] openConversation failed", f), b(h, {
513
513
  nextCursor: null,
514
514
  loading: !1,
515
515
  loaded: !1
@@ -523,7 +523,7 @@ function st(e) {
523
523
  if (!m || m.loading || !m.nextCursor) return;
524
524
  const y = (C = (t.messagesByConv[h] || []).find((u) => u == null ? void 0 : u.created_at)) == null ? void 0 : C.created_at;
525
525
  if (y) {
526
- w(h, { ...m, loading: !0 });
526
+ b(h, { ...m, loading: !0 });
527
527
  try {
528
528
  const u = await e.listMessages(h, {
529
529
  before: y,
@@ -532,17 +532,17 @@ function st(e) {
532
532
  for (const x of p)
533
533
  (x == null ? void 0 : x.id) != null && S.add(`id:${String(x.id)}`), x != null && x.client_msg_id && S.add(`c:${x.client_msg_id}`);
534
534
  const O = _.filter((x) => !((x == null ? void 0 : x.id) != null && S.has(`id:${String(x.id)}`) || x != null && x.client_msg_id && S.has(`c:${x.client_msg_id}`)));
535
- t.messagesByConv[h] = [...O, ...p], w(h, {
535
+ t.messagesByConv[h] = [...O, ...p], b(h, {
536
536
  nextCursor: (u == null ? void 0 : u.next_cursor) ?? null,
537
537
  loading: !1,
538
538
  loaded: !0
539
539
  });
540
540
  } catch (u) {
541
- console.error("[store] loadMore failed", u), w(h, { ...m, loading: !1 });
541
+ console.error("[store] loadMore failed", u), b(h, { ...m, loading: !1 });
542
542
  }
543
543
  }
544
544
  }
545
- function w(h, m) {
545
+ function b(h, m) {
546
546
  t.paginationByConv = { ...t.paginationByConv, [h]: m };
547
547
  }
548
548
  async function T(h, m) {
@@ -1150,7 +1150,7 @@ function xe(e) {
1150
1150
  function ne(e) {
1151
1151
  return Le[xe(e)] || Le[ue];
1152
1152
  }
1153
- function F(e) {
1153
+ function j(e) {
1154
1154
  const t = xe(e), n = ke[t] || ke[ue], r = ke[ue];
1155
1155
  return function(s, i) {
1156
1156
  let l = n[s];
@@ -1168,7 +1168,7 @@ function Ie(e, t) {
1168
1168
  function He(e, t, n) {
1169
1169
  return Array.isArray(t) ? t.map((r) => Ie(e, String(r))).join(", ") : typeof t == "boolean" ? n(t ? "common.yes" : "common.no") : Ie(e, String(t));
1170
1170
  }
1171
- function ht(e, t, n = F()) {
1171
+ function ht(e, t, n = j()) {
1172
1172
  if (!e || !t) return "";
1173
1173
  const r = Array.isArray(e.fields) ? e.fields : [], a = [];
1174
1174
  for (const s of r) {
@@ -1183,7 +1183,7 @@ ${l}`);
1183
1183
 
1184
1184
  `);
1185
1185
  }
1186
- function mt(e, t, n = F()) {
1186
+ function mt(e, t, n = j()) {
1187
1187
  const r = [], a = Array.isArray(e == null ? void 0 : e.fields) ? e.fields : [];
1188
1188
  for (const s of a) {
1189
1189
  if (!(s != null && s.key) || !(s != null && s.label)) continue;
@@ -1249,22 +1249,22 @@ function ft(e) {
1249
1249
  if (!T) break;
1250
1250
  k.push(T[1]), r++;
1251
1251
  }
1252
- const w = k.map((T) => `<li>${de(T)}</li>`).join("");
1252
+ const b = k.map((T) => `<li>${de(T)}</li>`).join("");
1253
1253
  n.push({
1254
1254
  type: "block",
1255
- html: `<ul class="wm-md-ul">${w}</ul>`
1255
+ html: `<ul class="wm-md-ul">${b}</ul>`
1256
1256
  });
1257
1257
  continue;
1258
1258
  }
1259
1259
  const l = /^\s*(\d+)\.\s+(.*)$/.exec(s);
1260
1260
  if (l) {
1261
- const k = parseInt(l[1], 10), w = [l[2]];
1261
+ const k = parseInt(l[1], 10), b = [l[2]];
1262
1262
  for (r++; r < t.length; ) {
1263
1263
  const A = /^\s*\d+\.\s+(.*)$/.exec(t[r]);
1264
1264
  if (!A) break;
1265
- w.push(A[1]), r++;
1265
+ b.push(A[1]), r++;
1266
1266
  }
1267
- const T = w.map((A) => `<li>${de(A)}</li>`).join(""), E = k !== 1 ? ` start="${k}"` : "";
1267
+ const T = b.map((A) => `<li>${de(A)}</li>`).join(""), E = k !== 1 ? ` start="${k}"` : "";
1268
1268
  n.push({
1269
1269
  type: "block",
1270
1270
  html: `<ol class="wm-md-ol"${E}>${T}</ol>`
@@ -1342,7 +1342,7 @@ function pt(e, t, n, r) {
1342
1342
  return a.join(`
1343
1343
  `);
1344
1344
  }
1345
- function vt(e, t, n = F(), r) {
1345
+ function vt(e, t, n = j(), r) {
1346
1346
  if (!e) return;
1347
1347
  const a = pt(e, t || [], n, ne(r)), s = new Blob([a], { type: "text/plain;charset=utf-8" });
1348
1348
  try {
@@ -1664,10 +1664,10 @@ const yt = {
1664
1664
  this.nextRevealAt + n.pauseBetweenMs
1665
1665
  ) + s;
1666
1666
  this.nextRevealAt = l;
1667
- const g = Math.max(0, l - r), k = e.id, w = setTimeout(() => {
1668
- this.revealedAt = { ...this.revealedAt, [k]: Date.now() }, this.revealTimers = this.revealTimers.filter((T) => T !== w), typeof this.onMessageRevealed == "function" && this.onMessageRevealed(e, t);
1667
+ const g = Math.max(0, l - r), k = e.id, b = setTimeout(() => {
1668
+ this.revealedAt = { ...this.revealedAt, [k]: Date.now() }, this.revealTimers = this.revealTimers.filter((T) => T !== b), typeof this.onMessageRevealed == "function" && this.onMessageRevealed(e, t);
1669
1669
  }, g);
1670
- this.revealTimers.push(w);
1670
+ this.revealTimers.push(b);
1671
1671
  },
1672
1672
  // Walk the message list and queue / instantly-reveal every new
1673
1673
  // entry according to its origin. Used by the `currentConvMessages`
@@ -1857,7 +1857,7 @@ const ve = /* @__PURE__ */ P(St, [["render", Tt], ["__scopeId", "data-v-14e10c0d
1857
1857
  inject: {
1858
1858
  // Translator shared by the Messenger shell; French fallback when
1859
1859
  // the component is used standalone.
1860
- t: { default: () => F() }
1860
+ t: { default: () => j() }
1861
1861
  },
1862
1862
  props: {
1863
1863
  // Nombre de conversations non lues — pilote la pastille.
@@ -1877,7 +1877,7 @@ const ve = /* @__PURE__ */ P(St, [["render", Tt], ["__scopeId", "data-v-14e10c0d
1877
1877
  return this.peeks.slice(0, xt).reverse();
1878
1878
  }
1879
1879
  }
1880
- }, Rt = ["aria-label", "onClick", "onKeydown"], Lt = ["aria-label", "onClick"], It = { class: "wm-peek__avatar" }, Et = ["aria-label"], Bt = { class: "wm-peek__body" }, Pt = { class: "wm-peek__head" }, Ut = { class: "wm-peek__name" }, Dt = { class: "wm-peek__action" }, Nt = { class: "wm-peek__text" }, jt = ["onClick"], Ft = ["aria-label"], Ht = ["aria-label"];
1880
+ }, Rt = ["aria-label", "onClick", "onKeydown"], Lt = ["aria-label", "onClick"], It = { class: "wm-peek__avatar" }, Et = ["aria-label"], Bt = { class: "wm-peek__body" }, Pt = { class: "wm-peek__head" }, Ut = { class: "wm-peek__name" }, Dt = { class: "wm-peek__action" }, Nt = { class: "wm-peek__text" }, Ft = ["onClick"], jt = ["aria-label"], Ht = ["aria-label"];
1881
1881
  function zt(e, t, n, r, a, s) {
1882
1882
  const i = B("HumanAvatar");
1883
1883
  return c(), d("div", {
@@ -1888,12 +1888,12 @@ function zt(e, t, n, r, a, s) {
1888
1888
  onFocusout: t[4] || (t[4] = (l) => e.$emit("hover", !1))
1889
1889
  }, [
1890
1890
  V(Ne, { name: "wm-peek" }, {
1891
- default: je(() => [
1891
+ default: Fe(() => [
1892
1892
  s.visiblePeeks.length ? (c(), d("div", {
1893
1893
  key: 0,
1894
1894
  class: R(["wm-peekStack", { "wm-peekStack--multi": s.visiblePeeks.length > 1 }])
1895
1895
  }, [
1896
- (c(!0), d(I, null, j(s.visiblePeeks, (l, g) => (c(), d("div", {
1896
+ (c(!0), d(I, null, F(s.visiblePeeks, (l, g) => (c(), d("div", {
1897
1897
  key: l.convId,
1898
1898
  class: "wm-peek",
1899
1899
  style: z({
@@ -1941,7 +1941,7 @@ function zt(e, t, n, r, a, s) {
1941
1941
  key: 0,
1942
1942
  class: "wm-peek__avatarBadge",
1943
1943
  "aria-label": s.t("launcher.unreadMessages", { count: l.count })
1944
- }, v(l.count > 9 ? "9+" : l.count), 9, Et)) : b("", !0)
1944
+ }, v(l.count > 9 ? "9+" : l.count), 9, Et)) : w("", !0)
1945
1945
  ]),
1946
1946
  o("div", Bt, [
1947
1947
  o("div", Pt, [
@@ -1954,9 +1954,9 @@ function zt(e, t, n, r, a, s) {
1954
1954
  type: "button",
1955
1955
  class: "wm-peek__open",
1956
1956
  onClick: J((k) => e.$emit("open", l.convId), ["stop"])
1957
- }, v(s.t("common.open")), 9, jt)
1957
+ }, v(s.t("common.open")), 9, Ft)
1958
1958
  ], 44, Rt))), 128))
1959
- ], 2)) : b("", !0)
1959
+ ], 2)) : w("", !0)
1960
1960
  ]),
1961
1961
  _: 1
1962
1962
  }),
@@ -1987,8 +1987,8 @@ function zt(e, t, n, r, a, s) {
1987
1987
  }) : s.t("launcher.unreadConversationsOne", {
1988
1988
  count: n.unreadCount
1989
1989
  })
1990
- }, v(n.unreadCount > 9 ? "9+" : n.unreadCount), 9, Ht)) : b("", !0)
1991
- ], 8, Ft)
1990
+ }, v(n.unreadCount > 9 ? "9+" : n.unreadCount), 9, Ht)) : w("", !0)
1991
+ ], 8, jt)
1992
1992
  ], 32);
1993
1993
  }
1994
1994
  const qt = /* @__PURE__ */ P(Ot, [["render", zt], ["__scopeId", "data-v-44ddf1a1"]]), $t = {
@@ -2033,7 +2033,7 @@ function Gt(e, t, n, r, a, s) {
2033
2033
  "--wm-avr": n.size * 0.32 + "px"
2034
2034
  })
2035
2035
  }, [
2036
- n.pulse ? (c(), d("div", Vt)) : b("", !0),
2036
+ n.pulse ? (c(), d("div", Vt)) : w("", !0),
2037
2037
  o("div", {
2038
2038
  class: R(["wm-aiav__inner", {
2039
2039
  "wm-aiav__inner--glow": n.pulse,
@@ -2117,7 +2117,7 @@ function en(e, t, n, r, a, s) {
2117
2117
  class: "wm-team__stack",
2118
2118
  style: z({ width: s.stackWidth + "px" })
2119
2119
  }, [
2120
- (c(!0), d(I, null, j(n.members.slice(0, 3), (i, l) => (c(), d("div", {
2120
+ (c(!0), d(I, null, F(n.members.slice(0, 3), (i, l) => (c(), d("div", {
2121
2121
  key: l,
2122
2122
  class: "wm-team__pill",
2123
2123
  style: z({
@@ -2133,8 +2133,8 @@ function en(e, t, n, r, a, s) {
2133
2133
  }, null, 8, Xt)) : (c(), d("span", Qt, v(s.initialsFor(i)), 1))
2134
2134
  ], 4))), 128))
2135
2135
  ], 4),
2136
- n.responseLabel ? (c(), d("span", Zt, v(n.responseLabel), 1)) : b("", !0)
2137
- ])) : b("", !0);
2136
+ n.responseLabel ? (c(), d("span", Zt, v(n.responseLabel), 1)) : w("", !0)
2137
+ ])) : w("", !0);
2138
2138
  }
2139
2139
  const tn = /* @__PURE__ */ P(Yt, [["render", en], ["__scopeId", "data-v-e49a9063"]]), nn = {
2140
2140
  name: "WmHeader",
@@ -2142,7 +2142,7 @@ const tn = /* @__PURE__ */ P(Yt, [["render", en], ["__scopeId", "data-v-e49a9063
2142
2142
  inject: {
2143
2143
  // Translator shared by the Messenger shell. Falls back to a French
2144
2144
  // translator when the component is used standalone (no provider).
2145
- t: { default: () => F() }
2145
+ t: { default: () => j() }
2146
2146
  },
2147
2147
  props: {
2148
2148
  title: { type: String, default: "Nouvelle conversation" },
@@ -2221,7 +2221,7 @@ function fn(e, t, n, r, a, s) {
2221
2221
  key: 0,
2222
2222
  members: s.displayedTeamMembers,
2223
2223
  "response-label": ""
2224
- }, null, 8, ["members"])) : b("", !0)
2224
+ }, null, 8, ["members"])) : w("", !0)
2225
2225
  ], 64)) : (c(), d("div", dn)),
2226
2226
  o("div", un, [
2227
2227
  n.showMore ? (c(), d("button", {
@@ -2255,7 +2255,7 @@ function fn(e, t, n, r, a, s) {
2255
2255
  r: "1.6"
2256
2256
  })
2257
2257
  ], -1)
2258
- ])], 10, hn)) : b("", !0),
2258
+ ])], 10, hn)) : w("", !0),
2259
2259
  n.showClose ? (c(), d("button", {
2260
2260
  key: 1,
2261
2261
  type: "button",
@@ -2277,7 +2277,7 @@ function fn(e, t, n, r, a, s) {
2277
2277
  }, [
2278
2278
  o("path", { d: "M18 6L6 18M6 6l12 12" })
2279
2279
  ], -1)
2280
- ])], 8, mn)) : b("", !0)
2280
+ ])], 8, mn)) : w("", !0)
2281
2281
  ])
2282
2282
  ]);
2283
2283
  }
@@ -2295,7 +2295,7 @@ const _n = /* @__PURE__ */ P(nn, [["render", fn], ["__scopeId", "data-v-7af4c118
2295
2295
  // shell. The language getter feeds `formatTs` (relative date
2296
2296
  // labels on unread alerts) ; falls back to French when the
2297
2297
  // component is used standalone.
2298
- t: { default: () => F() },
2298
+ t: { default: () => j() },
2299
2299
  wmLocale: { default: () => () => "fr" }
2300
2300
  },
2301
2301
  props: {
@@ -2415,7 +2415,7 @@ const _n = /* @__PURE__ */ P(nn, [["render", fn], ["__scopeId", "data-v-7af4c118
2415
2415
  }, Rn = ["innerHTML"], Ln = { class: "wm-onb__alert-meta" }, In = {
2416
2416
  key: 0,
2417
2417
  class: "wm-onb__alert-time"
2418
- }, En = { class: "wm-onb__alert-resume" }, Bn = { class: "wm-onb__actions" }, Pn = ["disabled"], Un = { class: "wm-onb__btn-label" }, Dn = ["onClick"], Nn = { class: "wm-onb__btn-icon" }, jn = ["aria-label"], Fn = {
2418
+ }, En = { class: "wm-onb__alert-resume" }, Bn = { class: "wm-onb__actions" }, Pn = ["disabled"], Un = { class: "wm-onb__btn-label" }, Dn = ["onClick"], Nn = { class: "wm-onb__btn-icon" }, Fn = ["aria-label"], jn = {
2419
2419
  key: 1,
2420
2420
  width: "18",
2421
2421
  height: "18",
@@ -2497,7 +2497,7 @@ function Yn(e, t, n, r, a, s) {
2497
2497
  ])
2498
2498
  ]),
2499
2499
  s.unreadThreads.length ? (c(), d("div", kn, [
2500
- (c(!0), d(I, null, j(s.unreadThreads, (l) => (c(), d("button", {
2500
+ (c(!0), d(I, null, F(s.unreadThreads, (l) => (c(), d("button", {
2501
2501
  key: l.id,
2502
2502
  type: "button",
2503
2503
  class: "wm-onb__alert",
@@ -2520,7 +2520,7 @@ function Yn(e, t, n, r, a, s) {
2520
2520
  }, [
2521
2521
  o("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" })
2522
2522
  ], -1)
2523
- ])])) : (c(), U(Ae(s.avatarComponent(l)), Fe({
2523
+ ])])) : (c(), U(Ae(s.avatarComponent(l)), je({
2524
2524
  key: 1,
2525
2525
  ref_for: !0
2526
2526
  }, s.avatarProps(l)), null, 16)),
@@ -2532,18 +2532,18 @@ function Yn(e, t, n, r, a, s) {
2532
2532
  o("span", Mn, [
2533
2533
  o("span", Tn, v(l.title), 1),
2534
2534
  o("span", xn, [
2535
- s.senderLabel(l) ? (c(), d("span", On, v(s.senderLabel(l)) + " · ", 1)) : b("", !0),
2535
+ s.senderLabel(l) ? (c(), d("span", On, v(s.senderLabel(l)) + " · ", 1)) : w("", !0),
2536
2536
  o("span", {
2537
2537
  innerHTML: s.renderPreview(l.preview)
2538
2538
  }, null, 8, Rn)
2539
2539
  ])
2540
2540
  ]),
2541
2541
  o("span", Ln, [
2542
- s.formatTs(l._ts) ? (c(), d("span", In, v(s.formatTs(l._ts)), 1)) : b("", !0),
2542
+ s.formatTs(l._ts) ? (c(), d("span", In, v(s.formatTs(l._ts)), 1)) : w("", !0),
2543
2543
  o("span", En, v(s.t("onboarding.resume")), 1)
2544
2544
  ])
2545
2545
  ], 8, Cn))), 128))
2546
- ])) : b("", !0),
2546
+ ])) : w("", !0),
2547
2547
  o("div", Bn, [
2548
2548
  o("button", {
2549
2549
  type: "button",
@@ -2568,7 +2568,7 @@ function Yn(e, t, n, r, a, s) {
2568
2568
  ], -1)),
2569
2569
  o("span", Un, v(n.busy ? "…" : s.t("onboarding.start")), 1)
2570
2570
  ], 8, Pn),
2571
- (c(!0), d(I, null, j(n.quickLinks, (l, g) => (c(), d("button", {
2571
+ (c(!0), d(I, null, F(n.quickLinks, (l, g) => (c(), d("button", {
2572
2572
  key: "ql-" + g,
2573
2573
  type: "button",
2574
2574
  class: "wm-onb__btn",
@@ -2581,7 +2581,7 @@ function Yn(e, t, n, r, a, s) {
2581
2581
  style: z(s.iconUrlStyle(l)),
2582
2582
  role: "img",
2583
2583
  "aria-label": l.label || ""
2584
- }, null, 12, jn)) : (c(), d("svg", Fn, [
2584
+ }, null, 12, Fn)) : (c(), d("svg", jn, [
2585
2585
  o("path", {
2586
2586
  d: s.iconPath(l.icon)
2587
2587
  }, null, 8, Hn)
@@ -2590,7 +2590,7 @@ function Yn(e, t, n, r, a, s) {
2590
2590
  o("span", zn, v(l.label), 1),
2591
2591
  s.isExternalLink(l) ? (c(), d("svg", qn, [...t[5] || (t[5] = [
2592
2592
  o("path", { d: "M7 17L17 7M9 7h8v8" }, null, -1)
2593
- ])])) : b("", !0)
2593
+ ])])) : w("", !0)
2594
2594
  ], 8, Dn))), 128)),
2595
2595
  n.openThreads.length ? (c(), d("button", {
2596
2596
  key: 0,
@@ -2621,7 +2621,7 @@ function Yn(e, t, n, r, a, s) {
2621
2621
  }, [
2622
2622
  o("path", { d: "M9 18l6-6-6-6" })
2623
2623
  ], -1))
2624
- ])) : b("", !0)
2624
+ ])) : w("", !0)
2625
2625
  ])
2626
2626
  ]);
2627
2627
  }
@@ -2629,7 +2629,7 @@ const Jn = /* @__PURE__ */ P(gn, [["render", Yn], ["__scopeId", "data-v-136c3afe
2629
2629
  name: "WmHistory",
2630
2630
  components: { AIAvatar: oe, HumanAvatar: ve },
2631
2631
  inject: {
2632
- t: { default: () => F() },
2632
+ t: { default: () => j() },
2633
2633
  wmLocale: { default: () => () => "fr" }
2634
2634
  },
2635
2635
  props: {
@@ -2732,7 +2732,7 @@ function us(e, t, n, r, a, s) {
2732
2732
  ])
2733
2733
  ]),
2734
2734
  o("div", ts, [
2735
- (c(!0), d(I, null, j(s.filteredThreads, (i) => (c(), d("button", {
2735
+ (c(!0), d(I, null, F(s.filteredThreads, (i) => (c(), d("button", {
2736
2736
  key: i.id,
2737
2737
  type: "button",
2738
2738
  class: R(["wm-hist__thread", { "wm-hist__thread--unread": i.unread }]),
@@ -2755,7 +2755,7 @@ function us(e, t, n, r, a, s) {
2755
2755
  }, [
2756
2756
  o("path", { d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" })
2757
2757
  ], -1)
2758
- ])])) : (c(), U(Ae(s.avatarComponent(i)), Fe({
2758
+ ])])) : (c(), U(Ae(s.avatarComponent(i)), je({
2759
2759
  key: 1,
2760
2760
  ref_for: !0
2761
2761
  }, s.avatarProps(i)), null, 16)),
@@ -2763,7 +2763,7 @@ function us(e, t, n, r, a, s) {
2763
2763
  key: 2,
2764
2764
  class: "wm-hist__thread-dot",
2765
2765
  "aria-label": s.t("onboarding.unread")
2766
- }, null, 8, rs)) : b("", !0)
2766
+ }, null, 8, rs)) : w("", !0)
2767
2767
  ], 2),
2768
2768
  o("span", is, [
2769
2769
  o("span", as, v(i.title), 1),
@@ -2773,7 +2773,7 @@ function us(e, t, n, r, a, s) {
2773
2773
  }, null, 8, os)
2774
2774
  ]),
2775
2775
  o("span", ls, [
2776
- s.formatTs(i._ts) ? (c(), d("span", cs, v(s.formatTs(i._ts)), 1)) : b("", !0),
2776
+ s.formatTs(i._ts) ? (c(), d("span", cs, v(s.formatTs(i._ts)), 1)) : w("", !0),
2777
2777
  t[3] || (t[3] = o("svg", {
2778
2778
  width: "14",
2779
2779
  height: "14",
@@ -2790,7 +2790,7 @@ function us(e, t, n, r, a, s) {
2790
2790
  ], -1))
2791
2791
  ])
2792
2792
  ], 10, ns))), 128)),
2793
- s.filteredThreads.length ? b("", !0) : (c(), d("div", ds, v(a.query ? s.t("onboarding.noResults", { query: a.query }) : s.t("onboarding.noConversations")), 1))
2793
+ s.filteredThreads.length ? w("", !0) : (c(), d("div", ds, v(a.query ? s.t("onboarding.noResults", { query: a.query }) : s.t("onboarding.noConversations")), 1))
2794
2794
  ])
2795
2795
  ]);
2796
2796
  }
@@ -2895,7 +2895,7 @@ function Cs(e, t, n, r, a, s) {
2895
2895
  "aria-hidden": "true"
2896
2896
  }, " · ", -1)),
2897
2897
  o("span", ks, v(s.detailText), 1)
2898
- ], 64)) : b("", !0)
2898
+ ], 64)) : w("", !0)
2899
2899
  ])
2900
2900
  ], 2);
2901
2901
  }
@@ -2904,7 +2904,7 @@ const As = /* @__PURE__ */ P(fs, [["render", Cs], ["__scopeId", "data-v-7284acd0
2904
2904
  inject: {
2905
2905
  // Translator shared by the Messenger shell; French fallback when
2906
2906
  // the component is used standalone.
2907
- t: { default: () => F() }
2907
+ t: { default: () => j() }
2908
2908
  },
2909
2909
  props: {
2910
2910
  data: { type: Object, required: !0 }
@@ -2938,7 +2938,7 @@ function Is(e, t, n, r, a, s) {
2938
2938
  ])
2939
2939
  ]),
2940
2940
  o("div", Rs, [
2941
- (c(!0), d(I, null, j(s.fields, (i, l) => (c(), d("div", {
2941
+ (c(!0), d(I, null, F(s.fields, (i, l) => (c(), d("div", {
2942
2942
  key: l,
2943
2943
  class: "wm-art__field"
2944
2944
  }, [
@@ -2971,7 +2971,7 @@ const Es = /* @__PURE__ */ P(Ss, [["render", Is], ["__scopeId", "data-v-713aecf1
2971
2971
  }, Ps = { class: "wm-art wm-art--infoCard" }, Us = {
2972
2972
  key: 0,
2973
2973
  class: "wm-art__image"
2974
- }, Ds = ["src", "alt"], Ns = { class: "wm-art__head" }, js = { class: "wm-art__headMain" }, Fs = { class: "wm-art__title" }, Hs = {
2974
+ }, Ds = ["src", "alt"], Ns = { class: "wm-art__head" }, Fs = { class: "wm-art__headMain" }, js = { class: "wm-art__title" }, Hs = {
2975
2975
  key: 0,
2976
2976
  class: "wm-art__subtitle"
2977
2977
  }, zs = {
@@ -2989,11 +2989,11 @@ function Vs(e, t, n, r, a, s) {
2989
2989
  alt: n.data.title || "",
2990
2990
  loading: "lazy"
2991
2991
  }, null, 8, Ds)
2992
- ])) : b("", !0),
2992
+ ])) : w("", !0),
2993
2993
  o("div", Ns, [
2994
- o("div", js, [
2995
- o("div", Fs, v(n.data.title), 1),
2996
- n.data.subtitle ? (c(), d("div", Hs, v(n.data.subtitle), 1)) : b("", !0)
2994
+ o("div", Fs, [
2995
+ o("div", js, v(n.data.title), 1),
2996
+ n.data.subtitle ? (c(), d("div", Hs, v(n.data.subtitle), 1)) : w("", !0)
2997
2997
  ]),
2998
2998
  n.data.badge && n.data.badge.label ? (c(), d("span", {
2999
2999
  key: 0,
@@ -3001,11 +3001,11 @@ function Vs(e, t, n, r, a, s) {
3001
3001
  "wm-art__badge",
3002
3002
  `wm-art__badge--${n.data.badge.tone || "neutral"}`
3003
3003
  ])
3004
- }, v(n.data.badge.label), 3)) : b("", !0)
3004
+ }, v(n.data.badge.label), 3)) : w("", !0)
3005
3005
  ]),
3006
3006
  s.hasBody ? (c(), d("div", zs, [
3007
- n.data.body ? (c(), d("div", qs, v(n.data.body), 1)) : b("", !0),
3008
- s.fields.length ? (c(!0), d(I, { key: 1 }, j(s.fields, (i, l) => (c(), d("div", {
3007
+ n.data.body ? (c(), d("div", qs, v(n.data.body), 1)) : w("", !0),
3008
+ s.fields.length ? (c(!0), d(I, { key: 1 }, F(s.fields, (i, l) => (c(), d("div", {
3009
3009
  key: l,
3010
3010
  class: "wm-art__field"
3011
3011
  }, [
@@ -3016,8 +3016,8 @@ function Vs(e, t, n, r, a, s) {
3016
3016
  { "wm-art__fieldValue--multi": i.multiline }
3017
3017
  ])
3018
3018
  }, v(i.value), 3)
3019
- ]))), 128)) : b("", !0)
3020
- ])) : b("", !0)
3019
+ ]))), 128)) : w("", !0)
3020
+ ])) : w("", !0)
3021
3021
  ]);
3022
3022
  }
3023
3023
  const Ks = /* @__PURE__ */ P(Bs, [["render", Vs], ["__scopeId", "data-v-7eae0e4a"]]);
@@ -3040,7 +3040,7 @@ const Gs = {
3040
3040
  inject: {
3041
3041
  // Translator + resolved-language getter shared by the Messenger
3042
3042
  // shell. Fall back to French wording when used standalone.
3043
- t: { default: () => F() },
3043
+ t: { default: () => j() },
3044
3044
  wmLocale: { default: () => () => "fr" }
3045
3045
  },
3046
3046
  props: {
@@ -3139,10 +3139,10 @@ function ar(e, t, n, r, a, s) {
3139
3139
  Se(" " + v(n.data.status.label), 1)
3140
3140
  ], 2)
3141
3141
  ]),
3142
- n.data.body ? (c(), d("div", er, v(n.data.body), 1)) : b("", !0)
3142
+ n.data.body ? (c(), d("div", er, v(n.data.body), 1)) : w("", !0)
3143
3143
  ]),
3144
3144
  s.fields.length ? (c(), d("div", tr, [
3145
- (c(!0), d(I, null, j(s.fields, (i, l) => (c(), d("div", {
3145
+ (c(!0), d(I, null, F(s.fields, (i, l) => (c(), d("div", {
3146
3146
  key: l,
3147
3147
  class: "wm-art__field"
3148
3148
  }, [
@@ -3192,11 +3192,11 @@ function ar(e, t, n, r, a, s) {
3192
3192
  rx: "2"
3193
3193
  }, null, -1),
3194
3194
  o("path", { d: "M16 2v4M8 2v4M3 10h18" }, null, -1)
3195
- ])])) : b("", !0),
3195
+ ])])) : w("", !0),
3196
3196
  o("span", null, v(i.value), 1)
3197
3197
  ], 2)
3198
3198
  ]))), 128))
3199
- ])) : b("", !0),
3199
+ ])) : w("", !0),
3200
3200
  n.data.created_at ? (c(), d("div", ir, [
3201
3201
  t[4] || (t[4] = o("svg", {
3202
3202
  width: "11",
@@ -3219,7 +3219,7 @@ function ar(e, t, n, r, a, s) {
3219
3219
  o("path", { d: "M16 2v4M8 2v4M3 10h18" })
3220
3220
  ], -1)),
3221
3221
  o("span", null, v(s.formattedDate), 1)
3222
- ])) : b("", !0)
3222
+ ])) : w("", !0)
3223
3223
  ]);
3224
3224
  }
3225
3225
  const or = /* @__PURE__ */ P(Gs, [["render", ar], ["__scopeId", "data-v-5f30c914"]]), lr = {
@@ -3245,7 +3245,7 @@ function dr(e, t, n, r, a, s) {
3245
3245
  return s.component ? (c(), U(Ae(s.component), {
3246
3246
  key: 0,
3247
3247
  data: n.artifact.data
3248
- }, null, 8, ["data"])) : b("", !0);
3248
+ }, null, 8, ["data"])) : w("", !0);
3249
3249
  }
3250
3250
  const ur = /* @__PURE__ */ P(cr, [["render", dr]]), hr = {
3251
3251
  name: "WmAttachmentPreview",
@@ -3253,7 +3253,7 @@ const ur = /* @__PURE__ */ P(cr, [["render", dr]]), hr = {
3253
3253
  signAttachmentFn: { default: null },
3254
3254
  // Translator shared by the Messenger shell; French fallback when
3255
3255
  // the component is used standalone.
3256
- t: { default: () => F() }
3256
+ t: { default: () => j() }
3257
3257
  },
3258
3258
  props: {
3259
3259
  attachment: { type: Object, required: !0 }
@@ -3348,7 +3348,8 @@ function kr(e, t, n, r, a, s) {
3348
3348
  key: 2,
3349
3349
  src: a.url,
3350
3350
  controls: "",
3351
- preload: "metadata"
3351
+ playsinline: "",
3352
+ preload: "auto"
3352
3353
  }, null, 8, gr)) : (c(), d("a", {
3353
3354
  key: 3,
3354
3355
  class: "wm-att__file",
@@ -3376,13 +3377,13 @@ function kr(e, t, n, r, a, s) {
3376
3377
  ], -1)),
3377
3378
  o("span", vr, [
3378
3379
  o("span", yr, v(s.displayName), 1),
3379
- s.sizeLabel ? (c(), d("span", wr, v(s.sizeLabel), 1)) : b("", !0)
3380
+ s.sizeLabel ? (c(), d("span", wr, v(s.sizeLabel), 1)) : w("", !0)
3380
3381
  ]),
3381
- a.loading ? (c(), d("span", br)) : b("", !0)
3382
+ a.loading ? (c(), d("span", br)) : w("", !0)
3382
3383
  ], 8, pr))
3383
3384
  ], 2);
3384
3385
  }
3385
- const Cr = /* @__PURE__ */ P(hr, [["render", kr], ["__scopeId", "data-v-0c877a62"]]), Ar = {
3386
+ const Cr = /* @__PURE__ */ P(hr, [["render", kr], ["__scopeId", "data-v-0d27fca6"]]), Ar = {
3386
3387
  name: "WmBubble",
3387
3388
  props: {
3388
3389
  role: { type: String, default: "ai" },
@@ -3437,7 +3438,7 @@ const Ir = {
3437
3438
  inject: {
3438
3439
  // Translator + resolved-language getter shared by the Messenger
3439
3440
  // shell. Fall back to French wording when used standalone.
3440
- t: { default: () => F() },
3441
+ t: { default: () => j() },
3441
3442
  wmLocale: { default: () => () => "fr" }
3442
3443
  },
3443
3444
  props: {
@@ -3507,8 +3508,8 @@ const Ir = {
3507
3508
  const l = this.roleOf(i);
3508
3509
  if (l === "system") {
3509
3510
  if (((n = i == null ? void 0 : i.payload) == null ? void 0 : n.event) === "action_admin_pending") {
3510
- const w = e[e.length - 1];
3511
- w && w.role === "ai" ? w.messages.push(i) : e.push({
3511
+ const b = e[e.length - 1];
3512
+ b && b.role === "ai" ? b.messages.push(i) : e.push({
3512
3513
  key: `g-${ee(i)}`,
3513
3514
  role: "ai",
3514
3515
  agentName: "",
@@ -3827,9 +3828,9 @@ const Ir = {
3827
3828
  // doit garder son arrondi.
3828
3829
  cornersFor(e, t) {
3829
3830
  var Q, se, re;
3830
- const n = e.items, r = (Q = n[t]) == null ? void 0 : Q.kind, a = (se = n[t - 1]) == null ? void 0 : se.kind, s = (re = n[t + 1]) == null ? void 0 : re.kind, i = e.role === "user", l = 14, g = 4, k = a == null ? void 0 : a.bottom, w = s == null ? void 0 : s.top, T = this.widthByKey[this.rowKeyOf(e, t)], E = this.widthByKey[this.rowKeyOf(e, t - 1)], A = this.widthByKey[this.rowKeyOf(e, t + 1)], q = 0.5, M = (W, ie, X) => W != null && T != null ? W + q >= T : ie === X || ie === "card" && X === "bubble";
3831
+ const n = e.items, r = (Q = n[t]) == null ? void 0 : Q.kind, a = (se = n[t - 1]) == null ? void 0 : se.kind, s = (re = n[t + 1]) == null ? void 0 : re.kind, i = e.role === "user", l = 14, g = 4, k = a == null ? void 0 : a.bottom, b = s == null ? void 0 : s.top, T = this.widthByKey[this.rowKeyOf(e, t)], E = this.widthByKey[this.rowKeyOf(e, t - 1)], A = this.widthByKey[this.rowKeyOf(e, t + 1)], q = 0.5, M = (W, ie, X) => W != null && T != null ? W + q >= T : ie === X || ie === "card" && X === "bubble";
3831
3832
  let D = l, N = l, L = l, K = l;
3832
- return i ? (k && (N = g), (w || !s) && (L = g), k && M(E, k, r == null ? void 0 : r.top) && (D = g), w && M(A, w, r == null ? void 0 : r.bottom) && (K = g)) : (k && (D = g), (w || !s) && (K = g), k && M(E, k, r == null ? void 0 : r.top) && (N = g), w && M(A, w, r == null ? void 0 : r.bottom) && (L = g)), { tl: D, tr: N, br: L, bl: K };
3833
+ return i ? (k && (N = g), (b || !s) && (L = g), k && M(E, k, r == null ? void 0 : r.top) && (D = g), b && M(A, b, r == null ? void 0 : r.bottom) && (K = g)) : (k && (D = g), (b || !s) && (K = g), k && M(E, k, r == null ? void 0 : r.top) && (N = g), b && M(A, b, r == null ? void 0 : r.bottom) && (L = g)), { tl: D, tr: N, br: L, bl: K };
3833
3834
  },
3834
3835
  // Inline style emitting the four corner CSS variables. Set on
3835
3836
  // `.wm-list__row` so they cascade to Bubble/ActionResult/
@@ -3984,10 +3985,10 @@ const Ir = {
3984
3985
  class: "wm-list__loadMore",
3985
3986
  role: "status",
3986
3987
  "aria-live": "polite"
3987
- }, Nr = { class: "wm-list__loadMore-lbl" }, jr = {
3988
+ }, Nr = { class: "wm-list__loadMore-lbl" }, Fr = {
3988
3989
  key: 1,
3989
3990
  class: "wm-list__historyEnd"
3990
- }, Fr = {
3991
+ }, jr = {
3991
3992
  key: 2,
3992
3993
  class: "wm-list__sep"
3993
3994
  }, Hr = { class: "wm-list__sep-label" }, zr = {
@@ -3999,21 +4000,18 @@ const Ir = {
3999
4000
  }, Vr = { class: "wm-list__sysep-label" }, Kr = ["data-row-key", "onPointerdown"], Wr = {
4000
4001
  key: 0,
4001
4002
  class: "wm-list__avatarSlot"
4002
- }, Gr = {
4003
- key: 5,
4004
- class: "wm-list__body"
4005
- }, Yr = { key: 0 }, Jr = {
4003
+ }, Gr = { key: 0 }, Yr = {
4006
4004
  key: 1,
4007
4005
  "aria-hidden": "true"
4008
- }, Xr = { key: 2 }, Qr = { key: 0 }, Zr = {
4006
+ }, Jr = { key: 2 }, Xr = { key: 0 }, Qr = {
4009
4007
  key: 1,
4010
4008
  "aria-hidden": "true"
4011
- }, ei = { key: 2 }, ti = {
4009
+ }, Zr = { key: 2 }, ei = {
4012
4010
  key: 3,
4013
4011
  class: "wm-list__row wm-list__row--ai fade-up"
4014
- }, ni = { class: "wm-list__avatarSlot" }, si = ["aria-label", "title"];
4015
- function ri(e, t, n, r, a, s) {
4016
- const i = B("AIAvatar"), l = B("HumanAvatar"), g = B("ActionResult"), k = B("ArtifactRenderer"), w = B("Bubble"), T = B("AttachmentPreview"), E = B("Typing");
4012
+ }, ti = { class: "wm-list__avatarSlot" }, ni = ["aria-label", "title"];
4013
+ function si(e, t, n, r, a, s) {
4014
+ const i = B("AIAvatar"), l = B("HumanAvatar"), g = B("ActionResult"), k = B("ArtifactRenderer"), b = B("Bubble"), T = B("AttachmentPreview"), E = B("Typing");
4017
4015
  return c(), d("div", Ur, [
4018
4016
  o("div", {
4019
4017
  ref: "scrollEl",
@@ -4026,20 +4024,20 @@ function ri(e, t, n, r, a, s) {
4026
4024
  "aria-hidden": "true"
4027
4025
  }, null, -1)),
4028
4026
  o("span", Nr, v(s.t("messageList.loadingHistory")), 1)
4029
- ])) : s.historyExhausted ? (c(), d("div", jr, v(s.t("messageList.conversationStart")), 1)) : b("", !0),
4030
- n.dateLabel ? (c(), d("div", Fr, [
4027
+ ])) : s.historyExhausted ? (c(), d("div", Fr, v(s.t("messageList.conversationStart")), 1)) : w("", !0),
4028
+ n.dateLabel ? (c(), d("div", jr, [
4031
4029
  t[7] || (t[7] = o("div", { class: "wm-list__line" }, null, -1)),
4032
4030
  o("span", Hr, v(n.dateLabel), 1),
4033
4031
  t[8] || (t[8] = o("div", { class: "wm-list__line" }, null, -1))
4034
- ])) : b("", !0),
4035
- (c(!0), d(I, null, j(s.groups, (A, q) => (c(), d(I, {
4032
+ ])) : w("", !0),
4033
+ (c(!0), d(I, null, F(s.groups, (A, q) => (c(), d(I, {
4036
4034
  key: A.key
4037
4035
  }, [
4038
4036
  A.key === s.unreadGroupKey ? (c(), d("div", zr, [
4039
4037
  t[9] || (t[9] = o("div", { class: "wm-list__line wm-list__line--unread" }, null, -1)),
4040
4038
  o("span", qr, v(s.t("messageList.unread")), 1),
4041
4039
  t[10] || (t[10] = o("div", { class: "wm-list__line wm-list__line--unread" }, null, -1))
4042
- ])) : b("", !0),
4040
+ ])) : w("", !0),
4043
4041
  A.role === "system" || A.items.length ? (c(), d("div", {
4044
4042
  key: 1,
4045
4043
  class: R(["wm-list__group", "wm-list__group--" + A.role])
@@ -4049,7 +4047,7 @@ function ri(e, t, n, r, a, s) {
4049
4047
  o("span", Vr, v(A.systemLabel), 1),
4050
4048
  t[12] || (t[12] = o("div", { class: "wm-list__line wm-list__line--strong" }, null, -1))
4051
4049
  ])) : (c(), d(I, { key: 1 }, [
4052
- (c(!0), d(I, null, j(A.items, (M, D) => (c(), d(I, {
4050
+ (c(!0), d(I, null, F(A.items, (M, D) => (c(), d(I, {
4053
4051
  key: `${s.messageKey(M.message)}-${M.partKey}`
4054
4052
  }, [
4055
4053
  o("div", {
@@ -4084,8 +4082,8 @@ function ri(e, t, n, r, a, s) {
4084
4082
  size: 26,
4085
4083
  tail: !0
4086
4084
  }, null, 8, ["name", "avatar-url"]))
4087
- ], 64)) : b("", !0)
4088
- ])) : b("", !0),
4085
+ ], 64)) : w("", !0)
4086
+ ])) : w("", !0),
4089
4087
  M.renderAs === "action" ? (c(), U(g, {
4090
4088
  key: 1,
4091
4089
  state: M.message.payload.state,
@@ -4102,49 +4100,55 @@ function ri(e, t, n, r, a, s) {
4102
4100
  }, null, 8, ["artifact"])) : M.renderAs === "artifact" ? (c(), U(k, {
4103
4101
  key: 4,
4104
4102
  artifact: s.artifactOf(M.message)
4105
- }, null, 8, ["artifact"])) : (c(), d("div", Gr, [
4106
- M.message.text_md ? (c(), U(w, {
4103
+ }, null, 8, ["artifact"])) : (c(), d("div", {
4104
+ key: 5,
4105
+ class: R(["wm-list__body", {
4106
+ "wm-list__body--mixed": !!M.message.text_md && s.attachmentsOf(M.message).length > 0
4107
+ }])
4108
+ }, [
4109
+ M.message.text_md ? (c(), U(b, {
4107
4110
  key: 0,
4108
4111
  role: A.role,
4109
4112
  text: M.message.text_md
4110
- }, null, 8, ["role", "text"])) : b("", !0),
4113
+ }, null, 8, ["role", "text"])) : w("", !0),
4111
4114
  s.attachmentsOf(M.message).length ? (c(), d("div", {
4112
4115
  key: 1,
4113
4116
  class: R(["wm-list__atts", {
4114
- "wm-list__atts--align-end": A.role === "user"
4117
+ "wm-list__atts--align-end": A.role === "user",
4118
+ "wm-list__atts--mosaic": s.attachmentsOf(M.message).length >= 2
4115
4119
  }])
4116
4120
  }, [
4117
- (c(!0), d(I, null, j(s.attachmentsOf(
4121
+ (c(!0), d(I, null, F(s.attachmentsOf(
4118
4122
  M.message
4119
4123
  ), (N, L) => (c(), U(T, {
4120
4124
  key: `${s.messageKey(M.message)}-att-${L}`,
4121
4125
  attachment: N
4122
4126
  }, null, 8, ["attachment"]))), 128))
4123
- ], 2)) : b("", !0)
4124
- ]))
4127
+ ], 2)) : w("", !0)
4128
+ ], 2))
4125
4129
  ], 46, Kr),
4126
4130
  D < A.items.length - 1 && a.pressedItemKey === `${s.messageKey(M.message)}-${M.partKey}` && (A.role !== "user" || s.timeOf(M.message)) ? (c(), d("div", {
4127
4131
  key: 0,
4128
4132
  class: R(["wm-list__meta wm-list__meta--press", { "wm-list__meta--right": A.role === "user" }])
4129
4133
  }, [
4130
- A.role !== "user" ? (c(), d("span", Yr, v(s.roleLabel(A)), 1)) : b("", !0),
4131
- A.role !== "user" && s.timeOf(M.message) ? (c(), d("span", Jr, "•")) : b("", !0),
4132
- s.timeOf(M.message) ? (c(), d("span", Xr, v(s.timeOf(M.message)), 1)) : b("", !0)
4133
- ], 2)) : b("", !0)
4134
+ A.role !== "user" ? (c(), d("span", Gr, v(s.roleLabel(A)), 1)) : w("", !0),
4135
+ A.role !== "user" && s.timeOf(M.message) ? (c(), d("span", Yr, "•")) : w("", !0),
4136
+ s.timeOf(M.message) ? (c(), d("span", Jr, v(s.timeOf(M.message)), 1)) : w("", !0)
4137
+ ], 2)) : w("", !0)
4134
4138
  ], 64))), 128)),
4135
4139
  (A.role !== "user" || s.lastTimeOf(A)) && !s.hasTrailingOverlay(A) ? (c(), d("div", {
4136
4140
  key: 0,
4137
4141
  class: R(["wm-list__meta", { "wm-list__meta--right": A.role === "user" }])
4138
4142
  }, [
4139
- A.role !== "user" ? (c(), d("span", Qr, v(s.roleLabel(A)), 1)) : b("", !0),
4140
- A.role !== "user" && s.lastTimeOf(A) ? (c(), d("span", Zr, "•")) : b("", !0),
4141
- s.lastTimeOf(A) ? (c(), d("span", ei, v(s.lastTimeOf(A)), 1)) : b("", !0)
4142
- ], 2)) : b("", !0)
4143
+ A.role !== "user" ? (c(), d("span", Xr, v(s.roleLabel(A)), 1)) : w("", !0),
4144
+ A.role !== "user" && s.lastTimeOf(A) ? (c(), d("span", Qr, "•")) : w("", !0),
4145
+ s.lastTimeOf(A) ? (c(), d("span", Zr, v(s.lastTimeOf(A)), 1)) : w("", !0)
4146
+ ], 2)) : w("", !0)
4143
4147
  ], 64))
4144
- ], 2)) : b("", !0)
4148
+ ], 2)) : w("", !0)
4145
4149
  ], 64))), 128)),
4146
- n.streamingActive ? (c(), d("div", ti, [
4147
- o("div", ni, [
4150
+ n.streamingActive ? (c(), d("div", ei, [
4151
+ o("div", ti, [
4148
4152
  V(i, {
4149
4153
  size: 26,
4150
4154
  tail: !0,
@@ -4153,10 +4157,10 @@ function ri(e, t, n, r, a, s) {
4153
4157
  }, null, 8, ["name", "image-url"])
4154
4158
  ]),
4155
4159
  V(E)
4156
- ])) : b("", !0)
4160
+ ])) : w("", !0)
4157
4161
  ], 34),
4158
4162
  V(Ne, { name: "wm-scrollDown" }, {
4159
- default: je(() => [
4163
+ default: Fe(() => [
4160
4164
  a.showScrollDown ? (c(), d("button", {
4161
4165
  key: 0,
4162
4166
  type: "button",
@@ -4178,14 +4182,14 @@ function ri(e, t, n, r, a, s) {
4178
4182
  }, [
4179
4183
  o("path", { d: "M6 9l6 6 6-6" })
4180
4184
  ], -1)
4181
- ])], 8, si)) : b("", !0)
4185
+ ])], 8, ni)) : w("", !0)
4182
4186
  ]),
4183
4187
  _: 1
4184
4188
  })
4185
4189
  ]);
4186
4190
  }
4187
- const ii = /* @__PURE__ */ P(Pr, [["render", ri], ["__scopeId", "data-v-cf20685c"]]), pe = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", Oe = typeof window < "u" && typeof window.MediaRecorder < "u";
4188
- function ai() {
4191
+ const ri = /* @__PURE__ */ P(Pr, [["render", si], ["__scopeId", "data-v-6e757ccd"]]), pe = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", Oe = typeof window < "u" && typeof window.MediaRecorder < "u";
4192
+ function ii() {
4189
4193
  return Oe && [
4190
4194
  "video/webm;codecs=vp9,opus",
4191
4195
  "video/webm;codecs=vp8,opus",
@@ -4205,10 +4209,10 @@ function $e({ audio: e }) {
4205
4209
  systemAudio: e ? "include" : "exclude"
4206
4210
  };
4207
4211
  }
4208
- function yo(e) {
4212
+ function vo(e) {
4209
4213
  return e ? e.startsWith("image/") ? "image" : e.startsWith("video/") ? "video" : "file" : "file";
4210
4214
  }
4211
- async function oi() {
4215
+ async function ai() {
4212
4216
  if (!pe) return null;
4213
4217
  let e;
4214
4218
  try {
@@ -4219,7 +4223,7 @@ async function oi() {
4219
4223
  return (t == null ? void 0 : t.name) !== "NotAllowedError" && console.error("[media] screenshot picker", t), null;
4220
4224
  }
4221
4225
  try {
4222
- return await li(e);
4226
+ return await oi(e);
4223
4227
  } catch (t) {
4224
4228
  return console.error("[media] screenshot capture", t), null;
4225
4229
  } finally {
@@ -4228,7 +4232,7 @@ async function oi() {
4228
4232
  });
4229
4233
  }
4230
4234
  }
4231
- async function li(e) {
4235
+ async function oi(e) {
4232
4236
  const t = document.createElement("video");
4233
4237
  t.muted = !0, t.playsInline = !0, t.srcObject = e, await t.play(), await new Promise((l) => requestAnimationFrame(l));
4234
4238
  const n = t.videoWidth || 1280, r = t.videoHeight || 720, a = document.createElement("canvas");
@@ -4241,7 +4245,7 @@ async function li(e) {
4241
4245
  }), i = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19);
4242
4246
  return new File([s], `capture-${i}.png`, { type: "image/png" });
4243
4247
  }
4244
- async function ci(e = {}) {
4248
+ async function li(e = {}) {
4245
4249
  var k;
4246
4250
  if (!pe || !Oe) return null;
4247
4251
  let t;
@@ -4249,56 +4253,56 @@ async function ci(e = {}) {
4249
4253
  t = await navigator.mediaDevices.getDisplayMedia(
4250
4254
  $e({ audio: !0 })
4251
4255
  );
4252
- } catch (w) {
4253
- return (w == null ? void 0 : w.name) !== "NotAllowedError" && console.error("[media] record picker", w), null;
4256
+ } catch (b) {
4257
+ return (b == null ? void 0 : b.name) !== "NotAllowedError" && console.error("[media] record picker", b), null;
4254
4258
  }
4255
- const n = ai();
4259
+ const n = ii();
4256
4260
  let r;
4257
4261
  try {
4258
4262
  r = n ? new window.MediaRecorder(t, { mimeType: n }) : new window.MediaRecorder(t);
4259
- } catch (w) {
4260
- return console.error("[media] recorder init", w), t.getTracks().forEach((T) => {
4263
+ } catch (b) {
4264
+ return console.error("[media] recorder init", b), t.getTracks().forEach((T) => {
4261
4265
  T.stop();
4262
4266
  }), null;
4263
4267
  }
4264
4268
  const a = [];
4265
4269
  let s = null, i = !1;
4266
- r.addEventListener("dataavailable", (w) => {
4267
- w.data && w.data.size > 0 && a.push(w.data);
4270
+ r.addEventListener("dataavailable", (b) => {
4271
+ b.data && b.data.size > 0 && a.push(b.data);
4268
4272
  }), r.addEventListener("stop", () => {
4269
- var w, T;
4273
+ var b, T;
4270
4274
  if (s && clearInterval(s), t.getTracks().forEach((E) => {
4271
4275
  E.stop();
4272
4276
  }), a.length) {
4273
4277
  const E = r.mimeType || n || "video/webm", A = new Blob(a, { type: E }), q = /mp4/.test(E) ? "mp4" : "webm", M = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19), D = new File([A], `ecran-${M}.${q}`, {
4274
4278
  type: E
4275
4279
  });
4276
- (w = e.onfinalize) == null || w.call(e, D);
4280
+ (b = e.onfinalize) == null || b.call(e, D);
4277
4281
  } else
4278
4282
  (T = e.oncancel) == null || T.call(e);
4279
- }), t.getVideoTracks().forEach((w) => {
4280
- w.addEventListener("ended", () => l(), { once: !0 });
4283
+ }), t.getVideoTracks().forEach((b) => {
4284
+ b.addEventListener("ended", () => l(), { once: !0 });
4281
4285
  });
4282
4286
  function l() {
4283
4287
  if (!i && (i = !0, r.state !== "inactive"))
4284
4288
  try {
4285
4289
  r.stop();
4286
- } catch (w) {
4287
- console.error("[media] recorder stop", w);
4290
+ } catch (b) {
4291
+ console.error("[media] recorder stop", b);
4288
4292
  }
4289
4293
  }
4290
4294
  try {
4291
4295
  r.start(1e3);
4292
- } catch (w) {
4293
- return console.error("[media] recorder start", w), t.getTracks().forEach((T) => {
4296
+ } catch (b) {
4297
+ return console.error("[media] recorder start", b), t.getTracks().forEach((T) => {
4294
4298
  T.stop();
4295
4299
  }), null;
4296
4300
  }
4297
4301
  (k = e.onstart) == null || k.call(e);
4298
4302
  const g = Date.now();
4299
4303
  return s = setInterval(() => {
4300
- var w;
4301
- (w = e.ontick) == null || w.call(e, Date.now() - g);
4304
+ var b;
4305
+ (b = e.ontick) == null || b.call(e, Date.now() - g);
4302
4306
  }, 500), {
4303
4307
  stop: l,
4304
4308
  get state() {
@@ -4306,7 +4310,7 @@ async function ci(e = {}) {
4306
4310
  }
4307
4311
  };
4308
4312
  }
4309
- const di = [
4313
+ const ci = [
4310
4314
  {
4311
4315
  action: "file",
4312
4316
  labelKey: "composer.attachFile",
@@ -4322,12 +4326,12 @@ const di = [
4322
4326
  labelKey: "composer.recordScreen",
4323
4327
  path: "M23 7l-7 5 7 5V7z M1 5a2 2 0 012-2h12a2 2 0 012 2v14a2 2 0 01-2 2H3a2 2 0 01-2-2V5z"
4324
4328
  }
4325
- ], ui = {
4329
+ ], di = {
4326
4330
  name: "WmComposer",
4327
4331
  inject: {
4328
4332
  // Translator shared by the Messenger shell; French fallback when
4329
4333
  // the component is used standalone.
4330
- t: { default: () => F() }
4334
+ t: { default: () => j() }
4331
4335
  },
4332
4336
  props: {
4333
4337
  modelValue: { type: String, default: "" },
@@ -4356,7 +4360,7 @@ const di = [
4356
4360
  return !this.disabled && !!this.local.trim();
4357
4361
  },
4358
4362
  attachItems() {
4359
- return di.map((e) => ({
4363
+ return ci.map((e) => ({
4360
4364
  ...e,
4361
4365
  label: this.t(e.labelKey),
4362
4366
  disabled: e.action === "screenshot" && !pe || e.action === "record" && (!pe || !Oe)
@@ -4430,13 +4434,13 @@ const di = [
4430
4434
  },
4431
4435
  async captureScreenshot() {
4432
4436
  if (this.disabled) return;
4433
- const e = await oi();
4437
+ const e = await ai();
4434
4438
  e && this.$emit("attach", e);
4435
4439
  },
4436
4440
  async startRecording() {
4437
4441
  if (this.recording || this.disabled) return;
4438
4442
  this.recordingElapsed = 0;
4439
- const e = await ci({
4443
+ const e = await li({
4440
4444
  onstart: () => {
4441
4445
  this.recording = !0;
4442
4446
  },
@@ -4478,36 +4482,36 @@ const di = [
4478
4482
  !e || !this._vvHandler || (e.removeEventListener("resize", this._vvHandler), e.removeEventListener("scroll", this._vvHandler), this._vvHandler = null);
4479
4483
  }
4480
4484
  }
4481
- }, hi = {
4485
+ }, ui = {
4482
4486
  key: 0,
4483
4487
  class: "wm-rec"
4484
- }, mi = { class: "wm-rec__lbl" }, fi = {
4488
+ }, hi = { class: "wm-rec__lbl" }, mi = {
4485
4489
  key: 1,
4486
4490
  class: "wm-compose__menu",
4487
4491
  role: "menu"
4488
- }, _i = ["disabled", "onClick"], gi = { class: "wm-compose__menuIcon" }, pi = {
4492
+ }, fi = ["disabled", "onClick"], _i = { class: "wm-compose__menuIcon" }, gi = {
4489
4493
  viewBox: "0 0 24 24",
4490
4494
  width: "14",
4491
4495
  height: "14",
4492
4496
  "aria-hidden": "true"
4493
- }, vi = ["d"], yi = ["placeholder", "disabled"], wi = { class: "wm-compose__actions" }, bi = ["title", "aria-label", "disabled"], ki = ["disabled", "aria-label"];
4494
- function Ci(e, t, n, r, a, s) {
4497
+ }, pi = ["d"], vi = ["placeholder", "disabled"], yi = { class: "wm-compose__actions" }, wi = ["title", "aria-label", "disabled"], bi = ["disabled", "aria-label"];
4498
+ function ki(e, t, n, r, a, s) {
4495
4499
  return c(), d("div", {
4496
4500
  class: R(["wm-compose-wrap", { "wm-compose-wrap--sheet": n.displayMode === "sheet" }]),
4497
4501
  style: z(a.kbOffset ? { transform: `translateY(-${a.kbOffset}px)` } : null)
4498
4502
  }, [
4499
- a.recording ? (c(), d("div", hi, [
4503
+ a.recording ? (c(), d("div", ui, [
4500
4504
  t[8] || (t[8] = o("span", {
4501
4505
  class: "wm-rec__dot",
4502
4506
  "aria-hidden": "true"
4503
4507
  }, null, -1)),
4504
- o("span", mi, v(s.t("composer.recording", { time: s.recordingElapsedLabel })), 1),
4508
+ o("span", hi, v(s.t("composer.recording", { time: s.recordingElapsedLabel })), 1),
4505
4509
  o("button", {
4506
4510
  type: "button",
4507
4511
  class: "wm-rec__stop",
4508
4512
  onClick: t[0] || (t[0] = (...i) => s.stopRecording && s.stopRecording(...i))
4509
4513
  }, v(s.t("composer.stop")), 1)
4510
- ])) : b("", !0),
4514
+ ])) : w("", !0),
4511
4515
  o("form", {
4512
4516
  class: R(["wm-compose", { "has-attach": a.attachOpen }]),
4513
4517
  onSubmit: t[7] || (t[7] = J((...i) => s.onSubmit && s.onSubmit(...i), ["prevent"]))
@@ -4523,17 +4527,17 @@ function Ci(e, t, n, r, a, s) {
4523
4527
  key: 0,
4524
4528
  class: "wm-compose__overlay",
4525
4529
  onClick: t[2] || (t[2] = (i) => a.attachOpen = !1)
4526
- })) : b("", !0),
4527
- a.attachOpen ? (c(), d("div", fi, [
4528
- (c(!0), d(I, null, j(s.attachItems, (i) => (c(), d("button", {
4530
+ })) : w("", !0),
4531
+ a.attachOpen ? (c(), d("div", mi, [
4532
+ (c(!0), d(I, null, F(s.attachItems, (i) => (c(), d("button", {
4529
4533
  key: i.action,
4530
4534
  type: "button",
4531
4535
  class: "wm-compose__menuItem",
4532
4536
  disabled: i.disabled,
4533
4537
  onClick: (l) => s.onAttachAction(i.action)
4534
4538
  }, [
4535
- o("span", gi, [
4536
- (c(), d("svg", pi, [
4539
+ o("span", _i, [
4540
+ (c(), d("svg", gi, [
4537
4541
  o("path", {
4538
4542
  d: i.path,
4539
4543
  stroke: "currentColor",
@@ -4541,12 +4545,12 @@ function Ci(e, t, n, r, a, s) {
4541
4545
  "stroke-linecap": "round",
4542
4546
  "stroke-linejoin": "round",
4543
4547
  fill: "none"
4544
- }, null, 8, vi)
4548
+ }, null, 8, pi)
4545
4549
  ]))
4546
4550
  ]),
4547
4551
  o("span", null, v(i.label), 1)
4548
- ], 8, _i))), 128))
4549
- ])) : b("", !0),
4552
+ ], 8, fi))), 128))
4553
+ ])) : w("", !0),
4550
4554
  G(o("textarea", {
4551
4555
  ref: "inputEl",
4552
4556
  "onUpdate:modelValue": t[3] || (t[3] = (i) => a.local = i),
@@ -4556,10 +4560,10 @@ function Ci(e, t, n, r, a, s) {
4556
4560
  disabled: n.disabled,
4557
4561
  onKeydown: t[4] || (t[4] = (...i) => s.onKeydown && s.onKeydown(...i)),
4558
4562
  onInput: t[5] || (t[5] = (...i) => s.autosize && s.autosize(...i))
4559
- }, null, 40, yi), [
4563
+ }, null, 40, vi), [
4560
4564
  [te, a.local]
4561
4565
  ]),
4562
- o("div", wi, [
4566
+ o("div", yi, [
4563
4567
  o("button", {
4564
4568
  type: "button",
4565
4569
  class: R(["wm-compose__icon", { "is-open": a.attachOpen }]),
@@ -4581,7 +4585,7 @@ function Ci(e, t, n, r, a, s) {
4581
4585
  }, [
4582
4586
  o("path", { d: "M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48" })
4583
4587
  ], -1)
4584
- ])], 10, bi),
4588
+ ])], 10, wi),
4585
4589
  o("button", {
4586
4590
  type: "submit",
4587
4591
  class: R(["wm-compose__send", { "is-empty": !s.canSend }]),
@@ -4601,12 +4605,12 @@ function Ci(e, t, n, r, a, s) {
4601
4605
  }, [
4602
4606
  o("path", { d: "M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" })
4603
4607
  ], -1)
4604
- ])], 10, ki)
4608
+ ])], 10, bi)
4605
4609
  ])
4606
4610
  ], 34)
4607
4611
  ], 6);
4608
4612
  }
4609
- const Ai = /* @__PURE__ */ P(ui, [["render", Ci], ["__scopeId", "data-v-01e81a27"]]), Si = {
4613
+ const Ci = /* @__PURE__ */ P(di, [["render", ki], ["__scopeId", "data-v-01e81a27"]]), Ai = {
4610
4614
  name: "WmSuggestionChips",
4611
4615
  props: {
4612
4616
  items: { type: Array, default: () => [] },
@@ -4623,28 +4627,28 @@ const Ai = /* @__PURE__ */ P(ui, [["render", Ci], ["__scopeId", "data-v-01e81a27
4623
4627
  return this.items.map((e) => (e == null ? void 0 : e.label) || (e == null ? void 0 : e.text) || "").join("§");
4624
4628
  }
4625
4629
  }
4626
- }, Mi = ["onClick"];
4627
- function Ti(e, t, n, r, a, s) {
4630
+ }, Si = ["onClick"];
4631
+ function Mi(e, t, n, r, a, s) {
4628
4632
  return n.items.length ? (c(), d("div", {
4629
4633
  key: s.batchKey,
4630
4634
  class: "wm-chips"
4631
4635
  }, [
4632
- (c(!0), d(I, null, j(n.items, (i, l) => (c(), d("button", {
4636
+ (c(!0), d(I, null, F(n.items, (i, l) => (c(), d("button", {
4633
4637
  key: l,
4634
4638
  type: "button",
4635
4639
  class: "wm-chip",
4636
4640
  style: z({ animationDelay: n.baseDelay + l * n.stepDelay + "ms" }),
4637
4641
  onClick: (g) => e.$emit("select", i)
4638
- }, v(i.label), 13, Mi))), 128))
4639
- ])) : b("", !0);
4642
+ }, v(i.label), 13, Si))), 128))
4643
+ ])) : w("", !0);
4640
4644
  }
4641
- const xi = /* @__PURE__ */ P(Si, [["render", Ti], ["__scopeId", "data-v-47ad8085"]]), Oi = {
4645
+ const Ti = /* @__PURE__ */ P(Ai, [["render", Mi], ["__scopeId", "data-v-47ad8085"]]), xi = {
4642
4646
  name: "WmApprovalCard",
4643
4647
  components: { AIAvatar: oe },
4644
4648
  inject: {
4645
4649
  // Translator shared by the Messenger shell; French fallback when
4646
4650
  // the component is used standalone.
4647
- t: { default: () => F() }
4651
+ t: { default: () => j() }
4648
4652
  },
4649
4653
  props: {
4650
4654
  action: { type: String, required: !0 },
@@ -4682,45 +4686,45 @@ const xi = /* @__PURE__ */ P(Si, [["render", Ti], ["__scopeId", "data-v-47ad8085
4682
4686
  return ((e = this.rejectCallback) == null ? void 0 : e.label) || this.t("approval.reject");
4683
4687
  }
4684
4688
  }
4685
- }, Ri = { class: "wm-approval" }, Li = { class: "wm-approval__head" }, Ii = { class: "wm-approval__icon" }, Ei = { class: "wm-approval__main" }, Bi = { class: "wm-approval__title" }, Pi = {
4689
+ }, Oi = { class: "wm-approval" }, Ri = { class: "wm-approval__head" }, Li = { class: "wm-approval__icon" }, Ii = { class: "wm-approval__main" }, Ei = { class: "wm-approval__title" }, Bi = {
4686
4690
  key: 0,
4687
4691
  class: "wm-approval__detail"
4688
- }, Ui = { class: "wm-approval__actions" };
4689
- function Di(e, t, n, r, a, s) {
4692
+ }, Pi = { class: "wm-approval__actions" };
4693
+ function Ui(e, t, n, r, a, s) {
4690
4694
  const i = B("AIAvatar");
4691
- return c(), d("div", Ri, [
4692
- o("div", Li, [
4693
- o("div", Ii, [
4695
+ return c(), d("div", Oi, [
4696
+ o("div", Ri, [
4697
+ o("div", Li, [
4694
4698
  V(i, {
4695
4699
  size: 24,
4696
4700
  name: n.agentName,
4697
4701
  "image-url": n.agentAvatarUrl
4698
4702
  }, null, 8, ["name", "image-url"])
4699
4703
  ]),
4700
- o("div", Ei, [
4701
- o("div", Bi, v(n.action), 1),
4702
- n.detail ? (c(), d("div", Pi, v(n.detail), 1)) : b("", !0)
4704
+ o("div", Ii, [
4705
+ o("div", Ei, v(n.action), 1),
4706
+ n.detail ? (c(), d("div", Bi, v(n.detail), 1)) : w("", !0)
4703
4707
  ])
4704
4708
  ]),
4705
- o("div", Ui, [
4709
+ o("div", Pi, [
4706
4710
  s.rejectId ? (c(), d("button", {
4707
4711
  key: 0,
4708
4712
  type: "button",
4709
4713
  class: "wm-approval__btn wm-approval__btn--neutral",
4710
4714
  onClick: t[0] || (t[0] = (l) => e.$emit("callback", s.rejectId))
4711
- }, v(s.rejectLabel), 1)) : b("", !0),
4715
+ }, v(s.rejectLabel), 1)) : w("", !0),
4712
4716
  s.approveId ? (c(), d("button", {
4713
4717
  key: 1,
4714
4718
  type: "button",
4715
4719
  class: "wm-approval__btn wm-approval__btn--primary",
4716
4720
  onClick: t[1] || (t[1] = (l) => e.$emit("callback", s.approveId))
4717
- }, v(s.approveLabel), 1)) : b("", !0)
4721
+ }, v(s.approveLabel), 1)) : w("", !0)
4718
4722
  ])
4719
4723
  ]);
4720
4724
  }
4721
- const Ni = /* @__PURE__ */ P(Oi, [["render", Di], ["__scopeId", "data-v-a2bed37e"]]);
4725
+ const Di = /* @__PURE__ */ P(xi, [["render", Ui], ["__scopeId", "data-v-a2bed37e"]]);
4722
4726
  let Ue = 0;
4723
- const ji = /* @__PURE__ */ new Set([
4727
+ const Ni = /* @__PURE__ */ new Set([
4724
4728
  "text",
4725
4729
  "textarea",
4726
4730
  "number",
@@ -4734,7 +4738,7 @@ const ji = /* @__PURE__ */ new Set([
4734
4738
  inject: {
4735
4739
  // Translator shared by the Messenger shell; French fallback when
4736
4740
  // the component is used standalone.
4737
- t: { default: () => F() }
4741
+ t: { default: () => j() }
4738
4742
  },
4739
4743
  props: {
4740
4744
  form: { type: Object, required: !0 },
@@ -4758,7 +4762,7 @@ const ji = /* @__PURE__ */ new Set([
4758
4762
  // douteux.
4759
4763
  normalizedFields() {
4760
4764
  var t;
4761
- return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((n) => !(!(n != null && n.key) || !(n != null && n.label) || !ji.has(n == null ? void 0 : n.type) || (n.type === "select" || n.type === "multiselect") && (!Array.isArray(n.options) || n.options.length === 0)));
4765
+ return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((n) => !(!(n != null && n.key) || !(n != null && n.label) || !Ni.has(n == null ? void 0 : n.type) || (n.type === "select" || n.type === "multiselect") && (!Array.isArray(n.options) || n.options.length === 0)));
4762
4766
  }
4763
4767
  },
4764
4768
  created() {
@@ -4811,54 +4815,54 @@ const ji = /* @__PURE__ */ new Set([
4811
4815
  }
4812
4816
  }
4813
4817
  }
4814
- }, Hi = { class: "wm-form" }, zi = { class: "wm-form__head" }, qi = { class: "wm-form__icon" }, $i = { class: "wm-form__main" }, Vi = { class: "wm-form__title" }, Ki = {
4818
+ }, ji = { class: "wm-form" }, Hi = { class: "wm-form__head" }, zi = { class: "wm-form__icon" }, qi = { class: "wm-form__main" }, $i = { class: "wm-form__title" }, Vi = {
4815
4819
  key: 0,
4816
4820
  class: "wm-form__detail"
4817
- }, Wi = ["for"], Gi = {
4821
+ }, Ki = ["for"], Wi = {
4818
4822
  key: 0,
4819
4823
  class: "wm-form__req",
4820
4824
  "aria-hidden": "true"
4821
- }, Yi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Ji = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Xi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Qi = ["id", "onUpdate:modelValue", "required", "disabled"], Zi = {
4825
+ }, Gi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Yi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Ji = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Xi = ["id", "onUpdate:modelValue", "required", "disabled"], Qi = {
4822
4826
  key: 4,
4823
4827
  class: "wm-form__bool"
4824
- }, ea = ["id", "onUpdate:modelValue", "disabled"], ta = ["id", "onUpdate:modelValue", "required", "disabled"], na = {
4828
+ }, Zi = ["id", "onUpdate:modelValue", "disabled"], ea = ["id", "onUpdate:modelValue", "required", "disabled"], ta = {
4825
4829
  value: "",
4826
4830
  disabled: ""
4827
- }, sa = ["value"], ra = {
4831
+ }, na = ["value"], sa = {
4828
4832
  key: 6,
4829
4833
  class: "wm-form__multi"
4830
- }, ia = ["value", "checked", "disabled", "onChange"], aa = {
4834
+ }, ra = ["value", "checked", "disabled", "onChange"], ia = {
4831
4835
  key: 0,
4832
4836
  class: "wm-form__err"
4833
- }, oa = ["disabled"], la = {
4837
+ }, aa = ["disabled"], oa = {
4834
4838
  key: 0,
4835
4839
  class: "wm-form__spinner",
4836
4840
  "aria-hidden": "true"
4837
- }, ca = {
4841
+ }, la = {
4838
4842
  key: 2,
4839
4843
  class: "wm-form__doneLbl"
4840
4844
  };
4841
- function da(e, t, n, r, a, s) {
4845
+ function ca(e, t, n, r, a, s) {
4842
4846
  const i = B("AIAvatar");
4843
- return c(), d("div", Hi, [
4844
- o("div", zi, [
4845
- o("div", qi, [
4847
+ return c(), d("div", ji, [
4848
+ o("div", Hi, [
4849
+ o("div", zi, [
4846
4850
  V(i, {
4847
4851
  size: 24,
4848
4852
  name: n.agentName,
4849
4853
  "image-url": n.agentAvatarUrl
4850
4854
  }, null, 8, ["name", "image-url"])
4851
4855
  ]),
4852
- o("div", $i, [
4853
- o("div", Vi, v(n.form.title || s.t("form.title")), 1),
4854
- n.form.description ? (c(), d("div", Ki, v(n.form.description), 1)) : b("", !0)
4856
+ o("div", qi, [
4857
+ o("div", $i, v(n.form.title || s.t("form.title")), 1),
4858
+ n.form.description ? (c(), d("div", Vi, v(n.form.description), 1)) : w("", !0)
4855
4859
  ])
4856
4860
  ]),
4857
4861
  o("form", {
4858
4862
  class: "wm-form__body",
4859
4863
  onSubmit: t[0] || (t[0] = J((...l) => s.onSubmit && s.onSubmit(...l), ["prevent"]))
4860
4864
  }, [
4861
- (c(!0), d(I, null, j(s.normalizedFields, (l) => (c(), d("div", {
4865
+ (c(!0), d(I, null, F(s.normalizedFields, (l) => (c(), d("div", {
4862
4866
  key: l.key,
4863
4867
  class: "wm-form__field"
4864
4868
  }, [
@@ -4867,8 +4871,8 @@ function da(e, t, n, r, a, s) {
4867
4871
  class: "wm-form__label"
4868
4872
  }, [
4869
4873
  Se(v(l.label), 1),
4870
- l.required ? (c(), d("span", Gi, "*")) : b("", !0)
4871
- ], 8, Wi),
4874
+ l.required ? (c(), d("span", Wi, "*")) : w("", !0)
4875
+ ], 8, Ki),
4872
4876
  l.type === "text" ? G((c(), d("input", {
4873
4877
  key: 0,
4874
4878
  id: `wm-f-${a._uid}-${l.key}`,
@@ -4878,7 +4882,7 @@ function da(e, t, n, r, a, s) {
4878
4882
  placeholder: l.placeholder || "",
4879
4883
  required: l.required,
4880
4884
  disabled: n.readOnly || a.busy
4881
- }, null, 8, Yi)), [
4885
+ }, null, 8, Gi)), [
4882
4886
  [te, a.values[l.key]]
4883
4887
  ]) : l.type === "textarea" ? G((c(), d("textarea", {
4884
4888
  key: 1,
@@ -4889,7 +4893,7 @@ function da(e, t, n, r, a, s) {
4889
4893
  placeholder: l.placeholder || "",
4890
4894
  required: l.required,
4891
4895
  disabled: n.readOnly || a.busy
4892
- }, null, 8, Ji)), [
4896
+ }, null, 8, Yi)), [
4893
4897
  [te, a.values[l.key]]
4894
4898
  ]) : l.type === "number" ? G((c(), d("input", {
4895
4899
  key: 2,
@@ -4900,7 +4904,7 @@ function da(e, t, n, r, a, s) {
4900
4904
  placeholder: l.placeholder || "",
4901
4905
  required: l.required,
4902
4906
  disabled: n.readOnly || a.busy
4903
- }, null, 8, Xi)), [
4907
+ }, null, 8, Ji)), [
4904
4908
  [
4905
4909
  te,
4906
4910
  a.values[l.key],
@@ -4915,15 +4919,15 @@ function da(e, t, n, r, a, s) {
4915
4919
  class: "wm-form__input",
4916
4920
  required: l.required,
4917
4921
  disabled: n.readOnly || a.busy
4918
- }, null, 8, Qi)), [
4922
+ }, null, 8, Xi)), [
4919
4923
  [te, a.values[l.key]]
4920
- ]) : l.type === "boolean" ? (c(), d("label", Zi, [
4924
+ ]) : l.type === "boolean" ? (c(), d("label", Qi, [
4921
4925
  G(o("input", {
4922
4926
  id: `wm-f-${a._uid}-${l.key}`,
4923
4927
  "onUpdate:modelValue": (g) => a.values[l.key] = g,
4924
4928
  type: "checkbox",
4925
4929
  disabled: n.readOnly || a.busy
4926
- }, null, 8, ea), [
4930
+ }, null, 8, Zi), [
4927
4931
  [We, a.values[l.key]]
4928
4932
  ]),
4929
4933
  o("span", null, v(l.placeholder || s.t("common.yes")), 1)
@@ -4935,15 +4939,15 @@ function da(e, t, n, r, a, s) {
4935
4939
  required: l.required,
4936
4940
  disabled: n.readOnly || a.busy
4937
4941
  }, [
4938
- o("option", na, v(l.placeholder || s.t("form.choose")), 1),
4939
- (c(!0), d(I, null, j(l.options, (g) => (c(), d("option", {
4942
+ o("option", ta, v(l.placeholder || s.t("form.choose")), 1),
4943
+ (c(!0), d(I, null, F(l.options, (g) => (c(), d("option", {
4940
4944
  key: g.value,
4941
4945
  value: g.value
4942
- }, v(g.label), 9, sa))), 128))
4943
- ], 8, ta)), [
4946
+ }, v(g.label), 9, na))), 128))
4947
+ ], 8, ea)), [
4944
4948
  [Ge, a.values[l.key]]
4945
- ]) : l.type === "multiselect" ? (c(), d("div", ra, [
4946
- (c(!0), d(I, null, j(l.options, (g) => (c(), d("label", {
4949
+ ]) : l.type === "multiselect" ? (c(), d("div", sa, [
4950
+ (c(!0), d(I, null, F(l.options, (g) => (c(), d("label", {
4947
4951
  key: g.value,
4948
4952
  class: "wm-form__multiItem"
4949
4953
  }, [
@@ -4957,30 +4961,30 @@ function da(e, t, n, r, a, s) {
4957
4961
  g.value,
4958
4962
  k.target.checked
4959
4963
  )
4960
- }, null, 40, ia),
4964
+ }, null, 40, ra),
4961
4965
  o("span", null, v(g.label), 1)
4962
4966
  ]))), 128))
4963
- ])) : b("", !0)
4967
+ ])) : w("", !0)
4964
4968
  ]))), 128)),
4965
- a.error ? (c(), d("div", aa, v(a.error), 1)) : b("", !0),
4966
- n.readOnly ? (c(), d("div", ca, v(s.t("form.responseSent")), 1)) : (c(), d("button", {
4969
+ a.error ? (c(), d("div", ia, v(a.error), 1)) : w("", !0),
4970
+ n.readOnly ? (c(), d("div", la, v(s.t("form.responseSent")), 1)) : (c(), d("button", {
4967
4971
  key: 1,
4968
4972
  type: "submit",
4969
4973
  class: "wm-form__submit",
4970
4974
  disabled: a.busy
4971
4975
  }, [
4972
- a.busy ? (c(), d("span", la)) : b("", !0),
4976
+ a.busy ? (c(), d("span", oa)) : w("", !0),
4973
4977
  o("span", null, v(a.busy ? s.t("common.sending") : n.form.submit_label || s.t("common.send")), 1)
4974
- ], 8, oa))
4978
+ ], 8, aa))
4975
4979
  ], 32)
4976
4980
  ]);
4977
4981
  }
4978
- const ua = /* @__PURE__ */ P(Fi, [["render", da], ["__scopeId", "data-v-fe65cc56"]]), ha = {
4982
+ const da = /* @__PURE__ */ P(Fi, [["render", ca], ["__scopeId", "data-v-fe65cc56"]]), ua = {
4979
4983
  name: "WmFeedback",
4980
4984
  inject: {
4981
4985
  // Translator shared by the Messenger shell; French fallback when
4982
4986
  // the component is used standalone.
4983
- t: { default: () => F() }
4987
+ t: { default: () => j() }
4984
4988
  },
4985
4989
  props: {
4986
4990
  busy: { type: Boolean, default: !1 },
@@ -5009,13 +5013,13 @@ const ua = /* @__PURE__ */ P(Fi, [["render", da], ["__scopeId", "data-v-fe65cc56
5009
5013
  !this.sel || this.busy || this.$emit("submit", { rating: this.sel });
5010
5014
  }
5011
5015
  }
5012
- }, ma = { class: "wm-fb" }, fa = { class: "wm-fb__title" }, _a = { class: "wm-fb__sub" }, ga = { class: "wm-fb__row" }, pa = ["onClick"], va = { class: "wm-fb__emoji" }, ya = { class: "wm-fb__label" }, wa = ["disabled"], ba = {
5016
+ }, ha = { class: "wm-fb" }, ma = { class: "wm-fb__title" }, fa = { class: "wm-fb__sub" }, _a = { class: "wm-fb__row" }, ga = ["onClick"], pa = { class: "wm-fb__emoji" }, va = { class: "wm-fb__label" }, ya = ["disabled"], wa = {
5013
5017
  key: 1,
5014
5018
  class: "wm-fb__done"
5015
- }, ka = { class: "wm-fb__doneTitle" }, Ca = { class: "wm-fb__doneSub" };
5016
- function Aa(e, t, n, r, a, s) {
5017
- return c(), d("div", ma, [
5018
- n.done ? (c(), d("div", ba, [
5019
+ }, ba = { class: "wm-fb__doneTitle" }, ka = { class: "wm-fb__doneSub" };
5020
+ function Ca(e, t, n, r, a, s) {
5021
+ return c(), d("div", ha, [
5022
+ n.done ? (c(), d("div", wa, [
5019
5023
  t[1] || (t[1] = o("div", { class: "wm-fb__check" }, [
5020
5024
  o("svg", {
5021
5025
  width: "16",
@@ -5031,37 +5035,37 @@ function Aa(e, t, n, r, a, s) {
5031
5035
  o("path", { d: "M20 6L9 17l-5-5" })
5032
5036
  ])
5033
5037
  ], -1)),
5034
- o("div", ka, v(s.t("feedback.doneTitle")), 1),
5035
- o("div", Ca, v(s.t("feedback.doneSubtitle")), 1)
5038
+ o("div", ba, v(s.t("feedback.doneTitle")), 1),
5039
+ o("div", ka, v(s.t("feedback.doneSubtitle")), 1)
5036
5040
  ])) : (c(), d(I, { key: 0 }, [
5037
- o("div", fa, v(s.t("feedback.question")), 1),
5038
- o("div", _a, v(s.t("feedback.subtitle")), 1),
5039
- o("div", ga, [
5040
- (c(!0), d(I, null, j(s.options, (i) => (c(), d("button", {
5041
+ o("div", ma, v(s.t("feedback.question")), 1),
5042
+ o("div", fa, v(s.t("feedback.subtitle")), 1),
5043
+ o("div", _a, [
5044
+ (c(!0), d(I, null, F(s.options, (i) => (c(), d("button", {
5041
5045
  key: i.v,
5042
5046
  type: "button",
5043
5047
  class: R(["wm-fb__opt", { "is-selected": a.sel === i.v }]),
5044
5048
  onClick: (l) => a.sel = i.v
5045
5049
  }, [
5046
- o("span", va, v(i.e), 1),
5047
- o("span", ya, v(i.l), 1)
5048
- ], 10, pa))), 128))
5050
+ o("span", pa, v(i.e), 1),
5051
+ o("span", va, v(i.l), 1)
5052
+ ], 10, ga))), 128))
5049
5053
  ]),
5050
5054
  o("button", {
5051
5055
  type: "button",
5052
5056
  class: "wm-fb__send",
5053
5057
  disabled: !a.sel || n.busy,
5054
5058
  onClick: t[0] || (t[0] = (...i) => s.onSend && s.onSend(...i))
5055
- }, v(n.busy ? s.t("common.sending") : s.t("feedback.submit")), 9, wa)
5059
+ }, v(n.busy ? s.t("common.sending") : s.t("feedback.submit")), 9, ya)
5056
5060
  ], 64))
5057
5061
  ]);
5058
5062
  }
5059
- const Sa = /* @__PURE__ */ P(ha, [["render", Aa], ["__scopeId", "data-v-9b630564"]]), Ma = {
5063
+ const Aa = /* @__PURE__ */ P(ua, [["render", Ca], ["__scopeId", "data-v-9b630564"]]), Sa = {
5060
5064
  name: "WmMoreMenu",
5061
5065
  inject: {
5062
5066
  // Translator shared by the Messenger shell; French fallback when
5063
5067
  // the component is used standalone.
5064
- t: { default: () => F() }
5068
+ t: { default: () => j() }
5065
5069
  },
5066
5070
  props: {
5067
5071
  canRename: { type: Boolean, default: !0 },
@@ -5091,24 +5095,24 @@ const Sa = /* @__PURE__ */ P(ha, [["render", Aa], ["__scopeId", "data-v-9b630564
5091
5095
  this.soundOn = !this.soundOn, this.$emit("sound-toggle", this.soundOn);
5092
5096
  }
5093
5097
  }
5094
- }, Ta = { class: "wm-mm" }, xa = {
5098
+ }, Ma = { class: "wm-mm" }, Ta = {
5095
5099
  class: "wm-mm__pop",
5096
5100
  role: "menu"
5097
- }, Oa = {
5101
+ }, xa = {
5098
5102
  key: 0,
5099
5103
  class: "wm-mm__section"
5100
- }, Ra = { class: "wm-mm__label" }, La = { class: "wm-mm__label" }, Ia = {
5104
+ }, Oa = { class: "wm-mm__label" }, Ra = { class: "wm-mm__label" }, La = {
5101
5105
  key: 1,
5102
5106
  class: "wm-mm__sep"
5103
- }, Ea = { class: "wm-mm__section" }, Ba = { class: "wm-mm__label" }, Pa = { class: "wm-mm__section" }, Ua = { class: "wm-mm__label" }, Da = { class: "wm-mm__label" };
5104
- function Na(e, t, n, r, a, s) {
5105
- return c(), d("div", Ta, [
5107
+ }, Ia = { class: "wm-mm__section" }, Ea = { class: "wm-mm__label" }, Ba = { class: "wm-mm__section" }, Pa = { class: "wm-mm__label" }, Ua = { class: "wm-mm__label" };
5108
+ function Da(e, t, n, r, a, s) {
5109
+ return c(), d("div", Ma, [
5106
5110
  o("div", {
5107
5111
  class: "wm-mm__scrim",
5108
5112
  onClick: t[0] || (t[0] = (i) => e.$emit("close"))
5109
5113
  }),
5110
- o("div", xa, [
5111
- n.canRename || n.canExport ? (c(), d("div", Oa, [
5114
+ o("div", Ta, [
5115
+ n.canRename || n.canExport ? (c(), d("div", xa, [
5112
5116
  n.canRename ? (c(), d("button", {
5113
5117
  key: 0,
5114
5118
  type: "button",
@@ -5131,8 +5135,8 @@ function Na(e, t, n, r, a, s) {
5131
5135
  o("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z" })
5132
5136
  ])
5133
5137
  ], -1)),
5134
- o("span", Ra, v(s.t("moreMenu.editTitle")), 1)
5135
- ])) : b("", !0),
5138
+ o("span", Oa, v(s.t("moreMenu.editTitle")), 1)
5139
+ ])) : w("", !0),
5136
5140
  n.canExport ? (c(), d("button", {
5137
5141
  key: 1,
5138
5142
  type: "button",
@@ -5154,12 +5158,12 @@ function Na(e, t, n, r, a, s) {
5154
5158
  o("path", { d: "M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13" })
5155
5159
  ])
5156
5160
  ], -1)),
5157
- o("span", La, v(s.t("moreMenu.exportTranscript")), 1),
5161
+ o("span", Ra, v(s.t("moreMenu.exportTranscript")), 1),
5158
5162
  t[8] || (t[8] = o("span", { class: "wm-mm__hint" }, ".txt", -1))
5159
- ])) : b("", !0)
5160
- ])) : b("", !0),
5161
- n.canRename || n.canExport ? (c(), d("div", Ia)) : b("", !0),
5162
- o("div", Ea, [
5163
+ ])) : w("", !0)
5164
+ ])) : w("", !0),
5165
+ n.canRename || n.canExport ? (c(), d("div", La)) : w("", !0),
5166
+ o("div", Ia, [
5163
5167
  o("button", {
5164
5168
  type: "button",
5165
5169
  class: "wm-mm__item",
@@ -5181,7 +5185,7 @@ function Na(e, t, n, r, a, s) {
5181
5185
  o("path", { d: "M15.54 8.46a5 5 0 010 7.07M19.07 4.93a10 10 0 010 14.14" })
5182
5186
  ])
5183
5187
  ], -1)),
5184
- o("span", Ba, v(s.t("moreMenu.sound")), 1),
5188
+ o("span", Ea, v(s.t("moreMenu.sound")), 1),
5185
5189
  o("span", {
5186
5190
  class: R(["wm-mm__toggle", { "wm-mm__toggle--on": a.soundOn }])
5187
5191
  }, [...t[9] || (t[9] = [
@@ -5190,7 +5194,7 @@ function Na(e, t, n, r, a, s) {
5190
5194
  ])
5191
5195
  ]),
5192
5196
  t[13] || (t[13] = o("div", { class: "wm-mm__sep" }, null, -1)),
5193
- o("div", Pa, [
5197
+ o("div", Ba, [
5194
5198
  n.statusUrl ? (c(), d("button", {
5195
5199
  key: 0,
5196
5200
  type: "button",
@@ -5212,8 +5216,8 @@ function Na(e, t, n, r, a, s) {
5212
5216
  o("path", { d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zM10 6v4l3 2" })
5213
5217
  ])
5214
5218
  ], -1)),
5215
- o("span", Ua, v(s.t("moreMenu.serviceStatus")), 1)
5216
- ])) : b("", !0),
5219
+ o("span", Pa, v(s.t("moreMenu.serviceStatus")), 1)
5220
+ ])) : w("", !0),
5217
5221
  n.helpUrl ? (c(), d("button", {
5218
5222
  key: 1,
5219
5223
  type: "button",
@@ -5235,18 +5239,18 @@ function Na(e, t, n, r, a, s) {
5235
5239
  o("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" })
5236
5240
  ])
5237
5241
  ], -1)),
5238
- o("span", Da, v(s.t("moreMenu.helpCenter")), 1)
5239
- ])) : b("", !0)
5242
+ o("span", Ua, v(s.t("moreMenu.helpCenter")), 1)
5243
+ ])) : w("", !0)
5240
5244
  ])
5241
5245
  ])
5242
5246
  ]);
5243
5247
  }
5244
- const ja = /* @__PURE__ */ P(Ma, [["render", Na], ["__scopeId", "data-v-4cf6d578"]]), Fa = {
5248
+ const Na = /* @__PURE__ */ P(Sa, [["render", Da], ["__scopeId", "data-v-4cf6d578"]]), Fa = {
5245
5249
  name: "WmRenameDialog",
5246
5250
  inject: {
5247
5251
  // Translator shared by the Messenger shell; French fallback when
5248
5252
  // the component is used standalone.
5249
- t: { default: () => F() }
5253
+ t: { default: () => j() }
5250
5254
  },
5251
5255
  props: {
5252
5256
  // Empty defaults: the resolved fallback comes from the translator
@@ -5283,20 +5287,20 @@ const ja = /* @__PURE__ */ P(Ma, [["render", Na], ["__scopeId", "data-v-4cf6d578
5283
5287
  this.canSubmit && this.$emit("submit", this.value.trim());
5284
5288
  }
5285
5289
  }
5286
- }, Ha = { class: "wm-dialog" }, za = {
5290
+ }, ja = { class: "wm-dialog" }, Ha = {
5287
5291
  class: "wm-dialog__card",
5288
5292
  role: "dialog",
5289
5293
  "aria-modal": "true"
5290
- }, qa = { class: "wm-dialog__head" }, $a = { class: "wm-dialog__title" }, Va = ["aria-label"], Ka = { class: "wm-dialog__body" }, Wa = ["placeholder"], Ga = { class: "wm-dialog__actions" }, Ya = ["disabled"];
5291
- function Ja(e, t, n, r, a, s) {
5292
- return c(), d("div", Ha, [
5294
+ }, za = { class: "wm-dialog__head" }, qa = { class: "wm-dialog__title" }, $a = ["aria-label"], Va = { class: "wm-dialog__body" }, Ka = ["placeholder"], Wa = { class: "wm-dialog__actions" }, Ga = ["disabled"];
5295
+ function Ya(e, t, n, r, a, s) {
5296
+ return c(), d("div", ja, [
5293
5297
  o("div", {
5294
5298
  class: "wm-dialog__scrim",
5295
5299
  onClick: t[0] || (t[0] = (i) => e.$emit("close"))
5296
5300
  }),
5297
- o("div", za, [
5298
- o("div", qa, [
5299
- o("div", $a, v(n.title || s.t("rename.title")), 1),
5301
+ o("div", Ha, [
5302
+ o("div", za, [
5303
+ o("div", qa, v(n.title || s.t("rename.title")), 1),
5300
5304
  o("button", {
5301
5305
  type: "button",
5302
5306
  class: "wm-dialog__close",
@@ -5316,9 +5320,9 @@ function Ja(e, t, n, r, a, s) {
5316
5320
  }, [
5317
5321
  o("path", { d: "M18 6L6 18M6 6l12 12" })
5318
5322
  ], -1)
5319
- ])], 8, Va)
5323
+ ])], 8, $a)
5320
5324
  ]),
5321
- o("div", Ka, [
5325
+ o("div", Va, [
5322
5326
  G(o("input", {
5323
5327
  ref: "input",
5324
5328
  "onUpdate:modelValue": t[2] || (t[2] = (i) => a.value = i),
@@ -5330,11 +5334,11 @@ function Ja(e, t, n, r, a, s) {
5330
5334
  t[3] || (t[3] = ge(J((...i) => s.onSubmit && s.onSubmit(...i), ["prevent"]), ["enter"])),
5331
5335
  t[4] || (t[4] = ge(J((i) => e.$emit("close"), ["prevent"]), ["esc"]))
5332
5336
  ]
5333
- }, null, 40, Wa), [
5337
+ }, null, 40, Ka), [
5334
5338
  [te, a.value]
5335
5339
  ])
5336
5340
  ]),
5337
- o("div", Ga, [
5341
+ o("div", Wa, [
5338
5342
  o("button", {
5339
5343
  type: "button",
5340
5344
  class: "wm-dialog__btn",
@@ -5345,26 +5349,26 @@ function Ja(e, t, n, r, a, s) {
5345
5349
  class: "wm-dialog__btn wm-dialog__btn--primary",
5346
5350
  disabled: !s.canSubmit,
5347
5351
  onClick: t[6] || (t[6] = (...i) => s.onSubmit && s.onSubmit(...i))
5348
- }, v(s.t("common.save")), 9, Ya)
5352
+ }, v(s.t("common.save")), 9, Ga)
5349
5353
  ])
5350
5354
  ])
5351
5355
  ]);
5352
5356
  }
5353
- const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8"]]), De = "ww-messenger-tokens", Qa = {
5357
+ const Ja = /* @__PURE__ */ P(Fa, [["render", Ya], ["__scopeId", "data-v-6d5f94a8"]]), De = "ww-messenger-tokens", Xa = {
5354
5358
  name: "Messenger",
5355
5359
  components: {
5356
5360
  Launcher: qt,
5357
5361
  Header: _n,
5358
5362
  Onboarding: Jn,
5359
5363
  History: hs,
5360
- MessageList: ii,
5361
- Composer: Ai,
5362
- SuggestionChips: xi,
5363
- ApprovalCard: Ni,
5364
- FormCard: ua,
5365
- Feedback: Sa,
5366
- MoreMenu: ja,
5367
- RenameDialog: Xa
5364
+ MessageList: ri,
5365
+ Composer: Ci,
5366
+ SuggestionChips: Ti,
5367
+ ApprovalCard: Di,
5368
+ FormCard: da,
5369
+ Feedback: Aa,
5370
+ MoreMenu: Na,
5371
+ RenameDialog: Ja
5368
5372
  },
5369
5373
  mixins: [
5370
5374
  yt,
@@ -5541,7 +5545,7 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
5541
5545
  // `locale` changes. `t()` below (and the provided closure) delegate
5542
5546
  // to it so every string resolves against the current language.
5543
5547
  translator() {
5544
- return F(this.locale);
5548
+ return j(this.locale);
5545
5549
  },
5546
5550
  error() {
5547
5551
  var e;
@@ -5575,8 +5579,8 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
5575
5579
  var k;
5576
5580
  const a = e[r.id] || [], s = Y(r.last_read_message_id);
5577
5581
  let i = 0, l = null;
5578
- for (let w = a.length - 1; w >= 0; w--) {
5579
- const T = a[w];
5582
+ for (let b = a.length - 1; b >= 0; b--) {
5583
+ const T = a[b];
5580
5584
  if (!T) continue;
5581
5585
  if (((k = T.author) == null ? void 0 : k.type) === "user") break;
5582
5586
  const E = Y(T.id);
@@ -5586,11 +5590,11 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
5586
5590
  }
5587
5591
  }
5588
5592
  if (!a.length) {
5589
- const w = Y(r.last_message_id);
5590
- w != null && (s == null || w > s) && (i = 1, l = r.last_message_author || null);
5593
+ const b = Y(r.last_message_id);
5594
+ b != null && (s == null || b > s) && (i = 1, l = r.last_message_author || null);
5591
5595
  }
5592
5596
  const g = a.filter(
5593
- (w) => !((w == null ? void 0 : w.id) != null && t[w.id] === 0)
5597
+ (b) => !((b == null ? void 0 : b.id) != null && t[b.id] === 0)
5594
5598
  );
5595
5599
  return {
5596
5600
  ...r,
@@ -5797,8 +5801,8 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
5797
5801
  if (!(i != null && i.loaded)) return t;
5798
5802
  }
5799
5803
  const n = this.revealedAt, r = (this.s.messagesByConv[e.id] || []).filter((i) => {
5800
- var l, g, k, w, T;
5801
- return (i == null ? void 0 : i.type) === "action" && ((l = i == null ? void 0 : i.payload) == null ? void 0 : l.state) === "pending" || he(i) && !(n[i.id] > 0) ? !1 : (i == null ? void 0 : i.type) === "action" || (i == null ? void 0 : i.type) === "system" || ((g = i == null ? void 0 : i.payload) == null ? void 0 : g.type) === "system" || Array.isArray((k = i == null ? void 0 : i.payload) == null ? void 0 : k.attachments) && i.payload.attachments.length || (w = i == null ? void 0 : i.metadata) != null && w.artifact || (T = i == null ? void 0 : i.metadata) != null && T.form ? !0 : typeof (i == null ? void 0 : i.text_md) == "string" && i.text_md.trim().length > 0;
5804
+ var l, g, k, b, T;
5805
+ return (i == null ? void 0 : i.type) === "action" && ((l = i == null ? void 0 : i.payload) == null ? void 0 : l.state) === "pending" || he(i) && !(n[i.id] > 0) ? !1 : (i == null ? void 0 : i.type) === "action" || (i == null ? void 0 : i.type) === "system" || ((g = i == null ? void 0 : i.payload) == null ? void 0 : g.type) === "system" || Array.isArray((k = i == null ? void 0 : i.payload) == null ? void 0 : k.attachments) && i.payload.attachments.length || (b = i == null ? void 0 : i.metadata) != null && b.artifact || (T = i == null ? void 0 : i.metadata) != null && T.form ? !0 : typeof (i == null ? void 0 : i.text_md) == "string" && i.text_md.trim().length > 0;
5802
5806
  });
5803
5807
  return t.length ? [...t, ...r] : r;
5804
5808
  },
@@ -5842,7 +5846,7 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
5842
5846
  const t = (g = (l = (i = this.pendingApproval) == null ? void 0 : i.payload) == null ? void 0 : l.pending) == null ? void 0 : g.prepared_params;
5843
5847
  if (!t || typeof t != "object") return "";
5844
5848
  const n = Object.entries(t);
5845
- return n.length ? n.slice(0, 2).map(([k, w]) => `${k}: ${w}`).join(" · ") : "";
5849
+ return n.length ? n.slice(0, 2).map(([k, b]) => `${k}: ${b}`).join(" · ") : "";
5846
5850
  },
5847
5851
  actionInFlight() {
5848
5852
  var e, t;
@@ -6116,14 +6120,7 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6116
6120
  }
6117
6121
  },
6118
6122
  async refresh() {
6119
- this.store && this.store.destroy(), this.cancelReveals(), this.cancelWelcomeTimers(), this.welcomeRevealedAt = {}, this.teardownLiveReveal(), this.teardownNotifications(), this.convOpenedAt = 0, this.transport = null, this.store = null, this.isOpen = !1, this.draft = "", this.busy = !1, this.bootError = null;
6120
- for (const e of this.pendingAttachments)
6121
- if (e != null && e._previewUrl)
6122
- try {
6123
- URL.revokeObjectURL(e._previewUrl);
6124
- } catch {
6125
- }
6126
- this.pendingAttachments = [], this.feedbackBusy = !1, this.feedbackDone = !1, this.moreOpen = !1, this.renameDialogOpen = !1, this.draftConv = null, this.activeConvId = null, this.showOnboarding = !1, this.showHistory = !1, this.backToHistory = !1, await this.boot(), this.isEmbedded && this.store && await this.open();
6123
+ this.store && this.store.destroy(), this.cancelReveals(), this.cancelWelcomeTimers(), this.welcomeRevealedAt = {}, this.teardownLiveReveal(), this.teardownNotifications(), this.convOpenedAt = 0, this.transport = null, this.store = null, this.isOpen = !1, this.draft = "", this.busy = !1, this.bootError = null, this.pendingAttachments = [], this.feedbackBusy = !1, this.feedbackDone = !1, this.moreOpen = !1, this.renameDialogOpen = !1, this.draftConv = null, this.activeConvId = null, this.showOnboarding = !1, this.showHistory = !1, this.backToHistory = !1, await this.boot(), this.isEmbedded && this.store && await this.open();
6127
6124
  },
6128
6125
  // ── Float overlay measurement ────────────────────────────────────
6129
6126
  syncFloatObserver(e) {
@@ -6199,9 +6196,9 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6199
6196
  this.launcherHovered = e, this.sendCurrentLauncherSize();
6200
6197
  },
6201
6198
  sendCurrentLauncherSize() {
6202
- var w, T, E, A, q, M, D;
6199
+ var b, T, E, A, q, M, D;
6203
6200
  if (this.isOpen) return;
6204
- const e = (T = (w = this.$el) == null ? void 0 : w.querySelector) == null ? void 0 : T.call(w, ".wm-launcherWrap");
6201
+ const e = (T = (b = this.$el) == null ? void 0 : b.querySelector) == null ? void 0 : T.call(b, ".wm-launcherWrap");
6205
6202
  if (!e) return;
6206
6203
  const t = e.getBoundingClientRect();
6207
6204
  if (!t.width || !t.height) return;
@@ -6441,12 +6438,7 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6441
6438
  const n = t.id, r = this.pendingAttachments.slice();
6442
6439
  this.pendingAttachments = [], this.unreadAnchorId = null, this.unreadBoundaryTs = "";
6443
6440
  const a = r.map((s) => {
6444
- const { _previewUrl: i, ...l } = s;
6445
- if (i)
6446
- try {
6447
- URL.revokeObjectURL(i);
6448
- } catch {
6449
- }
6441
+ const { previewUrl: i, ...l } = s;
6450
6442
  return l;
6451
6443
  });
6452
6444
  await this.store.send(n, e, {
@@ -6482,11 +6474,6 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6482
6474
  }
6483
6475
  }));
6484
6476
  },
6485
- // True for attachments whose mime type makes them eligible for a
6486
- // local-blob thumbnail in the pending strip.
6487
- isPendingImage(e) {
6488
- return ((e == null ? void 0 : e.mime_type) || "").toLowerCase().startsWith("image/");
6489
- },
6490
6477
  // Human-readable size label (bytes / KB / MB) for the pending
6491
6478
  // file-card footer. Returns an empty string when the size is
6492
6479
  // unknown so the row keeps a single-line layout.
@@ -6497,40 +6484,32 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6497
6484
  size: (e / (1024 * 1024)).toFixed(1)
6498
6485
  }) : "";
6499
6486
  },
6500
- // Drop a pending attachment from the strip, revoking the blob URL
6501
- // we created at attach time so the browser releases the underlying
6502
- // memory. Safe to call on non-image attachments (the field is
6503
- // simply absent).
6487
+ // Drop a pending attachment from the strip.
6504
6488
  removePendingAttachment(e) {
6505
- const t = this.pendingAttachments[e];
6506
- if (t != null && t._previewUrl)
6507
- try {
6508
- URL.revokeObjectURL(t._previewUrl);
6509
- } catch {
6510
- }
6511
6489
  this.pendingAttachments.splice(e, 1);
6512
6490
  },
6513
6491
  async onAttach(e) {
6514
- if (!e || !this.transport) return;
6515
- const n = (e.type || "").toLowerCase().startsWith("image/") ? URL.createObjectURL(e) : null;
6516
- try {
6517
- const r = await this.transport.uploadAttachment(e);
6518
- this.pendingAttachments.push({
6519
- type: r.type || "file",
6520
- path: r.path,
6521
- name: e.name || this.t("attachment.fileFallbackName"),
6522
- mime_type: e.type,
6523
- size_bytes: e.size,
6524
- _previewUrl: n
6525
- });
6526
- } catch (r) {
6527
- if (n)
6528
- try {
6529
- URL.revokeObjectURL(n);
6530
- } catch {
6531
- }
6532
- console.error("[ww-messenger] attachment upload failed", r);
6533
- }
6492
+ var t, n;
6493
+ if (!(!e || !this.transport))
6494
+ try {
6495
+ const r = await this.transport.uploadAttachment(e), a = (r == null ? void 0 : r.type) === "image" || (e.type || "").toLowerCase().startsWith("image/") || ((r == null ? void 0 : r.mime_type) || "").toLowerCase().startsWith("image/");
6496
+ let s = null;
6497
+ if (a)
6498
+ try {
6499
+ s = await ((n = (t = this.store) == null ? void 0 : t.signAttachment) == null ? void 0 : n.call(t, r.path)) || null;
6500
+ } catch {
6501
+ }
6502
+ this.pendingAttachments.push({
6503
+ type: r.type || "file",
6504
+ path: r.path,
6505
+ name: e.name || this.t("attachment.fileFallbackName"),
6506
+ mime_type: e.type,
6507
+ size_bytes: e.size,
6508
+ previewUrl: s
6509
+ });
6510
+ } catch (r) {
6511
+ console.error("[ww-messenger] attachment upload failed", r);
6512
+ }
6534
6513
  },
6535
6514
  // Délégation des clics sur les liens `<a href="#...">` rendus dans le
6536
6515
  // panel (typiquement par le markdown des messages agent). On capture
@@ -6592,35 +6571,35 @@ const Xa = /* @__PURE__ */ P(Fa, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6592
6571
  }
6593
6572
  }
6594
6573
  }
6595
- }, Za = {
6574
+ }, Qa = {
6596
6575
  key: 0,
6597
6576
  class: "wm-loading",
6598
6577
  "aria-busy": "true",
6599
6578
  "aria-live": "polite"
6600
- }, eo = ["aria-label"], to = {
6579
+ }, Za = ["aria-label"], eo = {
6601
6580
  key: 0,
6602
6581
  class: "wm-state"
6603
- }, no = { class: "wm-state__err" }, so = { class: "wm-state__errTitle" }, ro = { class: "wm-state__errSub" }, io = { class: "wm-bottom" }, ao = {
6582
+ }, to = { class: "wm-state__err" }, no = { class: "wm-state__errTitle" }, so = { class: "wm-state__errSub" }, ro = { class: "wm-bottom" }, io = {
6604
6583
  key: 0,
6605
6584
  ref: "floatEl",
6606
6585
  class: "wm-float"
6607
- }, oo = {
6586
+ }, ao = {
6608
6587
  key: 1,
6609
6588
  class: "wm-actionWait",
6610
6589
  role: "status",
6611
6590
  "aria-live": "polite"
6612
- }, lo = { class: "wm-actionWait__lbl" }, co = {
6591
+ }, oo = { class: "wm-actionWait__lbl" }, lo = {
6613
6592
  key: 2,
6614
6593
  class: "wm-attached"
6615
- }, uo = ["src", "alt"], ho = {
6594
+ }, co = ["src", "alt"], uo = {
6616
6595
  key: 1,
6617
6596
  class: "wm-attached__file"
6618
- }, mo = { class: "wm-attached__fileMeta" }, fo = { class: "wm-attached__fileName" }, _o = {
6597
+ }, ho = { class: "wm-attached__fileMeta" }, mo = { class: "wm-attached__fileName" }, fo = {
6619
6598
  key: 0,
6620
6599
  class: "wm-attached__fileSize"
6621
- }, go = ["aria-label", "onClick"];
6622
- function po(e, t, n, r, a, s) {
6623
- const i = B("Launcher"), l = B("Header"), g = B("History"), k = B("Onboarding"), w = B("MessageList"), T = B("ApprovalCard"), E = B("FormCard"), A = B("Feedback"), q = B("SuggestionChips"), M = B("Composer"), D = B("MoreMenu"), N = B("RenameDialog");
6600
+ }, _o = ["aria-label", "onClick"];
6601
+ function go(e, t, n, r, a, s) {
6602
+ const i = B("Launcher"), l = B("Header"), g = B("History"), k = B("Onboarding"), b = B("MessageList"), T = B("ApprovalCard"), E = B("FormCard"), A = B("Feedback"), q = B("SuggestionChips"), M = B("Composer"), D = B("MoreMenu"), N = B("RenameDialog");
6624
6603
  return c(), d("div", {
6625
6604
  class: R(["wm-root", `wm-root--${n.displayMode}`]),
6626
6605
  style: z(s.rootStyle)
@@ -6632,7 +6611,7 @@ function po(e, t, n, r, a, s) {
6632
6611
  onOpen: s.openFromPeek,
6633
6612
  onDismiss: s.dismissPeek,
6634
6613
  onHover: s.onLauncherHover
6635
- }, null, 8, ["unread-count", "peeks", "onOpen", "onDismiss", "onHover"])) : b("", !0),
6614
+ }, null, 8, ["unread-count", "peeks", "onOpen", "onDismiss", "onHover"])) : w("", !0),
6636
6615
  a.isOpen || s.isEmbedded ? (c(), d("section", {
6637
6616
  key: 1,
6638
6617
  class: R([
@@ -6645,8 +6624,8 @@ function po(e, t, n, r, a, s) {
6645
6624
  "aria-label": "Messenger",
6646
6625
  onClick: t[6] || (t[6] = (...L) => s.onPanelClick && s.onPanelClick(...L))
6647
6626
  }, [
6648
- !s.ready && !s.error ? (c(), d("div", Za, [
6649
- s.isEmbedded ? b("", !0) : (c(), d("button", {
6627
+ !s.ready && !s.error ? (c(), d("div", Qa, [
6628
+ s.isEmbedded ? w("", !0) : (c(), d("button", {
6650
6629
  key: 0,
6651
6630
  type: "button",
6652
6631
  class: "wm-loading__close",
@@ -6666,7 +6645,7 @@ function po(e, t, n, r, a, s) {
6666
6645
  }, [
6667
6646
  o("path", { d: "M18 6L6 18M6 6l12 12" })
6668
6647
  ], -1)
6669
- ])], 8, eo)),
6648
+ ])], 8, Za)),
6670
6649
  t[8] || (t[8] = o("div", {
6671
6650
  class: "wm-loading__spinner",
6672
6651
  "aria-hidden": "true"
@@ -6686,8 +6665,8 @@ function po(e, t, n, r, a, s) {
6686
6665
  onMore: s.toggleMore,
6687
6666
  onClose: s.close
6688
6667
  }, null, 8, ["title", "team-members", "response-label", "show-identity", "show-back", "show-close", "more-active", "agent-name", "agent-avatar-url", "onBack", "onMore", "onClose"]),
6689
- s.error ? (c(), d("div", to, [
6690
- o("div", no, [
6668
+ s.error ? (c(), d("div", eo, [
6669
+ o("div", to, [
6691
6670
  t[9] || (t[9] = o("div", { class: "wm-state__errIcon" }, [
6692
6671
  o("svg", {
6693
6672
  width: "14",
@@ -6704,8 +6683,8 @@ function po(e, t, n, r, a, s) {
6704
6683
  ])
6705
6684
  ], -1)),
6706
6685
  o("div", null, [
6707
- o("div", so, v(s.t("error.connectionFailed")), 1),
6708
- o("div", ro, v(s.error), 1)
6686
+ o("div", no, v(s.t("error.connectionFailed")), 1),
6687
+ o("div", so, v(s.error), 1)
6709
6688
  ])
6710
6689
  ])
6711
6690
  ])) : !s.currentConv && a.showHistory ? (c(), U(g, {
@@ -6713,7 +6692,7 @@ function po(e, t, n, r, a, s) {
6713
6692
  threads: s.openThreads,
6714
6693
  onResume: s.onDrawerPick
6715
6694
  }, null, 8, ["threads", "onResume"])) : s.currentConv ? (c(), d(I, { key: 3 }, [
6716
- V(w, {
6695
+ V(b, {
6717
6696
  ref: "messageList",
6718
6697
  messages: s.displayedMessages,
6719
6698
  "streaming-active": s.streamingActive,
@@ -6727,8 +6706,8 @@ function po(e, t, n, r, a, s) {
6727
6706
  "ai-agent-avatar-url": s.agentAvatarUrl,
6728
6707
  onLoadMore: s.onLoadMore
6729
6708
  }, null, 8, ["messages", "streaming-active", "date-label", "conversation-id", "loading-more", "has-more", "unread-anchor-id", "unread-boundary-ts", "ai-agent-name", "ai-agent-avatar-url", "onLoadMore"]),
6730
- o("div", io, [
6731
- s.floatVisible ? (c(), d("div", ao, [
6709
+ o("div", ro, [
6710
+ s.floatVisible ? (c(), d("div", io, [
6732
6711
  s.approvalReady ? (c(), U(T, {
6733
6712
  key: 0,
6734
6713
  action: s.approvalTitle,
@@ -6753,17 +6732,74 @@ function po(e, t, n, r, a, s) {
6753
6732
  items: s.suggestions,
6754
6733
  onSelect: s.onSuggestion
6755
6734
  }, null, 8, ["items", "onSelect"]))
6756
- ], 512)) : b("", !0),
6757
- s.actionInFlight ? (c(), d("div", oo, [
6735
+ ], 512)) : w("", !0),
6736
+ s.actionInFlight ? (c(), d("div", ao, [
6758
6737
  t[10] || (t[10] = o("span", {
6759
6738
  class: "wm-actionWait__spinner",
6760
6739
  "aria-hidden": "true"
6761
6740
  }, null, -1)),
6762
- o("span", lo, v(s.t("action.inProgress", {
6741
+ o("span", oo, v(s.t("action.inProgress", {
6763
6742
  name: s.actionInFlightName
6764
6743
  })), 1)
6765
- ])) : (c(), U(M, {
6766
- key: 2,
6744
+ ])) : w("", !0),
6745
+ a.pendingAttachments.length ? (c(), d("div", lo, [
6746
+ (c(!0), d(I, null, F(a.pendingAttachments, (L, K) => (c(), d("div", {
6747
+ key: L.path || K,
6748
+ class: "wm-attached__item"
6749
+ }, [
6750
+ L.previewUrl ? (c(), d("img", {
6751
+ key: 0,
6752
+ class: "wm-attached__thumb",
6753
+ src: L.previewUrl,
6754
+ alt: L.name
6755
+ }, null, 8, co)) : (c(), d("div", uo, [
6756
+ t[11] || (t[11] = o("span", { class: "wm-attached__fileIcon" }, [
6757
+ o("svg", {
6758
+ width: "16",
6759
+ height: "16",
6760
+ viewBox: "0 0 24 24",
6761
+ fill: "none",
6762
+ stroke: "currentColor",
6763
+ "stroke-width": "1.7",
6764
+ "stroke-linecap": "round",
6765
+ "stroke-linejoin": "round",
6766
+ "aria-hidden": "true"
6767
+ }, [
6768
+ o("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" }),
6769
+ o("path", { d: "M14 2v6h6" })
6770
+ ])
6771
+ ], -1)),
6772
+ o("span", ho, [
6773
+ o("span", mo, v(L.name), 1),
6774
+ s.formatAttachmentSize(L.size_bytes) ? (c(), d("span", fo, v(s.formatAttachmentSize(
6775
+ L.size_bytes
6776
+ )), 1)) : w("", !0)
6777
+ ])
6778
+ ])),
6779
+ o("button", {
6780
+ type: "button",
6781
+ class: "wm-attached__remove",
6782
+ "aria-label": s.t("attachment.remove"),
6783
+ onClick: (Q) => s.removePendingAttachment(K)
6784
+ }, [...t[12] || (t[12] = [
6785
+ o("svg", {
6786
+ width: "10",
6787
+ height: "10",
6788
+ viewBox: "0 0 24 24",
6789
+ fill: "none",
6790
+ stroke: "currentColor",
6791
+ "stroke-width": "2.4",
6792
+ "stroke-linecap": "round",
6793
+ "stroke-linejoin": "round",
6794
+ "aria-hidden": "true"
6795
+ }, [
6796
+ o("path", { d: "M18 6L6 18M6 6l12 12" })
6797
+ ], -1)
6798
+ ])], 8, _o)
6799
+ ]))), 128))
6800
+ ])) : w("", !0),
6801
+ s.actionInFlight ? w("", !0) : (c(), U(M, {
6802
+ key: 3,
6767
6803
  ref: "composer",
6768
6804
  modelValue: a.draft,
6769
6805
  "onUpdate:modelValue": t[2] || (t[2] = (L) => a.draft = L),
@@ -6785,68 +6821,14 @@ function po(e, t, n, r, a, s) {
6785
6821
  onClose: t[3] || (t[3] = (L) => a.moreOpen = !1),
6786
6822
  onSoundToggle: e.onSoundToggle,
6787
6823
  onAction: s.onMoreAction
6788
- }, null, 8, ["can-rename", "can-export", "sound-enabled", "status-url", "help-url", "onSoundToggle", "onAction"])) : b("", !0),
6824
+ }, null, 8, ["can-rename", "can-export", "sound-enabled", "status-url", "help-url", "onSoundToggle", "onAction"])) : w("", !0),
6789
6825
  a.renameDialogOpen && s.currentConv && !s.currentConv._draft ? (c(), U(N, {
6790
6826
  key: 1,
6791
6827
  "initial-value": s.currentConv.name || "",
6792
6828
  title: s.t("rename.dialogTitle"),
6793
6829
  onClose: t[4] || (t[4] = (L) => a.renameDialogOpen = !1),
6794
6830
  onSubmit: s.onRenameSubmit
6795
- }, null, 8, ["initial-value", "title", "onSubmit"])) : b("", !0),
6796
- a.pendingAttachments.length ? (c(), d("div", co, [
6797
- (c(!0), d(I, null, j(a.pendingAttachments, (L, K) => (c(), d("div", {
6798
- key: K,
6799
- class: "wm-attached__item"
6800
- }, [
6801
- s.isPendingImage(L) && L._previewUrl ? (c(), d("img", {
6802
- key: 0,
6803
- class: "wm-attached__thumb",
6804
- src: L._previewUrl,
6805
- alt: L.name
6806
- }, null, 8, uo)) : (c(), d("div", ho, [
6807
- t[11] || (t[11] = o("span", { class: "wm-attached__fileIcon" }, [
6808
- o("svg", {
6809
- width: "16",
6810
- height: "16",
6811
- viewBox: "0 0 24 24",
6812
- fill: "none",
6813
- stroke: "currentColor",
6814
- "stroke-width": "1.7",
6815
- "stroke-linecap": "round",
6816
- "stroke-linejoin": "round",
6817
- "aria-hidden": "true"
6818
- }, [
6819
- o("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" }),
6820
- o("path", { d: "M14 2v6h6" })
6821
- ])
6822
- ], -1)),
6823
- o("span", mo, [
6824
- o("span", fo, v(L.name), 1),
6825
- s.formatAttachmentSize(L.size_bytes) ? (c(), d("span", _o, v(s.formatAttachmentSize(L.size_bytes)), 1)) : b("", !0)
6826
- ])
6827
- ])),
6828
- o("button", {
6829
- type: "button",
6830
- class: "wm-attached__remove",
6831
- "aria-label": s.t("attachment.remove"),
6832
- onClick: (Q) => s.removePendingAttachment(K)
6833
- }, [...t[12] || (t[12] = [
6834
- o("svg", {
6835
- width: "10",
6836
- height: "10",
6837
- viewBox: "0 0 24 24",
6838
- fill: "none",
6839
- stroke: "currentColor",
6840
- "stroke-width": "2.4",
6841
- "stroke-linecap": "round",
6842
- "stroke-linejoin": "round",
6843
- "aria-hidden": "true"
6844
- }, [
6845
- o("path", { d: "M18 6L6 18M6 6l12 12" })
6846
- ], -1)
6847
- ])], 8, go)
6848
- ]))), 128))
6849
- ])) : b("", !0)
6831
+ }, null, 8, ["initial-value", "title", "onSubmit"])) : w("", !0)
6850
6832
  ], 64)) : (c(), U(k, {
6851
6833
  key: 2,
6852
6834
  title: s.widgetTitle,
@@ -6871,58 +6853,58 @@ function po(e, t, n, r, a, s) {
6871
6853
  onClose: t[5] || (t[5] = (L) => a.moreOpen = !1),
6872
6854
  onSoundToggle: e.onSoundToggle,
6873
6855
  onAction: s.onMoreAction
6874
- }, null, 8, ["sound-enabled", "status-url", "help-url", "onSoundToggle", "onAction"])) : b("", !0)
6856
+ }, null, 8, ["sound-enabled", "status-url", "help-url", "onSoundToggle", "onAction"])) : w("", !0)
6875
6857
  ], 64))
6876
- ], 6)) : b("", !0)
6858
+ ], 6)) : w("", !0)
6877
6859
  ], 6);
6878
6860
  }
6879
- const wo = /* @__PURE__ */ P(Qa, [["render", po], ["__scopeId", "data-v-ad854886"]]), bo = "0.5.62";
6861
+ const yo = /* @__PURE__ */ P(Xa, [["render", go], ["__scopeId", "data-v-a54649f6"]]), wo = "0.5.64";
6880
6862
  export {
6881
6863
  oe as AIAvatar,
6882
6864
  be as AVATAR_COLORS,
6883
6865
  As as ActionResult,
6884
- Ni as ApprovalCard,
6866
+ Di as ApprovalCard,
6885
6867
  Es as ArtifactFormResponse,
6886
6868
  Ks as ArtifactInfoCard,
6887
6869
  ur as ArtifactRenderer,
6888
6870
  or as ArtifactTicket,
6889
6871
  Cr as AttachmentPreview,
6890
6872
  Tr as Bubble,
6891
- Ai as Composer,
6873
+ Ci as Composer,
6892
6874
  it as DEFAULT_BASE_URL,
6893
6875
  ue as DEFAULT_LANGUAGE,
6894
- Sa as Feedback,
6895
- ua as FormCard,
6876
+ Aa as Feedback,
6877
+ da as FormCard,
6896
6878
  _n as Header,
6897
6879
  ve as HumanAvatar,
6898
6880
  qt as Launcher,
6899
6881
  Oe as MEDIA_RECORDER_SUPPORTED,
6900
- ii as MessageList,
6901
- wo as Messenger,
6902
- ja as MoreMenu,
6882
+ ri as MessageList,
6883
+ yo as Messenger,
6884
+ Na as MoreMenu,
6903
6885
  Jn as Onboarding,
6904
6886
  pe as SCREEN_CAPTURE_SUPPORTED,
6905
6887
  ut as SUPPORTED_LANGUAGES,
6906
- xi as SuggestionChips,
6888
+ Ti as SuggestionChips,
6907
6889
  tn as TeamAvatars,
6908
6890
  Lr as Typing,
6909
- bo as VERSION,
6891
+ wo as VERSION,
6910
6892
  Me as avatarColor,
6911
6893
  Te as avatarInitials,
6912
- oi as captureScreenshotFile,
6894
+ ai as captureScreenshotFile,
6913
6895
  H as colors,
6914
6896
  st as createStore,
6915
- F as createTranslator,
6897
+ j as createTranslator,
6916
6898
  Ze as createTransport,
6917
6899
  ne as dateLocale,
6918
- wo as default,
6900
+ yo as default,
6919
6901
  Ce as formatTime,
6920
- yo as guessAttachmentKind,
6921
- ai as pickRecorderMime,
6902
+ vo as guessAttachmentKind,
6903
+ ii as pickRecorderMime,
6922
6904
  qe as renderInlineMarkdown,
6923
6905
  ft as renderMarkdown,
6924
6906
  xe as resolveLanguage,
6925
- ci as startScreenRecording,
6907
+ li as startScreenRecording,
6926
6908
  rt as tokensCss,
6927
6909
  nt as uuid,
6928
6910
  nt as v4