@opencx/widget-react 4.0.35 → 4.0.37
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/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +100 -96
- package/dist/index.js.map +1 -1
- package/dist/src/WidgetPopoverContent.d.ts.map +1 -1
- package/dist/src/WidgetPopoverTrigger.d.ts.map +1 -1
- package/dist/src/screens/chat/ChatMain.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as r, jsxs as c, Fragment as te } from "react/jsx-runtime";
|
|
|
2
2
|
import * as ce from "@radix-ui/react-popover";
|
|
3
3
|
import * as G from "react";
|
|
4
4
|
import U, { memo as Lt, forwardRef as dt, useState as T, cloneElement as pt, createContext as Bt, useEffect as re, useContext as Yt, useMemo as ht, useRef as de, createElement as ot } from "react";
|
|
5
|
-
import { useWidget as j, useConfig as b, useDocumentDir as ve, useSessions as L, useMessages as E, useWidgetRouter as
|
|
5
|
+
import { useWidget as j, useConfig as b, useDocumentDir as ve, useSessions as L, useMessages as E, useWidgetRouter as O, useWidgetTrigger as K, useModes as mt, useCsat as gt, useUploadFiles as Ut, useIsAwaitingBotReply as wt, useContact as qt, WidgetProvider as Xt, WidgetTriggerProvider as Vt } from "@opencx/widget-react-headless";
|
|
6
6
|
import { clsx as Gt } from "clsx";
|
|
7
7
|
import { twMerge as Kt } from "tailwind-merge";
|
|
8
8
|
import { motion as Z, AnimatePresence as _ } from "framer-motion";
|
|
@@ -38,15 +38,15 @@ const V = {
|
|
|
38
38
|
)) return e;
|
|
39
39
|
const y = (w) => {
|
|
40
40
|
var N, S;
|
|
41
|
-
const { clientX: k, clientY: I } = w,
|
|
41
|
+
const { clientX: k, clientY: I } = w, f = w.currentTarget.getBoundingClientRect(), M = k - (f.left + f.width / 2), F = I - (f.top + f.height / 2), A = Math.max(
|
|
42
42
|
-1,
|
|
43
|
-
Math.min(1, M / (
|
|
43
|
+
Math.min(1, M / (f.width / 2))
|
|
44
44
|
), W = Math.max(
|
|
45
45
|
-1,
|
|
46
|
-
Math.min(1,
|
|
47
|
-
), R =
|
|
48
|
-
d({ x: R, y:
|
|
49
|
-
},
|
|
46
|
+
Math.min(1, F / (f.height / 2))
|
|
47
|
+
), R = A * V.x, v = W * V.y;
|
|
48
|
+
d({ x: R, y: v }), (S = (N = e.props).onMouseMove) == null || S.call(N, w);
|
|
49
|
+
}, x = () => {
|
|
50
50
|
var w, k;
|
|
51
51
|
i(!0), (k = (w = e.props).onMouseEnter) == null || k.call(w);
|
|
52
52
|
}, m = () => {
|
|
@@ -60,7 +60,7 @@ const V = {
|
|
|
60
60
|
return pt(e, {
|
|
61
61
|
ref: s,
|
|
62
62
|
onMouseMove: y,
|
|
63
|
-
onMouseEnter:
|
|
63
|
+
onMouseEnter: x,
|
|
64
64
|
onMouseLeave: m,
|
|
65
65
|
style: {
|
|
66
66
|
...z,
|
|
@@ -87,7 +87,7 @@ const Er = 10, Rr = (e, o, t) => ({
|
|
|
87
87
|
initial: { opacity: 0, x: e, ...o.initial },
|
|
88
88
|
animate: { opacity: 1, x: 0, ...o.animate, transition: { delay: t } },
|
|
89
89
|
exit: { opacity: 0, x: -e, ...o.exit }
|
|
90
|
-
}),
|
|
90
|
+
}), Or = (e, o, t) => ({
|
|
91
91
|
initial: { opacity: 0, y: e, ...o.initial },
|
|
92
92
|
animate: { opacity: 1, y: 0, ...o.animate, transition: { delay: t } },
|
|
93
93
|
exit: { opacity: 0, y: -e, ...o.exit }
|
|
@@ -95,10 +95,10 @@ const Er = 10, Rr = (e, o, t) => ({
|
|
|
95
95
|
initial: { opacity: 0, y: -e, ...o.initial },
|
|
96
96
|
animate: { opacity: 1, y: 0, ...o.animate, transition: { delay: t } },
|
|
97
97
|
exit: { opacity: 0, y: e, ...o.exit }
|
|
98
|
-
}),
|
|
98
|
+
}), Fr = {
|
|
99
99
|
right: Rr,
|
|
100
100
|
left: Pr,
|
|
101
|
-
up:
|
|
101
|
+
up: Or,
|
|
102
102
|
down: Hr
|
|
103
103
|
}, u = dt(
|
|
104
104
|
({
|
|
@@ -110,12 +110,12 @@ const Er = 10, Rr = (e, o, t) => ({
|
|
|
110
110
|
delay: a = 0,
|
|
111
111
|
...i
|
|
112
112
|
}, l) => {
|
|
113
|
-
const d = e ?
|
|
113
|
+
const d = e ? Fr[e](o, s, a) : {};
|
|
114
114
|
return n && d.exit && typeof d.exit == "object" && !Array.isArray(d.exit) && (d.exit.transition = { duration: 0 }), /* @__PURE__ */ r(Z.div, { ref: l, ...i, ...d, children: t });
|
|
115
115
|
}
|
|
116
116
|
);
|
|
117
117
|
u.displayName = "MotionDiv";
|
|
118
|
-
const
|
|
118
|
+
const Ar = Zt(
|
|
119
119
|
p(
|
|
120
120
|
"inline-flex shrink-0 items-center justify-center gap-2",
|
|
121
121
|
"text-sm font-medium whitespace-nowrap",
|
|
@@ -160,7 +160,7 @@ const Fr = Zt(
|
|
|
160
160
|
{
|
|
161
161
|
...g("ui_lib/btn"),
|
|
162
162
|
"data-variant": o,
|
|
163
|
-
className: p(
|
|
163
|
+
className: p(Ar({ variant: o, size: t, className: e })),
|
|
164
164
|
...s
|
|
165
165
|
}
|
|
166
166
|
) })
|
|
@@ -407,7 +407,7 @@ function ge({
|
|
|
407
407
|
d == null ? void 0 : d.messageContainer
|
|
408
408
|
),
|
|
409
409
|
children: [
|
|
410
|
-
n && n.length > 0 && /* @__PURE__ */ r("div", { className: "w-full gap-1 flex flex-row flex-wrap items-center justify-start", children: n == null ? void 0 : n.map((
|
|
410
|
+
n && n.length > 0 && /* @__PURE__ */ r("div", { className: "w-full gap-1 flex flex-row flex-wrap items-center justify-start", children: n == null ? void 0 : n.map((x) => /* @__PURE__ */ r(Tt, { attachment: x }, x.id)) }),
|
|
411
411
|
h.length > 0 && /* @__PURE__ */ r(
|
|
412
412
|
"div",
|
|
413
413
|
{
|
|
@@ -563,17 +563,17 @@ const ie = {
|
|
|
563
563
|
transitionDuration: "1000ms"
|
|
564
564
|
};
|
|
565
565
|
function q() {
|
|
566
|
-
var
|
|
566
|
+
var x, m, z, w, k, I, f, M, F, A, W, R, v, N, S, B, se, _e, Ie, Te, Me, De, je, Ee, Re, Pe, Oe, He, Fe, Ae, We, $e, Le, Be, Ye, Ue, qe, Xe, Ve, Ge, Ke, Qe, Ze, Je, et, tt, rt;
|
|
567
567
|
const { dir: e } = ve(), { isSmallScreen: o } = H(), { theme: t, inline: n } = b(), s = (Y) => n ? "100%" : Y, a = (Y, he) => o ? `100dv${Y}` : he, i = (Y, he) => s(a(Y, he)), l = {
|
|
568
|
-
zIndex: ((
|
|
568
|
+
zIndex: ((x = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : x.zIndex) ?? 1e7,
|
|
569
569
|
offset: {
|
|
570
570
|
bottom: ((z = (m = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : m.offset) == null ? void 0 : z.bottom) ?? 20,
|
|
571
571
|
right: ((k = (w = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : w.offset) == null ? void 0 : k.right) ?? (e === "ltr" ? 20 : "initial"),
|
|
572
|
-
left: ((
|
|
572
|
+
left: ((f = (I = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : I.offset) == null ? void 0 : f.left) ?? (e === "rtl" ? 20 : "initial")
|
|
573
573
|
},
|
|
574
574
|
size: {
|
|
575
|
-
button: ((
|
|
576
|
-
icon: ((W = (
|
|
575
|
+
button: ((F = (M = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : M.size) == null ? void 0 : F.button) ?? 48,
|
|
576
|
+
icon: ((W = (A = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : A.size) == null ? void 0 : W.icon) ?? 24
|
|
577
577
|
}
|
|
578
578
|
}, d = (() => {
|
|
579
579
|
const Y = e === "ltr" ? l.offset.right : l.offset.left;
|
|
@@ -584,7 +584,7 @@ function q() {
|
|
|
584
584
|
widgetTrigger: l,
|
|
585
585
|
widgetContentContainer: {
|
|
586
586
|
borderRadius: o ? "0px" : ((R = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : R.borderRadius) ?? "32px",
|
|
587
|
-
zIndex: ((
|
|
587
|
+
zIndex: ((v = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : v.zIndex) ?? l.zIndex + 1,
|
|
588
588
|
outline: ((N = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : N.outline) ?? "none",
|
|
589
589
|
// was: '1px solid'
|
|
590
590
|
outlineColor: ((S = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : S.outlineColor) ?? "hsl(0 0% 50% / .5)",
|
|
@@ -603,12 +603,12 @@ function q() {
|
|
|
603
603
|
// By setting minHeight to 1px, a nice animation will play from 1px to the dynamic height of the content of the screen
|
|
604
604
|
minHeight: i(
|
|
605
605
|
"h",
|
|
606
|
-
((
|
|
606
|
+
((Oe = (Pe = t == null ? void 0 : t.screens) == null ? void 0 : Pe.welcome) == null ? void 0 : Oe.minHeight) ?? "1px"
|
|
607
607
|
)
|
|
608
608
|
},
|
|
609
609
|
sessions: {
|
|
610
|
-
width: i("w", ((
|
|
611
|
-
height: i("h", ((We = (
|
|
610
|
+
width: i("w", ((Fe = (He = t == null ? void 0 : t.screens) == null ? void 0 : He.sessions) == null ? void 0 : Fe.width) ?? "450px"),
|
|
611
|
+
height: i("h", ((We = (Ae = t == null ? void 0 : t.screens) == null ? void 0 : Ae.sessions) == null ? void 0 : We.height) ?? "600px")
|
|
612
612
|
},
|
|
613
613
|
chat: {
|
|
614
614
|
width: i("w", ((Le = ($e = t == null ? void 0 : t.screens) == null ? void 0 : $e.chat) == null ? void 0 : Le.width) ?? "525px"),
|
|
@@ -842,7 +842,7 @@ function ne() {
|
|
|
842
842
|
messagesState: { messages: n }
|
|
843
843
|
} = E(), {
|
|
844
844
|
routerState: { screen: s }
|
|
845
|
-
} =
|
|
845
|
+
} = O();
|
|
846
846
|
return {
|
|
847
847
|
react: U,
|
|
848
848
|
org: e,
|
|
@@ -867,7 +867,7 @@ function Ne() {
|
|
|
867
867
|
widgetCtx: { org: e }
|
|
868
868
|
} = j(), {
|
|
869
869
|
routerState: { screen: o }
|
|
870
|
-
} =
|
|
870
|
+
} = O(), { textContent: t } = b();
|
|
871
871
|
return (() => {
|
|
872
872
|
var s, a;
|
|
873
873
|
switch (o) {
|
|
@@ -900,7 +900,7 @@ function Qr() {
|
|
|
900
900
|
const { router: e } = b(), {
|
|
901
901
|
routerState: { screen: o },
|
|
902
902
|
toSessionsScreen: t
|
|
903
|
-
} =
|
|
903
|
+
} = O();
|
|
904
904
|
return o !== "chat" || e != null && e.chatScreenOnly ? null : /* @__PURE__ */ r(
|
|
905
905
|
C,
|
|
906
906
|
{
|
|
@@ -935,7 +935,7 @@ function ue({
|
|
|
935
935
|
}) {
|
|
936
936
|
const [o, t] = T(!1), {
|
|
937
937
|
routerState: { screen: n }
|
|
938
|
-
} =
|
|
938
|
+
} = O(), { isSmallScreen: s } = H(), { theme: a } = q(), { setWidth: i, setHeight: l } = Rt();
|
|
939
939
|
if (n !== "chat" && n !== "sessions") return null;
|
|
940
940
|
const d = (() => {
|
|
941
941
|
switch (n) {
|
|
@@ -956,8 +956,8 @@ function ue({
|
|
|
956
956
|
return D(n, ue.name), a.screens.chat.width;
|
|
957
957
|
}
|
|
958
958
|
})(), y = () => {
|
|
959
|
-
t((
|
|
960
|
-
const m = !
|
|
959
|
+
t((x) => {
|
|
960
|
+
const m = !x;
|
|
961
961
|
return l(m ? "100vh" : d), i(m ? `max(40vw, ${h})` : h), m;
|
|
962
962
|
});
|
|
963
963
|
};
|
|
@@ -981,9 +981,9 @@ function Pt({
|
|
|
981
981
|
button: e
|
|
982
982
|
}) {
|
|
983
983
|
var k, I;
|
|
984
|
-
const { close: o } = pe(), { widgetCtx: t } = j(), { setIsOpen: n } = K(), { resolveSession: s, sessionState: a } = L(), { isSmallScreen: i } = H(), l = !a.session, d = ((k = a.session) == null ? void 0 : k.isOpened) === !1, h = e.onResolved || "stay-in-chat", y = e.behaviorBeforeSessionCreation || "disabled",
|
|
985
|
-
const { success:
|
|
986
|
-
if (o(), !
|
|
984
|
+
const { close: o } = pe(), { widgetCtx: t } = j(), { setIsOpen: n } = K(), { resolveSession: s, sessionState: a } = L(), { isSmallScreen: i } = H(), l = !a.session, d = ((k = a.session) == null ? void 0 : k.isOpened) === !1, h = e.onResolved || "stay-in-chat", y = e.behaviorBeforeSessionCreation || "disabled", x = e.behaviorIfSessionIsResolved || "disabled", m = !!(a.isResolvingSession || l && y === "disabled" || d && x === "disabled"), z = async () => {
|
|
985
|
+
const { success: f, error: M } = await s();
|
|
986
|
+
if (o(), !f) return console.error(M);
|
|
987
987
|
switch (h) {
|
|
988
988
|
case "stay-in-chat":
|
|
989
989
|
return;
|
|
@@ -1015,7 +1015,7 @@ function Pt({
|
|
|
1015
1015
|
);
|
|
1016
1016
|
}
|
|
1017
1017
|
if (d)
|
|
1018
|
-
switch (
|
|
1018
|
+
switch (x) {
|
|
1019
1019
|
case "disabled":
|
|
1020
1020
|
return;
|
|
1021
1021
|
case "close-widget":
|
|
@@ -1031,7 +1031,7 @@ function Pt({
|
|
|
1031
1031
|
break;
|
|
1032
1032
|
default:
|
|
1033
1033
|
D(
|
|
1034
|
-
|
|
1034
|
+
x,
|
|
1035
1035
|
w.name
|
|
1036
1036
|
);
|
|
1037
1037
|
}
|
|
@@ -1106,7 +1106,7 @@ const Jr = {
|
|
|
1106
1106
|
function eo() {
|
|
1107
1107
|
const {
|
|
1108
1108
|
routerState: { screen: e }
|
|
1109
|
-
} =
|
|
1109
|
+
} = O(), { headerButtons: o } = b(), t = e === "chat" ? o == null ? void 0 : o.chatScreen : e === "sessions" ? o == null ? void 0 : o.sessionsScreen : [];
|
|
1110
1110
|
return !t || t.length === 0 ? /* @__PURE__ */ r(fe, { button: Jr }) : /* @__PURE__ */ r(te, { children: t.map((n) => /* @__PURE__ */ r(
|
|
1111
1111
|
fe,
|
|
1112
1112
|
{
|
|
@@ -1115,10 +1115,10 @@ function eo() {
|
|
|
1115
1115
|
`${n.functionality}-${n.icon}`
|
|
1116
1116
|
)) });
|
|
1117
1117
|
}
|
|
1118
|
-
function
|
|
1118
|
+
function Ot() {
|
|
1119
1119
|
const {
|
|
1120
1120
|
routerState: { screen: e }
|
|
1121
|
-
} =
|
|
1121
|
+
} = O(), o = Kr(e), t = Ne();
|
|
1122
1122
|
return /* @__PURE__ */ c("header", { ...o, className: "py-2 px-4 shrink-0", children: [
|
|
1123
1123
|
/* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
1124
1124
|
/* @__PURE__ */ r(Qr, {}),
|
|
@@ -1229,7 +1229,7 @@ function no() {
|
|
|
1229
1229
|
submittedFeedback: a
|
|
1230
1230
|
} = gt(), [i, l] = T(null), [d, h] = T(null), y = (m) => {
|
|
1231
1231
|
l((z) => z === m ? null : m);
|
|
1232
|
-
},
|
|
1232
|
+
}, x = () => {
|
|
1233
1233
|
i && o({
|
|
1234
1234
|
score: i,
|
|
1235
1235
|
feedback: d || void 0
|
|
@@ -1292,7 +1292,7 @@ function no() {
|
|
|
1292
1292
|
C,
|
|
1293
1293
|
{
|
|
1294
1294
|
size: "fit",
|
|
1295
|
-
onClick:
|
|
1295
|
+
onClick: x,
|
|
1296
1296
|
disabled: !i,
|
|
1297
1297
|
className: p(
|
|
1298
1298
|
"transition-all overflow-hidden",
|
|
@@ -1439,16 +1439,16 @@ function ao() {
|
|
|
1439
1439
|
emptyTheFiles: d,
|
|
1440
1440
|
handleCancelUpload: h,
|
|
1441
1441
|
appendFiles: y,
|
|
1442
|
-
isUploading:
|
|
1442
|
+
isUploading: x,
|
|
1443
1443
|
successFiles: m
|
|
1444
|
-
} = Ut(), z = !!((R = n.session) != null && R.isHandedOff), { isAwaitingBotReply: w } = wt(), k = (
|
|
1445
|
-
y(
|
|
1446
|
-
}, I = !a.trim() && m.length === 0,
|
|
1444
|
+
} = Ut(), z = !!((R = n.session) != null && R.isHandedOff), { isAwaitingBotReply: w } = wt(), k = (v) => {
|
|
1445
|
+
y(v);
|
|
1446
|
+
}, I = !a.trim() && m.length === 0, f = async () => {
|
|
1447
1447
|
if (w || I) return;
|
|
1448
|
-
|
|
1449
|
-
const
|
|
1448
|
+
x && console.info("please wait for the file(s) to upload");
|
|
1449
|
+
const v = a.trim();
|
|
1450
1450
|
t({
|
|
1451
|
-
content:
|
|
1451
|
+
content: v,
|
|
1452
1452
|
attachments: m.flatMap(
|
|
1453
1453
|
(N) => N.fileUrl ? [
|
|
1454
1454
|
{
|
|
@@ -1463,8 +1463,8 @@ function ao() {
|
|
|
1463
1463
|
}), i(""), d();
|
|
1464
1464
|
}, {
|
|
1465
1465
|
getRootProps: M,
|
|
1466
|
-
getInputProps:
|
|
1467
|
-
open:
|
|
1466
|
+
getInputProps: F,
|
|
1467
|
+
open: A
|
|
1468
1468
|
} = Dr({
|
|
1469
1469
|
onDrop: k,
|
|
1470
1470
|
noClick: !0,
|
|
@@ -1482,8 +1482,8 @@ function ao() {
|
|
|
1482
1482
|
"image/gif": [".gif"],
|
|
1483
1483
|
"image/webp": [".webp"]
|
|
1484
1484
|
}
|
|
1485
|
-
}), W = (
|
|
1486
|
-
const N =
|
|
1485
|
+
}), W = (v) => {
|
|
1486
|
+
const N = v.clipboardData;
|
|
1487
1487
|
N && N.files.length > 0 && k(Array.from(N.files));
|
|
1488
1488
|
};
|
|
1489
1489
|
return /* @__PURE__ */ c(
|
|
@@ -1493,7 +1493,7 @@ function ao() {
|
|
|
1493
1493
|
className: "p-2 relative space-y-1",
|
|
1494
1494
|
...M(),
|
|
1495
1495
|
children: [
|
|
1496
|
-
/* @__PURE__ */ r("input", { ...
|
|
1496
|
+
/* @__PURE__ */ r("input", { ...F() }),
|
|
1497
1497
|
/* @__PURE__ */ c(
|
|
1498
1498
|
"div",
|
|
1499
1499
|
{
|
|
@@ -1517,13 +1517,13 @@ function ao() {
|
|
|
1517
1517
|
{
|
|
1518
1518
|
...g("chat/input_box/attachments_container"),
|
|
1519
1519
|
className: "flex items-center gap-1",
|
|
1520
|
-
children: /* @__PURE__ */ r(_, { mode: "popLayout", children: l.map((
|
|
1520
|
+
children: /* @__PURE__ */ r(_, { mode: "popLayout", children: l.map((v) => /* @__PURE__ */ r(u, { snapExit: !0, children: /* @__PURE__ */ r(
|
|
1521
1521
|
io,
|
|
1522
1522
|
{
|
|
1523
|
-
onCancel: () => h(
|
|
1524
|
-
file:
|
|
1523
|
+
onCancel: () => h(v.id),
|
|
1524
|
+
file: v
|
|
1525
1525
|
}
|
|
1526
|
-
) },
|
|
1526
|
+
) }, v.id)) })
|
|
1527
1527
|
}
|
|
1528
1528
|
),
|
|
1529
1529
|
/* @__PURE__ */ r(
|
|
@@ -1546,9 +1546,9 @@ function ao() {
|
|
|
1546
1546
|
// 16px on mobiles prevents auto-zoom on the input when focused
|
|
1547
1547
|
e ? "text-[16px]" : "text-sm"
|
|
1548
1548
|
),
|
|
1549
|
-
onChange: (
|
|
1550
|
-
onKeyDown: async (
|
|
1551
|
-
|
|
1549
|
+
onChange: (v) => i(v.target.value),
|
|
1550
|
+
onKeyDown: async (v) => {
|
|
1551
|
+
v.key === "Enter" && !v.shiftKey && (v.preventDefault(), f());
|
|
1552
1552
|
},
|
|
1553
1553
|
placeholder: s("write_a_message_placeholder")
|
|
1554
1554
|
}
|
|
@@ -1566,7 +1566,7 @@ function ao() {
|
|
|
1566
1566
|
children: /* @__PURE__ */ r(
|
|
1567
1567
|
C,
|
|
1568
1568
|
{
|
|
1569
|
-
onClick:
|
|
1569
|
+
onClick: A,
|
|
1570
1570
|
size: "fit",
|
|
1571
1571
|
variant: "ghost",
|
|
1572
1572
|
className: p(
|
|
@@ -1581,10 +1581,10 @@ function ao() {
|
|
|
1581
1581
|
C,
|
|
1582
1582
|
{
|
|
1583
1583
|
size: "fit",
|
|
1584
|
-
onClick:
|
|
1585
|
-
disabled: w ||
|
|
1584
|
+
onClick: f,
|
|
1585
|
+
disabled: w || x || I,
|
|
1586
1586
|
className: "rounded-full size-8 flex items-center justify-center p-0",
|
|
1587
|
-
children: /* @__PURE__ */ r(_, { mode: "wait", children: w ||
|
|
1587
|
+
children: /* @__PURE__ */ r(_, { mode: "wait", children: w || x ? /* @__PURE__ */ r(u, { snapExit: !0, children: /* @__PURE__ */ r(vr, { className: "size-4 animate-spin animate-iteration-infinite" }) }, "loading") : /* @__PURE__ */ r(u, { snapExit: !0, children: /* @__PURE__ */ r(ft, { className: "size-4" }) }, "send") })
|
|
1588
1588
|
}
|
|
1589
1589
|
) })
|
|
1590
1590
|
] })
|
|
@@ -1596,7 +1596,7 @@ function ao() {
|
|
|
1596
1596
|
);
|
|
1597
1597
|
}
|
|
1598
1598
|
function lt() {
|
|
1599
|
-
const { widgetCtx: e } = j(), { router: o } = b(), { canCreateNewSession: t } = L(), { toSessionsScreen: n } =
|
|
1599
|
+
const { widgetCtx: e } = j(), { router: o } = b(), { canCreateNewSession: t } = L(), { toSessionsScreen: n } = O(), { t: s } = X();
|
|
1600
1600
|
return /* @__PURE__ */ r(te, { children: t || o != null && o.chatScreenOnly ? /* @__PURE__ */ r(C, { onClick: e.resetChat, className: "rounded-2xl w-full", children: s("new_conversation") }) : /* @__PURE__ */ r(C, { onClick: n, className: "rounded-2xl w-full", children: s("back_to_conversations") }) });
|
|
1601
1601
|
}
|
|
1602
1602
|
function lo() {
|
|
@@ -1673,7 +1673,7 @@ function po({
|
|
|
1673
1673
|
}
|
|
1674
1674
|
);
|
|
1675
1675
|
}
|
|
1676
|
-
function
|
|
1676
|
+
function Ft({
|
|
1677
1677
|
messages: e,
|
|
1678
1678
|
className: o,
|
|
1679
1679
|
containerClassName: t
|
|
@@ -1746,7 +1746,7 @@ function le({
|
|
|
1746
1746
|
},
|
|
1747
1747
|
n.id
|
|
1748
1748
|
)),
|
|
1749
|
-
/* @__PURE__ */ r(
|
|
1749
|
+
/* @__PURE__ */ r(Ft, { messages: e })
|
|
1750
1750
|
]
|
|
1751
1751
|
}
|
|
1752
1752
|
)
|
|
@@ -1838,7 +1838,7 @@ function go({
|
|
|
1838
1838
|
},
|
|
1839
1839
|
o.id
|
|
1840
1840
|
)),
|
|
1841
|
-
/* @__PURE__ */ r(
|
|
1841
|
+
/* @__PURE__ */ r(Ft, { messages: e, containerClassName: "ms-auto" })
|
|
1842
1842
|
]
|
|
1843
1843
|
}
|
|
1844
1844
|
);
|
|
@@ -1961,13 +1961,13 @@ function Co() {
|
|
|
1961
1961
|
/* @__PURE__ */ r(yo, {}),
|
|
1962
1962
|
a.map((h, y) => {
|
|
1963
1963
|
var z, w, k, I;
|
|
1964
|
-
const
|
|
1965
|
-
if (!
|
|
1964
|
+
const x = (z = h == null ? void 0 : h[0]) == null ? void 0 : z.type, m = (w = h[0]) == null ? void 0 : w.id;
|
|
1965
|
+
if (!x || !m) return null;
|
|
1966
1966
|
if (uo(h))
|
|
1967
1967
|
return /* @__PURE__ */ r(go, { messages: h }, m);
|
|
1968
1968
|
if (fo(h)) {
|
|
1969
|
-
const
|
|
1970
|
-
return o &&
|
|
1969
|
+
const f = y === a.length - 1;
|
|
1970
|
+
return o && f ? null : ((k = h[0]) == null || k.agent, /* @__PURE__ */ r(
|
|
1971
1971
|
le,
|
|
1972
1972
|
{
|
|
1973
1973
|
messages: h,
|
|
@@ -1977,18 +1977,19 @@ function Co() {
|
|
|
1977
1977
|
));
|
|
1978
1978
|
}
|
|
1979
1979
|
if (vo(h)) {
|
|
1980
|
-
const
|
|
1980
|
+
const f = (I = h[0]) == null ? void 0 : I.agent;
|
|
1981
1981
|
return /* @__PURE__ */ r(
|
|
1982
1982
|
le,
|
|
1983
1983
|
{
|
|
1984
1984
|
messages: h,
|
|
1985
|
-
agent:
|
|
1986
|
-
...
|
|
1987
|
-
|
|
1985
|
+
agent: f ? {
|
|
1986
|
+
...f,
|
|
1987
|
+
name: (s == null ? void 0 : s.name) || f.name || "",
|
|
1988
|
+
avatarUrl: (s == null ? void 0 : s.avatarUrl) || f.avatarUrl || null
|
|
1988
1989
|
} : s ? {
|
|
1989
1990
|
isAi: !1,
|
|
1990
1991
|
id: null,
|
|
1991
|
-
name: "",
|
|
1992
|
+
name: s.name || "",
|
|
1992
1993
|
avatarUrl: s.avatarUrl || null
|
|
1993
1994
|
} : void 0
|
|
1994
1995
|
},
|
|
@@ -2031,7 +2032,7 @@ function zo() {
|
|
|
2031
2032
|
// Relative to the iframe
|
|
2032
2033
|
},
|
|
2033
2034
|
children: /* @__PURE__ */ c("div", { className: "size-full justify-between flex flex-col", children: [
|
|
2034
|
-
/* @__PURE__ */ r(
|
|
2035
|
+
/* @__PURE__ */ r(Ot, {}),
|
|
2035
2036
|
/* @__PURE__ */ r(_, { mode: "wait", children: e ? /* @__PURE__ */ r(
|
|
2036
2037
|
u,
|
|
2037
2038
|
{
|
|
@@ -2118,7 +2119,7 @@ function So({ className: e }) {
|
|
|
2118
2119
|
}
|
|
2119
2120
|
);
|
|
2120
2121
|
}
|
|
2121
|
-
function
|
|
2122
|
+
function At({ className: e }) {
|
|
2122
2123
|
const { token: o } = b();
|
|
2123
2124
|
return /* @__PURE__ */ r(
|
|
2124
2125
|
"div",
|
|
@@ -2158,7 +2159,7 @@ function ct({
|
|
|
2158
2159
|
session: e,
|
|
2159
2160
|
className: o
|
|
2160
2161
|
}) {
|
|
2161
|
-
const { bot: t, humanAgent: n } = b(), { toChatScreen: s } =
|
|
2162
|
+
const { bot: t, humanAgent: n } = b(), { toChatScreen: s } = O(), a = e.assignee.kind === "human" ? (n == null ? void 0 : n.name) || e.assignee.name || "Support Agent" : (t == null ? void 0 : t.name) || "AI Support Agent", i = e.assignee.kind === "human" ? (n == null ? void 0 : n.avatarUrl) || e.assignee.avatarUrl || "" : (t == null ? void 0 : t.avatarUrl) || (t == null ? void 0 : t.avatar) || "";
|
|
2162
2163
|
return /* @__PURE__ */ c(
|
|
2163
2164
|
C,
|
|
2164
2165
|
{
|
|
@@ -2194,7 +2195,7 @@ function ct({
|
|
|
2194
2195
|
);
|
|
2195
2196
|
}
|
|
2196
2197
|
function Io() {
|
|
2197
|
-
const { t: e } = X(), { toChatScreen: o } =
|
|
2198
|
+
const { t: e } = X(), { toChatScreen: o } = O(), {
|
|
2198
2199
|
sessionsState: { data: t, isInitialFetchLoading: n },
|
|
2199
2200
|
openSessions: s,
|
|
2200
2201
|
closedSessions: a,
|
|
@@ -2295,9 +2296,9 @@ function To() {
|
|
|
2295
2296
|
// Relative to the iframe
|
|
2296
2297
|
},
|
|
2297
2298
|
children: /* @__PURE__ */ c("div", { className: "size-full flex flex-col", children: [
|
|
2298
|
-
/* @__PURE__ */ r(
|
|
2299
|
+
/* @__PURE__ */ r(Ot, {}),
|
|
2299
2300
|
/* @__PURE__ */ r(Io, {}),
|
|
2300
|
-
/* @__PURE__ */ r(
|
|
2301
|
+
/* @__PURE__ */ r(At, {})
|
|
2301
2302
|
] })
|
|
2302
2303
|
}
|
|
2303
2304
|
);
|
|
@@ -2350,7 +2351,7 @@ const Do = me.object({
|
|
|
2350
2351
|
email: me.string().email()
|
|
2351
2352
|
});
|
|
2352
2353
|
function jo() {
|
|
2353
|
-
var
|
|
2354
|
+
var f, M, F, A, W, R, v, N;
|
|
2354
2355
|
const {
|
|
2355
2356
|
widgetCtx: { org: e }
|
|
2356
2357
|
} = j(), { setIsOpen: o } = K(), { createUnverifiedContact: t } = qt(), { isSmallScreen: n } = H(), s = b(), { theme: a } = q(), { t: i } = X(), { observedElementRef: l } = Mo();
|
|
@@ -2358,7 +2359,7 @@ function jo() {
|
|
|
2358
2359
|
height: void 0,
|
|
2359
2360
|
width: a.screens.welcome.width
|
|
2360
2361
|
});
|
|
2361
|
-
const [d, h] = T(((
|
|
2362
|
+
const [d, h] = T(((f = s.prefillUserData) == null ? void 0 : f.name) || ""), [y, x] = T(((M = s.prefillUserData) == null ? void 0 : M.email) || ""), m = (s.extraDataCollectionFields || []).filter(
|
|
2362
2363
|
(S) => S !== "name" && S !== "email" && !!S
|
|
2363
2364
|
), [z, w] = T({}), [k, I] = jr(
|
|
2364
2365
|
async (S) => {
|
|
@@ -2409,17 +2410,17 @@ function jo() {
|
|
|
2409
2410
|
),
|
|
2410
2411
|
children: [
|
|
2411
2412
|
n && /* @__PURE__ */ r(u, { className: "absolute top-6 end-6", children: /* @__PURE__ */ r(C, { size: "selfless", onClick: () => o(!1), children: /* @__PURE__ */ r(xe, { className: "size-4" }) }) }),
|
|
2412
|
-
/* @__PURE__ */ r("div", { className: "flex items-center justify-between w-full mb-2", children: (
|
|
2413
|
+
/* @__PURE__ */ r("div", { className: "flex items-center justify-between w-full mb-2", children: (F = s.assets) != null && F.organizationLogo ? /* @__PURE__ */ r(
|
|
2413
2414
|
"img",
|
|
2414
2415
|
{
|
|
2415
|
-
src: (
|
|
2416
|
+
src: (A = s.assets) == null ? void 0 : A.organizationLogo,
|
|
2416
2417
|
alt: "Company Logo",
|
|
2417
2418
|
className: "h-8 w-auto object-contain"
|
|
2418
2419
|
}
|
|
2419
2420
|
) : /* @__PURE__ */ r("h2", { className: "font-bold text-sm", children: e.name }) }),
|
|
2420
2421
|
/* @__PURE__ */ c("div", { className: "space-y-2", children: [
|
|
2421
2422
|
/* @__PURE__ */ r("h1", { className: "text-[1.75rem] font-semibold tracking-tight leading-none", children: ((R = (W = s.textContent) == null ? void 0 : W.welcomeScreen) == null ? void 0 : R.title) || i("welcome_screen_title") }),
|
|
2422
|
-
/* @__PURE__ */ r("p", { className: "text-sm", children: ((N = (
|
|
2423
|
+
/* @__PURE__ */ r("p", { className: "text-sm", children: ((N = (v = s.textContent) == null ? void 0 : v.welcomeScreen) == null ? void 0 : N.description) || i("welcome_screen_description") })
|
|
2423
2424
|
] })
|
|
2424
2425
|
]
|
|
2425
2426
|
}
|
|
@@ -2450,7 +2451,7 @@ function jo() {
|
|
|
2450
2451
|
{
|
|
2451
2452
|
required: !0,
|
|
2452
2453
|
value: y,
|
|
2453
|
-
onChange: (S) =>
|
|
2454
|
+
onChange: (S) => x(S.target.value),
|
|
2454
2455
|
type: "email",
|
|
2455
2456
|
placeholder: i("your_email_placeholder"),
|
|
2456
2457
|
name: "email"
|
|
@@ -2481,7 +2482,7 @@ function jo() {
|
|
|
2481
2482
|
}
|
|
2482
2483
|
)
|
|
2483
2484
|
] }),
|
|
2484
|
-
/* @__PURE__ */ r(
|
|
2485
|
+
/* @__PURE__ */ r(At, {})
|
|
2485
2486
|
]
|
|
2486
2487
|
}
|
|
2487
2488
|
)
|
|
@@ -2494,7 +2495,7 @@ function jo() {
|
|
|
2494
2495
|
function Wt() {
|
|
2495
2496
|
const {
|
|
2496
2497
|
routerState: { screen: e }
|
|
2497
|
-
} =
|
|
2498
|
+
} = O();
|
|
2498
2499
|
return /* @__PURE__ */ r("div", { className: "relative bg-background size-full", children: /* @__PURE__ */ r(_, { mode: "wait", children: (() => {
|
|
2499
2500
|
switch (e) {
|
|
2500
2501
|
case "welcome":
|
|
@@ -2535,7 +2536,7 @@ function Wt() {
|
|
|
2535
2536
|
}
|
|
2536
2537
|
})() }) });
|
|
2537
2538
|
}
|
|
2538
|
-
const Eo = "4.0.
|
|
2539
|
+
const Eo = "4.0.37", Ro = `<!DOCTYPE html>
|
|
2539
2540
|
<html>
|
|
2540
2541
|
<head>
|
|
2541
2542
|
<style>
|
|
@@ -2649,6 +2650,8 @@ function Po() {
|
|
|
2649
2650
|
},
|
|
2650
2651
|
side: "top",
|
|
2651
2652
|
align: "end",
|
|
2653
|
+
"aria-modal": "false",
|
|
2654
|
+
"aria-label": "Support chat",
|
|
2652
2655
|
sideOffset: e.widgetContentContainer.offset.side,
|
|
2653
2656
|
alignOffset: e.widgetContentContainer.offset.align,
|
|
2654
2657
|
avoidCollisions: !1,
|
|
@@ -2656,7 +2659,7 @@ function Po() {
|
|
|
2656
2659
|
}
|
|
2657
2660
|
);
|
|
2658
2661
|
}
|
|
2659
|
-
function
|
|
2662
|
+
function Oo({
|
|
2660
2663
|
className: e,
|
|
2661
2664
|
style: o
|
|
2662
2665
|
}) {
|
|
@@ -2708,13 +2711,14 @@ html, body {
|
|
|
2708
2711
|
<body>
|
|
2709
2712
|
</body>
|
|
2710
2713
|
</html>`;
|
|
2711
|
-
function
|
|
2714
|
+
function Fo() {
|
|
2712
2715
|
var a, i;
|
|
2713
2716
|
const { isOpen: e } = K(), { cssOverrides: o, assets: t } = b(), { theme: n, cssVars: s } = q();
|
|
2714
2717
|
return /* @__PURE__ */ c(
|
|
2715
2718
|
bt,
|
|
2716
2719
|
{
|
|
2717
2720
|
initialContent: Ho,
|
|
2721
|
+
title: "OpenCX Live Chat Trigger",
|
|
2718
2722
|
style: {
|
|
2719
2723
|
height: `calc(${n.widgetTrigger.size.button}px + ${V.x * 2}px)`,
|
|
2720
2724
|
width: `calc(${n.widgetTrigger.size.button}px + ${V.y * 2}px)`,
|
|
@@ -2814,7 +2818,7 @@ function Oo() {
|
|
|
2814
2818
|
}
|
|
2815
2819
|
}
|
|
2816
2820
|
) : /* @__PURE__ */ r(
|
|
2817
|
-
|
|
2821
|
+
Oo,
|
|
2818
2822
|
{
|
|
2819
2823
|
style: {
|
|
2820
2824
|
width: n.widgetTrigger.size.icon,
|
|
@@ -2836,7 +2840,7 @@ function Oo() {
|
|
|
2836
2840
|
}
|
|
2837
2841
|
);
|
|
2838
2842
|
}
|
|
2839
|
-
function
|
|
2843
|
+
function Ao() {
|
|
2840
2844
|
const { dir: e } = ve();
|
|
2841
2845
|
return /* @__PURE__ */ r(
|
|
2842
2846
|
ce.Anchor,
|
|
@@ -2853,8 +2857,8 @@ function Fo() {
|
|
|
2853
2857
|
function Wo() {
|
|
2854
2858
|
const { isOpen: e, setIsOpen: o } = K();
|
|
2855
2859
|
return /* @__PURE__ */ c(ce.Root, { open: e, onOpenChange: o, children: [
|
|
2860
|
+
/* @__PURE__ */ r(Ao, {}),
|
|
2856
2861
|
/* @__PURE__ */ r(Fo, {}),
|
|
2857
|
-
/* @__PURE__ */ r(Oo, {}),
|
|
2858
2862
|
/* @__PURE__ */ r(Po, {})
|
|
2859
2863
|
] });
|
|
2860
2864
|
}
|