@_solaris/messenger-widget 0.2.30 → 0.2.32
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.cjs +5 -5
- package/dist/messenger.embed.js +11 -11
- package/dist/messenger.js +130 -120
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/messenger.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { reactive as Ae, openBlock as l, createElementBlock as d, createVNode as K, Transition as Se, withCtx as xe, withKeys as me, withModifiers as ee, createElementVNode as i, toDisplayString as b, createCommentVNode as
|
|
1
|
+
import { reactive as Ae, openBlock as l, createElementBlock as d, createVNode as K, Transition as Se, withCtx as xe, withKeys as me, withModifiers as ee, createElementVNode as i, toDisplayString as b, createCommentVNode as g, normalizeStyle as G, normalizeClass as B, Fragment as M, renderList as j, resolveComponent as I, createBlock as $, createTextVNode as oe, resolveDynamicComponent as Me, renderSlot as Te, withDirectives as W, vModelText as Q, vModelCheckbox as Oe, vModelSelect as Ie, createStaticVNode as ue, markRaw as fe } from "vue";
|
|
2
2
|
const Be = [
|
|
3
3
|
"connected",
|
|
4
4
|
"message",
|
|
@@ -100,7 +100,7 @@ function Re(t) {
|
|
|
100
100
|
const h = await o("GET", "/customers/me");
|
|
101
101
|
return (h == null ? void 0 : h.customer) ?? null;
|
|
102
102
|
}
|
|
103
|
-
async function
|
|
103
|
+
async function w(h) {
|
|
104
104
|
const f = await o("PATCH", "/customers/me", h);
|
|
105
105
|
return (f == null ? void 0 : f.customer) ?? null;
|
|
106
106
|
}
|
|
@@ -274,7 +274,7 @@ function Re(t) {
|
|
|
274
274
|
// REST
|
|
275
275
|
bootstrap: v,
|
|
276
276
|
getCustomer: k,
|
|
277
|
-
patchCustomer:
|
|
277
|
+
patchCustomer: w,
|
|
278
278
|
listConversations: S,
|
|
279
279
|
createConversation: R,
|
|
280
280
|
getConversation: A,
|
|
@@ -400,7 +400,7 @@ function Ue(t) {
|
|
|
400
400
|
async function v(u) {
|
|
401
401
|
if (e.messagesByConv[u]) return;
|
|
402
402
|
const m = await t.listMessages(u, { limit: c });
|
|
403
|
-
e.messagesByConv[u] = (m == null ? void 0 : m.messages) ?? [],
|
|
403
|
+
e.messagesByConv[u] = (m == null ? void 0 : m.messages) ?? [], w(u, {
|
|
404
404
|
nextCursor: (m == null ? void 0 : m.next_cursor) ?? null,
|
|
405
405
|
loading: !1,
|
|
406
406
|
loaded: !0
|
|
@@ -409,7 +409,7 @@ function Ue(t) {
|
|
|
409
409
|
async function k(u) {
|
|
410
410
|
const m = e.paginationByConv[u];
|
|
411
411
|
if (!(!m || m.loading || !m.nextCursor)) {
|
|
412
|
-
|
|
412
|
+
w(u, { ...m, loading: !0 });
|
|
413
413
|
try {
|
|
414
414
|
let h = m.nextCursor, f = [], p = 0;
|
|
415
415
|
for (; p < 6 && h; p++) {
|
|
@@ -420,17 +420,17 @@ function Ue(t) {
|
|
|
420
420
|
if (f = [...se, ...f], h = (L == null ? void 0 : L.next_cursor) ?? null, !se.length || f.length >= 60) break;
|
|
421
421
|
}
|
|
422
422
|
const C = e.messagesByConv[u] || [], O = new Set(C.map((L) => String(L == null ? void 0 : L.id))), T = [...f.filter((L) => !O.has(String(L == null ? void 0 : L.id))), ...C];
|
|
423
|
-
e.messagesByConv[u] = T,
|
|
423
|
+
e.messagesByConv[u] = T, w(u, {
|
|
424
424
|
nextCursor: h,
|
|
425
425
|
loading: !1,
|
|
426
426
|
loaded: !0
|
|
427
427
|
});
|
|
428
428
|
} catch (_) {
|
|
429
|
-
console.error("[store] loadMore failed", _),
|
|
429
|
+
console.error("[store] loadMore failed", _), w(u, { ...m, loading: !1 });
|
|
430
430
|
}
|
|
431
431
|
}
|
|
432
432
|
}
|
|
433
|
-
function
|
|
433
|
+
function w(u, m) {
|
|
434
434
|
e.paginationByConv = { ...e.paginationByConv, [u]: m };
|
|
435
435
|
}
|
|
436
436
|
async function S(u, m) {
|
|
@@ -757,7 +757,7 @@ function We(t, e, n, a, r, s) {
|
|
|
757
757
|
i("path", { d: "M18 6L6 18M6 6l12 12" })
|
|
758
758
|
], -1)
|
|
759
759
|
])])
|
|
760
|
-
], 32)) :
|
|
760
|
+
], 32)) : g("", !0)
|
|
761
761
|
]),
|
|
762
762
|
_: 1
|
|
763
763
|
}),
|
|
@@ -784,7 +784,7 @@ function We(t, e, n, a, r, s) {
|
|
|
784
784
|
key: 0,
|
|
785
785
|
class: "wm-launcher__badge",
|
|
786
786
|
"aria-label": `${n.unreadCount} conversation${n.unreadCount > 1 ? "s" : ""} non lue${n.unreadCount > 1 ? "s" : ""}`
|
|
787
|
-
}, b(n.unreadCount > 9 ? "9+" : n.unreadCount), 9, qe)) :
|
|
787
|
+
}, b(n.unreadCount > 9 ? "9+" : n.unreadCount), 9, qe)) : g("", !0)
|
|
788
788
|
])
|
|
789
789
|
]);
|
|
790
790
|
}
|
|
@@ -809,7 +809,7 @@ function Xe(t, e, n, a, r, s) {
|
|
|
809
809
|
class: B(["wm-aiav", { "wm-aiav--tail": n.tail }]),
|
|
810
810
|
style: G({ width: n.size + "px", height: n.size + "px", "--wm-avr": n.size * 0.32 + "px" })
|
|
811
811
|
}, [
|
|
812
|
-
n.pulse ? (l(), d("div", Ye)) :
|
|
812
|
+
n.pulse ? (l(), d("div", Ye)) : g("", !0),
|
|
813
813
|
i("div", {
|
|
814
814
|
class: B(["wm-aiav__inner", { "wm-aiav__inner--glow": n.pulse }])
|
|
815
815
|
}, [
|
|
@@ -926,8 +926,8 @@ function at(t, e, n, a, r, s) {
|
|
|
926
926
|
}, null, 8, st)) : (l(), d("span", rt, b(s.initialsFor(o)), 1))
|
|
927
927
|
], 4))), 128))
|
|
928
928
|
], 4),
|
|
929
|
-
n.responseLabel ? (l(), d("span", it, b(n.responseLabel), 1)) :
|
|
930
|
-
])) :
|
|
929
|
+
n.responseLabel ? (l(), d("span", it, b(n.responseLabel), 1)) : g("", !0)
|
|
930
|
+
])) : g("", !0);
|
|
931
931
|
}
|
|
932
932
|
const ot = /* @__PURE__ */ E(tt, [["render", at], ["__scopeId", "data-v-3659b9c1"]]), lt = {
|
|
933
933
|
name: "WmHeader",
|
|
@@ -1015,12 +1015,12 @@ function yt(t, e, n, a, r, s) {
|
|
|
1015
1015
|
key: 0,
|
|
1016
1016
|
members: n.teamMembers,
|
|
1017
1017
|
"response-label": n.responseLabel
|
|
1018
|
-
}, null, 8, ["members", "response-label"])) :
|
|
1018
|
+
}, null, 8, ["members", "response-label"])) : g("", !0),
|
|
1019
1019
|
i("span", _t, [
|
|
1020
1020
|
e[4] || (e[4] = i("span", { class: "wm-header__dot" }, null, -1)),
|
|
1021
1021
|
oe(" " + b(s.statusText), 1)
|
|
1022
1022
|
])
|
|
1023
|
-
])) :
|
|
1023
|
+
])) : g("", !0)
|
|
1024
1024
|
])
|
|
1025
1025
|
], 64)) : (l(), d("div", pt)),
|
|
1026
1026
|
i("div", vt, [
|
|
@@ -1055,7 +1055,7 @@ function yt(t, e, n, a, r, s) {
|
|
|
1055
1055
|
r: "1.6"
|
|
1056
1056
|
})
|
|
1057
1057
|
], -1)
|
|
1058
|
-
])], 2)) :
|
|
1058
|
+
])], 2)) : g("", !0),
|
|
1059
1059
|
n.showClose ? (l(), d("button", {
|
|
1060
1060
|
key: 1,
|
|
1061
1061
|
type: "button",
|
|
@@ -1077,7 +1077,7 @@ function yt(t, e, n, a, r, s) {
|
|
|
1077
1077
|
}, [
|
|
1078
1078
|
i("path", { d: "M18 6L6 18M6 6l12 12" })
|
|
1079
1079
|
], -1)
|
|
1080
|
-
])])) :
|
|
1080
|
+
])])) : g("", !0)
|
|
1081
1081
|
])
|
|
1082
1082
|
]);
|
|
1083
1083
|
}
|
|
@@ -1188,7 +1188,7 @@ function Nt(t, e, n, a, r, s) {
|
|
|
1188
1188
|
], -1))
|
|
1189
1189
|
], 8, Mt))), 128))
|
|
1190
1190
|
])
|
|
1191
|
-
])) :
|
|
1191
|
+
])) : g("", !0),
|
|
1192
1192
|
n.quickLinks.length ? (l(), d("div", Bt, [
|
|
1193
1193
|
e[5] || (e[5] = i("div", { class: "wm-onb__section-title" }, "Accès rapide", -1)),
|
|
1194
1194
|
i("div", Et, [
|
|
@@ -1222,7 +1222,7 @@ function Nt(t, e, n, a, r, s) {
|
|
|
1222
1222
|
], -1))
|
|
1223
1223
|
], 8, Lt))), 128))
|
|
1224
1224
|
])
|
|
1225
|
-
])) :
|
|
1225
|
+
])) : g("", !0),
|
|
1226
1226
|
i("div", Dt, [
|
|
1227
1227
|
i("button", {
|
|
1228
1228
|
type: "button",
|
|
@@ -1334,11 +1334,11 @@ function Qt(t, e, n, a, r, s) {
|
|
|
1334
1334
|
"aria-hidden": "true"
|
|
1335
1335
|
}, " · ", -1)),
|
|
1336
1336
|
i("span", Xt, b(s.detailText), 1)
|
|
1337
|
-
], 64)) :
|
|
1337
|
+
], 64)) : g("", !0)
|
|
1338
1338
|
])
|
|
1339
1339
|
], 2);
|
|
1340
1340
|
}
|
|
1341
|
-
const Zt = /* @__PURE__ */ E(zt, [["render", Qt], ["__scopeId", "data-v-
|
|
1341
|
+
const Zt = /* @__PURE__ */ E(zt, [["render", Qt], ["__scopeId", "data-v-64a83fb8"]]), en = {
|
|
1342
1342
|
name: "WmArtifactFormResponse",
|
|
1343
1343
|
props: {
|
|
1344
1344
|
data: { type: Object, required: !0 }
|
|
@@ -1420,19 +1420,19 @@ function wn(t, e, n, a, r, s) {
|
|
|
1420
1420
|
alt: n.data.title || "",
|
|
1421
1421
|
loading: "lazy"
|
|
1422
1422
|
}, null, 8, hn)
|
|
1423
|
-
])) :
|
|
1423
|
+
])) : g("", !0),
|
|
1424
1424
|
i("div", mn, [
|
|
1425
1425
|
i("div", fn, [
|
|
1426
1426
|
i("div", _n, b(n.data.title), 1),
|
|
1427
|
-
n.data.subtitle ? (l(), d("div", pn, b(n.data.subtitle), 1)) :
|
|
1427
|
+
n.data.subtitle ? (l(), d("div", pn, b(n.data.subtitle), 1)) : g("", !0)
|
|
1428
1428
|
]),
|
|
1429
1429
|
n.data.badge && n.data.badge.label ? (l(), d("span", {
|
|
1430
1430
|
key: 0,
|
|
1431
1431
|
class: B(["wm-art__badge", `wm-art__badge--${n.data.badge.tone || "neutral"}`])
|
|
1432
|
-
}, b(n.data.badge.label), 3)) :
|
|
1432
|
+
}, b(n.data.badge.label), 3)) : g("", !0)
|
|
1433
1433
|
]),
|
|
1434
1434
|
s.hasBody ? (l(), d("div", vn, [
|
|
1435
|
-
n.data.body ? (l(), d("div", yn, b(n.data.body), 1)) :
|
|
1435
|
+
n.data.body ? (l(), d("div", yn, b(n.data.body), 1)) : g("", !0),
|
|
1436
1436
|
s.fields.length ? (l(!0), d(M, { key: 1 }, j(s.fields, (o, c) => (l(), d("div", {
|
|
1437
1437
|
key: c,
|
|
1438
1438
|
class: "wm-art__field"
|
|
@@ -1441,8 +1441,8 @@ function wn(t, e, n, a, r, s) {
|
|
|
1441
1441
|
i("div", {
|
|
1442
1442
|
class: B(["wm-art__fieldValue", { "wm-art__fieldValue--multi": o.multiline }])
|
|
1443
1443
|
}, b(o.value), 3)
|
|
1444
|
-
]))), 128)) :
|
|
1445
|
-
])) :
|
|
1444
|
+
]))), 128)) : g("", !0)
|
|
1445
|
+
])) : g("", !0)
|
|
1446
1446
|
]);
|
|
1447
1447
|
}
|
|
1448
1448
|
const bn = /* @__PURE__ */ E(cn, [["render", wn], ["__scopeId", "data-v-d7369333"]]);
|
|
@@ -1541,7 +1541,7 @@ function Rn(t, e, n, a, r, s) {
|
|
|
1541
1541
|
oe(" " + b(n.data.status.label), 1)
|
|
1542
1542
|
], 2)
|
|
1543
1543
|
]),
|
|
1544
|
-
n.data.body ? (l(), d("div", On, b(n.data.body), 1)) :
|
|
1544
|
+
n.data.body ? (l(), d("div", On, b(n.data.body), 1)) : g("", !0)
|
|
1545
1545
|
]),
|
|
1546
1546
|
s.fields.length ? (l(), d("div", In, [
|
|
1547
1547
|
(l(!0), d(M, null, j(s.fields, (o, c) => (l(), d("div", {
|
|
@@ -1591,11 +1591,11 @@ function Rn(t, e, n, a, r, s) {
|
|
|
1591
1591
|
rx: "2"
|
|
1592
1592
|
}, null, -1),
|
|
1593
1593
|
i("path", { d: "M16 2v4M8 2v4M3 10h18" }, null, -1)
|
|
1594
|
-
])])) :
|
|
1594
|
+
])])) : g("", !0),
|
|
1595
1595
|
i("span", null, b(o.value), 1)
|
|
1596
1596
|
], 2)
|
|
1597
1597
|
]))), 128))
|
|
1598
|
-
])) :
|
|
1598
|
+
])) : g("", !0),
|
|
1599
1599
|
n.data.created_at ? (l(), d("div", $n, [
|
|
1600
1600
|
e[4] || (e[4] = i("svg", {
|
|
1601
1601
|
width: "11",
|
|
@@ -1618,7 +1618,7 @@ function Rn(t, e, n, a, r, s) {
|
|
|
1618
1618
|
i("path", { d: "M16 2v4M8 2v4M3 10h18" })
|
|
1619
1619
|
], -1)),
|
|
1620
1620
|
i("span", null, b(s.formattedDate), 1)
|
|
1621
|
-
])) :
|
|
1621
|
+
])) : g("", !0)
|
|
1622
1622
|
]);
|
|
1623
1623
|
}
|
|
1624
1624
|
const Fn = /* @__PURE__ */ E(Cn, [["render", Rn], ["__scopeId", "data-v-8b274eb7"]]), jn = {
|
|
@@ -1644,7 +1644,7 @@ function Un(t, e, n, a, r, s) {
|
|
|
1644
1644
|
return s.component ? (l(), $(Me(s.component), {
|
|
1645
1645
|
key: 0,
|
|
1646
1646
|
data: n.artifact.data
|
|
1647
|
-
}, null, 8, ["data"])) :
|
|
1647
|
+
}, null, 8, ["data"])) : g("", !0);
|
|
1648
1648
|
}
|
|
1649
1649
|
const Nn = /* @__PURE__ */ E(Dn, [["render", Un]]), Pn = {
|
|
1650
1650
|
name: "WmAttachmentPreview",
|
|
@@ -1761,9 +1761,9 @@ function Xn(t, e, n, a, r, s) {
|
|
|
1761
1761
|
], -1)),
|
|
1762
1762
|
i("span", Kn, [
|
|
1763
1763
|
i("span", Gn, b(s.displayName), 1),
|
|
1764
|
-
s.sizeLabel ? (l(), d("span", Yn, b(s.sizeLabel), 1)) :
|
|
1764
|
+
s.sizeLabel ? (l(), d("span", Yn, b(s.sizeLabel), 1)) : g("", !0)
|
|
1765
1765
|
]),
|
|
1766
|
-
r.loading ? (l(), d("span", Jn)) :
|
|
1766
|
+
r.loading ? (l(), d("span", Jn)) : g("", !0)
|
|
1767
1767
|
], 8, Wn))
|
|
1768
1768
|
], 2);
|
|
1769
1769
|
}
|
|
@@ -1809,19 +1809,19 @@ function ts(t) {
|
|
|
1809
1809
|
if (!S) break;
|
|
1810
1810
|
k.push(S[1]), a++;
|
|
1811
1811
|
}
|
|
1812
|
-
const
|
|
1813
|
-
n.push({ type: "block", html: `<ul class="wm-md-ul">${
|
|
1812
|
+
const w = k.map((S) => `<li>${re(S)}</li>`).join("");
|
|
1813
|
+
n.push({ type: "block", html: `<ul class="wm-md-ul">${w}</ul>` });
|
|
1814
1814
|
continue;
|
|
1815
1815
|
}
|
|
1816
1816
|
const c = /^\s*(\d+)\.\s+(.*)$/.exec(s);
|
|
1817
1817
|
if (c) {
|
|
1818
|
-
const k = parseInt(c[1], 10),
|
|
1818
|
+
const k = parseInt(c[1], 10), w = [c[2]];
|
|
1819
1819
|
for (a++; a < e.length; ) {
|
|
1820
1820
|
const A = /^\s*\d+\.\s+(.*)$/.exec(e[a]);
|
|
1821
1821
|
if (!A) break;
|
|
1822
|
-
|
|
1822
|
+
w.push(A[1]), a++;
|
|
1823
1823
|
}
|
|
1824
|
-
const S =
|
|
1824
|
+
const S = w.map((A) => `<li>${re(A)}</li>`).join(""), R = k !== 1 ? ` start="${k}"` : "";
|
|
1825
1825
|
n.push({ type: "block", html: `<ol class="wm-md-ol"${R}>${S}</ol>` });
|
|
1826
1826
|
continue;
|
|
1827
1827
|
}
|
|
@@ -1985,7 +1985,7 @@ const ds = {
|
|
|
1985
1985
|
unreadGroupKey() {
|
|
1986
1986
|
if (!this.unreadAnchorTs) return null;
|
|
1987
1987
|
for (const t of this.groups) {
|
|
1988
|
-
if (t.role === "user" || t.role === "system") continue;
|
|
1988
|
+
if (t.role === "user" || t.role === "system" || !t.items.length) continue;
|
|
1989
1989
|
const e = t.messages[0];
|
|
1990
1990
|
if (e != null && e.created_at && !(e.created_at <= this.unreadAnchorTs) && !(this.unreadBoundaryTs && e.created_at > this.unreadBoundaryTs))
|
|
1991
1991
|
return t.key;
|
|
@@ -2195,9 +2195,9 @@ const ds = {
|
|
|
2195
2195
|
// doit garder son arrondi.
|
|
2196
2196
|
cornersFor(t, e) {
|
|
2197
2197
|
var Y, H, J;
|
|
2198
|
-
const n = t.items, a = (Y = n[e]) == null ? void 0 : Y.kind, r = (H = n[e - 1]) == null ? void 0 : H.kind, s = (J = n[e + 1]) == null ? void 0 : J.kind, o = t.role === "user", c = 14, v = 4, k = r == null ? void 0 : r.bottom,
|
|
2198
|
+
const n = t.items, a = (Y = n[e]) == null ? void 0 : Y.kind, r = (H = n[e - 1]) == null ? void 0 : H.kind, s = (J = n[e + 1]) == null ? void 0 : J.kind, o = t.role === "user", c = 14, v = 4, k = r == null ? void 0 : r.bottom, w = s == null ? void 0 : s.top, S = this.widthByKey[this.rowKeyOf(t, e)], R = this.widthByKey[this.rowKeyOf(t, e - 1)], A = this.widthByKey[this.rowKeyOf(t, e + 1)], P = 0.5, x = (q, z, X) => q != null && S != null ? q + P >= S : z === X || z === "card" && X === "bubble";
|
|
2199
2199
|
let U = c, F = c, N = c, V = c;
|
|
2200
|
-
return o ? (k && (F = v), (
|
|
2200
|
+
return o ? (k && (F = v), (w || !s) && (N = v), k && x(R, k, a == null ? void 0 : a.top) && (U = v), w && x(A, w, a == null ? void 0 : a.bottom) && (V = v)) : (k && (U = v), (w || !s) && (V = v), k && x(R, k, a == null ? void 0 : a.top) && (F = v), w && x(A, w, a == null ? void 0 : a.bottom) && (N = v)), { tl: U, tr: F, br: N, bl: V };
|
|
2201
2201
|
},
|
|
2202
2202
|
// Inline style emitting the four corner CSS variables. Set on
|
|
2203
2203
|
// `.wm-list__row` so they cascade to Bubble/ActionResult/
|
|
@@ -2256,14 +2256,23 @@ const ds = {
|
|
|
2256
2256
|
this.widthByKey = Object.freeze(e);
|
|
2257
2257
|
},
|
|
2258
2258
|
lastTimeOf(t) {
|
|
2259
|
-
const e = t.messages[t.messages.length - 1];
|
|
2260
|
-
if (!(
|
|
2259
|
+
const e = t.items[t.items.length - 1], n = (e == null ? void 0 : e.message) || t.messages[t.messages.length - 1];
|
|
2260
|
+
if (!(n != null && n.created_at)) return "";
|
|
2261
2261
|
try {
|
|
2262
|
-
return be(new Date(
|
|
2262
|
+
return be(new Date(n.created_at));
|
|
2263
2263
|
} catch {
|
|
2264
2264
|
return "";
|
|
2265
2265
|
}
|
|
2266
2266
|
},
|
|
2267
|
+
// True quand le DERNIER message du groupe vit uniquement via un
|
|
2268
|
+
// overlay (form-only). On supprime alors la meta-row pour que la
|
|
2269
|
+
// bulle précédente flow visuellement vers l'overlay au lieu d'être
|
|
2270
|
+
// séparée par une estampille rôle + heure.
|
|
2271
|
+
hasTrailingOverlay(t) {
|
|
2272
|
+
if (!t.messages.length) return !1;
|
|
2273
|
+
const e = t.messages[t.messages.length - 1], n = t.items[t.items.length - 1];
|
|
2274
|
+
return !!e && (n == null ? void 0 : n.message) !== e;
|
|
2275
|
+
},
|
|
2267
2276
|
attachmentsOf(t) {
|
|
2268
2277
|
var n;
|
|
2269
2278
|
const e = (n = t == null ? void 0 : t.payload) == null ? void 0 : n.attachments;
|
|
@@ -2333,7 +2342,7 @@ const ds = {
|
|
|
2333
2342
|
class: "wm-list__row wm-list__row--ai fade-up"
|
|
2334
2343
|
}, Ts = { class: "wm-list__avatarSlot" };
|
|
2335
2344
|
function Os(t, e, n, a, r, s) {
|
|
2336
|
-
const o = I("AIAvatar"), c = I("HumanAvatar"), v = I("ActionResult"), k = I("ArtifactRenderer"),
|
|
2345
|
+
const o = I("AIAvatar"), c = I("HumanAvatar"), v = I("ActionResult"), k = I("ArtifactRenderer"), w = I("Bubble"), S = I("AttachmentPreview"), R = I("Typing");
|
|
2337
2346
|
return l(), d("div", {
|
|
2338
2347
|
ref: "scrollEl",
|
|
2339
2348
|
class: B(["wm-list", { "wm-list--silent": r.silentFades }]),
|
|
@@ -2345,12 +2354,12 @@ function Os(t, e, n, a, r, s) {
|
|
|
2345
2354
|
"aria-hidden": "true"
|
|
2346
2355
|
}, null, -1),
|
|
2347
2356
|
i("span", { class: "wm-list__loadMore-lbl" }, "Chargement de l'historique…", -1)
|
|
2348
|
-
])])) : s.historyExhausted ? (l(), d("div", _s, "Début de la conversation")) :
|
|
2357
|
+
])])) : s.historyExhausted ? (l(), d("div", _s, "Début de la conversation")) : g("", !0),
|
|
2349
2358
|
n.dateLabel ? (l(), d("div", ps, [
|
|
2350
2359
|
e[2] || (e[2] = i("div", { class: "wm-list__line" }, null, -1)),
|
|
2351
2360
|
i("span", vs, b(n.dateLabel), 1),
|
|
2352
2361
|
e[3] || (e[3] = i("div", { class: "wm-list__line" }, null, -1))
|
|
2353
|
-
])) :
|
|
2362
|
+
])) : g("", !0),
|
|
2354
2363
|
(l(!0), d(M, null, j(s.groups, (A, P) => (l(), d(M, {
|
|
2355
2364
|
key: A.key
|
|
2356
2365
|
}, [
|
|
@@ -2358,8 +2367,9 @@ function Os(t, e, n, a, r, s) {
|
|
|
2358
2367
|
i("div", { class: "wm-list__line wm-list__line--unread" }, null, -1),
|
|
2359
2368
|
i("span", { class: "wm-list__sep-label wm-list__sep-label--unread" }, "Non lus", -1),
|
|
2360
2369
|
i("div", { class: "wm-list__line wm-list__line--unread" }, null, -1)
|
|
2361
|
-
])])) :
|
|
2362
|
-
|
|
2370
|
+
])])) : g("", !0),
|
|
2371
|
+
A.role === "system" || A.items.length ? (l(), d("div", {
|
|
2372
|
+
key: 1,
|
|
2363
2373
|
class: B(["wm-list__group", "wm-list__group--" + A.role])
|
|
2364
2374
|
}, [
|
|
2365
2375
|
A.role === "system" ? (l(), d("div", gs, [
|
|
@@ -2385,8 +2395,8 @@ function Os(t, e, n, a, r, s) {
|
|
|
2385
2395
|
"avatar-url": A.agentAvatarUrl,
|
|
2386
2396
|
size: 26
|
|
2387
2397
|
}, null, 8, ["name", "avatar-url"]))
|
|
2388
|
-
], 64)) :
|
|
2389
|
-
])) :
|
|
2398
|
+
], 64)) : g("", !0)
|
|
2399
|
+
])) : g("", !0),
|
|
2390
2400
|
x.renderAs === "action" ? (l(), $(v, {
|
|
2391
2401
|
key: 1,
|
|
2392
2402
|
state: x.message.payload.state,
|
|
@@ -2404,11 +2414,11 @@ function Os(t, e, n, a, r, s) {
|
|
|
2404
2414
|
key: 4,
|
|
2405
2415
|
artifact: s.artifactOf(x.message)
|
|
2406
2416
|
}, null, 8, ["artifact"])) : (l(), d("div", Cs, [
|
|
2407
|
-
x.message.text_md ? (l(), $(
|
|
2417
|
+
x.message.text_md ? (l(), $(w, {
|
|
2408
2418
|
key: 0,
|
|
2409
2419
|
role: A.role,
|
|
2410
2420
|
text: x.message.text_md
|
|
2411
|
-
}, null, 8, ["role", "text"])) :
|
|
2421
|
+
}, null, 8, ["role", "text"])) : g("", !0),
|
|
2412
2422
|
s.attachmentsOf(x.message).length ? (l(), d("div", {
|
|
2413
2423
|
key: 1,
|
|
2414
2424
|
class: B(["wm-list__atts", { "wm-list__atts--align-end": A.role === "user" }])
|
|
@@ -2417,19 +2427,19 @@ function Os(t, e, n, a, r, s) {
|
|
|
2417
2427
|
key: `${s.messageKey(x.message)}-att-${N}`,
|
|
2418
2428
|
attachment: F
|
|
2419
2429
|
}, null, 8, ["attachment"]))), 128))
|
|
2420
|
-
], 2)) :
|
|
2430
|
+
], 2)) : g("", !0)
|
|
2421
2431
|
]))
|
|
2422
2432
|
], 14, bs))), 128)),
|
|
2423
|
-
A.role !== "user" || s.lastTimeOf(A) ? (l(), d("div", {
|
|
2433
|
+
(A.role !== "user" || s.lastTimeOf(A)) && !s.hasTrailingOverlay(A) ? (l(), d("div", {
|
|
2424
2434
|
key: 0,
|
|
2425
2435
|
class: B(["wm-list__meta", { "wm-list__meta--right": A.role === "user" }])
|
|
2426
2436
|
}, [
|
|
2427
|
-
A.role !== "user" ? (l(), d("span", As, b(s.roleLabel(A)), 1)) :
|
|
2428
|
-
A.role !== "user" && s.lastTimeOf(A) ? (l(), d("span", Ss, "·")) :
|
|
2429
|
-
s.lastTimeOf(A) ? (l(), d("span", xs, b(s.lastTimeOf(A)), 1)) :
|
|
2430
|
-
], 2)) :
|
|
2437
|
+
A.role !== "user" ? (l(), d("span", As, b(s.roleLabel(A)), 1)) : g("", !0),
|
|
2438
|
+
A.role !== "user" && s.lastTimeOf(A) ? (l(), d("span", Ss, "·")) : g("", !0),
|
|
2439
|
+
s.lastTimeOf(A) ? (l(), d("span", xs, b(s.lastTimeOf(A)), 1)) : g("", !0)
|
|
2440
|
+
], 2)) : g("", !0)
|
|
2431
2441
|
], 64))
|
|
2432
|
-
], 2)
|
|
2442
|
+
], 2)) : g("", !0)
|
|
2433
2443
|
], 64))), 128)),
|
|
2434
2444
|
n.streamingActive ? (l(), d("div", Ms, [
|
|
2435
2445
|
i("div", Ts, [
|
|
@@ -2439,10 +2449,10 @@ function Os(t, e, n, a, r, s) {
|
|
|
2439
2449
|
})
|
|
2440
2450
|
]),
|
|
2441
2451
|
K(R)
|
|
2442
|
-
])) :
|
|
2452
|
+
])) : g("", !0)
|
|
2443
2453
|
], 34);
|
|
2444
2454
|
}
|
|
2445
|
-
const Is = /* @__PURE__ */ E(ms, [["render", Os], ["__scopeId", "data-v-
|
|
2455
|
+
const Is = /* @__PURE__ */ E(ms, [["render", Os], ["__scopeId", "data-v-6bd35fa5"]]), ie = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", he = typeof window < "u" && typeof window.MediaRecorder < "u";
|
|
2446
2456
|
function Bs() {
|
|
2447
2457
|
return he && [
|
|
2448
2458
|
"video/webm;codecs=vp9,opus",
|
|
@@ -2500,54 +2510,54 @@ async function $s(t = {}) {
|
|
|
2500
2510
|
let e;
|
|
2501
2511
|
try {
|
|
2502
2512
|
e = await navigator.mediaDevices.getDisplayMedia(Ce({ audio: !0 }));
|
|
2503
|
-
} catch (
|
|
2504
|
-
return (
|
|
2513
|
+
} catch (w) {
|
|
2514
|
+
return (w == null ? void 0 : w.name) !== "NotAllowedError" && console.error("[media] record picker", w), null;
|
|
2505
2515
|
}
|
|
2506
2516
|
const n = Bs();
|
|
2507
2517
|
let a;
|
|
2508
2518
|
try {
|
|
2509
2519
|
a = n ? new window.MediaRecorder(e, { mimeType: n }) : new window.MediaRecorder(e);
|
|
2510
|
-
} catch (
|
|
2511
|
-
return console.error("[media] recorder init",
|
|
2520
|
+
} catch (w) {
|
|
2521
|
+
return console.error("[media] recorder init", w), e.getTracks().forEach((S) => {
|
|
2512
2522
|
S.stop();
|
|
2513
2523
|
}), null;
|
|
2514
2524
|
}
|
|
2515
2525
|
const r = [];
|
|
2516
2526
|
let s = null, o = !1;
|
|
2517
|
-
a.addEventListener("dataavailable", (
|
|
2518
|
-
|
|
2527
|
+
a.addEventListener("dataavailable", (w) => {
|
|
2528
|
+
w.data && w.data.size > 0 && r.push(w.data);
|
|
2519
2529
|
}), a.addEventListener("stop", () => {
|
|
2520
|
-
var
|
|
2530
|
+
var w, S;
|
|
2521
2531
|
if (s && clearInterval(s), e.getTracks().forEach((R) => {
|
|
2522
2532
|
R.stop();
|
|
2523
2533
|
}), r.length) {
|
|
2524
2534
|
const R = a.mimeType || n || "video/webm", A = new Blob(r, { type: R }), P = /mp4/.test(R) ? "mp4" : "webm", x = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19), U = new File([A], `ecran-${x}.${P}`, { type: R });
|
|
2525
|
-
(
|
|
2535
|
+
(w = t.onfinalize) == null || w.call(t, U);
|
|
2526
2536
|
} else
|
|
2527
2537
|
(S = t.oncancel) == null || S.call(t);
|
|
2528
|
-
}), e.getVideoTracks().forEach((
|
|
2529
|
-
|
|
2538
|
+
}), e.getVideoTracks().forEach((w) => {
|
|
2539
|
+
w.addEventListener("ended", () => c(), { once: !0 });
|
|
2530
2540
|
});
|
|
2531
2541
|
function c() {
|
|
2532
2542
|
if (!o && (o = !0, a.state !== "inactive"))
|
|
2533
2543
|
try {
|
|
2534
2544
|
a.stop();
|
|
2535
|
-
} catch (
|
|
2536
|
-
console.error("[media] recorder stop",
|
|
2545
|
+
} catch (w) {
|
|
2546
|
+
console.error("[media] recorder stop", w);
|
|
2537
2547
|
}
|
|
2538
2548
|
}
|
|
2539
2549
|
try {
|
|
2540
2550
|
a.start(1e3);
|
|
2541
|
-
} catch (
|
|
2542
|
-
return console.error("[media] recorder start",
|
|
2551
|
+
} catch (w) {
|
|
2552
|
+
return console.error("[media] recorder start", w), e.getTracks().forEach((S) => {
|
|
2543
2553
|
S.stop();
|
|
2544
2554
|
}), null;
|
|
2545
2555
|
}
|
|
2546
2556
|
(k = t.onstart) == null || k.call(t);
|
|
2547
2557
|
const v = Date.now();
|
|
2548
2558
|
return s = setInterval(() => {
|
|
2549
|
-
var
|
|
2550
|
-
(
|
|
2559
|
+
var w;
|
|
2560
|
+
(w = t.ontick) == null || w.call(t, Date.now() - v);
|
|
2551
2561
|
}, 500), {
|
|
2552
2562
|
stop: c,
|
|
2553
2563
|
get state() {
|
|
@@ -2723,7 +2733,7 @@ function Ys(t, e, n, a, r, s) {
|
|
|
2723
2733
|
class: "wm-rec__stop",
|
|
2724
2734
|
onClick: e[0] || (e[0] = (...o) => s.stopRecording && s.stopRecording(...o))
|
|
2725
2735
|
}, "Arrêter")
|
|
2726
|
-
])) :
|
|
2736
|
+
])) : g("", !0),
|
|
2727
2737
|
i("form", {
|
|
2728
2738
|
class: B(["wm-compose", { "has-attach": r.attachOpen }]),
|
|
2729
2739
|
onSubmit: e[7] || (e[7] = ee((...o) => s.onSubmit && s.onSubmit(...o), ["prevent"]))
|
|
@@ -2739,7 +2749,7 @@ function Ys(t, e, n, a, r, s) {
|
|
|
2739
2749
|
key: 0,
|
|
2740
2750
|
class: "wm-compose__overlay",
|
|
2741
2751
|
onClick: e[2] || (e[2] = (o) => r.attachOpen = !1)
|
|
2742
|
-
})) :
|
|
2752
|
+
})) : g("", !0),
|
|
2743
2753
|
r.attachOpen ? (l(), d("div", Ns, [
|
|
2744
2754
|
(l(!0), d(M, null, j(s.attachItems, (o) => (l(), d("button", {
|
|
2745
2755
|
key: o.action,
|
|
@@ -2762,7 +2772,7 @@ function Ys(t, e, n, a, r, s) {
|
|
|
2762
2772
|
]),
|
|
2763
2773
|
i("span", null, b(o.label), 1)
|
|
2764
2774
|
], 8, Ps))), 128))
|
|
2765
|
-
])) :
|
|
2775
|
+
])) : g("", !0),
|
|
2766
2776
|
W(i("textarea", {
|
|
2767
2777
|
ref: "inputEl",
|
|
2768
2778
|
"onUpdate:modelValue": e[3] || (e[3] = (o) => r.local = o),
|
|
@@ -2852,7 +2862,7 @@ function Zs(t, e, n, a, r, s) {
|
|
|
2852
2862
|
style: G({ animationDelay: n.baseDelay + c * n.stepDelay + "ms" }),
|
|
2853
2863
|
onClick: (v) => t.$emit("select", o)
|
|
2854
2864
|
}, b(o.label), 13, Qs))), 128))
|
|
2855
|
-
])) :
|
|
2865
|
+
])) : g("", !0);
|
|
2856
2866
|
}
|
|
2857
2867
|
const er = /* @__PURE__ */ E(Xs, [["render", Zs], ["__scopeId", "data-v-55aa529d"]]), tr = {
|
|
2858
2868
|
name: "WmApprovalCard",
|
|
@@ -2900,7 +2910,7 @@ function cr(t, e, n, a, r, s) {
|
|
|
2900
2910
|
]),
|
|
2901
2911
|
i("div", ir, [
|
|
2902
2912
|
i("div", ar, b(n.action), 1),
|
|
2903
|
-
n.detail ? (l(), d("div", or, b(n.detail), 1)) :
|
|
2913
|
+
n.detail ? (l(), d("div", or, b(n.detail), 1)) : g("", !0)
|
|
2904
2914
|
])
|
|
2905
2915
|
]),
|
|
2906
2916
|
i("div", lr, [
|
|
@@ -2909,13 +2919,13 @@ function cr(t, e, n, a, r, s) {
|
|
|
2909
2919
|
type: "button",
|
|
2910
2920
|
class: "wm-approval__btn wm-approval__btn--neutral",
|
|
2911
2921
|
onClick: e[0] || (e[0] = (c) => t.$emit("callback", s.rejectId))
|
|
2912
|
-
}, b(s.rejectLabel), 1)) :
|
|
2922
|
+
}, b(s.rejectLabel), 1)) : g("", !0),
|
|
2913
2923
|
s.approveId ? (l(), d("button", {
|
|
2914
2924
|
key: 1,
|
|
2915
2925
|
type: "button",
|
|
2916
2926
|
class: "wm-approval__btn wm-approval__btn--primary",
|
|
2917
2927
|
onClick: e[1] || (e[1] = (c) => t.$emit("callback", s.approveId))
|
|
2918
|
-
}, b(s.approveLabel), 1)) :
|
|
2928
|
+
}, b(s.approveLabel), 1)) : g("", !0)
|
|
2919
2929
|
])
|
|
2920
2930
|
]);
|
|
2921
2931
|
}
|
|
@@ -3039,7 +3049,7 @@ function Fr(t, e, n, a, r, s) {
|
|
|
3039
3049
|
]),
|
|
3040
3050
|
i("div", pr, [
|
|
3041
3051
|
i("div", vr, b(n.form.title || "Formulaire"), 1),
|
|
3042
|
-
n.form.description ? (l(), d("div", yr, b(n.form.description), 1)) :
|
|
3052
|
+
n.form.description ? (l(), d("div", yr, b(n.form.description), 1)) : g("", !0)
|
|
3043
3053
|
])
|
|
3044
3054
|
]),
|
|
3045
3055
|
i("form", {
|
|
@@ -3055,7 +3065,7 @@ function Fr(t, e, n, a, r, s) {
|
|
|
3055
3065
|
class: "wm-form__label"
|
|
3056
3066
|
}, [
|
|
3057
3067
|
oe(b(c.label), 1),
|
|
3058
|
-
c.required ? (l(), d("span", wr, "*")) :
|
|
3068
|
+
c.required ? (l(), d("span", wr, "*")) : g("", !0)
|
|
3059
3069
|
], 8, gr),
|
|
3060
3070
|
c.type === "text" ? W((l(), d("input", {
|
|
3061
3071
|
key: 0,
|
|
@@ -3144,16 +3154,16 @@ function Fr(t, e, n, a, r, s) {
|
|
|
3144
3154
|
}, null, 40, Br),
|
|
3145
3155
|
i("span", null, b(v.label), 1)
|
|
3146
3156
|
]))), 128))
|
|
3147
|
-
])) :
|
|
3157
|
+
])) : g("", !0)
|
|
3148
3158
|
]))), 128)),
|
|
3149
|
-
r.error ? (l(), d("div", Er, b(r.error), 1)) :
|
|
3159
|
+
r.error ? (l(), d("div", Er, b(r.error), 1)) : g("", !0),
|
|
3150
3160
|
n.readOnly ? (l(), d("div", Rr, "Réponse envoyée")) : (l(), d("button", {
|
|
3151
3161
|
key: 1,
|
|
3152
3162
|
type: "submit",
|
|
3153
3163
|
class: "wm-form__submit",
|
|
3154
3164
|
disabled: r.busy
|
|
3155
3165
|
}, [
|
|
3156
|
-
r.busy ? (l(), d("span", $r)) :
|
|
3166
|
+
r.busy ? (l(), d("span", $r)) : g("", !0),
|
|
3157
3167
|
i("span", null, b(r.busy ? "Envoi…" : n.form.submit_label || "Envoyer"), 1)
|
|
3158
3168
|
], 8, Lr))
|
|
3159
3169
|
], 32)
|
|
@@ -3398,7 +3408,7 @@ function mi(t, e, n, a, r, s) {
|
|
|
3398
3408
|
opacity: "0.92"
|
|
3399
3409
|
})
|
|
3400
3410
|
], -1)),
|
|
3401
|
-
c.unread ? (l(), d("span", oi)) :
|
|
3411
|
+
c.unread ? (l(), d("span", oi)) : g("", !0)
|
|
3402
3412
|
]),
|
|
3403
3413
|
i("div", li, [
|
|
3404
3414
|
i("div", ci, [
|
|
@@ -3408,9 +3418,9 @@ function mi(t, e, n, a, r, s) {
|
|
|
3408
3418
|
])
|
|
3409
3419
|
], 10, ii))), 128))
|
|
3410
3420
|
])
|
|
3411
|
-
])) :
|
|
3421
|
+
])) : g("", !0)
|
|
3412
3422
|
], 64))), 128)),
|
|
3413
|
-
s.hasAny ?
|
|
3423
|
+
s.hasAny ? g("", !0) : (l(), d("div", hi, " Aucun fil pour le moment. "))
|
|
3414
3424
|
])
|
|
3415
3425
|
])
|
|
3416
3426
|
]);
|
|
@@ -3483,7 +3493,7 @@ function bi(t, e, n, a, r, s) {
|
|
|
3483
3493
|
onClick: e[2] || (e[2] = (o) => s.emit("rename"))
|
|
3484
3494
|
}, [...e[9] || (e[9] = [
|
|
3485
3495
|
ue('<span class="wm-mm__icon" data-v-c1bb81d2><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-c1bb81d2><path d="M12 20h9" data-v-c1bb81d2></path><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z" data-v-c1bb81d2></path></svg></span><span class="wm-mm__label" data-v-c1bb81d2>Renommer le fil</span>', 2)
|
|
3486
|
-
])])) :
|
|
3496
|
+
])])) : g("", !0),
|
|
3487
3497
|
n.canClear ? (l(), d("button", {
|
|
3488
3498
|
key: 1,
|
|
3489
3499
|
type: "button",
|
|
@@ -3506,7 +3516,7 @@ function bi(t, e, n, a, r, s) {
|
|
|
3506
3516
|
])
|
|
3507
3517
|
], -1),
|
|
3508
3518
|
i("span", { class: "wm-mm__label" }, "Effacer ce fil", -1)
|
|
3509
|
-
])])) :
|
|
3519
|
+
])])) : g("", !0),
|
|
3510
3520
|
n.canExport ? (l(), d("button", {
|
|
3511
3521
|
key: 2,
|
|
3512
3522
|
type: "button",
|
|
@@ -3514,7 +3524,7 @@ function bi(t, e, n, a, r, s) {
|
|
|
3514
3524
|
onClick: e[4] || (e[4] = (o) => s.emit("export"))
|
|
3515
3525
|
}, [...e[11] || (e[11] = [
|
|
3516
3526
|
ue('<span class="wm-mm__icon" data-v-c1bb81d2><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-c1bb81d2><path d="M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13" data-v-c1bb81d2></path></svg></span><span class="wm-mm__label" data-v-c1bb81d2>Exporter la transcription</span><span class="wm-mm__hint" data-v-c1bb81d2>.txt</span>', 3)
|
|
3517
|
-
])])) :
|
|
3527
|
+
])])) : g("", !0)
|
|
3518
3528
|
]),
|
|
3519
3529
|
e[17] || (e[17] = i("div", { class: "wm-mm__sep" }, null, -1)),
|
|
3520
3530
|
i("div", gi, [
|
|
@@ -3570,7 +3580,7 @@ function bi(t, e, n, a, r, s) {
|
|
|
3570
3580
|
])
|
|
3571
3581
|
], -1),
|
|
3572
3582
|
i("span", { class: "wm-mm__label" }, "Statut des services", -1)
|
|
3573
|
-
])])) :
|
|
3583
|
+
])])) : g("", !0),
|
|
3574
3584
|
n.helpUrl ? (l(), d("button", {
|
|
3575
3585
|
key: 1,
|
|
3576
3586
|
type: "button",
|
|
@@ -3593,7 +3603,7 @@ function bi(t, e, n, a, r, s) {
|
|
|
3593
3603
|
])
|
|
3594
3604
|
], -1),
|
|
3595
3605
|
i("span", { class: "wm-mm__label" }, "Centre d'aide", -1)
|
|
3596
|
-
])])) :
|
|
3606
|
+
])])) : g("", !0)
|
|
3597
3607
|
])
|
|
3598
3608
|
])
|
|
3599
3609
|
]);
|
|
@@ -4021,7 +4031,7 @@ const Si = 450, xi = 50, Mi = 900, Ti = 12e3, Oi = 300, Ii = {
|
|
|
4021
4031
|
const e = (v = (c = (o = this.pendingApproval) == null ? void 0 : o.payload) == null ? void 0 : c.pending) == null ? void 0 : v.prepared_params;
|
|
4022
4032
|
if (!e || typeof e != "object") return "";
|
|
4023
4033
|
const n = Object.entries(e);
|
|
4024
|
-
return n.length ? n.slice(0, 2).map(([k,
|
|
4034
|
+
return n.length ? n.slice(0, 2).map(([k, w]) => `${k}: ${w}`).join(" · ") : "";
|
|
4025
4035
|
},
|
|
4026
4036
|
actionInFlight() {
|
|
4027
4037
|
var t, e;
|
|
@@ -4352,11 +4362,11 @@ const Si = 450, xi = 50, Mi = 900, Ti = 12e3, Oi = 300, Ii = {
|
|
|
4352
4362
|
) + a;
|
|
4353
4363
|
this.nextRevealAt = s;
|
|
4354
4364
|
const o = Math.max(0, s - e), c = t.id, v = setTimeout(() => {
|
|
4355
|
-
this.revealedAt = { ...this.revealedAt, [c]: Date.now() }, this.revealTimers = this.revealTimers.filter((
|
|
4365
|
+
this.revealedAt = { ...this.revealedAt, [c]: Date.now() }, this.revealTimers = this.revealTimers.filter((w) => w !== v);
|
|
4356
4366
|
}, o);
|
|
4357
4367
|
this.revealTimers.push(v);
|
|
4358
4368
|
const k = setTimeout(() => {
|
|
4359
|
-
this.revealedAt[c] > 0 || (this.revealedAt = { ...this.revealedAt, [c]: Date.now() }), this.revealTimers = this.revealTimers.filter((
|
|
4369
|
+
this.revealedAt[c] > 0 || (this.revealedAt = { ...this.revealedAt, [c]: Date.now() }), this.revealTimers = this.revealTimers.filter((w) => w !== k);
|
|
4360
4370
|
}, o + 4e3);
|
|
4361
4371
|
this.revealTimers.push(k);
|
|
4362
4372
|
},
|
|
@@ -4519,18 +4529,18 @@ const Si = 450, xi = 50, Mi = 900, Ti = 12e3, Oi = 300, Ii = {
|
|
|
4519
4529
|
t.created_at ? `Créée le : ${t.created_at}` : "",
|
|
4520
4530
|
""
|
|
4521
4531
|
];
|
|
4522
|
-
for (const
|
|
4523
|
-
if (!
|
|
4524
|
-
const S = ((o =
|
|
4532
|
+
for (const w of e) {
|
|
4533
|
+
if (!w) continue;
|
|
4534
|
+
const S = ((o = w.author) == null ? void 0 : o.name) || (((c = w.author) == null ? void 0 : c.type) === "user" ? "Vous" : ((v = w.author) == null ? void 0 : v.type) === "agent_human" ? "Agent" : ((k = w.author) == null ? void 0 : k.type) === "agent_ia" ? "Assistant IA" : "Système"), R = w.created_at ? new Date(w.created_at).toLocaleString("fr-FR") : "", A = (w.text_md || "").trim();
|
|
4525
4535
|
A && (n.push(`[${R}] ${S} :`), n.push(A), n.push(""));
|
|
4526
4536
|
}
|
|
4527
4537
|
const a = new Blob([n.join(`
|
|
4528
4538
|
`)], { type: "text/plain;charset=utf-8" });
|
|
4529
4539
|
try {
|
|
4530
|
-
const
|
|
4531
|
-
S.href =
|
|
4532
|
-
} catch (
|
|
4533
|
-
console.error("[ww-messenger] export failed",
|
|
4540
|
+
const w = URL.createObjectURL(a), S = document.createElement("a");
|
|
4541
|
+
S.href = w, S.download = `${(t.name || "conversation").replace(/[^a-z0-9-_]+/gi, "_")}.txt`, document.body.appendChild(S), S.click(), document.body.removeChild(S), setTimeout(() => URL.revokeObjectURL(w), 1e3);
|
|
4542
|
+
} catch (w) {
|
|
4543
|
+
console.error("[ww-messenger] export failed", w);
|
|
4534
4544
|
}
|
|
4535
4545
|
},
|
|
4536
4546
|
async onSend(t) {
|
|
@@ -4627,7 +4637,7 @@ const Si = 450, xi = 50, Mi = 900, Ti = 12e3, Oi = 300, Ii = {
|
|
|
4627
4637
|
class: "wm-attached"
|
|
4628
4638
|
}, Ni = ["onClick"];
|
|
4629
4639
|
function Pi(t, e, n, a, r, s) {
|
|
4630
|
-
const o = I("Launcher"), c = I("Header"), v = I("Onboarding"), k = I("MessageList"),
|
|
4640
|
+
const o = I("Launcher"), c = I("Header"), v = I("Onboarding"), k = I("MessageList"), w = I("ApprovalCard"), S = I("FormCard"), R = I("Feedback"), A = I("SuggestionChips"), P = I("Composer"), x = I("MoreMenu"), U = I("HistoryDrawer");
|
|
4631
4641
|
return l(), d("div", {
|
|
4632
4642
|
class: B(["wm-root", `wm-root--${n.displayMode}`])
|
|
4633
4643
|
}, [
|
|
@@ -4637,7 +4647,7 @@ function Pi(t, e, n, a, r, s) {
|
|
|
4637
4647
|
peek: s.launcherPeek,
|
|
4638
4648
|
onOpen: s.openFromPeek,
|
|
4639
4649
|
onDismiss: e[0] || (e[0] = (F) => r.labelDismissed = !0)
|
|
4640
|
-
}, null, 8, ["unread-count", "peek", "onOpen"])) :
|
|
4650
|
+
}, null, 8, ["unread-count", "peek", "onOpen"])) : g("", !0),
|
|
4641
4651
|
r.isOpen || s.isEmbedded ? (l(), d("section", {
|
|
4642
4652
|
key: 1,
|
|
4643
4653
|
class: B(["wm-panel", `wm-panel--${n.displayMode}`]),
|
|
@@ -4646,7 +4656,7 @@ function Pi(t, e, n, a, r, s) {
|
|
|
4646
4656
|
"aria-label": "Messenger"
|
|
4647
4657
|
}, [
|
|
4648
4658
|
!s.ready && !s.error ? (l(), d("div", Bi, [
|
|
4649
|
-
s.isEmbedded ?
|
|
4659
|
+
s.isEmbedded ? g("", !0) : (l(), d("button", {
|
|
4650
4660
|
key: 0,
|
|
4651
4661
|
type: "button",
|
|
4652
4662
|
class: "wm-loading__close",
|
|
@@ -4724,7 +4734,7 @@ function Pi(t, e, n, a, r, s) {
|
|
|
4724
4734
|
}, null, 8, ["messages", "streaming-active", "date-label", "conversation-id", "loading-more", "has-more", "unread-anchor-ts", "unread-boundary-ts", "onLoadMore"]),
|
|
4725
4735
|
i("div", Ri, [
|
|
4726
4736
|
s.floatVisible ? (l(), d("div", Fi, [
|
|
4727
|
-
s.approvalReady ? (l(), $(
|
|
4737
|
+
s.approvalReady ? (l(), $(w, {
|
|
4728
4738
|
key: 0,
|
|
4729
4739
|
action: s.approvalTitle,
|
|
4730
4740
|
detail: s.approvalDetail,
|
|
@@ -4744,7 +4754,7 @@ function Pi(t, e, n, a, r, s) {
|
|
|
4744
4754
|
items: s.suggestions,
|
|
4745
4755
|
onSelect: s.onSuggestion
|
|
4746
4756
|
}, null, 8, ["items", "onSelect"]))
|
|
4747
|
-
], 512)) :
|
|
4757
|
+
], 512)) : g("", !0),
|
|
4748
4758
|
s.actionInFlight ? (l(), d("div", ji, [
|
|
4749
4759
|
e[10] || (e[10] = i("span", {
|
|
4750
4760
|
class: "wm-actionWait__spinner",
|
|
@@ -4774,7 +4784,7 @@ function Pi(t, e, n, a, r, s) {
|
|
|
4774
4784
|
onClose: e[3] || (e[3] = (F) => r.moreOpen = !1),
|
|
4775
4785
|
onNotifToggle: s.onNotifToggle,
|
|
4776
4786
|
onAction: s.onMoreAction
|
|
4777
|
-
}, null, 8, ["can-rename", "can-clear", "can-export", "notif-enabled", "status-url", "help-url", "onNotifToggle", "onAction"])) :
|
|
4787
|
+
}, null, 8, ["can-rename", "can-clear", "can-export", "notif-enabled", "status-url", "help-url", "onNotifToggle", "onAction"])) : g("", !0),
|
|
4778
4788
|
r.pendingAttachments.length ? (l(), d("div", Ui, [
|
|
4779
4789
|
(l(!0), d(M, null, j(r.pendingAttachments, (F, N) => (l(), d("div", {
|
|
4780
4790
|
key: N,
|
|
@@ -4814,7 +4824,7 @@ function Pi(t, e, n, a, r, s) {
|
|
|
4814
4824
|
], -1)
|
|
4815
4825
|
])], 8, Ni)
|
|
4816
4826
|
]))), 128))
|
|
4817
|
-
])) :
|
|
4827
|
+
])) : g("", !0)
|
|
4818
4828
|
], 64)) : (l(), $(v, {
|
|
4819
4829
|
key: 1,
|
|
4820
4830
|
"welcome-message": s.widgetWelcomeMessage,
|
|
@@ -4833,7 +4843,7 @@ function Pi(t, e, n, a, r, s) {
|
|
|
4833
4843
|
onClose: e[4] || (e[4] = (F) => r.historyOpen = !1),
|
|
4834
4844
|
onNew: s.onDrawerNew,
|
|
4835
4845
|
onPick: s.onDrawerPick
|
|
4836
|
-
}, null, 8, ["conversations", "active-id", "onNew", "onPick"])) :
|
|
4846
|
+
}, null, 8, ["conversations", "active-id", "onNew", "onPick"])) : g("", !0),
|
|
4837
4847
|
r.moreOpen && !s.currentConv ? (l(), $(x, {
|
|
4838
4848
|
key: 4,
|
|
4839
4849
|
"can-rename": !1,
|
|
@@ -4845,12 +4855,12 @@ function Pi(t, e, n, a, r, s) {
|
|
|
4845
4855
|
onClose: e[5] || (e[5] = (F) => r.moreOpen = !1),
|
|
4846
4856
|
onNotifToggle: s.onNotifToggle,
|
|
4847
4857
|
onAction: s.onMoreAction
|
|
4848
|
-
}, null, 8, ["notif-enabled", "status-url", "help-url", "onNotifToggle", "onAction"])) :
|
|
4858
|
+
}, null, 8, ["notif-enabled", "status-url", "help-url", "onNotifToggle", "onAction"])) : g("", !0)
|
|
4849
4859
|
], 64))
|
|
4850
|
-
], 6)) :
|
|
4860
|
+
], 6)) : g("", !0)
|
|
4851
4861
|
], 2);
|
|
4852
4862
|
}
|
|
4853
|
-
const Vi = /* @__PURE__ */ E(Ii, [["render", Pi], ["__scopeId", "data-v-29568eac"]]), qi = "0.2.
|
|
4863
|
+
const Vi = /* @__PURE__ */ E(Ii, [["render", Pi], ["__scopeId", "data-v-29568eac"]]), qi = "0.2.32";
|
|
4854
4864
|
export {
|
|
4855
4865
|
te as AIAvatar,
|
|
4856
4866
|
ce as AVATAR_COLORS,
|