@_solaris/messenger-widget 0.5.25 → 0.5.27
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/iframe/iframe.css +1 -1
- package/dist/iframe/iframe.js +27 -27
- package/dist/messenger.cjs +11 -11
- package/dist/messenger.js +557 -479
- package/dist/snippet.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/core/i18n.d.ts +2 -0
- package/package.json +1 -1
package/dist/messenger.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { reactive as
|
|
1
|
+
import { reactive as De, openBlock as c, createElementBlock as u, normalizeStyle as q, normalizeClass as O, toDisplayString as v, resolveComponent as I, createVNode as $, Transition as Le, withCtx as Be, Fragment as E, renderList as P, withKeys as ue, withModifiers as J, createElementVNode as o, createCommentVNode as b, createBlock as U, withDirectives as K, vModelText as X, createTextVNode as pe, resolveDynamicComponent as Pe, renderSlot as je, vModelCheckbox as He, vModelSelect as ze, markRaw as ke } from "vue";
|
|
2
2
|
const qe = [
|
|
3
3
|
"connected",
|
|
4
4
|
"message",
|
|
@@ -98,7 +98,13 @@ function We(e) {
|
|
|
98
98
|
...t.token ? { token: t.token } : {},
|
|
99
99
|
// Déclaration de mode du marchand (validée serveur contre
|
|
100
100
|
// widgets.allow_unauthenticated). Le serveur 400 si mismatch.
|
|
101
|
-
allowUnauthenticated: d.allowUnauthenticated === !0
|
|
101
|
+
allowUnauthenticated: d.allowUnauthenticated === !0,
|
|
102
|
+
// Data customer du marchand (`context.customer`). Stockée
|
|
103
|
+
// sur la session en `pending_customer` jusqu'à création
|
|
104
|
+
// du row au premier message. Permet aux templates
|
|
105
|
+
// `{{customer.*}}` du widget config d'être résolus dès
|
|
106
|
+
// le premier render.
|
|
107
|
+
...d.customer && typeof d.customer == "object" ? { customer: d.customer } : {}
|
|
102
108
|
})
|
|
103
109
|
}
|
|
104
110
|
);
|
|
@@ -132,7 +138,7 @@ function We(e) {
|
|
|
132
138
|
}
|
|
133
139
|
async function k() {
|
|
134
140
|
try {
|
|
135
|
-
const d = await
|
|
141
|
+
const d = await B();
|
|
136
142
|
t.lastActivityAt = d.reduce((f, _) => {
|
|
137
143
|
const y = _ == null ? void 0 : _.last_message_at;
|
|
138
144
|
return y && (!f || y > f) ? y : f;
|
|
@@ -149,14 +155,14 @@ function We(e) {
|
|
|
149
155
|
const f = await a("PATCH", "/customers/me", d);
|
|
150
156
|
return (f == null ? void 0 : f.customer) ?? null;
|
|
151
157
|
}
|
|
152
|
-
async function
|
|
158
|
+
async function B() {
|
|
153
159
|
const d = await a("GET", "/conversations");
|
|
154
160
|
return (d == null ? void 0 : d.conversations) ?? [];
|
|
155
161
|
}
|
|
156
162
|
async function A(d = {}) {
|
|
157
163
|
return (await a("POST", "/conversations", d)).conversation;
|
|
158
164
|
}
|
|
159
|
-
async function
|
|
165
|
+
async function H(d) {
|
|
160
166
|
return (await a(
|
|
161
167
|
"GET",
|
|
162
168
|
`/conversations/${encodeURIComponent(d)}`
|
|
@@ -185,7 +191,7 @@ function We(e) {
|
|
|
185
191
|
`/conversations/${encodeURIComponent(d)}/messages${y}`
|
|
186
192
|
);
|
|
187
193
|
}
|
|
188
|
-
async function
|
|
194
|
+
async function D(d, f) {
|
|
189
195
|
se();
|
|
190
196
|
const _ = {
|
|
191
197
|
client_msg_id: f.client_msg_id,
|
|
@@ -236,7 +242,7 @@ function We(e) {
|
|
|
236
242
|
const d = new URLSearchParams({ widgetId: t.widgetId }).toString();
|
|
237
243
|
return `${t.baseUrl}${fe}/stream?${d}`;
|
|
238
244
|
}
|
|
239
|
-
function
|
|
245
|
+
function V() {
|
|
240
246
|
if (!t.eventSource && !(typeof document < "u" && document.hidden) && t.started)
|
|
241
247
|
try {
|
|
242
248
|
const d = new EventSource(te(), { withCredentials: !0 });
|
|
@@ -262,16 +268,16 @@ function We(e) {
|
|
|
262
268
|
t.eventSource && (t.eventSource.close(), t.eventSource = null), t.connection !== "paused" && r("idle");
|
|
263
269
|
}
|
|
264
270
|
function se() {
|
|
265
|
-
clearTimeout(t.burstTimer),
|
|
271
|
+
clearTimeout(t.burstTimer), V(), t.panelOpen || (t.burstTimer = setTimeout(() => {
|
|
266
272
|
t.panelOpen || Y();
|
|
267
273
|
}, Ve));
|
|
268
274
|
}
|
|
269
275
|
function ce(d) {
|
|
270
|
-
t.panelOpen = !!d, t.panelOpen ? (clearTimeout(t.burstTimer),
|
|
276
|
+
t.panelOpen = !!d, t.panelOpen ? (clearTimeout(t.burstTimer), V()) : se();
|
|
271
277
|
}
|
|
272
278
|
async function me() {
|
|
273
279
|
try {
|
|
274
|
-
const d = await
|
|
280
|
+
const d = await B(), f = d.reduce((y, C) => {
|
|
275
281
|
const S = C == null ? void 0 : C.last_message_at;
|
|
276
282
|
return S && (!y || S > y) ? S : y;
|
|
277
283
|
}, null);
|
|
@@ -296,7 +302,7 @@ function We(e) {
|
|
|
296
302
|
clearTimeout(t.hiddenGraceTimer), t.hiddenGraceTimer = null;
|
|
297
303
|
return;
|
|
298
304
|
}
|
|
299
|
-
r("idle"), de(), t.panelOpen &&
|
|
305
|
+
r("idle"), de(), t.panelOpen && V();
|
|
300
306
|
}
|
|
301
307
|
}
|
|
302
308
|
function g() {
|
|
@@ -313,13 +319,13 @@ function We(e) {
|
|
|
313
319
|
// REST
|
|
314
320
|
getCustomer: w,
|
|
315
321
|
patchCustomer: T,
|
|
316
|
-
listConversations:
|
|
322
|
+
listConversations: B,
|
|
317
323
|
createConversation: A,
|
|
318
|
-
getConversation:
|
|
324
|
+
getConversation: H,
|
|
319
325
|
patchConversation: M,
|
|
320
326
|
markConversationRead: F,
|
|
321
327
|
listMessages: N,
|
|
322
|
-
postMessage:
|
|
328
|
+
postMessage: D,
|
|
323
329
|
postCallback: G,
|
|
324
330
|
uploadAttachment: Z,
|
|
325
331
|
signAttachment: ee,
|
|
@@ -348,7 +354,7 @@ function Je() {
|
|
|
348
354
|
return t.slice(0, 4).join("") + "-" + t.slice(4, 6).join("") + "-" + t.slice(6, 8).join("") + "-" + t.slice(8, 10).join("") + "-" + t.slice(10, 16).join("");
|
|
349
355
|
}
|
|
350
356
|
function Qe(e) {
|
|
351
|
-
const t =
|
|
357
|
+
const t = De({
|
|
352
358
|
ready: !1,
|
|
353
359
|
error: null,
|
|
354
360
|
config: null,
|
|
@@ -386,7 +392,7 @@ function Qe(e) {
|
|
|
386
392
|
), n.push(
|
|
387
393
|
e.on("message", (h) => {
|
|
388
394
|
const m = h == null ? void 0 : h.conversation_id, g = h == null ? void 0 : h.message;
|
|
389
|
-
!m || !(g != null && g.id) || (
|
|
395
|
+
!m || !(g != null && g.id) || (V(m, g), g.client_msg_id && delete t.streamingByMsgId[g.client_msg_id], se(m, g.created_at));
|
|
390
396
|
})
|
|
391
397
|
), n.push(
|
|
392
398
|
e.on("message_stream", (h) => {
|
|
@@ -525,7 +531,7 @@ function Qe(e) {
|
|
|
525
531
|
const g = await e.patchConversation(h, m), d = t.conversations.findIndex((f) => f.id === h);
|
|
526
532
|
d !== -1 && (t.conversations[d] = g);
|
|
527
533
|
}
|
|
528
|
-
async function
|
|
534
|
+
async function B(h) {
|
|
529
535
|
if (!h) return [];
|
|
530
536
|
const m = t.messagesByConv[h] || [];
|
|
531
537
|
let g = "";
|
|
@@ -543,7 +549,7 @@ function Qe(e) {
|
|
|
543
549
|
const C = [];
|
|
544
550
|
for (const S of f) {
|
|
545
551
|
const L = (S == null ? void 0 : S.id) != null && _.has(String(S.id)) || (S == null ? void 0 : S.client_msg_id) && y.has(S.client_msg_id);
|
|
546
|
-
|
|
552
|
+
V(h, S), L || C.push(S);
|
|
547
553
|
}
|
|
548
554
|
return C;
|
|
549
555
|
} catch (d) {
|
|
@@ -562,7 +568,7 @@ function Qe(e) {
|
|
|
562
568
|
console.error("[store] markConversationRead failed", g);
|
|
563
569
|
}
|
|
564
570
|
}
|
|
565
|
-
async function
|
|
571
|
+
async function H(h, m, { attachments: g, metadata: d } = {}) {
|
|
566
572
|
var L;
|
|
567
573
|
const f = (m || "").trim(), _ = Array.isArray(g) && g.length > 0;
|
|
568
574
|
if (!h || !f && !_) return;
|
|
@@ -582,7 +588,7 @@ function Qe(e) {
|
|
|
582
588
|
..._ ? { payload: { type: "content", attachments: g } } : {},
|
|
583
589
|
...d && typeof d == "object" ? { metadata: d } : {}
|
|
584
590
|
};
|
|
585
|
-
|
|
591
|
+
V(h, S);
|
|
586
592
|
try {
|
|
587
593
|
await e.postMessage(h, {
|
|
588
594
|
client_msg_id: y,
|
|
@@ -626,7 +632,7 @@ function Qe(e) {
|
|
|
626
632
|
}
|
|
627
633
|
return null;
|
|
628
634
|
}
|
|
629
|
-
async function
|
|
635
|
+
async function D(h, { rating: m, comment: g } = {}) {
|
|
630
636
|
const d = t.conversations.find((y) => y.id === h), _ = {
|
|
631
637
|
...(d == null ? void 0 : d.metadata) || {},
|
|
632
638
|
feedback: {
|
|
@@ -686,15 +692,15 @@ function Qe(e) {
|
|
|
686
692
|
if (L && typeof L == "object" && typeof L.label == "string") {
|
|
687
693
|
const x = L.label.trim();
|
|
688
694
|
if (!x) return null;
|
|
689
|
-
const
|
|
690
|
-
return { label: x, kind:
|
|
695
|
+
const Ue = L.kind === "cta" || L.kind === "choice" || L.kind === "followup" ? L.kind : null;
|
|
696
|
+
return { label: x, kind: Ue };
|
|
691
697
|
}
|
|
692
698
|
return null;
|
|
693
699
|
}).filter(Boolean).slice(0, 4) : [];
|
|
694
700
|
}
|
|
695
701
|
return [];
|
|
696
702
|
}
|
|
697
|
-
function
|
|
703
|
+
function V(h, m) {
|
|
698
704
|
var _;
|
|
699
705
|
const g = t.messagesByConv[h] || [];
|
|
700
706
|
let d = -1;
|
|
@@ -757,13 +763,13 @@ function Qe(e) {
|
|
|
757
763
|
createConversation: a,
|
|
758
764
|
openConversation: p,
|
|
759
765
|
loadMore: k,
|
|
760
|
-
fetchSinceLast:
|
|
766
|
+
fetchSinceLast: B,
|
|
761
767
|
patchConversation: T,
|
|
762
768
|
markConversationRead: A,
|
|
763
|
-
send:
|
|
769
|
+
send: H,
|
|
764
770
|
clickCallback: M,
|
|
765
771
|
signAttachment: N,
|
|
766
|
-
submitFeedback:
|
|
772
|
+
submitFeedback: D,
|
|
767
773
|
getPendingApproval: G,
|
|
768
774
|
getActionInFlight: ee,
|
|
769
775
|
getLatestSuggestions: te,
|
|
@@ -772,7 +778,7 @@ function Qe(e) {
|
|
|
772
778
|
setPanelOpen: e.setPanelOpen
|
|
773
779
|
};
|
|
774
780
|
}
|
|
775
|
-
const
|
|
781
|
+
const z = {
|
|
776
782
|
w: "#ffffff",
|
|
777
783
|
g50: "#F9F9F7",
|
|
778
784
|
g100: "#F2F1EE",
|
|
@@ -802,7 +808,7 @@ function ve(e = "") {
|
|
|
802
808
|
function ye(e = "") {
|
|
803
809
|
return e.split(" ").map((t) => t[0] || "").join("").toUpperCase().slice(0, 2);
|
|
804
810
|
}
|
|
805
|
-
function
|
|
811
|
+
function Ee(e = /* @__PURE__ */ new Date(), t = "fr-FR") {
|
|
806
812
|
return e.toLocaleTimeString(t, { hour: "2-digit", minute: "2-digit" });
|
|
807
813
|
}
|
|
808
814
|
const Xe = `
|
|
@@ -811,21 +817,21 @@ const Xe = `
|
|
|
811
817
|
.wm-root {
|
|
812
818
|
--wm-f: 'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
813
819
|
--wm-fm: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
814
|
-
--wm-w: ${
|
|
815
|
-
--wm-g50: ${
|
|
816
|
-
--wm-g100: ${
|
|
817
|
-
--wm-g150: ${
|
|
818
|
-
--wm-g200: ${
|
|
819
|
-
--wm-g300: ${
|
|
820
|
-
--wm-g400: ${
|
|
821
|
-
--wm-g500: ${
|
|
822
|
-
--wm-g700: ${
|
|
823
|
-
--wm-g900: ${
|
|
824
|
-
--wm-a: ${
|
|
825
|
-
--wm-al: ${
|
|
826
|
-
--wm-green: ${
|
|
827
|
-
--wm-red: ${
|
|
828
|
-
--wm-redBg: ${
|
|
820
|
+
--wm-w: ${z.w};
|
|
821
|
+
--wm-g50: ${z.g50};
|
|
822
|
+
--wm-g100: ${z.g100};
|
|
823
|
+
--wm-g150: ${z.g150};
|
|
824
|
+
--wm-g200: ${z.g200};
|
|
825
|
+
--wm-g300: ${z.g300};
|
|
826
|
+
--wm-g400: ${z.g400};
|
|
827
|
+
--wm-g500: ${z.g500};
|
|
828
|
+
--wm-g700: ${z.g700};
|
|
829
|
+
--wm-g900: ${z.g900};
|
|
830
|
+
--wm-a: ${z.accent};
|
|
831
|
+
--wm-al: ${z.accentLight};
|
|
832
|
+
--wm-green: ${z.green};
|
|
833
|
+
--wm-red: ${z.red};
|
|
834
|
+
--wm-redBg: ${z.redBg};
|
|
829
835
|
--wm-sh1: 0 1px 3px rgba(0,0,0,.06);
|
|
830
836
|
--wm-sh2: 0 4px 24px rgba(0,0,0,.09), 0 1px 4px rgba(0,0,0,.05);
|
|
831
837
|
--wm-shPanel: 0 12px 40px rgba(0,0,0,.13), 0 2px 8px rgba(0,0,0,.06);
|
|
@@ -916,6 +922,7 @@ Je réponds en quelques secondes.`,
|
|
|
916
922
|
"messageList.approvalRequestSent": "Demande d'approbation envoyée",
|
|
917
923
|
"messageList.conversationUpdate": "Mise à jour de la conversation",
|
|
918
924
|
"messageList.anAgent": "Un agent",
|
|
925
|
+
"messageList.scrollToBottom": "Aller en bas",
|
|
919
926
|
// ── System events ────────────────────────────────────────────────
|
|
920
927
|
"system.transferredToHuman": "Conversation transférée à un humain",
|
|
921
928
|
"system.assigned": "{name} a rejoint la conversation",
|
|
@@ -1036,6 +1043,7 @@ I reply within seconds.`,
|
|
|
1036
1043
|
"messageList.approvalRequestSent": "Approval request sent",
|
|
1037
1044
|
"messageList.conversationUpdate": "Conversation update",
|
|
1038
1045
|
"messageList.anAgent": "An agent",
|
|
1046
|
+
"messageList.scrollToBottom": "Scroll to bottom",
|
|
1039
1047
|
// ── System events ────────────────────────────────────────────────
|
|
1040
1048
|
"system.transferredToHuman": "Conversation transferred to a human",
|
|
1041
1049
|
"system.assigned": "{name} joined the conversation",
|
|
@@ -1101,7 +1109,7 @@ function we(e) {
|
|
|
1101
1109
|
function oe(e) {
|
|
1102
1110
|
return Ce[we(e)] || Ce[ie];
|
|
1103
1111
|
}
|
|
1104
|
-
function
|
|
1112
|
+
function j(e) {
|
|
1105
1113
|
const t = we(e), n = _e[t] || _e[ie], i = _e[ie];
|
|
1106
1114
|
return function(s, a) {
|
|
1107
1115
|
let l = n[s];
|
|
@@ -1119,7 +1127,7 @@ function Ae(e, t) {
|
|
|
1119
1127
|
function Ie(e, t, n) {
|
|
1120
1128
|
return Array.isArray(t) ? t.map((i) => Ae(e, String(i))).join(", ") : typeof t == "boolean" ? n(t ? "common.yes" : "common.no") : Ae(e, String(t));
|
|
1121
1129
|
}
|
|
1122
|
-
function tt(e, t, n =
|
|
1130
|
+
function tt(e, t, n = j()) {
|
|
1123
1131
|
if (!e || !t) return "";
|
|
1124
1132
|
const i = Array.isArray(e.fields) ? e.fields : [], r = [];
|
|
1125
1133
|
for (const s of i) {
|
|
@@ -1134,7 +1142,7 @@ ${l}`);
|
|
|
1134
1142
|
|
|
1135
1143
|
`);
|
|
1136
1144
|
}
|
|
1137
|
-
function nt(e, t, n =
|
|
1145
|
+
function nt(e, t, n = j()) {
|
|
1138
1146
|
const i = [], r = Array.isArray(e == null ? void 0 : e.fields) ? e.fields : [];
|
|
1139
1147
|
for (const s of r) {
|
|
1140
1148
|
if (!(s != null && s.key) || !(s != null && s.label)) continue;
|
|
@@ -1204,7 +1212,7 @@ function it(e, t, n, i) {
|
|
|
1204
1212
|
return r.join(`
|
|
1205
1213
|
`);
|
|
1206
1214
|
}
|
|
1207
|
-
function at(e, t, n =
|
|
1215
|
+
function at(e, t, n = j(), i) {
|
|
1208
1216
|
if (!e) return;
|
|
1209
1217
|
const r = it(e, t || [], n, oe(i)), s = new Blob([r], { type: "text/plain;charset=utf-8" });
|
|
1210
1218
|
try {
|
|
@@ -1629,7 +1637,7 @@ function pt(e) {
|
|
|
1629
1637
|
}
|
|
1630
1638
|
return null;
|
|
1631
1639
|
}
|
|
1632
|
-
const
|
|
1640
|
+
const R = (e, t) => {
|
|
1633
1641
|
const n = e.__vccOpts || e;
|
|
1634
1642
|
for (const [i, r] of t)
|
|
1635
1643
|
n[i] = r;
|
|
@@ -1675,13 +1683,13 @@ function wt(e, t, n, i, r, s) {
|
|
|
1675
1683
|
}, v(s.initials), 5))
|
|
1676
1684
|
], 6);
|
|
1677
1685
|
}
|
|
1678
|
-
const Re = /* @__PURE__ */
|
|
1686
|
+
const Re = /* @__PURE__ */ R(vt, [["render", wt], ["__scopeId", "data-v-14e10c0d"]]), bt = 3, kt = {
|
|
1679
1687
|
name: "WmLauncher",
|
|
1680
1688
|
components: { HumanAvatar: Re },
|
|
1681
1689
|
inject: {
|
|
1682
1690
|
// Translator shared by the Messenger shell; French fallback when
|
|
1683
1691
|
// the component is used standalone.
|
|
1684
|
-
t: { default: () =>
|
|
1692
|
+
t: { default: () => j() }
|
|
1685
1693
|
},
|
|
1686
1694
|
props: {
|
|
1687
1695
|
// Nombre de conversations non lues — pilote la pastille.
|
|
@@ -1701,9 +1709,9 @@ const Re = /* @__PURE__ */ B(vt, [["render", wt], ["__scopeId", "data-v-14e10c0d
|
|
|
1701
1709
|
return this.peeks.slice(0, bt).reverse();
|
|
1702
1710
|
}
|
|
1703
1711
|
}
|
|
1704
|
-
}, Ct = ["aria-label", "onClick", "onKeydown"], At = ["aria-label", "onClick"], St = { class: "wm-peek__avatar" }, Mt = ["aria-label"], Tt = { class: "wm-peek__body" }, xt = { class: "wm-peek__head" }, Ot = { class: "wm-peek__name" }, Lt = { class: "wm-peek__action" },
|
|
1712
|
+
}, Ct = ["aria-label", "onClick", "onKeydown"], At = ["aria-label", "onClick"], St = { class: "wm-peek__avatar" }, Mt = ["aria-label"], Tt = { class: "wm-peek__body" }, xt = { class: "wm-peek__head" }, Ot = { class: "wm-peek__name" }, Lt = { class: "wm-peek__action" }, Bt = { class: "wm-peek__text" }, Et = ["onClick"], It = ["aria-label"], Rt = ["aria-label"];
|
|
1705
1713
|
function Nt(e, t, n, i, r, s) {
|
|
1706
|
-
const a =
|
|
1714
|
+
const a = I("HumanAvatar");
|
|
1707
1715
|
return c(), u("div", {
|
|
1708
1716
|
class: "wm-launcherWrap",
|
|
1709
1717
|
onMouseenter: t[1] || (t[1] = (l) => e.$emit("hover", !0)),
|
|
@@ -1711,13 +1719,13 @@ function Nt(e, t, n, i, r, s) {
|
|
|
1711
1719
|
onFocusin: t[3] || (t[3] = (l) => e.$emit("hover", !0)),
|
|
1712
1720
|
onFocusout: t[4] || (t[4] = (l) => e.$emit("hover", !1))
|
|
1713
1721
|
}, [
|
|
1714
|
-
|
|
1715
|
-
default:
|
|
1722
|
+
$(Le, { name: "wm-peek" }, {
|
|
1723
|
+
default: Be(() => [
|
|
1716
1724
|
s.visiblePeeks.length ? (c(), u("div", {
|
|
1717
1725
|
key: 0,
|
|
1718
1726
|
class: O(["wm-peekStack", { "wm-peekStack--multi": s.visiblePeeks.length > 1 }])
|
|
1719
1727
|
}, [
|
|
1720
|
-
(c(!0), u(
|
|
1728
|
+
(c(!0), u(E, null, P(s.visiblePeeks, (l, p) => (c(), u("div", {
|
|
1721
1729
|
key: l.convId,
|
|
1722
1730
|
class: "wm-peek",
|
|
1723
1731
|
style: q({
|
|
@@ -1756,7 +1764,7 @@ function Nt(e, t, n, i, r, s) {
|
|
|
1756
1764
|
], -1)
|
|
1757
1765
|
])], 8, At),
|
|
1758
1766
|
o("div", St, [
|
|
1759
|
-
|
|
1767
|
+
$(a, {
|
|
1760
1768
|
name: l.senderName,
|
|
1761
1769
|
"avatar-url": l.senderAvatarUrl,
|
|
1762
1770
|
size: 34
|
|
@@ -1772,13 +1780,13 @@ function Nt(e, t, n, i, r, s) {
|
|
|
1772
1780
|
o("span", Ot, v(l.senderName || s.t("common.agent")), 1),
|
|
1773
1781
|
o("span", Lt, v(s.t("launcher.repliedToYou")), 1)
|
|
1774
1782
|
]),
|
|
1775
|
-
o("p",
|
|
1783
|
+
o("p", Bt, v(l.preview), 1)
|
|
1776
1784
|
]),
|
|
1777
1785
|
o("button", {
|
|
1778
1786
|
type: "button",
|
|
1779
1787
|
class: "wm-peek__open",
|
|
1780
1788
|
onClick: J((k) => e.$emit("open", l.convId), ["stop"])
|
|
1781
|
-
}, v(s.t("common.open")), 9,
|
|
1789
|
+
}, v(s.t("common.open")), 9, Et)
|
|
1782
1790
|
], 44, Ct))), 128))
|
|
1783
1791
|
], 2)) : b("", !0)
|
|
1784
1792
|
]),
|
|
@@ -1811,11 +1819,11 @@ function Nt(e, t, n, i, r, s) {
|
|
|
1811
1819
|
}) : s.t("launcher.unreadConversationsOne", {
|
|
1812
1820
|
count: n.unreadCount
|
|
1813
1821
|
})
|
|
1814
|
-
}, v(n.unreadCount > 9 ? "9+" : n.unreadCount), 9,
|
|
1815
|
-
], 8,
|
|
1822
|
+
}, v(n.unreadCount > 9 ? "9+" : n.unreadCount), 9, Rt)) : b("", !0)
|
|
1823
|
+
], 8, It)
|
|
1816
1824
|
], 32);
|
|
1817
1825
|
}
|
|
1818
|
-
const Ft = /* @__PURE__ */
|
|
1826
|
+
const Ft = /* @__PURE__ */ R(kt, [["render", Nt], ["__scopeId", "data-v-44ddf1a1"]]), Ut = {
|
|
1819
1827
|
name: "WmAIAvatar",
|
|
1820
1828
|
props: {
|
|
1821
1829
|
size: { type: Number, default: 26 },
|
|
@@ -1844,11 +1852,11 @@ const Ft = /* @__PURE__ */ B(kt, [["render", Nt], ["__scopeId", "data-v-44ddf1a1
|
|
|
1844
1852
|
return ve(this.name);
|
|
1845
1853
|
}
|
|
1846
1854
|
}
|
|
1847
|
-
},
|
|
1855
|
+
}, Dt = {
|
|
1848
1856
|
key: 0,
|
|
1849
1857
|
class: "wm-aiav__pulse"
|
|
1850
|
-
},
|
|
1851
|
-
function
|
|
1858
|
+
}, Pt = ["src", "alt"], jt = ["width", "height"];
|
|
1859
|
+
function Ht(e, t, n, i, r, s) {
|
|
1852
1860
|
return c(), u("div", {
|
|
1853
1861
|
class: O(["wm-aiav", { "wm-aiav--tail": n.tail }]),
|
|
1854
1862
|
style: q({
|
|
@@ -1857,7 +1865,7 @@ function zt(e, t, n, i, r, s) {
|
|
|
1857
1865
|
"--wm-avr": n.size * 0.32 + "px"
|
|
1858
1866
|
})
|
|
1859
1867
|
}, [
|
|
1860
|
-
n.pulse ? (c(), u("div",
|
|
1868
|
+
n.pulse ? (c(), u("div", Dt)) : b("", !0),
|
|
1861
1869
|
o("div", {
|
|
1862
1870
|
class: O(["wm-aiav__inner", {
|
|
1863
1871
|
"wm-aiav__inner--glow": n.pulse,
|
|
@@ -1872,7 +1880,7 @@ function zt(e, t, n, i, r, s) {
|
|
|
1872
1880
|
key: 0,
|
|
1873
1881
|
src: n.imageUrl,
|
|
1874
1882
|
alt: n.name || ""
|
|
1875
|
-
}, null, 8,
|
|
1883
|
+
}, null, 8, Pt)) : s.initials ? (c(), u("span", {
|
|
1876
1884
|
key: 1,
|
|
1877
1885
|
style: q({ fontSize: n.size * 0.36 + "px" })
|
|
1878
1886
|
}, v(s.initials), 5)) : (c(), u("svg", {
|
|
@@ -1902,11 +1910,11 @@ function zt(e, t, n, i, r, s) {
|
|
|
1902
1910
|
fill: "white",
|
|
1903
1911
|
opacity: "0.38"
|
|
1904
1912
|
}, null, -1)
|
|
1905
|
-
])], 8,
|
|
1913
|
+
])], 8, jt))
|
|
1906
1914
|
], 6)
|
|
1907
1915
|
], 6);
|
|
1908
1916
|
}
|
|
1909
|
-
const le = /* @__PURE__ */
|
|
1917
|
+
const le = /* @__PURE__ */ R(Ut, [["render", Ht], ["__scopeId", "data-v-6f7f685d"]]), zt = {
|
|
1910
1918
|
name: "WmTeamAvatars",
|
|
1911
1919
|
props: {
|
|
1912
1920
|
members: { type: Array, default: () => [] },
|
|
@@ -1941,7 +1949,7 @@ function Wt(e, t, n, i, r, s) {
|
|
|
1941
1949
|
class: "wm-team__stack",
|
|
1942
1950
|
style: q({ width: s.stackWidth + "px" })
|
|
1943
1951
|
}, [
|
|
1944
|
-
(c(!0), u(
|
|
1952
|
+
(c(!0), u(E, null, P(n.members.slice(0, 3), (a, l) => (c(), u("div", {
|
|
1945
1953
|
key: l,
|
|
1946
1954
|
class: "wm-team__pill",
|
|
1947
1955
|
style: q({
|
|
@@ -1960,13 +1968,13 @@ function Wt(e, t, n, i, r, s) {
|
|
|
1960
1968
|
n.responseLabel ? (c(), u("span", Kt, v(n.responseLabel), 1)) : b("", !0)
|
|
1961
1969
|
])) : b("", !0);
|
|
1962
1970
|
}
|
|
1963
|
-
const Gt = /* @__PURE__ */
|
|
1971
|
+
const Gt = /* @__PURE__ */ R(zt, [["render", Wt], ["__scopeId", "data-v-e49a9063"]]), Yt = {
|
|
1964
1972
|
name: "WmHeader",
|
|
1965
1973
|
components: { AIAvatar: le, TeamAvatars: Gt },
|
|
1966
1974
|
inject: {
|
|
1967
1975
|
// Translator shared by the Messenger shell. Falls back to a French
|
|
1968
1976
|
// translator when the component is used standalone (no provider).
|
|
1969
|
-
t: { default: () =>
|
|
1977
|
+
t: { default: () => j() }
|
|
1970
1978
|
},
|
|
1971
1979
|
props: {
|
|
1972
1980
|
title: { type: String, default: "Nouvelle conversation" },
|
|
@@ -2007,7 +2015,7 @@ const Gt = /* @__PURE__ */ B(Ht, [["render", Wt], ["__scopeId", "data-v-e49a9063
|
|
|
2007
2015
|
class: "wm-header__fill"
|
|
2008
2016
|
}, sn = { class: "wm-header__actions" }, rn = ["aria-label", "title"], an = ["aria-label", "title"];
|
|
2009
2017
|
function on(e, t, n, i, r, s) {
|
|
2010
|
-
const a =
|
|
2018
|
+
const a = I("AIAvatar"), l = I("TeamAvatars");
|
|
2011
2019
|
return c(), u("div", Jt, [
|
|
2012
2020
|
n.showBack ? (c(), u("button", {
|
|
2013
2021
|
key: 0,
|
|
@@ -2030,9 +2038,9 @@ function on(e, t, n, i, r, s) {
|
|
|
2030
2038
|
o("path", { d: "M19 12H5M12 5l-7 7 7 7" })
|
|
2031
2039
|
], -1)
|
|
2032
2040
|
])], 8, Qt)) : (c(), u("div", Xt)),
|
|
2033
|
-
n.showIdentity ? (c(), u(
|
|
2041
|
+
n.showIdentity ? (c(), u(E, { key: 2 }, [
|
|
2034
2042
|
o("div", Zt, [
|
|
2035
|
-
|
|
2043
|
+
$(a, {
|
|
2036
2044
|
size: 30,
|
|
2037
2045
|
name: n.agentName,
|
|
2038
2046
|
"image-url": n.agentAvatarUrl
|
|
@@ -2105,8 +2113,8 @@ function on(e, t, n, i, r, s) {
|
|
|
2105
2113
|
])
|
|
2106
2114
|
]);
|
|
2107
2115
|
}
|
|
2108
|
-
const ln = /* @__PURE__ */
|
|
2109
|
-
function
|
|
2116
|
+
const ln = /* @__PURE__ */ R(Yt, [["render", on], ["__scopeId", "data-v-925c9e94"]]);
|
|
2117
|
+
function Ne(e) {
|
|
2110
2118
|
return String(e).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
2111
2119
|
}
|
|
2112
2120
|
function cn(e) {
|
|
@@ -2124,11 +2132,11 @@ function re(e) {
|
|
|
2124
2132
|
function dn(e) {
|
|
2125
2133
|
if (!e) return "";
|
|
2126
2134
|
const t = String(e).replace(/\[([^\]\n]+)\]\([^)\s]+\)/g, "$1");
|
|
2127
|
-
return re(
|
|
2135
|
+
return re(Ne(t));
|
|
2128
2136
|
}
|
|
2129
2137
|
function un(e) {
|
|
2130
2138
|
if (!e) return "";
|
|
2131
|
-
const t =
|
|
2139
|
+
const t = Ne(e).split(`
|
|
2132
2140
|
`), n = [];
|
|
2133
2141
|
let i = 0;
|
|
2134
2142
|
for (; i < t.length; ) {
|
|
@@ -2167,10 +2175,10 @@ function un(e) {
|
|
|
2167
2175
|
if (!A) break;
|
|
2168
2176
|
w.push(A[1]), i++;
|
|
2169
2177
|
}
|
|
2170
|
-
const T = w.map((A) => `<li>${re(A)}</li>`).join(""),
|
|
2178
|
+
const T = w.map((A) => `<li>${re(A)}</li>`).join(""), B = k !== 1 ? ` start="${k}"` : "";
|
|
2171
2179
|
n.push({
|
|
2172
2180
|
type: "block",
|
|
2173
|
-
html: `<ol class="wm-md-ol"${
|
|
2181
|
+
html: `<ol class="wm-md-ol"${B}>${T}</ol>`
|
|
2174
2182
|
});
|
|
2175
2183
|
continue;
|
|
2176
2184
|
}
|
|
@@ -2207,7 +2215,7 @@ const Te = {
|
|
|
2207
2215
|
inject: {
|
|
2208
2216
|
// Translator + resolved-language getter shared by the Messenger
|
|
2209
2217
|
// shell. Fall back to French wording when used standalone.
|
|
2210
|
-
t: { default: () =>
|
|
2218
|
+
t: { default: () => j() },
|
|
2211
2219
|
wmLocale: { default: () => () => "fr" }
|
|
2212
2220
|
},
|
|
2213
2221
|
props: {
|
|
@@ -2289,15 +2297,15 @@ const Te = {
|
|
|
2289
2297
|
}, On = {
|
|
2290
2298
|
key: 1,
|
|
2291
2299
|
class: "wm-onb__section"
|
|
2292
|
-
}, Ln = { class: "wm-onb__section-title" },
|
|
2300
|
+
}, Ln = { class: "wm-onb__section-title" }, Bn = { class: "wm-onb__search" }, En = ["placeholder", "aria-label"], In = { class: "wm-onb__list" }, Rn = ["onClick"], Nn = ["aria-label"], Fn = { class: "wm-onb__thread-body" }, Un = { class: "wm-onb__thread-title" }, Dn = ["innerHTML"], Pn = { class: "wm-onb__thread-meta" }, jn = {
|
|
2293
2301
|
key: 0,
|
|
2294
2302
|
class: "wm-onb__thread-time"
|
|
2295
|
-
},
|
|
2303
|
+
}, Hn = {
|
|
2296
2304
|
key: 0,
|
|
2297
2305
|
class: "wm-onb__empty"
|
|
2298
2306
|
};
|
|
2299
|
-
function
|
|
2300
|
-
const a =
|
|
2307
|
+
function zn(e, t, n, i, r, s) {
|
|
2308
|
+
const a = I("AIAvatar");
|
|
2301
2309
|
return c(), u("div", mn, [
|
|
2302
2310
|
o("div", fn, [
|
|
2303
2311
|
t[2] || (t[2] = o("svg", {
|
|
@@ -2334,7 +2342,7 @@ function Hn(e, t, n, i, r, s) {
|
|
|
2334
2342
|
opacity: "0.65"
|
|
2335
2343
|
})
|
|
2336
2344
|
], -1)),
|
|
2337
|
-
|
|
2345
|
+
$(a, {
|
|
2338
2346
|
size: 52,
|
|
2339
2347
|
"image-url": n.defaultIconUrl
|
|
2340
2348
|
}, null, 8, ["image-url"]),
|
|
@@ -2373,7 +2381,7 @@ function Hn(e, t, n, i, r, s) {
|
|
|
2373
2381
|
o("div", {
|
|
2374
2382
|
class: O(s.quickLinksLayout)
|
|
2375
2383
|
}, [
|
|
2376
|
-
(c(!0), u(
|
|
2384
|
+
(c(!0), u(E, null, P(n.quickLinks, (l, p) => (c(), u("button", {
|
|
2377
2385
|
key: p,
|
|
2378
2386
|
type: "button",
|
|
2379
2387
|
class: O(["wm-onb__card", { "wm-onb__card--row": s.isOddQuickLinks }]),
|
|
@@ -2395,7 +2403,7 @@ function Hn(e, t, n, i, r, s) {
|
|
|
2395
2403
|
])) : b("", !0),
|
|
2396
2404
|
n.openThreads.length ? (c(), u("div", On, [
|
|
2397
2405
|
o("div", Ln, v(s.t("onboarding.recentConversations")), 1),
|
|
2398
|
-
o("div",
|
|
2406
|
+
o("div", Bn, [
|
|
2399
2407
|
t[4] || (t[4] = o("span", { class: "wm-onb__searchIcon" }, [
|
|
2400
2408
|
o("svg", {
|
|
2401
2409
|
width: "12",
|
|
@@ -2416,12 +2424,12 @@ function Hn(e, t, n, i, r, s) {
|
|
|
2416
2424
|
type: "text",
|
|
2417
2425
|
placeholder: s.t("onboarding.search"),
|
|
2418
2426
|
"aria-label": s.t("onboarding.search")
|
|
2419
|
-
}, null, 8,
|
|
2427
|
+
}, null, 8, En), [
|
|
2420
2428
|
[X, r.query]
|
|
2421
2429
|
])
|
|
2422
2430
|
]),
|
|
2423
|
-
o("div",
|
|
2424
|
-
(c(!0), u(
|
|
2431
|
+
o("div", In, [
|
|
2432
|
+
(c(!0), u(E, null, P(s.filteredThreads, (l) => (c(), u("button", {
|
|
2425
2433
|
key: l.id,
|
|
2426
2434
|
type: "button",
|
|
2427
2435
|
class: "wm-onb__thread",
|
|
@@ -2454,10 +2462,10 @@ function Hn(e, t, n, i, r, s) {
|
|
|
2454
2462
|
o("span", {
|
|
2455
2463
|
class: "wm-onb__thread-preview",
|
|
2456
2464
|
innerHTML: s.renderPreview(l.preview)
|
|
2457
|
-
}, null, 8,
|
|
2465
|
+
}, null, 8, Dn)
|
|
2458
2466
|
]),
|
|
2459
|
-
o("span",
|
|
2460
|
-
s.formatTs(l._ts) ? (c(), u("span",
|
|
2467
|
+
o("span", Pn, [
|
|
2468
|
+
s.formatTs(l._ts) ? (c(), u("span", jn, v(s.formatTs(l._ts)), 1)) : b("", !0),
|
|
2461
2469
|
t[6] || (t[6] = o("svg", {
|
|
2462
2470
|
width: "14",
|
|
2463
2471
|
height: "14",
|
|
@@ -2473,13 +2481,13 @@ function Hn(e, t, n, i, r, s) {
|
|
|
2473
2481
|
o("path", { d: "M5 12h14M13 5l7 7-7 7" })
|
|
2474
2482
|
], -1))
|
|
2475
2483
|
])
|
|
2476
|
-
], 8,
|
|
2477
|
-
s.filteredThreads.length ? b("", !0) : (c(), u("div",
|
|
2484
|
+
], 8, Rn))), 128)),
|
|
2485
|
+
s.filteredThreads.length ? b("", !0) : (c(), u("div", Hn, v(s.t("onboarding.noResults", { query: r.query })), 1))
|
|
2478
2486
|
])
|
|
2479
2487
|
])) : b("", !0)
|
|
2480
2488
|
]);
|
|
2481
2489
|
}
|
|
2482
|
-
const qn = /* @__PURE__ */
|
|
2490
|
+
const qn = /* @__PURE__ */ R(hn, [["render", zn], ["__scopeId", "data-v-a85aae63"]]);
|
|
2483
2491
|
function $n(e) {
|
|
2484
2492
|
return typeof e != "string" ? "" : e.replace(/`([^`]+)`/g, "$1").replace(/\*\*([^*]+)\*\*/g, "$1").replace(new RegExp("(?<!\\*)\\*([^*]+)\\*(?!\\*)", "g"), "$1").replace(/__([^_]+)__/g, "$1").replace(/\[([^\]]+)\]\([^)]+\)/g, "$1").replace(/\s+/g, " ").trim();
|
|
2485
2493
|
}
|
|
@@ -2574,7 +2582,7 @@ function es(e, t, n, i, r, s) {
|
|
|
2574
2582
|
]),
|
|
2575
2583
|
o("span", Qn, [
|
|
2576
2584
|
o("span", Xn, v(n.label), 1),
|
|
2577
|
-
s.detailText ? (c(), u(
|
|
2585
|
+
s.detailText ? (c(), u(E, { key: 0 }, [
|
|
2578
2586
|
t[4] || (t[4] = o("span", {
|
|
2579
2587
|
class: "wm-result__sep",
|
|
2580
2588
|
"aria-hidden": "true"
|
|
@@ -2584,12 +2592,12 @@ function es(e, t, n, i, r, s) {
|
|
|
2584
2592
|
])
|
|
2585
2593
|
], 2);
|
|
2586
2594
|
}
|
|
2587
|
-
const ts = /* @__PURE__ */
|
|
2595
|
+
const ts = /* @__PURE__ */ R(Vn, [["render", es], ["__scopeId", "data-v-7284acd0"]]), ns = {
|
|
2588
2596
|
name: "WmArtifactFormResponse",
|
|
2589
2597
|
inject: {
|
|
2590
2598
|
// Translator shared by the Messenger shell; French fallback when
|
|
2591
2599
|
// the component is used standalone.
|
|
2592
|
-
t: { default: () =>
|
|
2600
|
+
t: { default: () => j() }
|
|
2593
2601
|
},
|
|
2594
2602
|
props: {
|
|
2595
2603
|
data: { type: Object, required: !0 }
|
|
@@ -2623,7 +2631,7 @@ function cs(e, t, n, i, r, s) {
|
|
|
2623
2631
|
])
|
|
2624
2632
|
]),
|
|
2625
2633
|
o("div", os, [
|
|
2626
|
-
(c(!0), u(
|
|
2634
|
+
(c(!0), u(E, null, P(s.fields, (a, l) => (c(), u("div", {
|
|
2627
2635
|
key: l,
|
|
2628
2636
|
class: "wm-art__field"
|
|
2629
2637
|
}, [
|
|
@@ -2638,7 +2646,7 @@ function cs(e, t, n, i, r, s) {
|
|
|
2638
2646
|
])
|
|
2639
2647
|
]);
|
|
2640
2648
|
}
|
|
2641
|
-
const ds = /* @__PURE__ */
|
|
2649
|
+
const ds = /* @__PURE__ */ R(ns, [["render", cs], ["__scopeId", "data-v-713aecf1"]]), us = {
|
|
2642
2650
|
name: "WmArtifactInfoCard",
|
|
2643
2651
|
props: {
|
|
2644
2652
|
data: { type: Object, required: !0 }
|
|
@@ -2690,7 +2698,7 @@ function ks(e, t, n, i, r, s) {
|
|
|
2690
2698
|
]),
|
|
2691
2699
|
s.hasBody ? (c(), u("div", ys, [
|
|
2692
2700
|
n.data.body ? (c(), u("div", ws, v(n.data.body), 1)) : b("", !0),
|
|
2693
|
-
s.fields.length ? (c(!0), u(
|
|
2701
|
+
s.fields.length ? (c(!0), u(E, { key: 1 }, P(s.fields, (a, l) => (c(), u("div", {
|
|
2694
2702
|
key: l,
|
|
2695
2703
|
class: "wm-art__field"
|
|
2696
2704
|
}, [
|
|
@@ -2705,7 +2713,7 @@ function ks(e, t, n, i, r, s) {
|
|
|
2705
2713
|
])) : b("", !0)
|
|
2706
2714
|
]);
|
|
2707
2715
|
}
|
|
2708
|
-
const Cs = /* @__PURE__ */
|
|
2716
|
+
const Cs = /* @__PURE__ */ R(us, [["render", ks], ["__scopeId", "data-v-7eae0e4a"]]);
|
|
2709
2717
|
function As(e, t, n) {
|
|
2710
2718
|
if (!e) return "";
|
|
2711
2719
|
const i = new Date(e);
|
|
@@ -2725,7 +2733,7 @@ const Ss = {
|
|
|
2725
2733
|
inject: {
|
|
2726
2734
|
// Translator + resolved-language getter shared by the Messenger
|
|
2727
2735
|
// shell. Fall back to French wording when used standalone.
|
|
2728
|
-
t: { default: () =>
|
|
2736
|
+
t: { default: () => j() },
|
|
2729
2737
|
wmLocale: { default: () => () => "fr" }
|
|
2730
2738
|
},
|
|
2731
2739
|
props: {
|
|
@@ -2766,13 +2774,13 @@ const Ss = {
|
|
|
2766
2774
|
return /high|haute|élev|elev|critic|critiq|urgent/.test(t) ? 3 : /low|basse|faible|minor/.test(t) ? 1 : 2;
|
|
2767
2775
|
}
|
|
2768
2776
|
}
|
|
2769
|
-
}, Ms = { class: "wm-art wm-art--ticket" }, Ts = { class: "wm-art__head wm-tk__head" }, xs = { class: "wm-art__title wm-tk__title" }, Os = { class: "wm-tk__sub" }, Ls = { class: "wm-tk__ref" },
|
|
2777
|
+
}, Ms = { class: "wm-art wm-art--ticket" }, Ts = { class: "wm-art__head wm-tk__head" }, xs = { class: "wm-art__title wm-tk__title" }, Os = { class: "wm-tk__sub" }, Ls = { class: "wm-tk__ref" }, Bs = {
|
|
2770
2778
|
key: 0,
|
|
2771
2779
|
class: "wm-tk__text"
|
|
2772
|
-
},
|
|
2780
|
+
}, Es = {
|
|
2773
2781
|
key: 0,
|
|
2774
2782
|
class: "wm-art__body"
|
|
2775
|
-
},
|
|
2783
|
+
}, Is = { class: "wm-art__fieldLabel" }, Rs = ["data-level"], Ns = {
|
|
2776
2784
|
key: 1,
|
|
2777
2785
|
class: "wm-tk__date",
|
|
2778
2786
|
width: "12",
|
|
@@ -2824,14 +2832,14 @@ function Us(e, t, n, i, r, s) {
|
|
|
2824
2832
|
pe(" " + v(n.data.status.label), 1)
|
|
2825
2833
|
], 2)
|
|
2826
2834
|
]),
|
|
2827
|
-
n.data.body ? (c(), u("div",
|
|
2835
|
+
n.data.body ? (c(), u("div", Bs, v(n.data.body), 1)) : b("", !0)
|
|
2828
2836
|
]),
|
|
2829
|
-
s.fields.length ? (c(), u("div",
|
|
2830
|
-
(c(!0), u(
|
|
2837
|
+
s.fields.length ? (c(), u("div", Es, [
|
|
2838
|
+
(c(!0), u(E, null, P(s.fields, (a, l) => (c(), u("div", {
|
|
2831
2839
|
key: l,
|
|
2832
2840
|
class: "wm-art__field"
|
|
2833
2841
|
}, [
|
|
2834
|
-
o("div",
|
|
2842
|
+
o("div", Is, v(a.label), 1),
|
|
2835
2843
|
o("div", {
|
|
2836
2844
|
class: O([
|
|
2837
2845
|
"wm-art__fieldValue",
|
|
@@ -2868,7 +2876,7 @@ function Us(e, t, n, i, r, s) {
|
|
|
2868
2876
|
height: "9",
|
|
2869
2877
|
rx: "0.5"
|
|
2870
2878
|
}, null, -1)
|
|
2871
|
-
])], 8,
|
|
2879
|
+
])], 8, Rs)) : s.isDate(a.label) ? (c(), u("svg", Ns, [...t[3] || (t[3] = [
|
|
2872
2880
|
o("rect", {
|
|
2873
2881
|
x: "3",
|
|
2874
2882
|
y: "4",
|
|
@@ -2907,11 +2915,11 @@ function Us(e, t, n, i, r, s) {
|
|
|
2907
2915
|
])) : b("", !0)
|
|
2908
2916
|
]);
|
|
2909
2917
|
}
|
|
2910
|
-
const
|
|
2918
|
+
const Ds = /* @__PURE__ */ R(Ss, [["render", Us], ["__scopeId", "data-v-5f30c914"]]), Ps = {
|
|
2911
2919
|
form_response: ds,
|
|
2912
2920
|
info_card: Cs,
|
|
2913
|
-
ticket:
|
|
2914
|
-
},
|
|
2921
|
+
ticket: Ds
|
|
2922
|
+
}, js = {
|
|
2915
2923
|
name: "WmArtifactRenderer",
|
|
2916
2924
|
props: {
|
|
2917
2925
|
// Forme : { kind: string, data: any } (le `data` est validé
|
|
@@ -2922,23 +2930,23 @@ const Ps = /* @__PURE__ */ B(Ss, [["render", Us], ["__scopeId", "data-v-5f30c914
|
|
|
2922
2930
|
component() {
|
|
2923
2931
|
var t;
|
|
2924
2932
|
const e = (t = this.artifact) == null ? void 0 : t.kind;
|
|
2925
|
-
return e &&
|
|
2933
|
+
return e && Ps[e] || null;
|
|
2926
2934
|
}
|
|
2927
2935
|
}
|
|
2928
2936
|
};
|
|
2929
|
-
function
|
|
2930
|
-
return s.component ? (c(), U(
|
|
2937
|
+
function Hs(e, t, n, i, r, s) {
|
|
2938
|
+
return s.component ? (c(), U(Pe(s.component), {
|
|
2931
2939
|
key: 0,
|
|
2932
2940
|
data: n.artifact.data
|
|
2933
2941
|
}, null, 8, ["data"])) : b("", !0);
|
|
2934
2942
|
}
|
|
2935
|
-
const
|
|
2943
|
+
const zs = /* @__PURE__ */ R(js, [["render", Hs]]), qs = {
|
|
2936
2944
|
name: "WmAttachmentPreview",
|
|
2937
2945
|
inject: {
|
|
2938
2946
|
signAttachmentFn: { default: null },
|
|
2939
2947
|
// Translator shared by the Messenger shell; French fallback when
|
|
2940
2948
|
// the component is used standalone.
|
|
2941
|
-
t: { default: () =>
|
|
2949
|
+
t: { default: () => j() }
|
|
2942
2950
|
},
|
|
2943
2951
|
props: {
|
|
2944
2952
|
attachment: { type: Object, required: !0 }
|
|
@@ -3067,7 +3075,7 @@ function Zs(e, t, n, i, r, s) {
|
|
|
3067
3075
|
], 8, Gs))
|
|
3068
3076
|
], 2);
|
|
3069
3077
|
}
|
|
3070
|
-
const er = /* @__PURE__ */
|
|
3078
|
+
const er = /* @__PURE__ */ R(qs, [["render", Zs], ["__scopeId", "data-v-0c877a62"]]), tr = {
|
|
3071
3079
|
name: "WmBubble",
|
|
3072
3080
|
props: {
|
|
3073
3081
|
role: { type: String, default: "ai" },
|
|
@@ -3084,12 +3092,12 @@ function sr(e, t, n, i, r, s) {
|
|
|
3084
3092
|
return c(), u("div", {
|
|
3085
3093
|
class: O(["wm-bubble", "wm-bubble--" + n.role])
|
|
3086
3094
|
}, [
|
|
3087
|
-
|
|
3095
|
+
je(e.$slots, "default", {}, () => [
|
|
3088
3096
|
o("span", { innerHTML: s.rendered }, null, 8, nr)
|
|
3089
3097
|
], !0)
|
|
3090
3098
|
], 2);
|
|
3091
3099
|
}
|
|
3092
|
-
const rr = /* @__PURE__ */
|
|
3100
|
+
const rr = /* @__PURE__ */ R(tr, [["render", sr], ["__scopeId", "data-v-7ab13147"]]), ir = { name: "WmTyping" }, ar = { class: "wm-typing" };
|
|
3093
3101
|
function or(e, t, n, i, r, s) {
|
|
3094
3102
|
return c(), u("div", ar, [...t[0] || (t[0] = [
|
|
3095
3103
|
o("span", { style: { "animation-delay": "0s" } }, null, -1),
|
|
@@ -3097,7 +3105,7 @@ function or(e, t, n, i, r, s) {
|
|
|
3097
3105
|
o("span", { style: { "animation-delay": "0.4s" } }, null, -1)
|
|
3098
3106
|
])]);
|
|
3099
3107
|
}
|
|
3100
|
-
const lr = /* @__PURE__ */
|
|
3108
|
+
const lr = /* @__PURE__ */ R(ir, [["render", or], ["__scopeId", "data-v-df2447fd"]]);
|
|
3101
3109
|
function Q(e) {
|
|
3102
3110
|
return e ? e.client_msg_id || e.id : "";
|
|
3103
3111
|
}
|
|
@@ -3117,12 +3125,12 @@ const cr = {
|
|
|
3117
3125
|
Typing: lr,
|
|
3118
3126
|
ActionResult: ts,
|
|
3119
3127
|
AttachmentPreview: er,
|
|
3120
|
-
ArtifactRenderer:
|
|
3128
|
+
ArtifactRenderer: zs
|
|
3121
3129
|
},
|
|
3122
3130
|
inject: {
|
|
3123
3131
|
// Translator + resolved-language getter shared by the Messenger
|
|
3124
3132
|
// shell. Fall back to French wording when used standalone.
|
|
3125
|
-
t: { default: () =>
|
|
3133
|
+
t: { default: () => j() },
|
|
3126
3134
|
wmLocale: { default: () => () => "fr" }
|
|
3127
3135
|
},
|
|
3128
3136
|
props: {
|
|
@@ -3168,7 +3176,12 @@ const cr = {
|
|
|
3168
3176
|
// par `cornersFor()` pour décider du rétractement des coins
|
|
3169
3177
|
// intérieurs. Avant la première mesure, `cornersFor` retombe
|
|
3170
3178
|
// sur la convention kind-based (`card` > `bubble`).
|
|
3171
|
-
widthByKey: Object.freeze({})
|
|
3179
|
+
widthByKey: Object.freeze({}),
|
|
3180
|
+
// True dès que l'utilisateur a remonté l'historique au-delà du
|
|
3181
|
+
// seuil "pinned" — affiche un bouton flottant pour revenir en
|
|
3182
|
+
// bas. Recalculé sur chaque `onScroll` et après chaque restore
|
|
3183
|
+
// de position.
|
|
3184
|
+
showScrollDown: !1
|
|
3172
3185
|
};
|
|
3173
3186
|
},
|
|
3174
3187
|
computed: {
|
|
@@ -3301,7 +3314,7 @@ const cr = {
|
|
|
3301
3314
|
},
|
|
3302
3315
|
onScroll() {
|
|
3303
3316
|
const e = this.$refs.scrollEl;
|
|
3304
|
-
e && (this.loadingMore || !this.hasMore
|
|
3317
|
+
e && (this.showScrollDown = !this.isAtBottom(e), !(this.loadingMore || !this.hasMore) && (this._pendingLoadMore || e.scrollTop <= ur && (this._pendingLoadMore = !0, this.$emit("load-more"))));
|
|
3305
3318
|
},
|
|
3306
3319
|
// Capture pre-patch scroll state and restore it on the next tick.
|
|
3307
3320
|
//
|
|
@@ -3502,9 +3515,9 @@ const cr = {
|
|
|
3502
3515
|
// doit garder son arrondi.
|
|
3503
3516
|
cornersFor(e, t) {
|
|
3504
3517
|
var Z, ee, te;
|
|
3505
|
-
const n = e.items, i = (Z = n[t]) == null ? void 0 : Z.kind, r = (ee = n[t - 1]) == null ? void 0 : ee.kind, s = (te = n[t + 1]) == null ? void 0 : te.kind, a = e.role === "user", l = 14, p = 4, k = r == null ? void 0 : r.bottom, w = s == null ? void 0 : s.top, T = this.widthByKey[this.rowKeyOf(e, t)],
|
|
3506
|
-
let F = l, N = l,
|
|
3507
|
-
return a ? (k && (N = p), (w || !s) && (
|
|
3518
|
+
const n = e.items, i = (Z = n[t]) == null ? void 0 : Z.kind, r = (ee = n[t - 1]) == null ? void 0 : ee.kind, s = (te = n[t + 1]) == null ? void 0 : te.kind, a = e.role === "user", l = 14, p = 4, k = r == null ? void 0 : r.bottom, w = s == null ? void 0 : s.top, T = this.widthByKey[this.rowKeyOf(e, t)], B = this.widthByKey[this.rowKeyOf(e, t - 1)], A = this.widthByKey[this.rowKeyOf(e, t + 1)], H = 0.5, M = (V, ne, Y) => V != null && T != null ? V + H >= T : ne === Y || ne === "card" && Y === "bubble";
|
|
3519
|
+
let F = l, N = l, D = l, G = l;
|
|
3520
|
+
return a ? (k && (N = p), (w || !s) && (D = p), k && M(B, k, i == null ? void 0 : i.top) && (F = p), w && M(A, w, i == null ? void 0 : i.bottom) && (G = p)) : (k && (F = p), (w || !s) && (G = p), k && M(B, k, i == null ? void 0 : i.top) && (N = p), w && M(A, w, i == null ? void 0 : i.bottom) && (D = p)), { tl: F, tr: N, br: D, bl: G };
|
|
3508
3521
|
},
|
|
3509
3522
|
// Inline style emitting the four corner CSS variables. Set on
|
|
3510
3523
|
// `.wm-list__row` so they cascade to Bubble/ActionResult/
|
|
@@ -3570,7 +3583,7 @@ const cr = {
|
|
|
3570
3583
|
const t = e.items[e.items.length - 1], n = (t == null ? void 0 : t.message) || e.messages[e.messages.length - 1];
|
|
3571
3584
|
if (!(n != null && n.created_at)) return "";
|
|
3572
3585
|
try {
|
|
3573
|
-
return
|
|
3586
|
+
return Ee(
|
|
3574
3587
|
new Date(n.created_at),
|
|
3575
3588
|
oe(this.wmLocale())
|
|
3576
3589
|
);
|
|
@@ -3622,166 +3635,202 @@ const cr = {
|
|
|
3622
3635
|
},
|
|
3623
3636
|
scrollToBottom() {
|
|
3624
3637
|
const e = this.$refs.scrollEl;
|
|
3625
|
-
e && (e.scrollTop = e.scrollHeight);
|
|
3638
|
+
e && (e.scrollTop = e.scrollHeight), this.showScrollDown = !1;
|
|
3639
|
+
},
|
|
3640
|
+
// Variante "user-initiated" du bouton flottant : scroll fluide pour
|
|
3641
|
+
// que le geste se voit, contrairement aux restores automatiques qui
|
|
3642
|
+
// doivent être instantanés.
|
|
3643
|
+
scrollToBottomSmooth() {
|
|
3644
|
+
const e = this.$refs.scrollEl;
|
|
3645
|
+
e && (typeof e.scrollTo == "function" ? e.scrollTo({ top: e.scrollHeight, behavior: "smooth" }) : e.scrollTop = e.scrollHeight, this.showScrollDown = !1);
|
|
3626
3646
|
}
|
|
3627
3647
|
}
|
|
3628
|
-
}, mr = {
|
|
3648
|
+
}, mr = { class: "wm-list__wrap" }, fr = {
|
|
3629
3649
|
key: 0,
|
|
3630
3650
|
class: "wm-list__loadMore",
|
|
3631
3651
|
role: "status",
|
|
3632
3652
|
"aria-live": "polite"
|
|
3633
|
-
},
|
|
3653
|
+
}, gr = { class: "wm-list__loadMore-lbl" }, _r = {
|
|
3634
3654
|
key: 1,
|
|
3635
3655
|
class: "wm-list__historyEnd"
|
|
3636
|
-
},
|
|
3656
|
+
}, pr = {
|
|
3637
3657
|
key: 2,
|
|
3638
3658
|
class: "wm-list__sep"
|
|
3639
|
-
},
|
|
3659
|
+
}, vr = { class: "wm-list__sep-label" }, yr = {
|
|
3640
3660
|
key: 0,
|
|
3641
3661
|
class: "wm-list__sep wm-list__sep--unread"
|
|
3642
|
-
},
|
|
3662
|
+
}, wr = { class: "wm-list__sep-label wm-list__sep-label--unread" }, br = {
|
|
3643
3663
|
key: 0,
|
|
3644
3664
|
class: "wm-list__sysep"
|
|
3645
|
-
},
|
|
3665
|
+
}, kr = { class: "wm-list__sysep-label" }, Cr = ["data-row-key"], Ar = {
|
|
3646
3666
|
key: 0,
|
|
3647
3667
|
class: "wm-list__avatarSlot"
|
|
3648
|
-
},
|
|
3668
|
+
}, Sr = {
|
|
3649
3669
|
key: 5,
|
|
3650
3670
|
class: "wm-list__body"
|
|
3651
|
-
},
|
|
3671
|
+
}, Mr = { key: 0 }, Tr = {
|
|
3652
3672
|
key: 1,
|
|
3653
3673
|
"aria-hidden": "true"
|
|
3654
|
-
},
|
|
3674
|
+
}, xr = { key: 2 }, Or = {
|
|
3655
3675
|
key: 3,
|
|
3656
3676
|
class: "wm-list__row wm-list__row--ai fade-up"
|
|
3657
|
-
},
|
|
3658
|
-
function
|
|
3659
|
-
const a =
|
|
3660
|
-
return c(), u("div",
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
n.loadingMore ? (c(), u("div", mr, [
|
|
3666
|
-
t[1] || (t[1] = o("span", {
|
|
3667
|
-
class: "wm-list__loadMore-spinner",
|
|
3668
|
-
"aria-hidden": "true"
|
|
3669
|
-
}, null, -1)),
|
|
3670
|
-
o("span", fr, v(s.t("messageList.loadingHistory")), 1)
|
|
3671
|
-
])) : s.historyExhausted ? (c(), u("div", gr, v(s.t("messageList.conversationStart")), 1)) : b("", !0),
|
|
3672
|
-
n.dateLabel ? (c(), u("div", _r, [
|
|
3673
|
-
t[2] || (t[2] = o("div", { class: "wm-list__line" }, null, -1)),
|
|
3674
|
-
o("span", pr, v(n.dateLabel), 1),
|
|
3675
|
-
t[3] || (t[3] = o("div", { class: "wm-list__line" }, null, -1))
|
|
3676
|
-
])) : b("", !0),
|
|
3677
|
-
(c(!0), u(R, null, j(s.groups, (A, z) => (c(), u(R, {
|
|
3678
|
-
key: A.key
|
|
3677
|
+
}, Lr = { class: "wm-list__avatarSlot" }, Br = ["aria-label", "title"];
|
|
3678
|
+
function Er(e, t, n, i, r, s) {
|
|
3679
|
+
const a = I("AIAvatar"), l = I("HumanAvatar"), p = I("ActionResult"), k = I("ArtifactRenderer"), w = I("Bubble"), T = I("AttachmentPreview"), B = I("Typing");
|
|
3680
|
+
return c(), u("div", mr, [
|
|
3681
|
+
o("div", {
|
|
3682
|
+
ref: "scrollEl",
|
|
3683
|
+
class: O(["wm-list", { "wm-list--silent": r.silentFades }]),
|
|
3684
|
+
onScrollPassive: t[0] || (t[0] = (...A) => s.onScroll && s.onScroll(...A))
|
|
3679
3685
|
}, [
|
|
3680
|
-
|
|
3681
|
-
t[
|
|
3682
|
-
|
|
3683
|
-
|
|
3686
|
+
n.loadingMore ? (c(), u("div", fr, [
|
|
3687
|
+
t[2] || (t[2] = o("span", {
|
|
3688
|
+
class: "wm-list__loadMore-spinner",
|
|
3689
|
+
"aria-hidden": "true"
|
|
3690
|
+
}, null, -1)),
|
|
3691
|
+
o("span", gr, v(s.t("messageList.loadingHistory")), 1)
|
|
3692
|
+
])) : s.historyExhausted ? (c(), u("div", _r, v(s.t("messageList.conversationStart")), 1)) : b("", !0),
|
|
3693
|
+
n.dateLabel ? (c(), u("div", pr, [
|
|
3694
|
+
t[3] || (t[3] = o("div", { class: "wm-list__line" }, null, -1)),
|
|
3695
|
+
o("span", vr, v(n.dateLabel), 1),
|
|
3696
|
+
t[4] || (t[4] = o("div", { class: "wm-list__line" }, null, -1))
|
|
3684
3697
|
])) : b("", !0),
|
|
3685
|
-
|
|
3686
|
-
key:
|
|
3687
|
-
class: O(["wm-list__group", "wm-list__group--" + A.role])
|
|
3698
|
+
(c(!0), u(E, null, P(s.groups, (A, H) => (c(), u(E, {
|
|
3699
|
+
key: A.key
|
|
3688
3700
|
}, [
|
|
3689
|
-
A.
|
|
3690
|
-
t[
|
|
3691
|
-
o("span",
|
|
3692
|
-
t[
|
|
3693
|
-
])) : (
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3701
|
+
A.key === s.unreadGroupKey ? (c(), u("div", yr, [
|
|
3702
|
+
t[5] || (t[5] = o("div", { class: "wm-list__line wm-list__line--unread" }, null, -1)),
|
|
3703
|
+
o("span", wr, v(s.t("messageList.unread")), 1),
|
|
3704
|
+
t[6] || (t[6] = o("div", { class: "wm-list__line wm-list__line--unread" }, null, -1))
|
|
3705
|
+
])) : b("", !0),
|
|
3706
|
+
A.role === "system" || A.items.length ? (c(), u("div", {
|
|
3707
|
+
key: 1,
|
|
3708
|
+
class: O(["wm-list__group", "wm-list__group--" + A.role])
|
|
3709
|
+
}, [
|
|
3710
|
+
A.role === "system" ? (c(), u("div", br, [
|
|
3711
|
+
t[7] || (t[7] = o("div", { class: "wm-list__line wm-list__line--strong" }, null, -1)),
|
|
3712
|
+
o("span", kr, v(A.systemLabel), 1),
|
|
3713
|
+
t[8] || (t[8] = o("div", { class: "wm-list__line wm-list__line--strong" }, null, -1))
|
|
3714
|
+
])) : (c(), u(E, { key: 1 }, [
|
|
3715
|
+
(c(!0), u(E, null, P(A.items, (M, F) => (c(), u("div", {
|
|
3716
|
+
key: `${s.messageKey(M.message)}-${M.partKey}`,
|
|
3717
|
+
"data-row-key": `${s.messageKey(M.message)}-${M.partKey}`,
|
|
3718
|
+
class: O(["wm-list__row fade-up", [
|
|
3719
|
+
"wm-list__row--" + A.role,
|
|
3720
|
+
{
|
|
3721
|
+
"is-pending": M.message._pending,
|
|
3722
|
+
"is-failed": M.message._failed
|
|
3723
|
+
}
|
|
3724
|
+
]]),
|
|
3725
|
+
style: q(s.cornersStyle(A, F))
|
|
3726
|
+
}, [
|
|
3727
|
+
A.role !== "user" ? (c(), u("div", Ar, [
|
|
3728
|
+
F === A.items.length - 1 ? (c(), u(E, { key: 0 }, [
|
|
3729
|
+
A.role === "ai" ? (c(), U(a, {
|
|
3730
|
+
key: 0,
|
|
3731
|
+
size: 26,
|
|
3732
|
+
tail: !0,
|
|
3733
|
+
name: n.aiAgentName,
|
|
3734
|
+
"image-url": n.aiAgentAvatarUrl
|
|
3735
|
+
}, null, 8, ["name", "image-url"])) : (c(), U(l, {
|
|
3736
|
+
key: 1,
|
|
3737
|
+
name: A.agentName,
|
|
3738
|
+
"avatar-url": A.agentAvatarUrl,
|
|
3739
|
+
size: 26,
|
|
3740
|
+
tail: !0
|
|
3741
|
+
}, null, 8, ["name", "avatar-url"]))
|
|
3742
|
+
], 64)) : b("", !0)
|
|
3743
|
+
])) : b("", !0),
|
|
3744
|
+
M.renderAs === "action" ? (c(), U(p, {
|
|
3745
|
+
key: 1,
|
|
3746
|
+
state: M.message.payload.state,
|
|
3747
|
+
label: s.actionLabel(M.message),
|
|
3748
|
+
detail: s.actionDetail(M.message)
|
|
3749
|
+
}, null, 8, ["state", "label", "detail"])) : M.renderAs === "admin-pending" ? (c(), U(p, {
|
|
3750
|
+
key: 2,
|
|
3751
|
+
state: "awaiting",
|
|
3752
|
+
label: s.t("messageList.approvalRequestSent"),
|
|
3753
|
+
detail: M.message.text_md || ""
|
|
3754
|
+
}, null, 8, ["label", "detail"])) : M.renderAs === "artifact-of-action" ? (c(), U(k, {
|
|
3755
|
+
key: 3,
|
|
3756
|
+
artifact: s.actionArtifact(M.message)
|
|
3757
|
+
}, null, 8, ["artifact"])) : M.renderAs === "artifact" ? (c(), U(k, {
|
|
3758
|
+
key: 4,
|
|
3759
|
+
artifact: s.artifactOf(M.message)
|
|
3760
|
+
}, null, 8, ["artifact"])) : (c(), u("div", Sr, [
|
|
3761
|
+
M.message.text_md ? (c(), U(w, {
|
|
3709
3762
|
key: 0,
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
}, null, 8, ["name", "image-url"])) : (c(), U(l, {
|
|
3763
|
+
role: A.role,
|
|
3764
|
+
text: M.message.text_md
|
|
3765
|
+
}, null, 8, ["role", "text"])) : b("", !0),
|
|
3766
|
+
s.attachmentsOf(M.message).length ? (c(), u("div", {
|
|
3715
3767
|
key: 1,
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3768
|
+
class: O(["wm-list__atts", {
|
|
3769
|
+
"wm-list__atts--align-end": A.role === "user"
|
|
3770
|
+
}])
|
|
3771
|
+
}, [
|
|
3772
|
+
(c(!0), u(E, null, P(s.attachmentsOf(
|
|
3773
|
+
M.message
|
|
3774
|
+
), (N, D) => (c(), U(T, {
|
|
3775
|
+
key: `${s.messageKey(M.message)}-att-${D}`,
|
|
3776
|
+
attachment: N
|
|
3777
|
+
}, null, 8, ["attachment"]))), 128))
|
|
3778
|
+
], 2)) : b("", !0)
|
|
3779
|
+
]))
|
|
3780
|
+
], 14, Cr))), 128)),
|
|
3781
|
+
(A.role !== "user" || s.lastTimeOf(A)) && !s.hasTrailingOverlay(A) ? (c(), u("div", {
|
|
3782
|
+
key: 0,
|
|
3783
|
+
class: O(["wm-list__meta", { "wm-list__meta--right": A.role === "user" }])
|
|
3784
|
+
}, [
|
|
3785
|
+
A.role !== "user" ? (c(), u("span", Mr, v(s.roleLabel(A)), 1)) : b("", !0),
|
|
3786
|
+
A.role !== "user" && s.lastTimeOf(A) ? (c(), u("span", Tr, "•")) : b("", !0),
|
|
3787
|
+
s.lastTimeOf(A) ? (c(), u("span", xr, v(s.lastTimeOf(A)), 1)) : b("", !0)
|
|
3788
|
+
], 2)) : b("", !0)
|
|
3789
|
+
], 64))
|
|
3790
|
+
], 2)) : b("", !0)
|
|
3791
|
+
], 64))), 128)),
|
|
3792
|
+
n.streamingActive ? (c(), u("div", Or, [
|
|
3793
|
+
o("div", Lr, [
|
|
3794
|
+
$(a, {
|
|
3795
|
+
size: 26,
|
|
3796
|
+
tail: !0,
|
|
3797
|
+
name: n.aiAgentName,
|
|
3798
|
+
"image-url": n.aiAgentAvatarUrl
|
|
3799
|
+
}, null, 8, ["name", "image-url"])
|
|
3800
|
+
]),
|
|
3801
|
+
$(B)
|
|
3802
|
+
])) : b("", !0)
|
|
3803
|
+
], 34),
|
|
3804
|
+
$(Le, { name: "wm-scrollDown" }, {
|
|
3805
|
+
default: Be(() => [
|
|
3806
|
+
r.showScrollDown ? (c(), u("button", {
|
|
3807
|
+
key: 0,
|
|
3808
|
+
type: "button",
|
|
3809
|
+
class: "wm-list__scrollDown",
|
|
3810
|
+
"aria-label": s.t("messageList.scrollToBottom"),
|
|
3811
|
+
title: s.t("messageList.scrollToBottom"),
|
|
3812
|
+
onClick: t[1] || (t[1] = (...A) => s.scrollToBottomSmooth && s.scrollToBottomSmooth(...A))
|
|
3813
|
+
}, [...t[9] || (t[9] = [
|
|
3814
|
+
o("svg", {
|
|
3815
|
+
width: "14",
|
|
3816
|
+
height: "14",
|
|
3817
|
+
viewBox: "0 0 24 24",
|
|
3818
|
+
fill: "none",
|
|
3819
|
+
stroke: "currentColor",
|
|
3820
|
+
"stroke-width": "2.2",
|
|
3821
|
+
"stroke-linecap": "round",
|
|
3822
|
+
"stroke-linejoin": "round",
|
|
3823
|
+
"aria-hidden": "true"
|
|
3763
3824
|
}, [
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
], 2)) : b("", !0)
|
|
3768
|
-
], 64))
|
|
3769
|
-
], 2)) : b("", !0)
|
|
3770
|
-
], 64))), 128)),
|
|
3771
|
-
n.streamingActive ? (c(), u("div", xr, [
|
|
3772
|
-
o("div", Or, [
|
|
3773
|
-
V(a, {
|
|
3774
|
-
size: 26,
|
|
3775
|
-
tail: !0,
|
|
3776
|
-
name: n.aiAgentName,
|
|
3777
|
-
"image-url": n.aiAgentAvatarUrl
|
|
3778
|
-
}, null, 8, ["name", "image-url"])
|
|
3825
|
+
o("path", { d: "M6 9l6 6 6-6" })
|
|
3826
|
+
], -1)
|
|
3827
|
+
])], 8, Br)) : b("", !0)
|
|
3779
3828
|
]),
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
]
|
|
3829
|
+
_: 1
|
|
3830
|
+
})
|
|
3831
|
+
]);
|
|
3783
3832
|
}
|
|
3784
|
-
const Ir = /* @__PURE__ */
|
|
3833
|
+
const Ir = /* @__PURE__ */ R(hr, [["render", Er], ["__scopeId", "data-v-9590b3b2"]]), he = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", be = typeof window < "u" && typeof window.MediaRecorder < "u";
|
|
3785
3834
|
function Rr() {
|
|
3786
3835
|
return be && [
|
|
3787
3836
|
"video/webm;codecs=vp9,opus",
|
|
@@ -3793,7 +3842,7 @@ function Rr() {
|
|
|
3793
3842
|
return (i = (n = window.MediaRecorder).isTypeSupported) == null ? void 0 : i.call(n, t);
|
|
3794
3843
|
}) || "";
|
|
3795
3844
|
}
|
|
3796
|
-
function
|
|
3845
|
+
function Fe({ audio: e }) {
|
|
3797
3846
|
return {
|
|
3798
3847
|
video: !0,
|
|
3799
3848
|
audio: !!e,
|
|
@@ -3805,18 +3854,18 @@ function Be({ audio: e }) {
|
|
|
3805
3854
|
function za(e) {
|
|
3806
3855
|
return e ? e.startsWith("image/") ? "image" : e.startsWith("video/") ? "video" : "file" : "file";
|
|
3807
3856
|
}
|
|
3808
|
-
async function
|
|
3857
|
+
async function Nr() {
|
|
3809
3858
|
if (!he) return null;
|
|
3810
3859
|
let e;
|
|
3811
3860
|
try {
|
|
3812
3861
|
e = await navigator.mediaDevices.getDisplayMedia(
|
|
3813
|
-
|
|
3862
|
+
Fe({ audio: !1 })
|
|
3814
3863
|
);
|
|
3815
3864
|
} catch (t) {
|
|
3816
3865
|
return (t == null ? void 0 : t.name) !== "NotAllowedError" && console.error("[media] screenshot picker", t), null;
|
|
3817
3866
|
}
|
|
3818
3867
|
try {
|
|
3819
|
-
return await
|
|
3868
|
+
return await Fr(e);
|
|
3820
3869
|
} catch (t) {
|
|
3821
3870
|
return console.error("[media] screenshot capture", t), null;
|
|
3822
3871
|
} finally {
|
|
@@ -3825,7 +3874,7 @@ async function Er() {
|
|
|
3825
3874
|
});
|
|
3826
3875
|
}
|
|
3827
3876
|
}
|
|
3828
|
-
async function
|
|
3877
|
+
async function Fr(e) {
|
|
3829
3878
|
const t = document.createElement("video");
|
|
3830
3879
|
t.muted = !0, t.playsInline = !0, t.srcObject = e, await t.play(), await new Promise((l) => requestAnimationFrame(l));
|
|
3831
3880
|
const n = t.videoWidth || 1280, i = t.videoHeight || 720, r = document.createElement("canvas");
|
|
@@ -3838,13 +3887,13 @@ async function Br(e) {
|
|
|
3838
3887
|
}), a = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19);
|
|
3839
3888
|
return new File([s], `capture-${a}.png`, { type: "image/png" });
|
|
3840
3889
|
}
|
|
3841
|
-
async function
|
|
3890
|
+
async function Ur(e = {}) {
|
|
3842
3891
|
var k;
|
|
3843
3892
|
if (!he || !be) return null;
|
|
3844
3893
|
let t;
|
|
3845
3894
|
try {
|
|
3846
3895
|
t = await navigator.mediaDevices.getDisplayMedia(
|
|
3847
|
-
|
|
3896
|
+
Fe({ audio: !0 })
|
|
3848
3897
|
);
|
|
3849
3898
|
} catch (w) {
|
|
3850
3899
|
return (w == null ? void 0 : w.name) !== "NotAllowedError" && console.error("[media] record picker", w), null;
|
|
@@ -3864,11 +3913,11 @@ async function Nr(e = {}) {
|
|
|
3864
3913
|
w.data && w.data.size > 0 && r.push(w.data);
|
|
3865
3914
|
}), i.addEventListener("stop", () => {
|
|
3866
3915
|
var w, T;
|
|
3867
|
-
if (s && clearInterval(s), t.getTracks().forEach((
|
|
3868
|
-
|
|
3916
|
+
if (s && clearInterval(s), t.getTracks().forEach((B) => {
|
|
3917
|
+
B.stop();
|
|
3869
3918
|
}), r.length) {
|
|
3870
|
-
const
|
|
3871
|
-
type:
|
|
3919
|
+
const B = i.mimeType || n || "video/webm", A = new Blob(r, { type: B }), H = /mp4/.test(B) ? "mp4" : "webm", M = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19), F = new File([A], `ecran-${M}.${H}`, {
|
|
3920
|
+
type: B
|
|
3872
3921
|
});
|
|
3873
3922
|
(w = e.onfinalize) == null || w.call(e, F);
|
|
3874
3923
|
} else
|
|
@@ -3903,7 +3952,7 @@ async function Nr(e = {}) {
|
|
|
3903
3952
|
}
|
|
3904
3953
|
};
|
|
3905
3954
|
}
|
|
3906
|
-
const
|
|
3955
|
+
const Dr = [
|
|
3907
3956
|
{
|
|
3908
3957
|
action: "file",
|
|
3909
3958
|
labelKey: "composer.attachFile",
|
|
@@ -3919,18 +3968,21 @@ const Fr = [
|
|
|
3919
3968
|
labelKey: "composer.recordScreen",
|
|
3920
3969
|
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"
|
|
3921
3970
|
}
|
|
3922
|
-
],
|
|
3971
|
+
], Pr = {
|
|
3923
3972
|
name: "WmComposer",
|
|
3924
3973
|
inject: {
|
|
3925
3974
|
// Translator shared by the Messenger shell; French fallback when
|
|
3926
3975
|
// the component is used standalone.
|
|
3927
|
-
t: { default: () =>
|
|
3976
|
+
t: { default: () => j() }
|
|
3928
3977
|
},
|
|
3929
3978
|
props: {
|
|
3930
3979
|
modelValue: { type: String, default: "" },
|
|
3931
3980
|
placeholder: { type: String, default: "Écrivez votre message…" },
|
|
3932
3981
|
disabled: { type: Boolean, default: !1 },
|
|
3933
|
-
attachLabel: { type: String, default: "Joindre" }
|
|
3982
|
+
attachLabel: { type: String, default: "Joindre" },
|
|
3983
|
+
// 'floating' | 'sheet' | 'embedded' — only 'sheet' enables the
|
|
3984
|
+
// visualViewport-based keyboard tracking (mobile fullscreen mode).
|
|
3985
|
+
displayMode: { type: String, default: "floating" }
|
|
3934
3986
|
},
|
|
3935
3987
|
emits: ["update:modelValue", "send", "attach"],
|
|
3936
3988
|
data() {
|
|
@@ -3939,7 +3991,10 @@ const Fr = [
|
|
|
3939
3991
|
attachOpen: !1,
|
|
3940
3992
|
recording: !1,
|
|
3941
3993
|
recordingElapsed: 0,
|
|
3942
|
-
recorder: null
|
|
3994
|
+
recorder: null,
|
|
3995
|
+
// Pixels the composer is lifted to stay above the soft keyboard.
|
|
3996
|
+
// Driven by visualViewport — 0 when no keyboard.
|
|
3997
|
+
kbOffset: 0
|
|
3943
3998
|
};
|
|
3944
3999
|
},
|
|
3945
4000
|
computed: {
|
|
@@ -3947,7 +4002,7 @@ const Fr = [
|
|
|
3947
4002
|
return !this.disabled && !!this.local.trim();
|
|
3948
4003
|
},
|
|
3949
4004
|
attachItems() {
|
|
3950
|
-
return
|
|
4005
|
+
return Dr.map((e) => ({
|
|
3951
4006
|
...e,
|
|
3952
4007
|
label: this.t(e.labelKey),
|
|
3953
4008
|
disabled: e.action === "screenshot" && !he || e.action === "record" && (!he || !be)
|
|
@@ -3967,7 +4022,7 @@ const Fr = [
|
|
|
3967
4022
|
}
|
|
3968
4023
|
},
|
|
3969
4024
|
mounted() {
|
|
3970
|
-
this.autosize();
|
|
4025
|
+
this.autosize(), this.displayMode === "sheet" && this.setupKeyboardTracking();
|
|
3971
4026
|
},
|
|
3972
4027
|
beforeUnmount() {
|
|
3973
4028
|
if (this.recorder)
|
|
@@ -3975,6 +4030,7 @@ const Fr = [
|
|
|
3975
4030
|
this.recorder.stop();
|
|
3976
4031
|
} catch {
|
|
3977
4032
|
}
|
|
4033
|
+
this.teardownKeyboardTracking();
|
|
3978
4034
|
},
|
|
3979
4035
|
methods: {
|
|
3980
4036
|
// Imperatively move the caret into the textarea — called by the
|
|
@@ -4020,13 +4076,13 @@ const Fr = [
|
|
|
4020
4076
|
},
|
|
4021
4077
|
async captureScreenshot() {
|
|
4022
4078
|
if (this.disabled) return;
|
|
4023
|
-
const e = await
|
|
4079
|
+
const e = await Nr();
|
|
4024
4080
|
e && this.$emit("attach", e);
|
|
4025
4081
|
},
|
|
4026
4082
|
async startRecording() {
|
|
4027
4083
|
if (this.recording || this.disabled) return;
|
|
4028
4084
|
this.recordingElapsed = 0;
|
|
4029
|
-
const e = await
|
|
4085
|
+
const e = await Ur({
|
|
4030
4086
|
onstart: () => {
|
|
4031
4087
|
this.recording = !0;
|
|
4032
4088
|
},
|
|
@@ -4049,29 +4105,49 @@ const Fr = [
|
|
|
4049
4105
|
} catch (e) {
|
|
4050
4106
|
console.error("[composer] stop recording", e);
|
|
4051
4107
|
}
|
|
4108
|
+
},
|
|
4109
|
+
// Track the soft keyboard via visualViewport so we can lift only the
|
|
4110
|
+
// composer above it — the message list stays put behind. Works inside
|
|
4111
|
+
// the iframe because each frame has its own visualViewport.
|
|
4112
|
+
setupKeyboardTracking() {
|
|
4113
|
+
const e = window.visualViewport;
|
|
4114
|
+
e && (this._vvHandler = () => {
|
|
4115
|
+
const t = Math.max(
|
|
4116
|
+
0,
|
|
4117
|
+
window.innerHeight - e.height - e.offsetTop
|
|
4118
|
+
);
|
|
4119
|
+
this.kbOffset = t;
|
|
4120
|
+
}, e.addEventListener("resize", this._vvHandler), e.addEventListener("scroll", this._vvHandler));
|
|
4121
|
+
},
|
|
4122
|
+
teardownKeyboardTracking() {
|
|
4123
|
+
const e = window.visualViewport;
|
|
4124
|
+
!e || !this._vvHandler || (e.removeEventListener("resize", this._vvHandler), e.removeEventListener("scroll", this._vvHandler), this._vvHandler = null);
|
|
4052
4125
|
}
|
|
4053
4126
|
}
|
|
4054
|
-
},
|
|
4127
|
+
}, jr = {
|
|
4055
4128
|
key: 0,
|
|
4056
4129
|
class: "wm-rec"
|
|
4057
|
-
},
|
|
4130
|
+
}, Hr = { class: "wm-rec__lbl" }, zr = {
|
|
4058
4131
|
key: 1,
|
|
4059
4132
|
class: "wm-compose__menu",
|
|
4060
4133
|
role: "menu"
|
|
4061
|
-
},
|
|
4134
|
+
}, qr = ["disabled", "onClick"], $r = { class: "wm-compose__menuIcon" }, Vr = {
|
|
4062
4135
|
viewBox: "0 0 24 24",
|
|
4063
4136
|
width: "14",
|
|
4064
4137
|
height: "14",
|
|
4065
4138
|
"aria-hidden": "true"
|
|
4066
|
-
},
|
|
4067
|
-
function
|
|
4068
|
-
return c(), u("div",
|
|
4139
|
+
}, Kr = ["d"], Wr = ["placeholder", "disabled"], Gr = { class: "wm-compose__actions" }, Yr = ["title", "aria-label", "disabled"], Jr = ["disabled", "aria-label"];
|
|
4140
|
+
function Qr(e, t, n, i, r, s) {
|
|
4141
|
+
return c(), u("div", {
|
|
4142
|
+
class: O(["wm-compose-wrap", { "wm-compose-wrap--sheet": n.displayMode === "sheet" }]),
|
|
4143
|
+
style: q(r.kbOffset ? { transform: `translateY(-${r.kbOffset}px)` } : null)
|
|
4144
|
+
}, [
|
|
4069
4145
|
r.recording ? (c(), u("div", jr, [
|
|
4070
4146
|
t[8] || (t[8] = o("span", {
|
|
4071
4147
|
class: "wm-rec__dot",
|
|
4072
4148
|
"aria-hidden": "true"
|
|
4073
4149
|
}, null, -1)),
|
|
4074
|
-
o("span",
|
|
4150
|
+
o("span", Hr, v(s.t("composer.recording", { time: s.recordingElapsedLabel })), 1),
|
|
4075
4151
|
o("button", {
|
|
4076
4152
|
type: "button",
|
|
4077
4153
|
class: "wm-rec__stop",
|
|
@@ -4095,15 +4171,15 @@ function Jr(e, t, n, i, r, s) {
|
|
|
4095
4171
|
onClick: t[2] || (t[2] = (a) => r.attachOpen = !1)
|
|
4096
4172
|
})) : b("", !0),
|
|
4097
4173
|
r.attachOpen ? (c(), u("div", zr, [
|
|
4098
|
-
(c(!0), u(
|
|
4174
|
+
(c(!0), u(E, null, P(s.attachItems, (a) => (c(), u("button", {
|
|
4099
4175
|
key: a.action,
|
|
4100
4176
|
type: "button",
|
|
4101
4177
|
class: "wm-compose__menuItem",
|
|
4102
4178
|
disabled: a.disabled,
|
|
4103
4179
|
onClick: (l) => s.onAttachAction(a.action)
|
|
4104
4180
|
}, [
|
|
4105
|
-
o("span",
|
|
4106
|
-
(c(), u("svg",
|
|
4181
|
+
o("span", $r, [
|
|
4182
|
+
(c(), u("svg", Vr, [
|
|
4107
4183
|
o("path", {
|
|
4108
4184
|
d: a.path,
|
|
4109
4185
|
stroke: "currentColor",
|
|
@@ -4111,11 +4187,11 @@ function Jr(e, t, n, i, r, s) {
|
|
|
4111
4187
|
"stroke-linecap": "round",
|
|
4112
4188
|
"stroke-linejoin": "round",
|
|
4113
4189
|
fill: "none"
|
|
4114
|
-
}, null, 8,
|
|
4190
|
+
}, null, 8, Kr)
|
|
4115
4191
|
]))
|
|
4116
4192
|
]),
|
|
4117
4193
|
o("span", null, v(a.label), 1)
|
|
4118
|
-
], 8,
|
|
4194
|
+
], 8, qr))), 128))
|
|
4119
4195
|
])) : b("", !0),
|
|
4120
4196
|
K(o("textarea", {
|
|
4121
4197
|
ref: "inputEl",
|
|
@@ -4126,10 +4202,10 @@ function Jr(e, t, n, i, r, s) {
|
|
|
4126
4202
|
disabled: n.disabled,
|
|
4127
4203
|
onKeydown: t[4] || (t[4] = (...a) => s.onKeydown && s.onKeydown(...a)),
|
|
4128
4204
|
onInput: t[5] || (t[5] = (...a) => s.autosize && s.autosize(...a))
|
|
4129
|
-
}, null, 40,
|
|
4205
|
+
}, null, 40, Wr), [
|
|
4130
4206
|
[X, r.local]
|
|
4131
4207
|
]),
|
|
4132
|
-
o("div",
|
|
4208
|
+
o("div", Gr, [
|
|
4133
4209
|
o("button", {
|
|
4134
4210
|
type: "button",
|
|
4135
4211
|
class: O(["wm-compose__icon", { "is-open": r.attachOpen }]),
|
|
@@ -4151,7 +4227,7 @@ function Jr(e, t, n, i, r, s) {
|
|
|
4151
4227
|
}, [
|
|
4152
4228
|
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" })
|
|
4153
4229
|
], -1)
|
|
4154
|
-
])], 10,
|
|
4230
|
+
])], 10, Yr),
|
|
4155
4231
|
o("button", {
|
|
4156
4232
|
type: "submit",
|
|
4157
4233
|
class: O(["wm-compose__send", { "is-empty": !s.canSend }]),
|
|
@@ -4171,12 +4247,12 @@ function Jr(e, t, n, i, r, s) {
|
|
|
4171
4247
|
}, [
|
|
4172
4248
|
o("path", { d: "M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" })
|
|
4173
4249
|
], -1)
|
|
4174
|
-
])], 10,
|
|
4250
|
+
])], 10, Jr)
|
|
4175
4251
|
])
|
|
4176
4252
|
], 34)
|
|
4177
|
-
]);
|
|
4253
|
+
], 6);
|
|
4178
4254
|
}
|
|
4179
|
-
const
|
|
4255
|
+
const Xr = /* @__PURE__ */ R(Pr, [["render", Qr], ["__scopeId", "data-v-d6c1e5e7"]]), Zr = {
|
|
4180
4256
|
name: "WmSuggestionChips",
|
|
4181
4257
|
props: {
|
|
4182
4258
|
items: { type: Array, default: () => [] },
|
|
@@ -4193,28 +4269,28 @@ const Qr = /* @__PURE__ */ B(Ur, [["render", Jr], ["__scopeId", "data-v-b88b1cbb
|
|
|
4193
4269
|
return this.items.map((e) => (e == null ? void 0 : e.label) || (e == null ? void 0 : e.text) || "").join("§");
|
|
4194
4270
|
}
|
|
4195
4271
|
}
|
|
4196
|
-
},
|
|
4197
|
-
function
|
|
4272
|
+
}, ei = ["onClick"];
|
|
4273
|
+
function ti(e, t, n, i, r, s) {
|
|
4198
4274
|
return n.items.length ? (c(), u("div", {
|
|
4199
4275
|
key: s.batchKey,
|
|
4200
4276
|
class: "wm-chips"
|
|
4201
4277
|
}, [
|
|
4202
|
-
(c(!0), u(
|
|
4278
|
+
(c(!0), u(E, null, P(n.items, (a, l) => (c(), u("button", {
|
|
4203
4279
|
key: l,
|
|
4204
4280
|
type: "button",
|
|
4205
4281
|
class: "wm-chip",
|
|
4206
4282
|
style: q({ animationDelay: n.baseDelay + l * n.stepDelay + "ms" }),
|
|
4207
4283
|
onClick: (p) => e.$emit("select", a)
|
|
4208
|
-
}, v(a.label), 13,
|
|
4284
|
+
}, v(a.label), 13, ei))), 128))
|
|
4209
4285
|
])) : b("", !0);
|
|
4210
4286
|
}
|
|
4211
|
-
const
|
|
4287
|
+
const ni = /* @__PURE__ */ R(Zr, [["render", ti], ["__scopeId", "data-v-47ad8085"]]), si = {
|
|
4212
4288
|
name: "WmApprovalCard",
|
|
4213
4289
|
components: { AIAvatar: le },
|
|
4214
4290
|
inject: {
|
|
4215
4291
|
// Translator shared by the Messenger shell; French fallback when
|
|
4216
4292
|
// the component is used standalone.
|
|
4217
|
-
t: { default: () =>
|
|
4293
|
+
t: { default: () => j() }
|
|
4218
4294
|
},
|
|
4219
4295
|
props: {
|
|
4220
4296
|
action: { type: String, required: !0 },
|
|
@@ -4252,27 +4328,27 @@ const ti = /* @__PURE__ */ B(Xr, [["render", ei], ["__scopeId", "data-v-47ad8085
|
|
|
4252
4328
|
return ((e = this.rejectCallback) == null ? void 0 : e.label) || this.t("approval.reject");
|
|
4253
4329
|
}
|
|
4254
4330
|
}
|
|
4255
|
-
},
|
|
4331
|
+
}, ri = { class: "wm-approval" }, ii = { class: "wm-approval__head" }, ai = { class: "wm-approval__icon" }, oi = { class: "wm-approval__main" }, li = { class: "wm-approval__title" }, ci = {
|
|
4256
4332
|
key: 0,
|
|
4257
4333
|
class: "wm-approval__detail"
|
|
4258
|
-
},
|
|
4259
|
-
function
|
|
4260
|
-
const a =
|
|
4261
|
-
return c(), u("div",
|
|
4262
|
-
o("div",
|
|
4263
|
-
o("div",
|
|
4264
|
-
|
|
4334
|
+
}, di = { class: "wm-approval__actions" };
|
|
4335
|
+
function ui(e, t, n, i, r, s) {
|
|
4336
|
+
const a = I("AIAvatar");
|
|
4337
|
+
return c(), u("div", ri, [
|
|
4338
|
+
o("div", ii, [
|
|
4339
|
+
o("div", ai, [
|
|
4340
|
+
$(a, {
|
|
4265
4341
|
size: 24,
|
|
4266
4342
|
name: n.agentName,
|
|
4267
4343
|
"image-url": n.agentAvatarUrl
|
|
4268
4344
|
}, null, 8, ["name", "image-url"])
|
|
4269
4345
|
]),
|
|
4270
|
-
o("div",
|
|
4271
|
-
o("div",
|
|
4272
|
-
n.detail ? (c(), u("div",
|
|
4346
|
+
o("div", oi, [
|
|
4347
|
+
o("div", li, v(n.action), 1),
|
|
4348
|
+
n.detail ? (c(), u("div", ci, v(n.detail), 1)) : b("", !0)
|
|
4273
4349
|
])
|
|
4274
4350
|
]),
|
|
4275
|
-
o("div",
|
|
4351
|
+
o("div", di, [
|
|
4276
4352
|
s.rejectId ? (c(), u("button", {
|
|
4277
4353
|
key: 0,
|
|
4278
4354
|
type: "button",
|
|
@@ -4288,9 +4364,9 @@ function di(e, t, n, i, r, s) {
|
|
|
4288
4364
|
])
|
|
4289
4365
|
]);
|
|
4290
4366
|
}
|
|
4291
|
-
const
|
|
4367
|
+
const hi = /* @__PURE__ */ R(si, [["render", ui], ["__scopeId", "data-v-a2bed37e"]]);
|
|
4292
4368
|
let xe = 0;
|
|
4293
|
-
const
|
|
4369
|
+
const mi = /* @__PURE__ */ new Set([
|
|
4294
4370
|
"text",
|
|
4295
4371
|
"textarea",
|
|
4296
4372
|
"number",
|
|
@@ -4298,13 +4374,13 @@ const hi = /* @__PURE__ */ new Set([
|
|
|
4298
4374
|
"select",
|
|
4299
4375
|
"multiselect",
|
|
4300
4376
|
"date"
|
|
4301
|
-
]),
|
|
4377
|
+
]), fi = {
|
|
4302
4378
|
name: "WmFormCard",
|
|
4303
4379
|
components: { AIAvatar: le },
|
|
4304
4380
|
inject: {
|
|
4305
4381
|
// Translator shared by the Messenger shell; French fallback when
|
|
4306
4382
|
// the component is used standalone.
|
|
4307
|
-
t: { default: () =>
|
|
4383
|
+
t: { default: () => j() }
|
|
4308
4384
|
},
|
|
4309
4385
|
props: {
|
|
4310
4386
|
form: { type: Object, required: !0 },
|
|
@@ -4328,7 +4404,7 @@ const hi = /* @__PURE__ */ new Set([
|
|
|
4328
4404
|
// douteux.
|
|
4329
4405
|
normalizedFields() {
|
|
4330
4406
|
var t;
|
|
4331
|
-
return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((n) => !(!(n != null && n.key) || !(n != null && n.label) || !
|
|
4407
|
+
return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((n) => !(!(n != null && n.key) || !(n != null && n.label) || !mi.has(n == null ? void 0 : n.type) || (n.type === "select" || n.type === "multiselect") && (!Array.isArray(n.options) || n.options.length === 0)));
|
|
4332
4408
|
}
|
|
4333
4409
|
},
|
|
4334
4410
|
created() {
|
|
@@ -4381,54 +4457,54 @@ const hi = /* @__PURE__ */ new Set([
|
|
|
4381
4457
|
}
|
|
4382
4458
|
}
|
|
4383
4459
|
}
|
|
4384
|
-
},
|
|
4460
|
+
}, gi = { class: "wm-form" }, _i = { class: "wm-form__head" }, pi = { class: "wm-form__icon" }, vi = { class: "wm-form__main" }, yi = { class: "wm-form__title" }, wi = {
|
|
4385
4461
|
key: 0,
|
|
4386
4462
|
class: "wm-form__detail"
|
|
4387
|
-
},
|
|
4463
|
+
}, bi = ["for"], ki = {
|
|
4388
4464
|
key: 0,
|
|
4389
4465
|
class: "wm-form__req",
|
|
4390
4466
|
"aria-hidden": "true"
|
|
4391
|
-
},
|
|
4467
|
+
}, Ci = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Ai = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Si = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Mi = ["id", "onUpdate:modelValue", "required", "disabled"], Ti = {
|
|
4392
4468
|
key: 4,
|
|
4393
4469
|
class: "wm-form__bool"
|
|
4394
|
-
},
|
|
4470
|
+
}, xi = ["id", "onUpdate:modelValue", "disabled"], Oi = ["id", "onUpdate:modelValue", "required", "disabled"], Li = {
|
|
4395
4471
|
value: "",
|
|
4396
4472
|
disabled: ""
|
|
4397
|
-
},
|
|
4473
|
+
}, Bi = ["value"], Ei = {
|
|
4398
4474
|
key: 6,
|
|
4399
4475
|
class: "wm-form__multi"
|
|
4400
|
-
},
|
|
4476
|
+
}, Ii = ["value", "checked", "disabled", "onChange"], Ri = {
|
|
4401
4477
|
key: 0,
|
|
4402
4478
|
class: "wm-form__err"
|
|
4403
|
-
},
|
|
4479
|
+
}, Ni = ["disabled"], Fi = {
|
|
4404
4480
|
key: 0,
|
|
4405
4481
|
class: "wm-form__spinner",
|
|
4406
4482
|
"aria-hidden": "true"
|
|
4407
|
-
},
|
|
4483
|
+
}, Ui = {
|
|
4408
4484
|
key: 2,
|
|
4409
4485
|
class: "wm-form__doneLbl"
|
|
4410
4486
|
};
|
|
4411
|
-
function
|
|
4412
|
-
const a =
|
|
4413
|
-
return c(), u("div",
|
|
4414
|
-
o("div",
|
|
4415
|
-
o("div",
|
|
4416
|
-
|
|
4487
|
+
function Di(e, t, n, i, r, s) {
|
|
4488
|
+
const a = I("AIAvatar");
|
|
4489
|
+
return c(), u("div", gi, [
|
|
4490
|
+
o("div", _i, [
|
|
4491
|
+
o("div", pi, [
|
|
4492
|
+
$(a, {
|
|
4417
4493
|
size: 24,
|
|
4418
4494
|
name: n.agentName,
|
|
4419
4495
|
"image-url": n.agentAvatarUrl
|
|
4420
4496
|
}, null, 8, ["name", "image-url"])
|
|
4421
4497
|
]),
|
|
4422
|
-
o("div",
|
|
4423
|
-
o("div",
|
|
4424
|
-
n.form.description ? (c(), u("div",
|
|
4498
|
+
o("div", vi, [
|
|
4499
|
+
o("div", yi, v(n.form.title || s.t("form.title")), 1),
|
|
4500
|
+
n.form.description ? (c(), u("div", wi, v(n.form.description), 1)) : b("", !0)
|
|
4425
4501
|
])
|
|
4426
4502
|
]),
|
|
4427
4503
|
o("form", {
|
|
4428
4504
|
class: "wm-form__body",
|
|
4429
4505
|
onSubmit: t[0] || (t[0] = J((...l) => s.onSubmit && s.onSubmit(...l), ["prevent"]))
|
|
4430
4506
|
}, [
|
|
4431
|
-
(c(!0), u(
|
|
4507
|
+
(c(!0), u(E, null, P(s.normalizedFields, (l) => (c(), u("div", {
|
|
4432
4508
|
key: l.key,
|
|
4433
4509
|
class: "wm-form__field"
|
|
4434
4510
|
}, [
|
|
@@ -4437,8 +4513,8 @@ function Ui(e, t, n, i, r, s) {
|
|
|
4437
4513
|
class: "wm-form__label"
|
|
4438
4514
|
}, [
|
|
4439
4515
|
pe(v(l.label), 1),
|
|
4440
|
-
l.required ? (c(), u("span",
|
|
4441
|
-
], 8,
|
|
4516
|
+
l.required ? (c(), u("span", ki, "*")) : b("", !0)
|
|
4517
|
+
], 8, bi),
|
|
4442
4518
|
l.type === "text" ? K((c(), u("input", {
|
|
4443
4519
|
key: 0,
|
|
4444
4520
|
id: `wm-f-${r._uid}-${l.key}`,
|
|
@@ -4448,7 +4524,7 @@ function Ui(e, t, n, i, r, s) {
|
|
|
4448
4524
|
placeholder: l.placeholder || "",
|
|
4449
4525
|
required: l.required,
|
|
4450
4526
|
disabled: n.readOnly || r.busy
|
|
4451
|
-
}, null, 8,
|
|
4527
|
+
}, null, 8, Ci)), [
|
|
4452
4528
|
[X, r.values[l.key]]
|
|
4453
4529
|
]) : l.type === "textarea" ? K((c(), u("textarea", {
|
|
4454
4530
|
key: 1,
|
|
@@ -4459,7 +4535,7 @@ function Ui(e, t, n, i, r, s) {
|
|
|
4459
4535
|
placeholder: l.placeholder || "",
|
|
4460
4536
|
required: l.required,
|
|
4461
4537
|
disabled: n.readOnly || r.busy
|
|
4462
|
-
}, null, 8,
|
|
4538
|
+
}, null, 8, Ai)), [
|
|
4463
4539
|
[X, r.values[l.key]]
|
|
4464
4540
|
]) : l.type === "number" ? K((c(), u("input", {
|
|
4465
4541
|
key: 2,
|
|
@@ -4470,7 +4546,7 @@ function Ui(e, t, n, i, r, s) {
|
|
|
4470
4546
|
placeholder: l.placeholder || "",
|
|
4471
4547
|
required: l.required,
|
|
4472
4548
|
disabled: n.readOnly || r.busy
|
|
4473
|
-
}, null, 8,
|
|
4549
|
+
}, null, 8, Si)), [
|
|
4474
4550
|
[
|
|
4475
4551
|
X,
|
|
4476
4552
|
r.values[l.key],
|
|
@@ -4485,16 +4561,16 @@ function Ui(e, t, n, i, r, s) {
|
|
|
4485
4561
|
class: "wm-form__input",
|
|
4486
4562
|
required: l.required,
|
|
4487
4563
|
disabled: n.readOnly || r.busy
|
|
4488
|
-
}, null, 8,
|
|
4564
|
+
}, null, 8, Mi)), [
|
|
4489
4565
|
[X, r.values[l.key]]
|
|
4490
|
-
]) : l.type === "boolean" ? (c(), u("label",
|
|
4566
|
+
]) : l.type === "boolean" ? (c(), u("label", Ti, [
|
|
4491
4567
|
K(o("input", {
|
|
4492
4568
|
id: `wm-f-${r._uid}-${l.key}`,
|
|
4493
4569
|
"onUpdate:modelValue": (p) => r.values[l.key] = p,
|
|
4494
4570
|
type: "checkbox",
|
|
4495
4571
|
disabled: n.readOnly || r.busy
|
|
4496
|
-
}, null, 8,
|
|
4497
|
-
[
|
|
4572
|
+
}, null, 8, xi), [
|
|
4573
|
+
[He, r.values[l.key]]
|
|
4498
4574
|
]),
|
|
4499
4575
|
o("span", null, v(l.placeholder || s.t("common.yes")), 1)
|
|
4500
4576
|
])) : l.type === "select" ? K((c(), u("select", {
|
|
@@ -4505,15 +4581,15 @@ function Ui(e, t, n, i, r, s) {
|
|
|
4505
4581
|
required: l.required,
|
|
4506
4582
|
disabled: n.readOnly || r.busy
|
|
4507
4583
|
}, [
|
|
4508
|
-
o("option",
|
|
4509
|
-
(c(!0), u(
|
|
4584
|
+
o("option", Li, v(l.placeholder || s.t("form.choose")), 1),
|
|
4585
|
+
(c(!0), u(E, null, P(l.options, (p) => (c(), u("option", {
|
|
4510
4586
|
key: p.value,
|
|
4511
4587
|
value: p.value
|
|
4512
|
-
}, v(p.label), 9,
|
|
4513
|
-
], 8,
|
|
4514
|
-
[
|
|
4515
|
-
]) : l.type === "multiselect" ? (c(), u("div",
|
|
4516
|
-
(c(!0), u(
|
|
4588
|
+
}, v(p.label), 9, Bi))), 128))
|
|
4589
|
+
], 8, Oi)), [
|
|
4590
|
+
[ze, r.values[l.key]]
|
|
4591
|
+
]) : l.type === "multiselect" ? (c(), u("div", Ei, [
|
|
4592
|
+
(c(!0), u(E, null, P(l.options, (p) => (c(), u("label", {
|
|
4517
4593
|
key: p.value,
|
|
4518
4594
|
class: "wm-form__multiItem"
|
|
4519
4595
|
}, [
|
|
@@ -4527,30 +4603,30 @@ function Ui(e, t, n, i, r, s) {
|
|
|
4527
4603
|
p.value,
|
|
4528
4604
|
k.target.checked
|
|
4529
4605
|
)
|
|
4530
|
-
}, null, 40,
|
|
4606
|
+
}, null, 40, Ii),
|
|
4531
4607
|
o("span", null, v(p.label), 1)
|
|
4532
4608
|
]))), 128))
|
|
4533
4609
|
])) : b("", !0)
|
|
4534
4610
|
]))), 128)),
|
|
4535
|
-
r.error ? (c(), u("div",
|
|
4536
|
-
n.readOnly ? (c(), u("div",
|
|
4611
|
+
r.error ? (c(), u("div", Ri, v(r.error), 1)) : b("", !0),
|
|
4612
|
+
n.readOnly ? (c(), u("div", Ui, v(s.t("form.responseSent")), 1)) : (c(), u("button", {
|
|
4537
4613
|
key: 1,
|
|
4538
4614
|
type: "submit",
|
|
4539
4615
|
class: "wm-form__submit",
|
|
4540
4616
|
disabled: r.busy
|
|
4541
4617
|
}, [
|
|
4542
|
-
r.busy ? (c(), u("span",
|
|
4618
|
+
r.busy ? (c(), u("span", Fi)) : b("", !0),
|
|
4543
4619
|
o("span", null, v(r.busy ? s.t("common.sending") : n.form.submit_label || s.t("common.send")), 1)
|
|
4544
|
-
], 8,
|
|
4620
|
+
], 8, Ni))
|
|
4545
4621
|
], 32)
|
|
4546
4622
|
]);
|
|
4547
4623
|
}
|
|
4548
|
-
const Pi = /* @__PURE__ */
|
|
4624
|
+
const Pi = /* @__PURE__ */ R(fi, [["render", Di], ["__scopeId", "data-v-fe65cc56"]]), ji = {
|
|
4549
4625
|
name: "WmFeedback",
|
|
4550
4626
|
inject: {
|
|
4551
4627
|
// Translator shared by the Messenger shell; French fallback when
|
|
4552
4628
|
// the component is used standalone.
|
|
4553
|
-
t: { default: () =>
|
|
4629
|
+
t: { default: () => j() }
|
|
4554
4630
|
},
|
|
4555
4631
|
props: {
|
|
4556
4632
|
busy: { type: Boolean, default: !1 },
|
|
@@ -4579,13 +4655,13 @@ const Pi = /* @__PURE__ */ B(mi, [["render", Ui], ["__scopeId", "data-v-fe65cc56
|
|
|
4579
4655
|
!this.sel || this.busy || this.$emit("submit", { rating: this.sel });
|
|
4580
4656
|
}
|
|
4581
4657
|
}
|
|
4582
|
-
},
|
|
4658
|
+
}, Hi = { class: "wm-fb" }, zi = { class: "wm-fb__title" }, qi = { class: "wm-fb__sub" }, $i = { class: "wm-fb__row" }, Vi = ["onClick"], Ki = { class: "wm-fb__emoji" }, Wi = { class: "wm-fb__label" }, Gi = ["disabled"], Yi = {
|
|
4583
4659
|
key: 1,
|
|
4584
4660
|
class: "wm-fb__done"
|
|
4585
|
-
},
|
|
4586
|
-
function
|
|
4587
|
-
return c(), u("div",
|
|
4588
|
-
n.done ? (c(), u("div",
|
|
4661
|
+
}, Ji = { class: "wm-fb__doneTitle" }, Qi = { class: "wm-fb__doneSub" };
|
|
4662
|
+
function Xi(e, t, n, i, r, s) {
|
|
4663
|
+
return c(), u("div", Hi, [
|
|
4664
|
+
n.done ? (c(), u("div", Yi, [
|
|
4589
4665
|
t[1] || (t[1] = o("div", { class: "wm-fb__check" }, [
|
|
4590
4666
|
o("svg", {
|
|
4591
4667
|
width: "16",
|
|
@@ -4601,37 +4677,37 @@ function Qi(e, t, n, i, r, s) {
|
|
|
4601
4677
|
o("path", { d: "M20 6L9 17l-5-5" })
|
|
4602
4678
|
])
|
|
4603
4679
|
], -1)),
|
|
4604
|
-
o("div",
|
|
4605
|
-
o("div",
|
|
4606
|
-
])) : (c(), u(
|
|
4680
|
+
o("div", Ji, v(s.t("feedback.doneTitle")), 1),
|
|
4681
|
+
o("div", Qi, v(s.t("feedback.doneSubtitle")), 1)
|
|
4682
|
+
])) : (c(), u(E, { key: 0 }, [
|
|
4607
4683
|
o("div", zi, v(s.t("feedback.question")), 1),
|
|
4608
|
-
o("div",
|
|
4609
|
-
o("div",
|
|
4610
|
-
(c(!0), u(
|
|
4684
|
+
o("div", qi, v(s.t("feedback.subtitle")), 1),
|
|
4685
|
+
o("div", $i, [
|
|
4686
|
+
(c(!0), u(E, null, P(s.options, (a) => (c(), u("button", {
|
|
4611
4687
|
key: a.v,
|
|
4612
4688
|
type: "button",
|
|
4613
4689
|
class: O(["wm-fb__opt", { "is-selected": r.sel === a.v }]),
|
|
4614
4690
|
onClick: (l) => r.sel = a.v
|
|
4615
4691
|
}, [
|
|
4616
|
-
o("span",
|
|
4617
|
-
o("span",
|
|
4618
|
-
], 10,
|
|
4692
|
+
o("span", Ki, v(a.e), 1),
|
|
4693
|
+
o("span", Wi, v(a.l), 1)
|
|
4694
|
+
], 10, Vi))), 128))
|
|
4619
4695
|
]),
|
|
4620
4696
|
o("button", {
|
|
4621
4697
|
type: "button",
|
|
4622
4698
|
class: "wm-fb__send",
|
|
4623
4699
|
disabled: !r.sel || n.busy,
|
|
4624
4700
|
onClick: t[0] || (t[0] = (...a) => s.onSend && s.onSend(...a))
|
|
4625
|
-
}, v(n.busy ? s.t("common.sending") : s.t("feedback.submit")), 9,
|
|
4701
|
+
}, v(n.busy ? s.t("common.sending") : s.t("feedback.submit")), 9, Gi)
|
|
4626
4702
|
], 64))
|
|
4627
4703
|
]);
|
|
4628
4704
|
}
|
|
4629
|
-
const
|
|
4705
|
+
const Zi = /* @__PURE__ */ R(ji, [["render", Xi], ["__scopeId", "data-v-9b630564"]]), ea = {
|
|
4630
4706
|
name: "WmMoreMenu",
|
|
4631
4707
|
inject: {
|
|
4632
4708
|
// Translator shared by the Messenger shell; French fallback when
|
|
4633
4709
|
// the component is used standalone.
|
|
4634
|
-
t: { default: () =>
|
|
4710
|
+
t: { default: () => j() }
|
|
4635
4711
|
},
|
|
4636
4712
|
props: {
|
|
4637
4713
|
canRename: { type: Boolean, default: !0 },
|
|
@@ -4669,24 +4745,24 @@ const Xi = /* @__PURE__ */ B(ji, [["render", Qi], ["__scopeId", "data-v-9b630564
|
|
|
4669
4745
|
this.browserNotifOn = !this.browserNotifOn, this.$emit("browser-notif-toggle", this.browserNotifOn);
|
|
4670
4746
|
}
|
|
4671
4747
|
}
|
|
4672
|
-
},
|
|
4748
|
+
}, ta = { class: "wm-mm" }, na = {
|
|
4673
4749
|
class: "wm-mm__pop",
|
|
4674
4750
|
role: "menu"
|
|
4675
|
-
},
|
|
4751
|
+
}, sa = {
|
|
4676
4752
|
key: 0,
|
|
4677
4753
|
class: "wm-mm__section"
|
|
4678
|
-
},
|
|
4754
|
+
}, ra = { class: "wm-mm__label" }, ia = { class: "wm-mm__label" }, aa = {
|
|
4679
4755
|
key: 1,
|
|
4680
4756
|
class: "wm-mm__sep"
|
|
4681
|
-
},
|
|
4682
|
-
function
|
|
4683
|
-
return c(), u("div",
|
|
4757
|
+
}, oa = { class: "wm-mm__section" }, la = { class: "wm-mm__label" }, ca = { class: "wm-mm__label" }, da = { class: "wm-mm__section" }, ua = { class: "wm-mm__label" }, ha = { class: "wm-mm__label" };
|
|
4758
|
+
function ma(e, t, n, i, r, s) {
|
|
4759
|
+
return c(), u("div", ta, [
|
|
4684
4760
|
o("div", {
|
|
4685
4761
|
class: "wm-mm__scrim",
|
|
4686
4762
|
onClick: t[0] || (t[0] = (a) => e.$emit("close"))
|
|
4687
4763
|
}),
|
|
4688
|
-
o("div",
|
|
4689
|
-
n.canRename || n.canExport ? (c(), u("div",
|
|
4764
|
+
o("div", na, [
|
|
4765
|
+
n.canRename || n.canExport ? (c(), u("div", sa, [
|
|
4690
4766
|
n.canRename ? (c(), u("button", {
|
|
4691
4767
|
key: 0,
|
|
4692
4768
|
type: "button",
|
|
@@ -4709,7 +4785,7 @@ function ha(e, t, n, i, r, s) {
|
|
|
4709
4785
|
o("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z" })
|
|
4710
4786
|
])
|
|
4711
4787
|
], -1)),
|
|
4712
|
-
o("span",
|
|
4788
|
+
o("span", ra, v(s.t("moreMenu.editTitle")), 1)
|
|
4713
4789
|
])) : b("", !0),
|
|
4714
4790
|
n.canExport ? (c(), u("button", {
|
|
4715
4791
|
key: 1,
|
|
@@ -4732,12 +4808,12 @@ function ha(e, t, n, i, r, s) {
|
|
|
4732
4808
|
o("path", { d: "M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13" })
|
|
4733
4809
|
])
|
|
4734
4810
|
], -1)),
|
|
4735
|
-
o("span",
|
|
4811
|
+
o("span", ia, v(s.t("moreMenu.exportTranscript")), 1),
|
|
4736
4812
|
t[9] || (t[9] = o("span", { class: "wm-mm__hint" }, ".txt", -1))
|
|
4737
4813
|
])) : b("", !0)
|
|
4738
4814
|
])) : b("", !0),
|
|
4739
|
-
n.canRename || n.canExport ? (c(), u("div",
|
|
4740
|
-
o("div",
|
|
4815
|
+
n.canRename || n.canExport ? (c(), u("div", aa)) : b("", !0),
|
|
4816
|
+
o("div", oa, [
|
|
4741
4817
|
o("button", {
|
|
4742
4818
|
type: "button",
|
|
4743
4819
|
class: "wm-mm__item",
|
|
@@ -4759,7 +4835,7 @@ function ha(e, t, n, i, r, s) {
|
|
|
4759
4835
|
o("path", { d: "M15.54 8.46a5 5 0 010 7.07M19.07 4.93a10 10 0 010 14.14" })
|
|
4760
4836
|
])
|
|
4761
4837
|
], -1)),
|
|
4762
|
-
o("span",
|
|
4838
|
+
o("span", la, v(s.t("moreMenu.sound")), 1),
|
|
4763
4839
|
o("span", {
|
|
4764
4840
|
class: O(["wm-mm__toggle", { "wm-mm__toggle--on": r.soundOn }])
|
|
4765
4841
|
}, [...t[10] || (t[10] = [
|
|
@@ -4786,7 +4862,7 @@ function ha(e, t, n, i, r, s) {
|
|
|
4786
4862
|
o("path", { d: "M15 17h5l-1.4-1.4A2 2 0 0118 14.2V11a6 6 0 10-12 0v3.2c0 .5-.2 1-.6 1.4L4 17h5m6 0a3 3 0 11-6 0" })
|
|
4787
4863
|
])
|
|
4788
4864
|
], -1)),
|
|
4789
|
-
o("span",
|
|
4865
|
+
o("span", ca, v(s.t("moreMenu.browserNotifications")), 1),
|
|
4790
4866
|
o("span", {
|
|
4791
4867
|
class: O(["wm-mm__toggle", { "wm-mm__toggle--on": r.browserNotifOn }])
|
|
4792
4868
|
}, [...t[12] || (t[12] = [
|
|
@@ -4795,7 +4871,7 @@ function ha(e, t, n, i, r, s) {
|
|
|
4795
4871
|
])
|
|
4796
4872
|
]),
|
|
4797
4873
|
t[16] || (t[16] = o("div", { class: "wm-mm__sep" }, null, -1)),
|
|
4798
|
-
o("div",
|
|
4874
|
+
o("div", da, [
|
|
4799
4875
|
n.statusUrl ? (c(), u("button", {
|
|
4800
4876
|
key: 0,
|
|
4801
4877
|
type: "button",
|
|
@@ -4817,7 +4893,7 @@ function ha(e, t, n, i, r, s) {
|
|
|
4817
4893
|
o("path", { d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zM10 6v4l3 2" })
|
|
4818
4894
|
])
|
|
4819
4895
|
], -1)),
|
|
4820
|
-
o("span",
|
|
4896
|
+
o("span", ua, v(s.t("moreMenu.serviceStatus")), 1)
|
|
4821
4897
|
])) : b("", !0),
|
|
4822
4898
|
n.helpUrl ? (c(), u("button", {
|
|
4823
4899
|
key: 1,
|
|
@@ -4840,18 +4916,18 @@ function ha(e, t, n, i, r, s) {
|
|
|
4840
4916
|
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" })
|
|
4841
4917
|
])
|
|
4842
4918
|
], -1)),
|
|
4843
|
-
o("span",
|
|
4919
|
+
o("span", ha, v(s.t("moreMenu.helpCenter")), 1)
|
|
4844
4920
|
])) : b("", !0)
|
|
4845
4921
|
])
|
|
4846
4922
|
])
|
|
4847
4923
|
]);
|
|
4848
4924
|
}
|
|
4849
|
-
const
|
|
4925
|
+
const fa = /* @__PURE__ */ R(ea, [["render", ma], ["__scopeId", "data-v-76281e95"]]), ga = {
|
|
4850
4926
|
name: "WmRenameDialog",
|
|
4851
4927
|
inject: {
|
|
4852
4928
|
// Translator shared by the Messenger shell; French fallback when
|
|
4853
4929
|
// the component is used standalone.
|
|
4854
|
-
t: { default: () =>
|
|
4930
|
+
t: { default: () => j() }
|
|
4855
4931
|
},
|
|
4856
4932
|
props: {
|
|
4857
4933
|
// Empty defaults: the resolved fallback comes from the translator
|
|
@@ -4888,20 +4964,20 @@ const ma = /* @__PURE__ */ B(Zi, [["render", ha], ["__scopeId", "data-v-76281e95
|
|
|
4888
4964
|
this.canSubmit && this.$emit("submit", this.value.trim());
|
|
4889
4965
|
}
|
|
4890
4966
|
}
|
|
4891
|
-
},
|
|
4967
|
+
}, _a = { class: "wm-dialog" }, pa = {
|
|
4892
4968
|
class: "wm-dialog__card",
|
|
4893
4969
|
role: "dialog",
|
|
4894
4970
|
"aria-modal": "true"
|
|
4895
|
-
},
|
|
4896
|
-
function
|
|
4897
|
-
return c(), u("div",
|
|
4971
|
+
}, va = { class: "wm-dialog__head" }, ya = { class: "wm-dialog__title" }, wa = ["aria-label"], ba = { class: "wm-dialog__body" }, ka = ["placeholder"], Ca = { class: "wm-dialog__actions" }, Aa = ["disabled"];
|
|
4972
|
+
function Sa(e, t, n, i, r, s) {
|
|
4973
|
+
return c(), u("div", _a, [
|
|
4898
4974
|
o("div", {
|
|
4899
4975
|
class: "wm-dialog__scrim",
|
|
4900
4976
|
onClick: t[0] || (t[0] = (a) => e.$emit("close"))
|
|
4901
4977
|
}),
|
|
4902
|
-
o("div",
|
|
4903
|
-
o("div",
|
|
4904
|
-
o("div",
|
|
4978
|
+
o("div", pa, [
|
|
4979
|
+
o("div", va, [
|
|
4980
|
+
o("div", ya, v(n.title || s.t("rename.title")), 1),
|
|
4905
4981
|
o("button", {
|
|
4906
4982
|
type: "button",
|
|
4907
4983
|
class: "wm-dialog__close",
|
|
@@ -4921,9 +4997,9 @@ function Aa(e, t, n, i, r, s) {
|
|
|
4921
4997
|
}, [
|
|
4922
4998
|
o("path", { d: "M18 6L6 18M6 6l12 12" })
|
|
4923
4999
|
], -1)
|
|
4924
|
-
])], 8,
|
|
5000
|
+
])], 8, wa)
|
|
4925
5001
|
]),
|
|
4926
|
-
o("div",
|
|
5002
|
+
o("div", ba, [
|
|
4927
5003
|
K(o("input", {
|
|
4928
5004
|
ref: "input",
|
|
4929
5005
|
"onUpdate:modelValue": t[2] || (t[2] = (a) => r.value = a),
|
|
@@ -4935,11 +5011,11 @@ function Aa(e, t, n, i, r, s) {
|
|
|
4935
5011
|
t[3] || (t[3] = ue(J((...a) => s.onSubmit && s.onSubmit(...a), ["prevent"]), ["enter"])),
|
|
4936
5012
|
t[4] || (t[4] = ue(J((a) => e.$emit("close"), ["prevent"]), ["esc"]))
|
|
4937
5013
|
]
|
|
4938
|
-
}, null, 40,
|
|
5014
|
+
}, null, 40, ka), [
|
|
4939
5015
|
[X, r.value]
|
|
4940
5016
|
])
|
|
4941
5017
|
]),
|
|
4942
|
-
o("div",
|
|
5018
|
+
o("div", Ca, [
|
|
4943
5019
|
o("button", {
|
|
4944
5020
|
type: "button",
|
|
4945
5021
|
class: "wm-dialog__btn",
|
|
@@ -4950,25 +5026,25 @@ function Aa(e, t, n, i, r, s) {
|
|
|
4950
5026
|
class: "wm-dialog__btn wm-dialog__btn--primary",
|
|
4951
5027
|
disabled: !s.canSubmit,
|
|
4952
5028
|
onClick: t[6] || (t[6] = (...a) => s.onSubmit && s.onSubmit(...a))
|
|
4953
|
-
}, v(s.t("common.save")), 9,
|
|
5029
|
+
}, v(s.t("common.save")), 9, Aa)
|
|
4954
5030
|
])
|
|
4955
5031
|
])
|
|
4956
5032
|
]);
|
|
4957
5033
|
}
|
|
4958
|
-
const
|
|
5034
|
+
const Ma = /* @__PURE__ */ R(ga, [["render", Sa], ["__scopeId", "data-v-6d5f94a8"]]), Oe = "ww-messenger-tokens", Ta = {
|
|
4959
5035
|
name: "Messenger",
|
|
4960
5036
|
components: {
|
|
4961
5037
|
Launcher: Ft,
|
|
4962
5038
|
Header: ln,
|
|
4963
5039
|
Onboarding: qn,
|
|
4964
5040
|
MessageList: Ir,
|
|
4965
|
-
Composer:
|
|
4966
|
-
SuggestionChips:
|
|
4967
|
-
ApprovalCard:
|
|
5041
|
+
Composer: Xr,
|
|
5042
|
+
SuggestionChips: ni,
|
|
5043
|
+
ApprovalCard: hi,
|
|
4968
5044
|
FormCard: Pi,
|
|
4969
|
-
Feedback:
|
|
4970
|
-
MoreMenu:
|
|
4971
|
-
RenameDialog:
|
|
5045
|
+
Feedback: Zi,
|
|
5046
|
+
MoreMenu: fa,
|
|
5047
|
+
RenameDialog: Ma
|
|
4972
5048
|
},
|
|
4973
5049
|
mixins: [
|
|
4974
5050
|
ot,
|
|
@@ -5119,7 +5195,7 @@ const Sa = /* @__PURE__ */ B(fa, [["render", Aa], ["__scopeId", "data-v-6d5f94a8
|
|
|
5119
5195
|
// `locale` changes. `t()` below (and the provided closure) delegate
|
|
5120
5196
|
// to it so every string resolves against the current language.
|
|
5121
5197
|
translator() {
|
|
5122
|
-
return
|
|
5198
|
+
return j(this.locale);
|
|
5123
5199
|
},
|
|
5124
5200
|
error() {
|
|
5125
5201
|
var e;
|
|
@@ -5157,9 +5233,9 @@ const Sa = /* @__PURE__ */ B(fa, [["render", Aa], ["__scopeId", "data-v-6d5f94a8
|
|
|
5157
5233
|
const T = r[w];
|
|
5158
5234
|
if (!T) continue;
|
|
5159
5235
|
if (((k = T.author) == null ? void 0 : k.type) === "user") break;
|
|
5160
|
-
const
|
|
5161
|
-
if (
|
|
5162
|
-
if (s != null &&
|
|
5236
|
+
const B = W(T.id);
|
|
5237
|
+
if (B != null) {
|
|
5238
|
+
if (s != null && B <= s) break;
|
|
5163
5239
|
t[T.id] !== 0 && (!l && T.author && (l = T.author), a++);
|
|
5164
5240
|
}
|
|
5165
5241
|
}
|
|
@@ -5439,7 +5515,7 @@ const Sa = /* @__PURE__ */ B(fa, [["render", Aa], ["__scopeId", "data-v-6d5f94a8
|
|
|
5439
5515
|
}
|
|
5440
5516
|
}
|
|
5441
5517
|
return this.t("messageList.today", {
|
|
5442
|
-
time:
|
|
5518
|
+
time: Ee(t, oe(this.locale))
|
|
5443
5519
|
});
|
|
5444
5520
|
},
|
|
5445
5521
|
// Pagination state for the active conversation. Drives the
|
|
@@ -5608,10 +5684,11 @@ const Sa = /* @__PURE__ */ B(fa, [["render", Aa], ["__scopeId", "data-v-6d5f94a8
|
|
|
5608
5684
|
})
|
|
5609
5685
|
), this.store = ke(Qe(this.transport)), this.hydrateNotifPref();
|
|
5610
5686
|
const n = ((e = this.parentContext) == null ? void 0 : e.customer) || ((t = this.context) == null ? void 0 : t.customer);
|
|
5611
|
-
|
|
5687
|
+
await this.store.start({
|
|
5612
5688
|
origin: this.parentOrigin,
|
|
5613
5689
|
token: this.parentToken || void 0,
|
|
5614
|
-
allowUnauthenticated: this.parentAllowUnauthenticated
|
|
5690
|
+
allowUnauthenticated: this.parentAllowUnauthenticated,
|
|
5691
|
+
customer: n && typeof n == "object" ? n : void 0
|
|
5615
5692
|
}), this.setupLiveReveal();
|
|
5616
5693
|
} catch (n) {
|
|
5617
5694
|
console.error("[ww-messenger] bootstrap failed", n), this.bootError = (n == null ? void 0 : n.message) || String(n);
|
|
@@ -5694,21 +5771,21 @@ const Sa = /* @__PURE__ */ B(fa, [["render", Aa], ["__scopeId", "data-v-6d5f94a8
|
|
|
5694
5771
|
this.launcherHovered = e, this.sendCurrentLauncherSize();
|
|
5695
5772
|
},
|
|
5696
5773
|
sendCurrentLauncherSize() {
|
|
5697
|
-
var T,
|
|
5774
|
+
var T, B, A, H, M, F, N;
|
|
5698
5775
|
if (this.isOpen) return;
|
|
5699
|
-
const e = (
|
|
5776
|
+
const e = (B = (T = this.$el) == null ? void 0 : T.querySelector) == null ? void 0 : B.call(T, ".wm-launcherWrap");
|
|
5700
5777
|
if (!e) return;
|
|
5701
5778
|
const t = e.getBoundingClientRect();
|
|
5702
5779
|
if (!t.width || !t.height) return;
|
|
5703
|
-
const n = (((A = this.launcherPeeks) == null ? void 0 : A.length) ?? 0) > 0, i = this.launcherHovered ? 28 : 16, r = Math.ceil(t.width), s = Math.ceil(t.height), a = (M = (
|
|
5780
|
+
const n = (((A = this.launcherPeeks) == null ? void 0 : A.length) ?? 0) > 0, i = this.launcherHovered ? 28 : 16, r = Math.ceil(t.width), s = Math.ceil(t.height), a = (M = (H = this.$el) == null ? void 0 : H.querySelector) == null ? void 0 : M.call(H, ".wm-launcher"), l = a == null ? void 0 : a.getBoundingClientRect(), p = (N = (F = this.$el) == null ? void 0 : F.querySelectorAll) == null ? void 0 : N.call(F, ".wm-peek"), k = p && p.length ? p[p.length - 1] : null;
|
|
5704
5781
|
let w = null;
|
|
5705
5782
|
if (k) {
|
|
5706
|
-
const
|
|
5783
|
+
const D = k.getBoundingClientRect();
|
|
5707
5784
|
w = {
|
|
5708
|
-
width: Math.ceil(
|
|
5709
|
-
height: Math.ceil(
|
|
5710
|
-
rightOffset: Math.max(0, Math.ceil(t.right -
|
|
5711
|
-
bottomOffset: Math.max(0, Math.ceil(t.bottom -
|
|
5785
|
+
width: Math.ceil(D.width),
|
|
5786
|
+
height: Math.ceil(D.height),
|
|
5787
|
+
rightOffset: Math.max(0, Math.ceil(t.right - D.right)),
|
|
5788
|
+
bottomOffset: Math.max(0, Math.ceil(t.bottom - D.bottom))
|
|
5712
5789
|
};
|
|
5713
5790
|
}
|
|
5714
5791
|
this.notifyParentResize("closed", {
|
|
@@ -5931,29 +6008,29 @@ const Sa = /* @__PURE__ */ B(fa, [["render", Aa], ["__scopeId", "data-v-6d5f94a8
|
|
|
5931
6008
|
}
|
|
5932
6009
|
}
|
|
5933
6010
|
}
|
|
5934
|
-
},
|
|
6011
|
+
}, xa = {
|
|
5935
6012
|
key: 0,
|
|
5936
6013
|
class: "wm-loading",
|
|
5937
6014
|
"aria-busy": "true",
|
|
5938
6015
|
"aria-live": "polite"
|
|
5939
|
-
},
|
|
6016
|
+
}, Oa = ["aria-label"], La = {
|
|
5940
6017
|
key: 0,
|
|
5941
6018
|
class: "wm-state"
|
|
5942
|
-
},
|
|
6019
|
+
}, Ba = { class: "wm-state__err" }, Ea = { class: "wm-state__errTitle" }, Ia = { class: "wm-state__errSub" }, Ra = { class: "wm-bottom" }, Na = {
|
|
5943
6020
|
key: 0,
|
|
5944
6021
|
ref: "floatEl",
|
|
5945
6022
|
class: "wm-float"
|
|
5946
|
-
},
|
|
6023
|
+
}, Fa = {
|
|
5947
6024
|
key: 1,
|
|
5948
6025
|
class: "wm-actionWait",
|
|
5949
6026
|
role: "status",
|
|
5950
6027
|
"aria-live": "polite"
|
|
5951
|
-
},
|
|
6028
|
+
}, Ua = { class: "wm-actionWait__lbl" }, Da = {
|
|
5952
6029
|
key: 2,
|
|
5953
6030
|
class: "wm-attached"
|
|
5954
6031
|
}, Pa = ["aria-label", "onClick"];
|
|
5955
6032
|
function ja(e, t, n, i, r, s) {
|
|
5956
|
-
const a =
|
|
6033
|
+
const a = I("Launcher"), l = I("Header"), p = I("Onboarding"), k = I("MessageList"), w = I("ApprovalCard"), T = I("FormCard"), B = I("Feedback"), A = I("SuggestionChips"), H = I("Composer"), M = I("MoreMenu"), F = I("RenameDialog");
|
|
5957
6034
|
return c(), u("div", {
|
|
5958
6035
|
class: O(["wm-root", `wm-root--${n.displayMode}`])
|
|
5959
6036
|
}, [
|
|
@@ -5976,7 +6053,7 @@ function ja(e, t, n, i, r, s) {
|
|
|
5976
6053
|
role: "dialog",
|
|
5977
6054
|
"aria-label": "Messenger"
|
|
5978
6055
|
}, [
|
|
5979
|
-
!s.ready && !s.error ? (c(), u("div",
|
|
6056
|
+
!s.ready && !s.error ? (c(), u("div", xa, [
|
|
5980
6057
|
s.isEmbedded ? b("", !0) : (c(), u("button", {
|
|
5981
6058
|
key: 0,
|
|
5982
6059
|
type: "button",
|
|
@@ -5997,13 +6074,13 @@ function ja(e, t, n, i, r, s) {
|
|
|
5997
6074
|
}, [
|
|
5998
6075
|
o("path", { d: "M18 6L6 18M6 6l12 12" })
|
|
5999
6076
|
], -1)
|
|
6000
|
-
])], 8,
|
|
6077
|
+
])], 8, Oa)),
|
|
6001
6078
|
t[6] || (t[6] = o("div", {
|
|
6002
6079
|
class: "wm-loading__spinner",
|
|
6003
6080
|
"aria-hidden": "true"
|
|
6004
6081
|
}, null, -1))
|
|
6005
|
-
])) : (c(), u(
|
|
6006
|
-
|
|
6082
|
+
])) : (c(), u(E, { key: 1 }, [
|
|
6083
|
+
$(l, {
|
|
6007
6084
|
title: s.headerTitle,
|
|
6008
6085
|
"team-members": s.teamMembers,
|
|
6009
6086
|
"response-label": s.responseLabel,
|
|
@@ -6017,8 +6094,8 @@ function ja(e, t, n, i, r, s) {
|
|
|
6017
6094
|
onMore: s.toggleMore,
|
|
6018
6095
|
onClose: s.close
|
|
6019
6096
|
}, null, 8, ["title", "team-members", "response-label", "show-identity", "show-back", "show-close", "more-active", "agent-name", "agent-avatar-url", "onBack", "onMore", "onClose"]),
|
|
6020
|
-
s.error ? (c(), u("div",
|
|
6021
|
-
o("div",
|
|
6097
|
+
s.error ? (c(), u("div", La, [
|
|
6098
|
+
o("div", Ba, [
|
|
6022
6099
|
t[7] || (t[7] = o("div", { class: "wm-state__errIcon" }, [
|
|
6023
6100
|
o("svg", {
|
|
6024
6101
|
width: "14",
|
|
@@ -6035,12 +6112,12 @@ function ja(e, t, n, i, r, s) {
|
|
|
6035
6112
|
])
|
|
6036
6113
|
], -1)),
|
|
6037
6114
|
o("div", null, [
|
|
6038
|
-
o("div",
|
|
6039
|
-
o("div",
|
|
6115
|
+
o("div", Ea, v(s.t("error.connectionFailed")), 1),
|
|
6116
|
+
o("div", Ia, v(s.error), 1)
|
|
6040
6117
|
])
|
|
6041
6118
|
])
|
|
6042
|
-
])) : s.currentConv ? (c(), u(
|
|
6043
|
-
|
|
6119
|
+
])) : s.currentConv ? (c(), u(E, { key: 2 }, [
|
|
6120
|
+
$(k, {
|
|
6044
6121
|
ref: "messageList",
|
|
6045
6122
|
messages: s.displayedMessages,
|
|
6046
6123
|
"streaming-active": s.streamingActive,
|
|
@@ -6054,8 +6131,8 @@ function ja(e, t, n, i, r, s) {
|
|
|
6054
6131
|
"ai-agent-avatar-url": s.agentAvatarUrl,
|
|
6055
6132
|
onLoadMore: s.onLoadMore
|
|
6056
6133
|
}, 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"]),
|
|
6057
|
-
o("div",
|
|
6058
|
-
s.floatVisible ? (c(), u("div",
|
|
6134
|
+
o("div", Ra, [
|
|
6135
|
+
s.floatVisible ? (c(), u("div", Na, [
|
|
6059
6136
|
s.approvalReady ? (c(), U(w, {
|
|
6060
6137
|
key: 0,
|
|
6061
6138
|
action: s.approvalTitle,
|
|
@@ -6070,7 +6147,7 @@ function ja(e, t, n, i, r, s) {
|
|
|
6070
6147
|
"agent-name": s.agentName,
|
|
6071
6148
|
"agent-avatar-url": s.agentAvatarUrl,
|
|
6072
6149
|
onSubmit: s.onFormSubmit
|
|
6073
|
-
}, null, 8, ["form", "agent-name", "agent-avatar-url", "onSubmit"])) : s.showFeedback ? (c(), U(
|
|
6150
|
+
}, null, 8, ["form", "agent-name", "agent-avatar-url", "onSubmit"])) : s.showFeedback ? (c(), U(B, {
|
|
6074
6151
|
key: 2,
|
|
6075
6152
|
busy: r.feedbackBusy,
|
|
6076
6153
|
done: r.feedbackDone,
|
|
@@ -6081,15 +6158,15 @@ function ja(e, t, n, i, r, s) {
|
|
|
6081
6158
|
onSelect: s.onSuggestion
|
|
6082
6159
|
}, null, 8, ["items", "onSelect"]))
|
|
6083
6160
|
], 512)) : b("", !0),
|
|
6084
|
-
s.actionInFlight ? (c(), u("div",
|
|
6161
|
+
s.actionInFlight ? (c(), u("div", Fa, [
|
|
6085
6162
|
t[8] || (t[8] = o("span", {
|
|
6086
6163
|
class: "wm-actionWait__spinner",
|
|
6087
6164
|
"aria-hidden": "true"
|
|
6088
6165
|
}, null, -1)),
|
|
6089
|
-
o("span",
|
|
6166
|
+
o("span", Ua, v(s.t("action.inProgress", {
|
|
6090
6167
|
name: s.actionInFlightName
|
|
6091
6168
|
})), 1)
|
|
6092
|
-
])) : (c(), U(
|
|
6169
|
+
])) : (c(), U(H, {
|
|
6093
6170
|
key: 2,
|
|
6094
6171
|
ref: "composer",
|
|
6095
6172
|
modelValue: r.draft,
|
|
@@ -6097,9 +6174,10 @@ function ja(e, t, n, i, r, s) {
|
|
|
6097
6174
|
placeholder: s.composerPlaceholder,
|
|
6098
6175
|
disabled: !!s.pendingApproval,
|
|
6099
6176
|
"attach-label": s.t("composer.attachFile"),
|
|
6177
|
+
"display-mode": n.displayMode,
|
|
6100
6178
|
onSend: s.onSend,
|
|
6101
6179
|
onAttach: s.onAttach
|
|
6102
|
-
}, null, 8, ["modelValue", "placeholder", "disabled", "attach-label", "onSend", "onAttach"]))
|
|
6180
|
+
}, null, 8, ["modelValue", "placeholder", "disabled", "attach-label", "display-mode", "onSend", "onAttach"]))
|
|
6103
6181
|
]),
|
|
6104
6182
|
r.moreOpen ? (c(), U(M, {
|
|
6105
6183
|
key: 0,
|
|
@@ -6121,9 +6199,9 @@ function ja(e, t, n, i, r, s) {
|
|
|
6121
6199
|
onClose: t[3] || (t[3] = (N) => r.renameDialogOpen = !1),
|
|
6122
6200
|
onSubmit: s.onRenameSubmit
|
|
6123
6201
|
}, null, 8, ["initial-value", "title", "onSubmit"])) : b("", !0),
|
|
6124
|
-
r.pendingAttachments.length ? (c(), u("div",
|
|
6125
|
-
(c(!0), u(
|
|
6126
|
-
key:
|
|
6202
|
+
r.pendingAttachments.length ? (c(), u("div", Da, [
|
|
6203
|
+
(c(!0), u(E, null, P(r.pendingAttachments, (N, D) => (c(), u("div", {
|
|
6204
|
+
key: D,
|
|
6127
6205
|
class: "wm-attached__chip"
|
|
6128
6206
|
}, [
|
|
6129
6207
|
t[10] || (t[10] = o("svg", {
|
|
@@ -6143,7 +6221,7 @@ function ja(e, t, n, i, r, s) {
|
|
|
6143
6221
|
o("button", {
|
|
6144
6222
|
type: "button",
|
|
6145
6223
|
"aria-label": s.t("attachment.remove"),
|
|
6146
|
-
onClick: (G) => r.pendingAttachments.splice(
|
|
6224
|
+
onClick: (G) => r.pendingAttachments.splice(D, 1)
|
|
6147
6225
|
}, [...t[9] || (t[9] = [
|
|
6148
6226
|
o("svg", {
|
|
6149
6227
|
width: "10",
|
|
@@ -6191,53 +6269,53 @@ function ja(e, t, n, i, r, s) {
|
|
|
6191
6269
|
], 6)) : b("", !0)
|
|
6192
6270
|
], 2);
|
|
6193
6271
|
}
|
|
6194
|
-
const
|
|
6272
|
+
const qa = /* @__PURE__ */ R(Ta, [["render", ja], ["__scopeId", "data-v-010fdbd1"]]), $a = "0.5.27";
|
|
6195
6273
|
export {
|
|
6196
6274
|
le as AIAvatar,
|
|
6197
6275
|
ge as AVATAR_COLORS,
|
|
6198
6276
|
ts as ActionResult,
|
|
6199
|
-
|
|
6277
|
+
hi as ApprovalCard,
|
|
6200
6278
|
ds as ArtifactFormResponse,
|
|
6201
6279
|
Cs as ArtifactInfoCard,
|
|
6202
|
-
|
|
6203
|
-
|
|
6280
|
+
zs as ArtifactRenderer,
|
|
6281
|
+
Ds as ArtifactTicket,
|
|
6204
6282
|
er as AttachmentPreview,
|
|
6205
6283
|
rr as Bubble,
|
|
6206
|
-
|
|
6284
|
+
Xr as Composer,
|
|
6207
6285
|
Ze as DEFAULT_BASE_URL,
|
|
6208
6286
|
ie as DEFAULT_LANGUAGE,
|
|
6209
|
-
|
|
6287
|
+
Zi as Feedback,
|
|
6210
6288
|
Pi as FormCard,
|
|
6211
6289
|
ln as Header,
|
|
6212
6290
|
Re as HumanAvatar,
|
|
6213
6291
|
Ft as Launcher,
|
|
6214
6292
|
be as MEDIA_RECORDER_SUPPORTED,
|
|
6215
6293
|
Ir as MessageList,
|
|
6216
|
-
|
|
6217
|
-
|
|
6294
|
+
qa as Messenger,
|
|
6295
|
+
fa as MoreMenu,
|
|
6218
6296
|
qn as Onboarding,
|
|
6219
6297
|
he as SCREEN_CAPTURE_SUPPORTED,
|
|
6220
6298
|
et as SUPPORTED_LANGUAGES,
|
|
6221
|
-
|
|
6299
|
+
ni as SuggestionChips,
|
|
6222
6300
|
Gt as TeamAvatars,
|
|
6223
6301
|
lr as Typing,
|
|
6224
|
-
|
|
6302
|
+
$a as VERSION,
|
|
6225
6303
|
ve as avatarColor,
|
|
6226
6304
|
ye as avatarInitials,
|
|
6227
|
-
|
|
6228
|
-
|
|
6305
|
+
Nr as captureScreenshotFile,
|
|
6306
|
+
z as colors,
|
|
6229
6307
|
Qe as createStore,
|
|
6230
|
-
|
|
6308
|
+
j as createTranslator,
|
|
6231
6309
|
We as createTransport,
|
|
6232
6310
|
oe as dateLocale,
|
|
6233
|
-
|
|
6234
|
-
|
|
6311
|
+
qa as default,
|
|
6312
|
+
Ee as formatTime,
|
|
6235
6313
|
za as guessAttachmentKind,
|
|
6236
6314
|
Rr as pickRecorderMime,
|
|
6237
6315
|
dn as renderInlineMarkdown,
|
|
6238
6316
|
un as renderMarkdown,
|
|
6239
6317
|
we as resolveLanguage,
|
|
6240
|
-
|
|
6318
|
+
Ur as startScreenRecording,
|
|
6241
6319
|
Xe as tokensCss,
|
|
6242
6320
|
Je as uuid,
|
|
6243
6321
|
Je as v4
|