@evelan/jexity-widget 0.21.6-canary.57 → 0.21.6
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.mjs +546 -510
- package/dist/index.mjs.map +1 -1
- package/dist/react.mjs +2282 -2246
- package/dist/react.mjs.map +1 -1
- package/dist/widget.js +15 -15
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var tr, P, xs, bs, Pt, Vo, ys, vs, di, Sr,
|
|
1
|
+
var tr, P, xs, bs, Pt, Vo, ys, vs, di, Sr, Bn, ws, eo, Ai, Ri, ks, Er = {}, Ir = [], Cc = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, nr = Array.isArray;
|
|
2
2
|
function ft(t, e) {
|
|
3
3
|
for (var n in e) t[n] = e[n];
|
|
4
4
|
return t;
|
|
@@ -97,7 +97,7 @@ function br(t, e, n, r, i) {
|
|
|
97
97
|
if (typeof r == "string" && (t.style.cssText = r = ""), r) for (e in r) n && e in n || Ho(t.style, e, "");
|
|
98
98
|
if (n) for (e in n) r && n[e] == r[e] || Ho(t.style, e, n[e]);
|
|
99
99
|
}
|
|
100
|
-
else if (e[0] == "o" && e[1] == "n") o = e != (e = e.replace(ws, "$1")), a = e.toLowerCase(), e = a in t || e == "onFocusOut" || e == "onFocusIn" ? a.slice(2) : e.slice(2), t.l || (t.l = {}), t.l[e + o] = n, n ? r ? n[
|
|
100
|
+
else if (e[0] == "o" && e[1] == "n") o = e != (e = e.replace(ws, "$1")), a = e.toLowerCase(), e = a in t || e == "onFocusOut" || e == "onFocusIn" ? a.slice(2) : e.slice(2), t.l || (t.l = {}), t.l[e + o] = n, n ? r ? n[Bn] = r[Bn] : (n[Bn] = eo, t.addEventListener(e, o ? Ri : Ai, o)) : t.removeEventListener(e, o ? Ri : Ai, o);
|
|
101
101
|
else {
|
|
102
102
|
if (i == "http://www.w3.org/2000/svg") e = e.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");
|
|
103
103
|
else if (e != "width" && e != "height" && e != "href" && e != "list" && e != "form" && e != "tabIndex" && e != "download" && e != "rowSpan" && e != "colSpan" && e != "role" && e != "popover" && e in t) try {
|
|
@@ -113,7 +113,7 @@ function Wo(t) {
|
|
|
113
113
|
if (this.l) {
|
|
114
114
|
var n = this.l[e.type + t];
|
|
115
115
|
if (e[Sr] == null) e[Sr] = eo++;
|
|
116
|
-
else if (e[Sr] < n[
|
|
116
|
+
else if (e[Sr] < n[Bn]) return;
|
|
117
117
|
return n(P.event ? P.event(e) : e);
|
|
118
118
|
}
|
|
119
119
|
};
|
|
@@ -274,7 +274,7 @@ tr = Ir.slice, P = { __e: function(t, e, n, r) {
|
|
|
274
274
|
this.__v && (this.__e = !0, t && this.__h.push(t), Ei(this));
|
|
275
275
|
}, rt.prototype.render = ee, Pt = [], ys = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, vs = function(t, e) {
|
|
276
276
|
return t.__v.__b - e.__v.__b;
|
|
277
|
-
}, Pr.__r = 0, di = Math.random().toString(8), Sr = "__d" + di,
|
|
277
|
+
}, Pr.__r = 0, di = Math.random().toString(8), Sr = "__d" + di, Bn = "__a" + di, ws = /(PointerCapture)$|Capture$/i, eo = 0, Ai = Wo(!1), Ri = Wo(!0), ks = 0;
|
|
278
278
|
var Lc = 0;
|
|
279
279
|
function s(t, e, n, r, i, o) {
|
|
280
280
|
e || (e = {});
|
|
@@ -485,7 +485,7 @@ function qs(t) {
|
|
|
485
485
|
function zs() {
|
|
486
486
|
return [!1, Ds];
|
|
487
487
|
}
|
|
488
|
-
var
|
|
488
|
+
var Bs = rr;
|
|
489
489
|
function Mi(t, e) {
|
|
490
490
|
this.props = t, this.context = e;
|
|
491
491
|
}
|
|
@@ -516,7 +516,7 @@ function zc(t) {
|
|
|
516
516
|
}
|
|
517
517
|
var ra = function(t, e) {
|
|
518
518
|
return t == null ? null : mt(mt(t).map(e));
|
|
519
|
-
},
|
|
519
|
+
}, Bc = { map: ra, forEach: ra, count: function(t) {
|
|
520
520
|
return t ? mt(t).length : 0;
|
|
521
521
|
}, only: function(t) {
|
|
522
522
|
var e = mt(t);
|
|
@@ -537,9 +537,9 @@ function Fs(t, e, n) {
|
|
|
537
537
|
return Fs(r, e, n);
|
|
538
538
|
})), t;
|
|
539
539
|
}
|
|
540
|
-
function
|
|
540
|
+
function Us(t, e, n) {
|
|
541
541
|
return t && n && (t.__v = null, t.__k = t.__k && t.__k.map(function(r) {
|
|
542
|
-
return
|
|
542
|
+
return Us(r, e, n);
|
|
543
543
|
}), t.__c && t.__c.__P === e && (t.__e && n.appendChild(t.__e), t.__c.__e = !0, t.__c.__P = n)), t;
|
|
544
544
|
}
|
|
545
545
|
function Tr() {
|
|
@@ -549,7 +549,7 @@ function Vs(t) {
|
|
|
549
549
|
var e = t.__ && t.__.__c;
|
|
550
550
|
return e && e.__a && e.__a(t);
|
|
551
551
|
}
|
|
552
|
-
function
|
|
552
|
+
function Uc(t) {
|
|
553
553
|
var e, n, r, i = null;
|
|
554
554
|
function o(a) {
|
|
555
555
|
if (e || (e = t()).then(function(l) {
|
|
@@ -581,7 +581,7 @@ P.unmount = function(t) {
|
|
|
581
581
|
if (!--r.__u) {
|
|
582
582
|
if (r.state.__a) {
|
|
583
583
|
var u = r.state.__a;
|
|
584
|
-
r.__v.__k[0] =
|
|
584
|
+
r.__v.__k[0] = Us(u, u.__c.__P, u.__c.__O);
|
|
585
585
|
}
|
|
586
586
|
var h;
|
|
587
587
|
for (r.setState({ __a: r.__b = null }); h = r.o.pop(); ) h.__P = l, h.forceUpdate();
|
|
@@ -715,7 +715,7 @@ P.diffed = function(t) {
|
|
|
715
715
|
};
|
|
716
716
|
var tu = { ReactCurrentDispatcher: { current: { readContext: function(t) {
|
|
717
717
|
return oo.__n[t.__c].props.value;
|
|
718
|
-
}, useCallback: Y, useContext: ir, useDebugValue: Ps, useDeferredValue: qs, useEffect: O, useId: Ns, useImperativeHandle: Is, useInsertionEffect:
|
|
718
|
+
}, useCallback: Y, useContext: ir, useDebugValue: Ps, useDeferredValue: qs, useEffect: O, useId: Ns, useImperativeHandle: Is, useInsertionEffect: Bs, useLayoutEffect: rr, useMemo: ge, useReducer: qe, useRef: ze, useState: z, useSyncExternalStore: $s, useTransition: zs } } };
|
|
719
719
|
function nu(t) {
|
|
720
720
|
return Ke.bind(null, t);
|
|
721
721
|
}
|
|
@@ -746,7 +746,7 @@ var lu = function(t, e) {
|
|
|
746
746
|
};
|
|
747
747
|
var r = t(e);
|
|
748
748
|
return P.debounceRendering = n, r;
|
|
749
|
-
}, uu = Kr, ao = { useState: z, useId: Ns, useReducer: qe, useEffect: O, useLayoutEffect: rr, useInsertionEffect:
|
|
749
|
+
}, uu = Kr, ao = { useState: z, useId: Ns, useReducer: qe, useEffect: O, useLayoutEffect: rr, useInsertionEffect: Bs, useTransition: zs, useDeferredValue: qs, useSyncExternalStore: $s, startTransition: Ds, useRef: ze, useImperativeHandle: Is, useMemo: ge, useCallback: Y, useContext: ir, useDebugValue: Ps, version: "18.3.1", Children: Bc, render: Jc, hydrate: Xc, unmountComponentAtNode: au, createPortal: Wc, createElement: Ke, createContext: Oc, createFactory: nu, cloneElement: ou, createRef: Ac, Fragment: ee, isValidElement: Kr, isElement: uu, isFragment: ru, isMemo: iu, findDOMNode: su, Component: rt, PureComponent: Mi, memo: Dc, forwardRef: zc, flushSync: cu, unstable_batchedUpdates: lu, StrictMode: ee, Suspense: Tr, SuspenseList: Ln, lazy: Uc, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: tu }, ht = [], Qe = [], du = Uint8Array, pi = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
750
750
|
for (var on = 0, hu = pi.length; on < hu; ++on)
|
|
751
751
|
ht[on] = pi[on], Qe[pi.charCodeAt(on)] = on;
|
|
752
752
|
Qe[45] = 62;
|
|
@@ -935,7 +935,7 @@ function yn(t) {
|
|
|
935
935
|
return n;
|
|
936
936
|
}
|
|
937
937
|
const da = 16384;
|
|
938
|
-
function
|
|
938
|
+
function Un(t) {
|
|
939
939
|
const e = JSON.stringify(t, (n, r) => r === void 0 ? "undefined" : typeof r == "bigint" ? `${r.toString()}n` : r);
|
|
940
940
|
if (e.length > da) {
|
|
941
941
|
const n = "[...truncated]";
|
|
@@ -947,7 +947,7 @@ function Bn(t) {
|
|
|
947
947
|
}
|
|
948
948
|
function Li(t, e, n, r) {
|
|
949
949
|
if (t === void 0) {
|
|
950
|
-
const a = n && ` (present at path ${n} in original object ${
|
|
950
|
+
const a = n && ` (present at path ${n} in original object ${Un(
|
|
951
951
|
e
|
|
952
952
|
)})`;
|
|
953
953
|
throw new Error(
|
|
@@ -998,11 +998,11 @@ function Li(t, e, n, r) {
|
|
|
998
998
|
return i;
|
|
999
999
|
}
|
|
1000
1000
|
function mi(t, e, n, r) {
|
|
1001
|
-
return t ? `${e}${
|
|
1001
|
+
return t ? `${e}${Un(
|
|
1002
1002
|
n
|
|
1003
|
-
)} is not a supported Convex type (present at path ${t} in original object ${
|
|
1003
|
+
)} is not a supported Convex type (present at path ${t} in original object ${Un(
|
|
1004
1004
|
r
|
|
1005
|
-
)}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${e}${
|
|
1005
|
+
)}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${e}${Un(
|
|
1006
1006
|
n
|
|
1007
1007
|
)} is not a supported Convex type.`;
|
|
1008
1008
|
}
|
|
@@ -1013,13 +1013,13 @@ var Tu = Object.defineProperty, Cu = (t, e, n) => e in t ? Tu(t, e, { enumerable
|
|
|
1013
1013
|
const Au = /* @__PURE__ */ Symbol.for("ConvexError");
|
|
1014
1014
|
class Nr extends (fa = Error, ha = Au, fa) {
|
|
1015
1015
|
constructor(e) {
|
|
1016
|
-
super(typeof e == "string" ? e :
|
|
1016
|
+
super(typeof e == "string" ? e : Un(e)), gi(this, "name", "ConvexError"), gi(this, "data"), gi(this, ha, !0), this.data = e;
|
|
1017
1017
|
}
|
|
1018
1018
|
}
|
|
1019
1019
|
const Ys = () => Array.from({ length: 4 }, () => 0);
|
|
1020
1020
|
Ys();
|
|
1021
1021
|
Ys();
|
|
1022
|
-
const pa = "1.42.
|
|
1022
|
+
const pa = "1.42.3";
|
|
1023
1023
|
var Ru = Object.defineProperty, Eu = (t, e, n) => e in t ? Ru(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ma = (t, e, n) => Eu(t, typeof e != "symbol" ? e + "" : e, n);
|
|
1024
1024
|
const Iu = "color:rgb(0, 145, 255)";
|
|
1025
1025
|
function Zs(t) {
|
|
@@ -1477,21 +1477,21 @@ class Du {
|
|
|
1477
1477
|
return this.inflightActionsCount;
|
|
1478
1478
|
}
|
|
1479
1479
|
}
|
|
1480
|
-
const Kn = /* @__PURE__ */ Symbol.for("functionName"),
|
|
1481
|
-
function qu(t) {
|
|
1482
|
-
return t[tl] ?? null;
|
|
1483
|
-
}
|
|
1480
|
+
const Kn = /* @__PURE__ */ Symbol.for("functionName"), qu = /* @__PURE__ */ Symbol.for("toReferencePath");
|
|
1484
1481
|
function zu(t) {
|
|
1482
|
+
return t[qu] ?? null;
|
|
1483
|
+
}
|
|
1484
|
+
function Bu(t) {
|
|
1485
1485
|
return t.startsWith("function://");
|
|
1486
1486
|
}
|
|
1487
|
-
function
|
|
1487
|
+
function Fu(t) {
|
|
1488
1488
|
let e;
|
|
1489
1489
|
if (typeof t == "string")
|
|
1490
|
-
|
|
1490
|
+
Bu(t) ? e = { functionHandle: t } : e = { name: t };
|
|
1491
1491
|
else if (t[Kn])
|
|
1492
1492
|
e = { name: t[Kn] };
|
|
1493
1493
|
else {
|
|
1494
|
-
const n =
|
|
1494
|
+
const n = zu(t);
|
|
1495
1495
|
if (!n)
|
|
1496
1496
|
throw new Error(`${t} is not a functionReference`);
|
|
1497
1497
|
e = { reference: n };
|
|
@@ -1499,7 +1499,7 @@ function Uu(t) {
|
|
|
1499
1499
|
return e;
|
|
1500
1500
|
}
|
|
1501
1501
|
function Pe(t) {
|
|
1502
|
-
const e =
|
|
1502
|
+
const e = Fu(t);
|
|
1503
1503
|
if (e.name === void 0)
|
|
1504
1504
|
throw e.functionHandle !== void 0 ? new Error(
|
|
1505
1505
|
`Expected function reference like "api.file.func" or "internal.file.func", but received function handle ${e.functionHandle}`
|
|
@@ -1517,12 +1517,12 @@ function Pe(t) {
|
|
|
1517
1517
|
function lo(t) {
|
|
1518
1518
|
return { [Kn]: t };
|
|
1519
1519
|
}
|
|
1520
|
-
function
|
|
1520
|
+
function tl(t = []) {
|
|
1521
1521
|
const e = {
|
|
1522
1522
|
get(n, r) {
|
|
1523
1523
|
if (typeof r == "string") {
|
|
1524
1524
|
const i = [...t, r];
|
|
1525
|
-
return
|
|
1525
|
+
return tl(i);
|
|
1526
1526
|
} else if (r === Kn) {
|
|
1527
1527
|
if (t.length < 2) {
|
|
1528
1528
|
const a = ["api", ...t].join(".");
|
|
@@ -1537,8 +1537,8 @@ function nl(t = []) {
|
|
|
1537
1537
|
};
|
|
1538
1538
|
return new Proxy({}, e);
|
|
1539
1539
|
}
|
|
1540
|
-
|
|
1541
|
-
var
|
|
1540
|
+
tl();
|
|
1541
|
+
var Uu = Object.defineProperty, Vu = (t, e, n) => e in t ? Uu(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Or = (t, e, n) => Vu(t, typeof e != "symbol" ? e + "" : e, n);
|
|
1542
1542
|
class Yn {
|
|
1543
1543
|
constructor(e) {
|
|
1544
1544
|
Or(this, "queryResults"), Or(this, "modifiedQueries"), this.queryResults = e, this.modifiedQueries = [];
|
|
@@ -1649,7 +1649,7 @@ class Hu {
|
|
|
1649
1649
|
}
|
|
1650
1650
|
}
|
|
1651
1651
|
var Wu = Object.defineProperty, Qu = (t, e, n) => e in t ? Wu(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, xi = (t, e, n) => Qu(t, typeof e != "symbol" ? e + "" : e, n);
|
|
1652
|
-
class
|
|
1652
|
+
class Le {
|
|
1653
1653
|
constructor(e, n) {
|
|
1654
1654
|
xi(this, "low"), xi(this, "high"), xi(this, "__isUnsignedLong__"), this.low = e | 0, this.high = n | 0, this.__isUnsignedLong__ = !0;
|
|
1655
1655
|
}
|
|
@@ -1658,7 +1658,7 @@ class Oe {
|
|
|
1658
1658
|
}
|
|
1659
1659
|
// prettier-ignore
|
|
1660
1660
|
static fromBytesLE(e) {
|
|
1661
|
-
return new
|
|
1661
|
+
return new Le(
|
|
1662
1662
|
e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24,
|
|
1663
1663
|
e[4] | e[5] << 8 | e[6] << 16 | e[7] << 24
|
|
1664
1664
|
);
|
|
@@ -1678,19 +1678,19 @@ class Oe {
|
|
|
1678
1678
|
];
|
|
1679
1679
|
}
|
|
1680
1680
|
static fromNumber(e) {
|
|
1681
|
-
return isNaN(e) || e < 0 ? xa : e >= Gu ? Ku : new
|
|
1681
|
+
return isNaN(e) || e < 0 ? xa : e >= Gu ? Ku : new Le(e % Vn | 0, e / Vn | 0);
|
|
1682
1682
|
}
|
|
1683
1683
|
toString() {
|
|
1684
1684
|
return (BigInt(this.high) * BigInt(Vn) + BigInt(this.low)).toString();
|
|
1685
1685
|
}
|
|
1686
1686
|
equals(e) {
|
|
1687
|
-
return
|
|
1687
|
+
return Le.isLong(e) || (e = Le.fromValue(e)), this.high >>> 31 === 1 && e.high >>> 31 === 1 ? !1 : this.high === e.high && this.low === e.low;
|
|
1688
1688
|
}
|
|
1689
1689
|
notEquals(e) {
|
|
1690
1690
|
return !this.equals(e);
|
|
1691
1691
|
}
|
|
1692
1692
|
comp(e) {
|
|
1693
|
-
return
|
|
1693
|
+
return Le.isLong(e) || (e = Le.fromValue(e)), this.equals(e) ? 0 : e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1;
|
|
1694
1694
|
}
|
|
1695
1695
|
lessThanOrEqual(e) {
|
|
1696
1696
|
return this.comp(
|
|
@@ -1699,14 +1699,14 @@ class Oe {
|
|
|
1699
1699
|
) <= 0;
|
|
1700
1700
|
}
|
|
1701
1701
|
static fromValue(e) {
|
|
1702
|
-
return typeof e == "number" ?
|
|
1702
|
+
return typeof e == "number" ? Le.fromNumber(e) : new Le(e.low, e.high);
|
|
1703
1703
|
}
|
|
1704
1704
|
}
|
|
1705
|
-
const xa = new
|
|
1705
|
+
const xa = new Le(0, 0), ba = 65536, Vn = ba * ba, Gu = Vn * Vn, Ku = new Le(-1, -1);
|
|
1706
1706
|
var Yu = Object.defineProperty, Zu = (t, e, n) => e in t ? Yu(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, vr = (t, e, n) => Zu(t, typeof e != "symbol" ? e + "" : e, n);
|
|
1707
1707
|
class ya {
|
|
1708
1708
|
constructor(e, n) {
|
|
1709
|
-
vr(this, "version"), vr(this, "remoteQuerySet"), vr(this, "queryPath"), vr(this, "logger"), this.version = { querySet: 0, ts:
|
|
1709
|
+
vr(this, "version"), vr(this, "remoteQuerySet"), vr(this, "queryPath"), vr(this, "logger"), this.version = { querySet: 0, ts: Le.fromNumber(0), identity: 0 }, this.remoteQuerySet = /* @__PURE__ */ new Map(), this.queryPath = e, this.logger = n;
|
|
1710
1710
|
}
|
|
1711
1711
|
transition(e) {
|
|
1712
1712
|
const n = e.startVersion;
|
|
@@ -1761,7 +1761,7 @@ class ya {
|
|
|
1761
1761
|
}
|
|
1762
1762
|
function bi(t) {
|
|
1763
1763
|
const e = Qn(t);
|
|
1764
|
-
return
|
|
1764
|
+
return Le.fromBytesLE(Array.from(e));
|
|
1765
1765
|
}
|
|
1766
1766
|
function Ju(t) {
|
|
1767
1767
|
const e = new Uint8Array(t.toBytesLE());
|
|
@@ -1815,7 +1815,7 @@ function cn() {
|
|
|
1815
1815
|
function wa() {
|
|
1816
1816
|
return `t=${Math.round((cn() - Cr) / 100) / 10}s`;
|
|
1817
1817
|
}
|
|
1818
|
-
const
|
|
1818
|
+
const nl = {
|
|
1819
1819
|
// A known error, e.g. during a restart or push
|
|
1820
1820
|
InternalServerError: { timeout: 1e3 },
|
|
1821
1821
|
// ErrorMetadata::overloaded() messages that we realy should back off
|
|
@@ -1838,7 +1838,7 @@ const rl = {
|
|
|
1838
1838
|
function ad(t) {
|
|
1839
1839
|
if (t === void 0) return "Unknown";
|
|
1840
1840
|
for (const e of Object.keys(
|
|
1841
|
-
|
|
1841
|
+
nl
|
|
1842
1842
|
))
|
|
1843
1843
|
if (t.startsWith(e))
|
|
1844
1844
|
return e;
|
|
@@ -2206,7 +2206,7 @@ class sd {
|
|
|
2206
2206
|
this.logger.logVerbose(e);
|
|
2207
2207
|
}
|
|
2208
2208
|
nextBackoff(e) {
|
|
2209
|
-
const r = (e === "client" ? 100 : e === "Unknown" ? this.defaultInitialBackoff :
|
|
2209
|
+
const r = (e === "client" ? 100 : e === "Unknown" ? this.defaultInitialBackoff : nl[e].timeout) * Math.pow(2, this.retries);
|
|
2210
2210
|
this.retries += 1;
|
|
2211
2211
|
const i = Math.min(r, this.maxBackoff), o = i * (Math.random() - 0.5);
|
|
2212
2212
|
return i + o;
|
|
@@ -2275,7 +2275,7 @@ function dd(t) {
|
|
|
2275
2275
|
return atob(e);
|
|
2276
2276
|
}
|
|
2277
2277
|
}
|
|
2278
|
-
function
|
|
2278
|
+
function rl(t, e) {
|
|
2279
2279
|
if (typeof t != "string")
|
|
2280
2280
|
throw new $n("Invalid token specified: must be a string");
|
|
2281
2281
|
e || (e = {});
|
|
@@ -2300,11 +2300,11 @@ function il(t, e) {
|
|
|
2300
2300
|
);
|
|
2301
2301
|
}
|
|
2302
2302
|
}
|
|
2303
|
-
var hd = Object.defineProperty, fd = (t, e, n) => e in t ? hd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n,
|
|
2303
|
+
var hd = Object.defineProperty, fd = (t, e, n) => e in t ? hd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Oe = (t, e, n) => fd(t, typeof e != "symbol" ? e + "" : e, n);
|
|
2304
2304
|
const pd = 480 * 60 * 60 * 1e3, ka = 2;
|
|
2305
2305
|
class md {
|
|
2306
2306
|
constructor(e, n, r) {
|
|
2307
|
-
|
|
2307
|
+
Oe(this, "authState", { state: "noAuth" }), Oe(this, "configVersion", 0), Oe(this, "syncState"), Oe(this, "authenticate"), Oe(this, "stopSocket"), Oe(this, "tryRestartSocket"), Oe(this, "pauseSocket"), Oe(this, "resumeSocket"), Oe(this, "clearAuth"), Oe(this, "logger"), Oe(this, "refreshTokenLeewaySeconds"), Oe(this, "initialAuthTokenReuse"), Oe(this, "lastRefreshChange"), Oe(this, "tokenConfirmationAttempts", 0), this.syncState = e, this.authenticate = n.authenticate, this.stopSocket = n.stopSocket, this.tryRestartSocket = n.tryRestartSocket, this.pauseSocket = n.pauseSocket, this.resumeSocket = n.resumeSocket, this.clearAuth = n.clearAuth, this.logger = r.logger, this.refreshTokenLeewaySeconds = r.refreshTokenLeewaySeconds, this.initialAuthTokenReuse = r.initialAuthTokenReuse, this.lastRefreshChange = !1;
|
|
2308
2308
|
}
|
|
2309
2309
|
notifyRefreshChange(e) {
|
|
2310
2310
|
this.authState.state !== "noAuth" && this.authState.state !== "initialRefetch" && this.authState.config.onRefreshChange && this.lastRefreshChange !== e && (this.lastRefreshChange = e, this.authState.config.onRefreshChange(e));
|
|
@@ -2337,7 +2337,9 @@ class md {
|
|
|
2337
2337
|
if (this._logVerbose(
|
|
2338
2338
|
`auth state is ${this.authState.state} when handling transition`
|
|
2339
2339
|
), this.syncState.markAuthCompletion(), this.authState.state === "waitingForServerConfirmationOfCachedToken") {
|
|
2340
|
-
this._logVerbose("server confirmed auth token is valid")
|
|
2340
|
+
this._logVerbose("server confirmed auth token is valid");
|
|
2341
|
+
const n = this.syncState.getAuth()?.value;
|
|
2342
|
+
this.initialAuthTokenReuse && n ? this.scheduleTokenRefetch(n, e.clientClockSkew) : this.refetchToken(), this.authState.config.onAuthChange(!0);
|
|
2341
2343
|
return;
|
|
2342
2344
|
}
|
|
2343
2345
|
this.authState.state === "waitingForServerConfirmationOfFreshToken" && (this._logVerbose("server confirmed new auth token is valid"), this.notifyRefreshChange(!1), this.scheduleTokenRefetch(this.authState.token), this.tokenConfirmationAttempts = 0, this.authState.hadAuth || this.authState.config.onAuthChange(!0));
|
|
@@ -2411,46 +2413,52 @@ class md {
|
|
|
2411
2413
|
"restarting WS after auth token fetch (if currently stopped)"
|
|
2412
2414
|
), this.tryRestartSocket());
|
|
2413
2415
|
}
|
|
2414
|
-
scheduleTokenRefetch(e) {
|
|
2416
|
+
scheduleTokenRefetch(e, n) {
|
|
2415
2417
|
if (this.authState.state === "noAuth")
|
|
2416
2418
|
return;
|
|
2417
|
-
const
|
|
2418
|
-
if (!
|
|
2419
|
+
const r = this.decodeToken(e);
|
|
2420
|
+
if (!r) {
|
|
2419
2421
|
this.logger.error(
|
|
2420
2422
|
"Auth token is not a valid JWT, cannot refetch the token"
|
|
2421
2423
|
);
|
|
2422
2424
|
return;
|
|
2423
2425
|
}
|
|
2424
|
-
const { iat:
|
|
2425
|
-
if (!
|
|
2426
|
+
const { iat: i, exp: o } = r;
|
|
2427
|
+
if (!i || !o) {
|
|
2426
2428
|
this.logger.error(
|
|
2427
2429
|
"Auth token does not have required fields, cannot refetch the token"
|
|
2428
2430
|
);
|
|
2429
2431
|
return;
|
|
2430
2432
|
}
|
|
2431
|
-
const
|
|
2432
|
-
if (
|
|
2433
|
+
const a = o - i;
|
|
2434
|
+
if (a <= 2) {
|
|
2433
2435
|
this.logger.error(
|
|
2434
2436
|
"Auth token does not live long enough, cannot refetch the token"
|
|
2435
2437
|
);
|
|
2436
2438
|
return;
|
|
2437
2439
|
}
|
|
2438
|
-
let
|
|
2440
|
+
let l;
|
|
2441
|
+
if (n !== void 0) {
|
|
2442
|
+
const h = (Date.now() - n) / 1e3;
|
|
2443
|
+
l = o - h, l <= 0 && (l = 0);
|
|
2444
|
+
} else
|
|
2445
|
+
l = a;
|
|
2446
|
+
let c = Math.min(
|
|
2439
2447
|
pd,
|
|
2440
|
-
(
|
|
2448
|
+
(l - this.refreshTokenLeewaySeconds) * 1e3
|
|
2441
2449
|
);
|
|
2442
|
-
|
|
2443
|
-
`Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${
|
|
2444
|
-
),
|
|
2445
|
-
const
|
|
2450
|
+
c <= 0 && (this.logger.warn(
|
|
2451
|
+
`Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${l}s`
|
|
2452
|
+
), c = 0);
|
|
2453
|
+
const u = setTimeout(() => {
|
|
2446
2454
|
this._logVerbose("running scheduled token refetch"), this.refetchToken();
|
|
2447
|
-
},
|
|
2455
|
+
}, c);
|
|
2448
2456
|
this.setAuthState({
|
|
2449
2457
|
state: "waitingForScheduledRefetch",
|
|
2450
|
-
refetchTokenTimeoutId:
|
|
2458
|
+
refetchTokenTimeoutId: u,
|
|
2451
2459
|
config: this.authState.config
|
|
2452
2460
|
}), this._logVerbose(
|
|
2453
|
-
`scheduled preemptive auth token refetching in ${
|
|
2461
|
+
`scheduled preemptive auth token refetching in ${c}ms`
|
|
2454
2462
|
);
|
|
2455
2463
|
}
|
|
2456
2464
|
// Protects against simultaneous calls to `setConfig`
|
|
@@ -2496,7 +2504,7 @@ class md {
|
|
|
2496
2504
|
}
|
|
2497
2505
|
decodeToken(e) {
|
|
2498
2506
|
try {
|
|
2499
|
-
return
|
|
2507
|
+
return rl(e);
|
|
2500
2508
|
} catch (n) {
|
|
2501
2509
|
return this._logVerbose(
|
|
2502
2510
|
`Error decoding token: ${n instanceof Error ? n.message : "Unknown error"}`
|
|
@@ -2606,7 +2614,8 @@ class kd {
|
|
|
2606
2614
|
},
|
|
2607
2615
|
{
|
|
2608
2616
|
logger: this.logger,
|
|
2609
|
-
refreshTokenLeewaySeconds: i
|
|
2617
|
+
refreshTokenLeewaySeconds: i,
|
|
2618
|
+
initialAuthTokenReuse: r.initialAuthTokenReuse ?? !1
|
|
2610
2619
|
}
|
|
2611
2620
|
), this.optimisticQueryResults = new Hu(), this.addOnTransitionHandler((p) => {
|
|
2612
2621
|
n(p.queries.map((x) => x.token));
|
|
@@ -2780,7 +2789,7 @@ class kd {
|
|
|
2780
2789
|
let n = {};
|
|
2781
2790
|
if (e && e.tokenType === "User")
|
|
2782
2791
|
try {
|
|
2783
|
-
n = e ?
|
|
2792
|
+
n = e ? rl(e.value) : {};
|
|
2784
2793
|
} catch {
|
|
2785
2794
|
n = {};
|
|
2786
2795
|
}
|
|
@@ -3127,7 +3136,7 @@ function yi(t) {
|
|
|
3127
3136
|
var _d = Object.defineProperty, jd = (t, e, n) => e in t ? _d(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, _a = (t, e, n) => jd(t, typeof e != "symbol" ? e + "" : e, n);
|
|
3128
3137
|
class Sd {
|
|
3129
3138
|
constructor(e, n) {
|
|
3130
|
-
this.client = e, this.onTransition = n, _a(this, "paginatedQuerySet", /* @__PURE__ */ new Map()), _a(this, "lastTransitionTs"), this.lastTransitionTs =
|
|
3139
|
+
this.client = e, this.onTransition = n, _a(this, "paginatedQuerySet", /* @__PURE__ */ new Map()), _a(this, "lastTransitionTs"), this.lastTransitionTs = Le.fromNumber(0), this.client.addOnTransitionHandler(
|
|
3131
3140
|
(r) => this.onBaseTransition(r)
|
|
3132
3141
|
);
|
|
3133
3142
|
}
|
|
@@ -3436,7 +3445,7 @@ var Cd = Object.defineProperty, Ad = (t, e, n) => e in t ? Cd(t, e, { enumerable
|
|
|
3436
3445
|
const Rd = 5e3;
|
|
3437
3446
|
if (typeof ao > "u")
|
|
3438
3447
|
throw new Error("Required dependency 'react' not found");
|
|
3439
|
-
function
|
|
3448
|
+
function il(t, e, n) {
|
|
3440
3449
|
function r(i) {
|
|
3441
3450
|
return Md(i), e.mutation(t, i, {
|
|
3442
3451
|
optimisticUpdate: n
|
|
@@ -3449,7 +3458,7 @@ function ol(t, e, n) {
|
|
|
3449
3458
|
t
|
|
3450
3459
|
)}`
|
|
3451
3460
|
);
|
|
3452
|
-
return
|
|
3461
|
+
return il(t, e, o);
|
|
3453
3462
|
}, r;
|
|
3454
3463
|
}
|
|
3455
3464
|
function Ed(t, e) {
|
|
@@ -3494,7 +3503,7 @@ class Id {
|
|
|
3494
3503
|
get sync() {
|
|
3495
3504
|
if (this.closed)
|
|
3496
3505
|
throw new Error("ConvexReactClient has already been closed.");
|
|
3497
|
-
return this.cachedSync ? this.cachedSync : (this.cachedSync = new kd(
|
|
3506
|
+
return this.cachedSync ? this.cachedSync : (this.cachedSync = this.options.baseClient ?? new kd(
|
|
3498
3507
|
this.address,
|
|
3499
3508
|
() => {
|
|
3500
3509
|
},
|
|
@@ -3794,7 +3803,7 @@ function Gt(t) {
|
|
|
3794
3803
|
"Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app"
|
|
3795
3804
|
);
|
|
3796
3805
|
return ge(
|
|
3797
|
-
() =>
|
|
3806
|
+
() => il(e, n),
|
|
3798
3807
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3799
3808
|
[n, Pe(e)]
|
|
3800
3809
|
);
|
|
@@ -3957,7 +3966,7 @@ function Zr() {
|
|
|
3957
3966
|
var n = Hn;
|
|
3958
3967
|
for (Hn = void 0, $r++; n !== void 0; ) {
|
|
3959
3968
|
var r = n.u;
|
|
3960
|
-
if (n.u = void 0, n.f &= -3, !(8 & n.f) &&
|
|
3969
|
+
if (n.u = void 0, n.f &= -3, !(8 & n.f) && al(n)) try {
|
|
3961
3970
|
n.c();
|
|
3962
3971
|
} catch (i) {
|
|
3963
3972
|
e || (t = i, e = !0);
|
|
@@ -3968,7 +3977,7 @@ function Zr() {
|
|
|
3968
3977
|
if ($r = 0, St--, e) throw t;
|
|
3969
3978
|
}
|
|
3970
3979
|
}
|
|
3971
|
-
function
|
|
3980
|
+
function Bd(t) {
|
|
3972
3981
|
if (St > 0) return t();
|
|
3973
3982
|
Di = ++Fd, St++;
|
|
3974
3983
|
try {
|
|
@@ -3988,7 +3997,7 @@ function Jr(t) {
|
|
|
3988
3997
|
}
|
|
3989
3998
|
}
|
|
3990
3999
|
var Hn = void 0, St = 0, $r = 0, Fd = 0, Di = 0, Dr = void 0, qr = 0;
|
|
3991
|
-
function
|
|
4000
|
+
function ol(t) {
|
|
3992
4001
|
if (ne !== void 0) {
|
|
3993
4002
|
var e = t.n;
|
|
3994
4003
|
if (e === void 0 || e.t !== ne)
|
|
@@ -4046,7 +4055,7 @@ Se.prototype.peek = function() {
|
|
|
4046
4055
|
});
|
|
4047
4056
|
};
|
|
4048
4057
|
Object.defineProperty(Se.prototype, "value", { get: function() {
|
|
4049
|
-
var t =
|
|
4058
|
+
var t = ol(this);
|
|
4050
4059
|
return t !== void 0 && (t.i = this.i), this.v;
|
|
4051
4060
|
}, set: function(t) {
|
|
4052
4061
|
if (t !== this.v) {
|
|
@@ -4064,11 +4073,11 @@ Object.defineProperty(Se.prototype, "value", { get: function() {
|
|
|
4064
4073
|
function H(t, e) {
|
|
4065
4074
|
return new Se(t, e);
|
|
4066
4075
|
}
|
|
4067
|
-
function
|
|
4076
|
+
function al(t) {
|
|
4068
4077
|
for (var e = t.s; e !== void 0; e = e.n) if (e.S.i !== e.i || !e.S.h() || e.S.i !== e.i) return !0;
|
|
4069
4078
|
return !1;
|
|
4070
4079
|
}
|
|
4071
|
-
function
|
|
4080
|
+
function sl(t) {
|
|
4072
4081
|
for (var e = t.s; e !== void 0; e = e.n) {
|
|
4073
4082
|
var n = e.S.n;
|
|
4074
4083
|
if (n !== void 0 && (e.r = n), e.S.n = e, e.i = -1, e.n === void 0) {
|
|
@@ -4077,7 +4086,7 @@ function ll(t) {
|
|
|
4077
4086
|
}
|
|
4078
4087
|
}
|
|
4079
4088
|
}
|
|
4080
|
-
function
|
|
4089
|
+
function ll(t) {
|
|
4081
4090
|
for (var e = t.s, n = void 0; e !== void 0; ) {
|
|
4082
4091
|
var r = e.p;
|
|
4083
4092
|
e.i === -1 ? (e.S.U(e), r !== void 0 && (r.n = e.n), e.n !== void 0 && (e.n.p = r)) : n = e, e.S.n = e.r, e.r !== void 0 && (e.r = void 0), e = r;
|
|
@@ -4091,17 +4100,17 @@ Kt.prototype = new Se();
|
|
|
4091
4100
|
Kt.prototype.h = function() {
|
|
4092
4101
|
if (this.f &= -3, 1 & this.f) return !1;
|
|
4093
4102
|
if ((36 & this.f) == 32 || (this.f &= -5, this.g === qr)) return !0;
|
|
4094
|
-
if (this.g = qr, this.f |= 1, this.i > 0 && !
|
|
4103
|
+
if (this.g = qr, this.f |= 1, this.i > 0 && !al(this))
|
|
4095
4104
|
return this.f &= -2, !0;
|
|
4096
4105
|
var t = ne;
|
|
4097
4106
|
try {
|
|
4098
|
-
|
|
4107
|
+
sl(this), ne = this;
|
|
4099
4108
|
var e = this.x();
|
|
4100
4109
|
(16 & this.f || this.v !== e || this.i === 0) && (this.v = e, this.f &= -17, this.i++);
|
|
4101
4110
|
} catch (n) {
|
|
4102
4111
|
this.v = n, this.f |= 16, this.i++;
|
|
4103
4112
|
}
|
|
4104
|
-
return ne = t,
|
|
4113
|
+
return ne = t, ll(this), this.f &= -2, !0;
|
|
4105
4114
|
};
|
|
4106
4115
|
Kt.prototype.S = function(t) {
|
|
4107
4116
|
if (this.t === void 0) {
|
|
@@ -4124,14 +4133,14 @@ Kt.prototype.N = function() {
|
|
|
4124
4133
|
};
|
|
4125
4134
|
Object.defineProperty(Kt.prototype, "value", { get: function() {
|
|
4126
4135
|
if (1 & this.f) throw new Error("Cycle detected");
|
|
4127
|
-
var t =
|
|
4136
|
+
var t = ol(this);
|
|
4128
4137
|
if (this.h(), t !== void 0 && (t.i = this.i), 16 & this.f) throw this.v;
|
|
4129
4138
|
return this.v;
|
|
4130
4139
|
} });
|
|
4131
4140
|
function qi(t, e) {
|
|
4132
4141
|
return new Kt(t, e);
|
|
4133
4142
|
}
|
|
4134
|
-
function
|
|
4143
|
+
function cl(t) {
|
|
4135
4144
|
var e = t.m;
|
|
4136
4145
|
if (t.m = void 0, typeof e == "function") {
|
|
4137
4146
|
St++;
|
|
@@ -4148,11 +4157,11 @@ function ul(t) {
|
|
|
4148
4157
|
}
|
|
4149
4158
|
function co(t) {
|
|
4150
4159
|
for (var e = t.s; e !== void 0; e = e.n) e.S.U(e);
|
|
4151
|
-
t.x = void 0, t.s = void 0,
|
|
4160
|
+
t.x = void 0, t.s = void 0, cl(t);
|
|
4152
4161
|
}
|
|
4153
|
-
function
|
|
4162
|
+
function Ud(t) {
|
|
4154
4163
|
if (ne !== this) throw new Error("Out-of-order effect");
|
|
4155
|
-
|
|
4164
|
+
ll(this), ne = t, this.f &= -2, 8 & this.f && co(this), Zr();
|
|
4156
4165
|
}
|
|
4157
4166
|
function kn(t, e) {
|
|
4158
4167
|
this.x = t, this.m = void 0, this.s = void 0, this.u = void 0, this.f = 32, this.name = e?.name;
|
|
@@ -4169,9 +4178,9 @@ kn.prototype.c = function() {
|
|
|
4169
4178
|
};
|
|
4170
4179
|
kn.prototype.S = function() {
|
|
4171
4180
|
if (1 & this.f) throw new Error("Cycle detected");
|
|
4172
|
-
this.f |= 1, this.f &= -9,
|
|
4181
|
+
this.f |= 1, this.f &= -9, cl(this), sl(this), St++;
|
|
4173
4182
|
var t = ne;
|
|
4174
|
-
return ne = this,
|
|
4183
|
+
return ne = this, Ud.bind(this, t);
|
|
4175
4184
|
};
|
|
4176
4185
|
kn.prototype.N = function() {
|
|
4177
4186
|
2 & this.f || (this.f |= 2, this.u = Hn, Hn = this);
|
|
@@ -4192,9 +4201,9 @@ function ar(t, e) {
|
|
|
4192
4201
|
var r = n.d.bind(n);
|
|
4193
4202
|
return r[Symbol.dispose] = r, r;
|
|
4194
4203
|
}
|
|
4195
|
-
var
|
|
4204
|
+
var ul, wr, Vd = typeof window < "u" && !!window.__PREACT_SIGNALS_DEVTOOLS__, dl = [];
|
|
4196
4205
|
ar(function() {
|
|
4197
|
-
|
|
4206
|
+
ul = this.N;
|
|
4198
4207
|
})();
|
|
4199
4208
|
function _n(t, e) {
|
|
4200
4209
|
P[t] = e.bind(null, P[t] || function() {
|
|
@@ -4207,7 +4216,7 @@ function zr(t) {
|
|
|
4207
4216
|
}
|
|
4208
4217
|
wr = t && t.S();
|
|
4209
4218
|
}
|
|
4210
|
-
function
|
|
4219
|
+
function hl(t) {
|
|
4211
4220
|
var e = this, n = t.data, r = fn(n);
|
|
4212
4221
|
r.value = n;
|
|
4213
4222
|
var i = ge(function() {
|
|
@@ -4221,7 +4230,7 @@ function fl(t) {
|
|
|
4221
4230
|
}), h = qi(function() {
|
|
4222
4231
|
return !Array.isArray(u.value) && !bs(u.value);
|
|
4223
4232
|
}), m = ar(function() {
|
|
4224
|
-
if (this.N =
|
|
4233
|
+
if (this.N = fl, h.value) {
|
|
4225
4234
|
var p = u.value;
|
|
4226
4235
|
l.__v && l.__v.__e && l.__v.__e.nodeType === 3 && (l.__v.__e.data = p);
|
|
4227
4236
|
}
|
|
@@ -4232,8 +4241,8 @@ function fl(t) {
|
|
|
4232
4241
|
}, []), o = i[0], a = i[1];
|
|
4233
4242
|
return o.value ? a.peek() : a.value;
|
|
4234
4243
|
}
|
|
4235
|
-
|
|
4236
|
-
Object.defineProperties(Se.prototype, { constructor: { configurable: !0, value: void 0 }, type: { configurable: !0, value:
|
|
4244
|
+
hl.displayName = "ReactiveTextNode";
|
|
4245
|
+
Object.defineProperties(Se.prototype, { constructor: { configurable: !0, value: void 0 }, type: { configurable: !0, value: hl }, props: { configurable: !0, get: function() {
|
|
4237
4246
|
var t = this;
|
|
4238
4247
|
return { data: { get value() {
|
|
4239
4248
|
return t.value;
|
|
@@ -4293,7 +4302,7 @@ function Hd(t, e, n, r) {
|
|
|
4293
4302
|
return { o: function(a, l) {
|
|
4294
4303
|
o.value = a, r = l;
|
|
4295
4304
|
}, d: ar(function() {
|
|
4296
|
-
this.N =
|
|
4305
|
+
this.N = fl;
|
|
4297
4306
|
var a = o.value.value;
|
|
4298
4307
|
r[e] !== a && (r[e] = a, i ? t[e] = a : a != null && (a !== !1 || e[4] === "-") ? t.setAttribute(e, a) : t.removeAttribute(e));
|
|
4299
4308
|
}) };
|
|
@@ -4352,18 +4361,18 @@ var Wd = function(t) {
|
|
|
4352
4361
|
});
|
|
4353
4362
|
};
|
|
4354
4363
|
function Qd() {
|
|
4355
|
-
|
|
4356
|
-
for (var t; t =
|
|
4364
|
+
Bd(function() {
|
|
4365
|
+
for (var t; t = dl.shift(); ) ul.call(t);
|
|
4357
4366
|
});
|
|
4358
4367
|
}
|
|
4359
|
-
function
|
|
4360
|
-
|
|
4368
|
+
function fl() {
|
|
4369
|
+
dl.push(this) === 1 && (P.requestAnimationFrame || Wd)(Qd);
|
|
4361
4370
|
}
|
|
4362
|
-
const ae = H(!1),
|
|
4371
|
+
const ae = H(!1), Br = H(void 0), sr = "https://jexitychat.de/privacy", lr = H(sr), uo = H("chip"), Lt = H(void 0), zi = H([]), Bi = H([]), pl = H(null);
|
|
4363
4372
|
function Gd(t) {
|
|
4364
4373
|
return t.replace(/\.convex\.site\b/, ".convex.cloud");
|
|
4365
4374
|
}
|
|
4366
|
-
function
|
|
4375
|
+
function ml(t) {
|
|
4367
4376
|
return t.replace(/\.convex\.cloud\b/, ".convex.site");
|
|
4368
4377
|
}
|
|
4369
4378
|
function Kd(t) {
|
|
@@ -4447,7 +4456,7 @@ function eh(t, e, n) {
|
|
|
4447
4456
|
});
|
|
4448
4457
|
return O(() => {
|
|
4449
4458
|
i({ config: null, settled: !1 });
|
|
4450
|
-
const o = n ?? "https://
|
|
4459
|
+
const o = n ?? "https://festive-mouse-978.eu-west-1.convex.cloud", a = o ? ml(o) : void 0;
|
|
4451
4460
|
if (!a || !t) {
|
|
4452
4461
|
i({ config: null, settled: !0 });
|
|
4453
4462
|
return;
|
|
@@ -4478,7 +4487,7 @@ const ja = globalThis.console, me = {
|
|
|
4478
4487
|
debug(...t) {
|
|
4479
4488
|
}
|
|
4480
4489
|
};
|
|
4481
|
-
async function
|
|
4490
|
+
async function gl(t, e, n) {
|
|
4482
4491
|
try {
|
|
4483
4492
|
const r = await fetch(`${e}/widget/bootstrap`, {
|
|
4484
4493
|
method: "POST",
|
|
@@ -4521,19 +4530,19 @@ function nh({
|
|
|
4521
4530
|
preExcludedPaths: o
|
|
4522
4531
|
}) {
|
|
4523
4532
|
O(() => {
|
|
4524
|
-
const a = r ?? "https://
|
|
4533
|
+
const a = r ?? "https://festive-mouse-978.eu-west-1.convex.cloud", l = a ? ml(a) : void 0;
|
|
4525
4534
|
if (!l || !t)
|
|
4526
4535
|
return;
|
|
4527
|
-
if (
|
|
4528
|
-
zi.value = i ?? [],
|
|
4536
|
+
if (pl.value = { orgSlug: t, projSlug: e, siteUrl: l }, n) {
|
|
4537
|
+
zi.value = i ?? [], Bi.value = o ?? [];
|
|
4529
4538
|
return;
|
|
4530
4539
|
}
|
|
4531
4540
|
let c = !1;
|
|
4532
4541
|
return (async () => {
|
|
4533
|
-
const u = await
|
|
4542
|
+
const u = await gl(t, l, e);
|
|
4534
4543
|
if (!c)
|
|
4535
4544
|
if (u.ok)
|
|
4536
|
-
Lt.value = u.token, zi.value = u.allowedUrls,
|
|
4545
|
+
Lt.value = u.token, zi.value = u.allowedUrls, Bi.value = u.excludePaths;
|
|
4537
4546
|
else {
|
|
4538
4547
|
const h = e ? `project '${t}/${e}'` : `org '${t}'`;
|
|
4539
4548
|
u.error === "unauthorized" ? me.warn(
|
|
@@ -4570,7 +4579,7 @@ function oh() {
|
|
|
4570
4579
|
O(() => ih(() => {
|
|
4571
4580
|
t.value = window.location.href;
|
|
4572
4581
|
}), []);
|
|
4573
|
-
const e = zi.value, n =
|
|
4582
|
+
const e = zi.value, n = Bi.value, r = new URL(t.value).pathname, i = th(r, n);
|
|
4574
4583
|
return O(() => {
|
|
4575
4584
|
i ? me.warn(
|
|
4576
4585
|
`[JexityChat] Widget hidden — current path is in the exclude list: ${r}`
|
|
@@ -4831,7 +4840,7 @@ Use it to resume this conversation from any device.`,
|
|
|
4831
4840
|
waitingTitle: "You’re in the queue",
|
|
4832
4841
|
waitingSubtitle: "Keep this tab open — we’ll alert you right here the moment someone replies.",
|
|
4833
4842
|
waitingLeaveEmail: "Rather get an email? Leave your details"
|
|
4834
|
-
},
|
|
4843
|
+
}, xl = {
|
|
4835
4844
|
title: "Assistent",
|
|
4836
4845
|
statusOnline: "Online · Antwortet in Sekunden",
|
|
4837
4846
|
inputPlaceholder: "Nachricht eingeben…",
|
|
@@ -5086,7 +5095,7 @@ Verwenden Sie sie, um diese Unterhaltung auf jedem Gerät fortzusetzen.`,
|
|
|
5086
5095
|
}, ah = [
|
|
5087
5096
|
{ value: "de", label: "Deutsch", flag: "🇩🇪" },
|
|
5088
5097
|
{ value: "en", label: "English", flag: "🇬🇧" }
|
|
5089
|
-
], sh = "de", lh = "jex-locale", xt = H("de"), ch = { en: ho, de:
|
|
5098
|
+
], sh = "de", lh = "jex-locale", xt = H("de"), ch = { en: ho, de: xl };
|
|
5090
5099
|
function I() {
|
|
5091
5100
|
return ch[xt.value] ?? ho;
|
|
5092
5101
|
}
|
|
@@ -5096,7 +5105,7 @@ function wi(t) {
|
|
|
5096
5105
|
const e = (t.split("-")[0] ?? "").toLowerCase();
|
|
5097
5106
|
return ah.some((r) => r.value === e) ? e : null;
|
|
5098
5107
|
}
|
|
5099
|
-
function
|
|
5108
|
+
function bl(t) {
|
|
5100
5109
|
const e = wi(t);
|
|
5101
5110
|
if (e)
|
|
5102
5111
|
return e;
|
|
@@ -5120,14 +5129,14 @@ function uh(t) {
|
|
|
5120
5129
|
if (n.origin !== r || n.data?.type !== "jexity:config")
|
|
5121
5130
|
return;
|
|
5122
5131
|
const { locale: i } = n.data.payload;
|
|
5123
|
-
i && (xt.value =
|
|
5132
|
+
i && (xt.value = bl(i));
|
|
5124
5133
|
}
|
|
5125
5134
|
return window.addEventListener("message", e), () => {
|
|
5126
5135
|
window.removeEventListener("message", e);
|
|
5127
5136
|
};
|
|
5128
5137
|
}, [t]);
|
|
5129
5138
|
}
|
|
5130
|
-
const
|
|
5139
|
+
const yl = "jex-session-history", vl = yl, wl = 1440 * 60 * 1e3, Ce = H([]), Be = H(null), Nt = H(void 0), Fi = H(!1), fo = qi(() => Ce.value.length > 0), pn = H(null), dh = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", hh = 6;
|
|
5131
5140
|
function fh() {
|
|
5132
5141
|
let t = "";
|
|
5133
5142
|
const e = new Uint8Array(1);
|
|
@@ -5141,18 +5150,18 @@ function ph(t) {
|
|
|
5141
5150
|
if (typeof t == "number" && Number.isFinite(t) && t >= 0)
|
|
5142
5151
|
return t;
|
|
5143
5152
|
}
|
|
5144
|
-
function
|
|
5153
|
+
function kl(t, e, n) {
|
|
5145
5154
|
if (n === null)
|
|
5146
5155
|
return t;
|
|
5147
|
-
const r = typeof n == "number" ? n :
|
|
5156
|
+
const r = typeof n == "number" ? n : wl;
|
|
5148
5157
|
return t.filter((i) => e - i.lastActivityAt <= r);
|
|
5149
5158
|
}
|
|
5150
5159
|
function mh(t, e, n, r) {
|
|
5151
|
-
return n ?
|
|
5160
|
+
return n ? kl(t, e, r) : t;
|
|
5152
5161
|
}
|
|
5153
5162
|
function gh(t) {
|
|
5154
5163
|
try {
|
|
5155
|
-
const e = sessionStorage.getItem(
|
|
5164
|
+
const e = sessionStorage.getItem(vl);
|
|
5156
5165
|
if (!e)
|
|
5157
5166
|
return Nt.value = void 0, [];
|
|
5158
5167
|
const n = JSON.parse(e);
|
|
@@ -5172,31 +5181,31 @@ function gh(t) {
|
|
|
5172
5181
|
function cr(t) {
|
|
5173
5182
|
try {
|
|
5174
5183
|
const e = { v: 1, entries: t, timeoutMs: Nt.value };
|
|
5175
|
-
sessionStorage.setItem(
|
|
5184
|
+
sessionStorage.setItem(vl, JSON.stringify(e));
|
|
5176
5185
|
} catch {
|
|
5177
5186
|
}
|
|
5178
5187
|
}
|
|
5179
5188
|
function xh() {
|
|
5180
5189
|
const t = Date.now(), e = gh(t);
|
|
5181
|
-
Ce.value = e, cr(e),
|
|
5190
|
+
Ce.value = e, cr(e), Be.value = e[e.length - 1]?.ref ?? null, Fi.value = !0;
|
|
5182
5191
|
}
|
|
5183
5192
|
function bh(t) {
|
|
5184
5193
|
Nt.value = t;
|
|
5185
|
-
const e = Date.now(), n =
|
|
5186
|
-
return Ce.value = n, r && (
|
|
5194
|
+
const e = Date.now(), n = kl(Ce.value, e, t), r = Be.value !== null && !n.some((i) => i.ref === Be.value);
|
|
5195
|
+
return Ce.value = n, r && (Be.value = null), cr(n), { activeRefPruned: r };
|
|
5187
5196
|
}
|
|
5188
5197
|
function Ca() {
|
|
5189
5198
|
const t = fh(), e = Date.now(), n = [...Ce.value, { ref: t, startedAt: e, lastActivityAt: e }];
|
|
5190
|
-
return Ce.value = n,
|
|
5199
|
+
return Ce.value = n, Be.value = t, cr(n), t;
|
|
5191
5200
|
}
|
|
5192
5201
|
function Aa() {
|
|
5193
|
-
|
|
5202
|
+
Be.value = null;
|
|
5194
5203
|
}
|
|
5195
5204
|
function Ra(t) {
|
|
5196
5205
|
const e = Date.now(), n = Ce.value.map(
|
|
5197
5206
|
(r) => r.ref === t ? { ...r, lastActivityAt: e } : r
|
|
5198
5207
|
);
|
|
5199
|
-
Ce.value = n,
|
|
5208
|
+
Ce.value = n, Be.value = t, cr(n);
|
|
5200
5209
|
}
|
|
5201
5210
|
function po(t) {
|
|
5202
5211
|
if (!t)
|
|
@@ -5206,22 +5215,22 @@ function po(t) {
|
|
|
5206
5215
|
);
|
|
5207
5216
|
Ce.value = n, cr(n);
|
|
5208
5217
|
}
|
|
5209
|
-
const
|
|
5210
|
-
function
|
|
5218
|
+
const $e = H(_l());
|
|
5219
|
+
function _l() {
|
|
5211
5220
|
return fo.value ? [{ id: "home" }] : [{ id: "home" }, { id: "chat" }];
|
|
5212
5221
|
}
|
|
5213
5222
|
function yh() {
|
|
5214
|
-
|
|
5223
|
+
$e.value = _l();
|
|
5215
5224
|
}
|
|
5216
5225
|
const vh = H("screen");
|
|
5217
5226
|
function jt(t) {
|
|
5218
|
-
|
|
5227
|
+
$e.value = [...$e.value, t];
|
|
5219
5228
|
}
|
|
5220
5229
|
function mo() {
|
|
5221
|
-
|
|
5230
|
+
$e.value.length > 1 && ($e.value = $e.value.slice(0, -1));
|
|
5222
5231
|
}
|
|
5223
|
-
function
|
|
5224
|
-
|
|
5232
|
+
function Ui(t) {
|
|
5233
|
+
$e.value = [...$e.value.slice(0, -1), t];
|
|
5225
5234
|
}
|
|
5226
5235
|
const wh = 6e4, Zn = H(!1), Vi = H(!1), Hi = /* @__PURE__ */ new Set();
|
|
5227
5236
|
function kh(t) {
|
|
@@ -5230,7 +5239,7 @@ function kh(t) {
|
|
|
5230
5239
|
};
|
|
5231
5240
|
}
|
|
5232
5241
|
function _h() {
|
|
5233
|
-
const t =
|
|
5242
|
+
const t = Be.value;
|
|
5234
5243
|
return t ? Ce.value.find((n) => n.ref === t)?.lastActivityAt ?? null : null;
|
|
5235
5244
|
}
|
|
5236
5245
|
function Ea(t) {
|
|
@@ -5239,9 +5248,9 @@ function Ea(t) {
|
|
|
5239
5248
|
}
|
|
5240
5249
|
function Wi() {
|
|
5241
5250
|
if (!(Zn.value && Ce.value.length === 0)) {
|
|
5242
|
-
Ce.value = [],
|
|
5251
|
+
Ce.value = [], Be.value = null;
|
|
5243
5252
|
try {
|
|
5244
|
-
sessionStorage.removeItem(
|
|
5253
|
+
sessionStorage.removeItem(yl);
|
|
5245
5254
|
} catch (t) {
|
|
5246
5255
|
me.warn("[JexityChat] Idle-lock storage clear failed:", t);
|
|
5247
5256
|
}
|
|
@@ -5251,13 +5260,13 @@ function Wi() {
|
|
|
5251
5260
|
} catch (e) {
|
|
5252
5261
|
me.warn("[JexityChat] Lock reset callback threw:", e);
|
|
5253
5262
|
}
|
|
5254
|
-
|
|
5263
|
+
$e.value = [{ id: "home" }], Zn.value = !0;
|
|
5255
5264
|
}
|
|
5256
5265
|
}
|
|
5257
5266
|
function kr() {
|
|
5258
5267
|
Zn.value && (Zn.value = !1);
|
|
5259
5268
|
}
|
|
5260
|
-
function jh(t =
|
|
5269
|
+
function jh(t = wl) {
|
|
5261
5270
|
let e = document.visibilityState === "hidden" ? Date.now() : null;
|
|
5262
5271
|
const n = () => {
|
|
5263
5272
|
if (document.visibilityState === "hidden") {
|
|
@@ -5302,7 +5311,7 @@ function Xr({ size: t = 24 }) {
|
|
|
5302
5311
|
}
|
|
5303
5312
|
function Th() {
|
|
5304
5313
|
const t = I();
|
|
5305
|
-
return
|
|
5314
|
+
return $e.value.length > 1 ? /* @__PURE__ */ s(
|
|
5306
5315
|
"button",
|
|
5307
5316
|
{
|
|
5308
5317
|
class: "jex-header-back",
|
|
@@ -5315,7 +5324,7 @@ function Th() {
|
|
|
5315
5324
|
function Ch({ title: t }) {
|
|
5316
5325
|
return /* @__PURE__ */ s("div", { class: "jex-header-info", children: /* @__PURE__ */ s("h3", { children: t }) });
|
|
5317
5326
|
}
|
|
5318
|
-
function
|
|
5327
|
+
function jl({ size: t = 28 }) {
|
|
5319
5328
|
return /* @__PURE__ */ s("svg", { width: t, height: t, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true", children: [
|
|
5320
5329
|
/* @__PURE__ */ s("path", { d: "M18 6 6 18" }),
|
|
5321
5330
|
/* @__PURE__ */ s("path", { d: "m6 6 12 12" })
|
|
@@ -5333,7 +5342,7 @@ function Ah() {
|
|
|
5333
5342
|
},
|
|
5334
5343
|
"aria-label": t.closeChatAriaLabel,
|
|
5335
5344
|
title: t.closeChatAriaLabel,
|
|
5336
|
-
children: /* @__PURE__ */ s(
|
|
5345
|
+
children: /* @__PURE__ */ s(jl, { size: 18 })
|
|
5337
5346
|
}
|
|
5338
5347
|
);
|
|
5339
5348
|
}
|
|
@@ -5371,7 +5380,7 @@ function Pa() {
|
|
|
5371
5380
|
}
|
|
5372
5381
|
) });
|
|
5373
5382
|
}
|
|
5374
|
-
function
|
|
5383
|
+
function Sl({ size: t = 28 }) {
|
|
5375
5384
|
return /* @__PURE__ */ s("svg", { width: t, height: t, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true", children: /* @__PURE__ */ s("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }) });
|
|
5376
5385
|
}
|
|
5377
5386
|
function Ih({ size: t = 24, ...e }) {
|
|
@@ -5392,7 +5401,7 @@ function Ih({ size: t = 24, ...e }) {
|
|
|
5392
5401
|
);
|
|
5393
5402
|
}
|
|
5394
5403
|
const Ph = {
|
|
5395
|
-
chat: /* @__PURE__ */ s(
|
|
5404
|
+
chat: /* @__PURE__ */ s(Sl, { size: 28 }),
|
|
5396
5405
|
bot: /* @__PURE__ */ s(Xr, { size: 28 }),
|
|
5397
5406
|
sparkles: /* @__PURE__ */ s(Ih, { size: 28 })
|
|
5398
5407
|
}, Nh = {
|
|
@@ -5413,14 +5422,14 @@ function Mh({ radius: t = "full", iconOption: e = "chat", label: n }) {
|
|
|
5413
5422
|
ae.value = !ae.value;
|
|
5414
5423
|
},
|
|
5415
5424
|
"aria-label": ae.value ? r.closeChatAriaLabel : r.openChatAriaLabel,
|
|
5416
|
-
children: ae.value ? /* @__PURE__ */ s(
|
|
5425
|
+
children: ae.value ? /* @__PURE__ */ s(jl, { size: 28 }) : /* @__PURE__ */ s("div", { class: "jex-fab-inner", children: [
|
|
5417
5426
|
Ph[e],
|
|
5418
5427
|
o && /* @__PURE__ */ s("span", { class: "jex-fab-label", children: i })
|
|
5419
5428
|
] })
|
|
5420
5429
|
}
|
|
5421
5430
|
);
|
|
5422
5431
|
}
|
|
5423
|
-
const
|
|
5432
|
+
const Ur = H(!1);
|
|
5424
5433
|
function Oh(t, e) {
|
|
5425
5434
|
return e ? `jex-proactive-dismissed:${t}:${e}` : `jex-proactive-dismissed:${t}`;
|
|
5426
5435
|
}
|
|
@@ -5443,10 +5452,10 @@ function $h(t) {
|
|
|
5443
5452
|
function Dh({ title: t, message: e, guardKey: n }) {
|
|
5444
5453
|
const r = I();
|
|
5445
5454
|
function i() {
|
|
5446
|
-
|
|
5455
|
+
Ur.value = !1, ae.value = !0;
|
|
5447
5456
|
}
|
|
5448
5457
|
function o(a) {
|
|
5449
|
-
a.stopPropagation(), Lh(n),
|
|
5458
|
+
a.stopPropagation(), Lh(n), Ur.value = !1;
|
|
5450
5459
|
}
|
|
5451
5460
|
return /* @__PURE__ */ s(
|
|
5452
5461
|
"div",
|
|
@@ -5487,16 +5496,16 @@ function Qi(t) {
|
|
|
5487
5496
|
vn.value = t, t && (Dn.value += 1);
|
|
5488
5497
|
}
|
|
5489
5498
|
const Ma = 100;
|
|
5490
|
-
function
|
|
5499
|
+
function Tl(t) {
|
|
5491
5500
|
const e = t.replace(/\s+/g, " ").trim();
|
|
5492
5501
|
return e.length > Ma ? `${e.slice(0, Ma)}…` : e;
|
|
5493
5502
|
}
|
|
5494
5503
|
const Jn = H(null), Oa = H(Date.now()), Ar = H(!1), go = H(!1), Xn = H(!1), Vr = H(null);
|
|
5495
|
-
function
|
|
5504
|
+
function Cl() {
|
|
5496
5505
|
return uo.value === "explicit" && !go.value;
|
|
5497
5506
|
}
|
|
5498
|
-
function
|
|
5499
|
-
|
|
5507
|
+
function Al() {
|
|
5508
|
+
Cl() && (Xn.value = !0);
|
|
5500
5509
|
}
|
|
5501
5510
|
function qh() {
|
|
5502
5511
|
go.value = !0, Xn.value = !1;
|
|
@@ -5504,12 +5513,12 @@ function qh() {
|
|
|
5504
5513
|
function La() {
|
|
5505
5514
|
go.value = !1, Xn.value = !1, Vr.value = null;
|
|
5506
5515
|
}
|
|
5507
|
-
const Tt = H([]), zh = 4,
|
|
5516
|
+
const Tt = H([]), zh = 4, Bh = 8 * 1024 * 1024;
|
|
5508
5517
|
function Fh() {
|
|
5509
5518
|
return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 11)}`;
|
|
5510
5519
|
}
|
|
5511
|
-
function
|
|
5512
|
-
const e = Array.from(t).filter((i) => i.type.startsWith("image/") && i.size <=
|
|
5520
|
+
function Uh(t) {
|
|
5521
|
+
const e = Array.from(t).filter((i) => i.type.startsWith("image/") && i.size <= Bh);
|
|
5513
5522
|
if (e.length === 0)
|
|
5514
5523
|
return;
|
|
5515
5524
|
const n = zh - Tt.value.length;
|
|
@@ -5532,13 +5541,40 @@ function Hh() {
|
|
|
5532
5541
|
URL.revokeObjectURL(t.previewUrl);
|
|
5533
5542
|
Tt.value = [];
|
|
5534
5543
|
}
|
|
5544
|
+
BigInt("-9223372036854775808");
|
|
5545
|
+
BigInt("9223372036854775807");
|
|
5546
|
+
BigInt("0");
|
|
5547
|
+
BigInt("8");
|
|
5548
|
+
BigInt("256");
|
|
5549
|
+
const Wh = /* @__PURE__ */ Symbol.for("functionName"), Qh = /* @__PURE__ */ Symbol.for("toReferencePath");
|
|
5550
|
+
function Rl(t = []) {
|
|
5551
|
+
const e = {
|
|
5552
|
+
get(n, r) {
|
|
5553
|
+
if (typeof r == "string") {
|
|
5554
|
+
const i = [...t, r];
|
|
5555
|
+
return Rl(i);
|
|
5556
|
+
} else if (r === Wh) {
|
|
5557
|
+
if (t.length < 2) {
|
|
5558
|
+
const a = ["api", ...t].join(".");
|
|
5559
|
+
throw new Error(
|
|
5560
|
+
`API path is expected to be of the form \`api.moduleName.functionName\`. Found: \`${a}\``
|
|
5561
|
+
);
|
|
5562
|
+
}
|
|
5563
|
+
const i = t.slice(0, -1).join("/"), o = t[t.length - 1];
|
|
5564
|
+
return o === "default" ? i : i + ":" + o;
|
|
5565
|
+
} else return r === Symbol.toStringTag ? "FunctionReference" : void 0;
|
|
5566
|
+
}
|
|
5567
|
+
};
|
|
5568
|
+
return new Proxy({}, e);
|
|
5569
|
+
}
|
|
5570
|
+
const Gh = Rl();
|
|
5535
5571
|
function El(t, e) {
|
|
5536
5572
|
const n = {
|
|
5537
5573
|
get(r, i) {
|
|
5538
5574
|
if (typeof i == "string") {
|
|
5539
5575
|
const o = [...e, i];
|
|
5540
5576
|
return El(t, o);
|
|
5541
|
-
} else if (i ===
|
|
5577
|
+
} else if (i === Qh) {
|
|
5542
5578
|
if (e.length < 1) {
|
|
5543
5579
|
const o = [t, ...e].join(".");
|
|
5544
5580
|
throw new Error(
|
|
@@ -5552,13 +5588,13 @@ function El(t, e) {
|
|
|
5552
5588
|
};
|
|
5553
5589
|
return new Proxy({}, n);
|
|
5554
5590
|
}
|
|
5555
|
-
const
|
|
5556
|
-
|
|
5591
|
+
const Kh = () => El("components", []), Ae = Gh;
|
|
5592
|
+
Kh();
|
|
5557
5593
|
function Il({ sessionId: t, visitorId: e, ensureSession: n }) {
|
|
5558
5594
|
const r = Gt(Ae.functions.chat.public.conversations.send);
|
|
5559
5595
|
return async function(o) {
|
|
5560
|
-
if (
|
|
5561
|
-
Vr.value = o,
|
|
5596
|
+
if (Cl()) {
|
|
5597
|
+
Vr.value = o, Al();
|
|
5562
5598
|
return;
|
|
5563
5599
|
}
|
|
5564
5600
|
if (!Ar.value) {
|
|
@@ -5587,7 +5623,7 @@ function Il({ sessionId: t, visitorId: e, ensureSession: n }) {
|
|
|
5587
5623
|
}
|
|
5588
5624
|
};
|
|
5589
5625
|
}
|
|
5590
|
-
function
|
|
5626
|
+
function Yh() {
|
|
5591
5627
|
const t = Jn.value, e = Oa.value;
|
|
5592
5628
|
O(() => {
|
|
5593
5629
|
if (t === null)
|
|
@@ -5604,29 +5640,29 @@ function Qh() {
|
|
|
5604
5640
|
const n = t !== null, r = n ? Math.max(0, Math.ceil((t - e) / 1e3)) : 0;
|
|
5605
5641
|
return { isActive: n, remainingSeconds: r };
|
|
5606
5642
|
}
|
|
5607
|
-
function
|
|
5608
|
-
const t = I(), { isActive: e, remainingSeconds: n } =
|
|
5643
|
+
function Zh() {
|
|
5644
|
+
const t = I(), { isActive: e, remainingSeconds: n } = Yh();
|
|
5609
5645
|
return e ? /* @__PURE__ */ s("div", { class: "jex-rate-limit-notice", role: "status", "aria-live": "polite", children: t.errorRateLimited.replace("{seconds}", String(n)) }) : null;
|
|
5610
5646
|
}
|
|
5611
5647
|
const un = H(null), er = H(null);
|
|
5612
5648
|
function Pl() {
|
|
5613
5649
|
er.value = null;
|
|
5614
5650
|
}
|
|
5615
|
-
function
|
|
5651
|
+
function Jh() {
|
|
5616
5652
|
const t = I(), e = un.value;
|
|
5617
5653
|
if (e === null)
|
|
5618
5654
|
return null;
|
|
5619
5655
|
const n = e === "no-token" ? t.errorSessionNoToken : e === "unauthorized" ? t.errorSessionUnauthorized : e === "network" ? t.errorNetwork : t.somethingWentWrong;
|
|
5620
5656
|
return /* @__PURE__ */ s("div", { class: "jex-session-error-notice", role: "alert", "aria-live": "assertive", children: n });
|
|
5621
5657
|
}
|
|
5622
|
-
function
|
|
5658
|
+
function Xh({ size: t = 18 }) {
|
|
5623
5659
|
return /* @__PURE__ */ s("svg", { width: t, height: t, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true", children: [
|
|
5624
5660
|
/* @__PURE__ */ s("path", { d: "M22 2 11 13" }),
|
|
5625
5661
|
/* @__PURE__ */ s("path", { d: "M22 2 15 22 11 13 2 9l20-7z" })
|
|
5626
5662
|
] });
|
|
5627
5663
|
}
|
|
5628
5664
|
const $a = 132;
|
|
5629
|
-
function
|
|
5665
|
+
function ef({ onSend: t }) {
|
|
5630
5666
|
const e = ze(null), n = ze(null);
|
|
5631
5667
|
O(() => {
|
|
5632
5668
|
const c = e.current;
|
|
@@ -5652,7 +5688,7 @@ function Zh({ onSend: t }) {
|
|
|
5652
5688
|
}
|
|
5653
5689
|
function a(c) {
|
|
5654
5690
|
const u = c.currentTarget;
|
|
5655
|
-
u.files && u.files.length > 0 &&
|
|
5691
|
+
u.files && u.files.length > 0 && Uh(u.files), u.value = "";
|
|
5656
5692
|
}
|
|
5657
5693
|
function l(c) {
|
|
5658
5694
|
const u = c.target;
|
|
@@ -5660,8 +5696,8 @@ function Zh({ onSend: t }) {
|
|
|
5660
5696
|
}
|
|
5661
5697
|
return { textareaRef: e, fileInputRef: n, onKeyDown: i, onAttachClick: o, onFilesPicked: a, onCardClick: l };
|
|
5662
5698
|
}
|
|
5663
|
-
function
|
|
5664
|
-
const o = I(), a = mn, l = Tt, { textareaRef: c, fileInputRef: u, onKeyDown: h, onAttachClick: m, onFilesPicked: d, onCardClick: p } =
|
|
5699
|
+
function tf({ isStreaming: t, disabled: e, inputDisabled: n, onSend: r, onFocus: i }) {
|
|
5700
|
+
const o = I(), a = mn, l = Tt, { textareaRef: c, fileInputRef: u, onKeyDown: h, onAttachClick: m, onFilesPicked: d, onCardClick: p } = ef({ onSend: r }), x = a.value.trim().length > 0, k = l.value.length > 0, b = (x || k) && !e;
|
|
5665
5701
|
return /* @__PURE__ */ s("div", { class: "jex-composer-card", onClick: p, children: [
|
|
5666
5702
|
k && /* @__PURE__ */ s("div", { class: "jex-composer-attachments", role: "list", children: l.value.map((v) => /* @__PURE__ */ s("div", { class: "jex-attachment-chip", role: "listitem", children: [
|
|
5667
5703
|
/* @__PURE__ */ s("img", { src: v.previewUrl, alt: v.file.name, class: "jex-attachment-thumb" }),
|
|
@@ -5749,23 +5785,23 @@ function Jh({ isStreaming: t, disabled: e, inputDisabled: n, onSend: r, onFocus:
|
|
|
5749
5785
|
onClick: r,
|
|
5750
5786
|
"aria-label": o.sendAriaLabel,
|
|
5751
5787
|
disabled: e || !x && !k,
|
|
5752
|
-
children: /* @__PURE__ */ s(
|
|
5788
|
+
children: /* @__PURE__ */ s(Xh, { size: 16 })
|
|
5753
5789
|
}
|
|
5754
5790
|
)
|
|
5755
5791
|
] })
|
|
5756
5792
|
] });
|
|
5757
5793
|
}
|
|
5758
|
-
const
|
|
5794
|
+
const nf = (...t) => t.filter((e, n, r) => !!e && e.trim() !== "" && r.indexOf(e) === n).join(" ").trim();
|
|
5759
5795
|
const Da = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
5760
|
-
const
|
|
5796
|
+
const rf = (t) => t.replace(
|
|
5761
5797
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
5762
5798
|
(e, n, r) => r ? r.toUpperCase() : n.toLowerCase()
|
|
5763
5799
|
);
|
|
5764
5800
|
const qa = (t) => {
|
|
5765
|
-
const e =
|
|
5801
|
+
const e = rf(t);
|
|
5766
5802
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
5767
5803
|
};
|
|
5768
|
-
var
|
|
5804
|
+
var of = {
|
|
5769
5805
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5770
5806
|
width: 24,
|
|
5771
5807
|
height: 24,
|
|
@@ -5776,13 +5812,13 @@ var tf = {
|
|
|
5776
5812
|
"stroke-linecap": "round",
|
|
5777
5813
|
"stroke-linejoin": "round"
|
|
5778
5814
|
};
|
|
5779
|
-
const
|
|
5815
|
+
const af = (t) => {
|
|
5780
5816
|
for (const e in t)
|
|
5781
5817
|
if (e.startsWith("aria-") || e === "role" || e === "title")
|
|
5782
5818
|
return !0;
|
|
5783
5819
|
return !1;
|
|
5784
5820
|
};
|
|
5785
|
-
const
|
|
5821
|
+
const sf = ({
|
|
5786
5822
|
color: t = "currentColor",
|
|
5787
5823
|
size: e = 24,
|
|
5788
5824
|
strokeWidth: n = 2,
|
|
@@ -5794,24 +5830,24 @@ const rf = ({
|
|
|
5794
5830
|
}) => Ke(
|
|
5795
5831
|
"svg",
|
|
5796
5832
|
{
|
|
5797
|
-
...
|
|
5833
|
+
...of,
|
|
5798
5834
|
width: String(e),
|
|
5799
5835
|
height: e,
|
|
5800
5836
|
stroke: t,
|
|
5801
5837
|
"stroke-width": r ? Number(n) * 24 / Number(e) : n,
|
|
5802
5838
|
class: ["lucide", a].join(" "),
|
|
5803
|
-
...!i && !
|
|
5839
|
+
...!i && !af(l) && { "aria-hidden": "true" },
|
|
5804
5840
|
...l
|
|
5805
5841
|
},
|
|
5806
5842
|
[...o.map(([c, u]) => Ke(c, u)), ...mt(i)]
|
|
5807
5843
|
);
|
|
5808
5844
|
const Nl = (t, e) => {
|
|
5809
5845
|
const n = ({ class: r = "", className: i = "", children: o, ...a }) => Ke(
|
|
5810
|
-
|
|
5846
|
+
sf,
|
|
5811
5847
|
{
|
|
5812
5848
|
...a,
|
|
5813
5849
|
iconNode: e,
|
|
5814
|
-
class:
|
|
5850
|
+
class: nf(
|
|
5815
5851
|
`lucide-${Da(qa(t))}`,
|
|
5816
5852
|
`lucide-${Da(t)}`,
|
|
5817
5853
|
r,
|
|
@@ -5826,11 +5862,11 @@ const xo = Nl("corner-up-left", [
|
|
|
5826
5862
|
["path", { d: "M20 20v-7a4 4 0 0 0-4-4H4", key: "1nkjon" }],
|
|
5827
5863
|
["path", { d: "M9 14 4 9l5-5", key: "102s5s" }]
|
|
5828
5864
|
]);
|
|
5829
|
-
const
|
|
5865
|
+
const lf = Nl("x", [
|
|
5830
5866
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
5831
5867
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
5832
5868
|
]);
|
|
5833
|
-
function
|
|
5869
|
+
function cf() {
|
|
5834
5870
|
const t = I(), e = vn.value;
|
|
5835
5871
|
if (!e)
|
|
5836
5872
|
return null;
|
|
@@ -5842,7 +5878,7 @@ function af() {
|
|
|
5842
5878
|
n,
|
|
5843
5879
|
": "
|
|
5844
5880
|
] }),
|
|
5845
|
-
|
|
5881
|
+
Tl(e.content)
|
|
5846
5882
|
] }),
|
|
5847
5883
|
/* @__PURE__ */ s(
|
|
5848
5884
|
"button",
|
|
@@ -5854,7 +5890,7 @@ function af() {
|
|
|
5854
5890
|
onClick: () => {
|
|
5855
5891
|
Qi(null);
|
|
5856
5892
|
},
|
|
5857
|
-
children: /* @__PURE__ */ s(
|
|
5893
|
+
children: /* @__PURE__ */ s(lf, { size: 14 })
|
|
5858
5894
|
}
|
|
5859
5895
|
)
|
|
5860
5896
|
] });
|
|
@@ -5906,7 +5942,7 @@ function za({ variant: t, isOpen: e = !1, onAcknowledge: n }) {
|
|
|
5906
5942
|
)
|
|
5907
5943
|
] });
|
|
5908
5944
|
}
|
|
5909
|
-
function
|
|
5945
|
+
function uf({
|
|
5910
5946
|
sessionId: t,
|
|
5911
5947
|
visitorId: e,
|
|
5912
5948
|
isLoading: n,
|
|
@@ -5941,19 +5977,19 @@ function sf({
|
|
|
5941
5977
|
!b || d || await h(b);
|
|
5942
5978
|
}
|
|
5943
5979
|
return /* @__PURE__ */ s("div", { class: "jex-chat-input", children: [
|
|
5944
|
-
/* @__PURE__ */ s(
|
|
5945
|
-
/* @__PURE__ */ s(
|
|
5980
|
+
/* @__PURE__ */ s(Zh, {}),
|
|
5981
|
+
/* @__PURE__ */ s(Jh, {}),
|
|
5946
5982
|
u === "chip" && /* @__PURE__ */ s(za, { variant: "chip" }),
|
|
5947
|
-
/* @__PURE__ */ s(
|
|
5983
|
+
/* @__PURE__ */ s(cf, {}),
|
|
5948
5984
|
/* @__PURE__ */ s("div", { class: `jex-chat-input-composer-gate${p ? " jex-chat-input-composer-gate-open" : ""}`, children: [
|
|
5949
5985
|
/* @__PURE__ */ s(
|
|
5950
|
-
|
|
5986
|
+
tf,
|
|
5951
5987
|
{
|
|
5952
5988
|
isStreaming: r,
|
|
5953
5989
|
disabled: d,
|
|
5954
5990
|
inputDisabled: n || r || p,
|
|
5955
5991
|
onSend: k,
|
|
5956
|
-
onFocus:
|
|
5992
|
+
onFocus: Al
|
|
5957
5993
|
}
|
|
5958
5994
|
),
|
|
5959
5995
|
u === "explicit" && /* @__PURE__ */ s(
|
|
@@ -5974,7 +6010,7 @@ var Yt = bo();
|
|
|
5974
6010
|
function Ml(t) {
|
|
5975
6011
|
Yt = t;
|
|
5976
6012
|
}
|
|
5977
|
-
var
|
|
6013
|
+
var Ut = { exec: () => null };
|
|
5978
6014
|
function an(t) {
|
|
5979
6015
|
let e = [];
|
|
5980
6016
|
return (n) => {
|
|
@@ -5982,25 +6018,25 @@ function an(t) {
|
|
|
5982
6018
|
return i || (i = t(r), e[r] = i), i;
|
|
5983
6019
|
};
|
|
5984
6020
|
}
|
|
5985
|
-
function
|
|
6021
|
+
function B(t, e = "") {
|
|
5986
6022
|
let n = typeof t == "string" ? t : t.source, r = { replace: (i, o) => {
|
|
5987
6023
|
let a = typeof o == "string" ? o : o.source;
|
|
5988
6024
|
return a = a.replace(Te.caret, "$1"), n = n.replace(i, a), r;
|
|
5989
6025
|
}, getRegex: () => new RegExp(n, e) };
|
|
5990
6026
|
return r;
|
|
5991
6027
|
}
|
|
5992
|
-
var
|
|
6028
|
+
var df = ((t = "") => {
|
|
5993
6029
|
try {
|
|
5994
6030
|
return !!new RegExp("(?<=1)(?<!1)" + t);
|
|
5995
6031
|
} catch {
|
|
5996
6032
|
return !1;
|
|
5997
6033
|
}
|
|
5998
|
-
})(), Te = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] +\S/, listReplaceTask: /^\[[ xX]\] +/, listTaskCheckbox: /\[[ xX]\]/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (t) => new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: an((t) => new RegExp(`^ {0,${t}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)), hrRegex: an((t) => new RegExp(`^ {0,${t}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)), fencesBeginRegex: an((t) => new RegExp(`^ {0,${t}}(?:\`\`\`|~~~)`)), headingBeginRegex: an((t) => new RegExp(`^ {0,${t}}#`)), htmlBeginRegex: an((t) => new RegExp(`^ {0,${t}}<(?:[a-z].*>|!--)`, "i")), blockquoteBeginRegex: an((t) => new RegExp(`^ {0,${t}}>`)) },
|
|
5999
|
-
]`).replace("lheading", Ll).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() },
|
|
6034
|
+
})(), Te = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] +\S/, listReplaceTask: /^\[[ xX]\] +/, listTaskCheckbox: /\[[ xX]\]/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (t) => new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: an((t) => new RegExp(`^ {0,${t}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)), hrRegex: an((t) => new RegExp(`^ {0,${t}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)), fencesBeginRegex: an((t) => new RegExp(`^ {0,${t}}(?:\`\`\`|~~~)`)), headingBeginRegex: an((t) => new RegExp(`^ {0,${t}}#`)), htmlBeginRegex: an((t) => new RegExp(`^ {0,${t}}<(?:[a-z].*>|!--)`, "i")), blockquoteBeginRegex: an((t) => new RegExp(`^ {0,${t}}>`)) }, hf = /^(?:[ \t]*(?:\n|$))+/, ff = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, pf = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, ur = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, mf = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, yo = / {0,3}(?:[*+-]|\d{1,9}[.)])/, Ol = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, Ll = B(Ol).replace(/bull/g, yo).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), gf = B(Ol).replace(/bull/g, yo).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), vo = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, xf = /^[^\n]+/, wo = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, bf = B(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", wo).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), yf = B(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g, yo).getRegex(), ei = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", ko = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, vf = B("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", ko).replace("tag", ei).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), $l = B(vo).replace("hr", ur).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", ei).getRegex(), wf = B(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", $l).getRegex(), _o = { blockquote: wf, code: ff, def: bf, fences: pf, heading: mf, hr: ur, html: vf, lheading: Ll, list: yf, newline: hf, paragraph: $l, table: Ut, text: xf }, Ba = B("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", ur).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", ei).getRegex(), kf = { ..._o, lheading: gf, table: Ba, paragraph: B(vo).replace("hr", ur).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Ba).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", ei).getRegex() }, _f = { ..._o, html: B(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", ko).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: Ut, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: B(vo).replace("hr", ur).replace("heading", ` *#{1,6} *[^
|
|
6035
|
+
]`).replace("lheading", Ll).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }, jf = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Sf = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Dl = /^( {2,}|\\)\n(?!\s*$)/, Tf = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, jn = /[\p{P}\p{S}]/u, ti = /[\s\p{P}\p{S}]/u, jo = /[^\s\p{P}\p{S}]/u, Cf = B(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, ti).getRegex(), ql = /(?!~)[\p{P}\p{S}]/u, Af = /(?!~)[\s\p{P}\p{S}]/u, Rf = /(?:[^\s\p{P}\p{S}]|~)/u, Ef = B(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", df ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), zl = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, If = B(zl, "u").replace(/punct/g, jn).getRegex(), Pf = B(zl, "u").replace(/punct/g, ql).getRegex(), Bl = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", Nf = B(Bl, "gu").replace(/notPunctSpace/g, jo).replace(/punctSpace/g, ti).replace(/punct/g, jn).getRegex(), Mf = B(Bl, "gu").replace(/notPunctSpace/g, Rf).replace(/punctSpace/g, Af).replace(/punct/g, ql).getRegex(), Of = B("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, jo).replace(/punctSpace/g, ti).replace(/punct/g, jn).getRegex(), Lf = B(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, jn).getRegex(), $f = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", Df = B($f, "gu").replace(/notPunctSpace/g, jo).replace(/punctSpace/g, ti).replace(/punct/g, jn).getRegex(), qf = B(/\\(punct)/, "gu").replace(/punct/g, jn).getRegex(), zf = B(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Bf = B(ko).replace("(?:-->|$)", "-->").getRegex(), Ff = B("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", Bf).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Hr = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, Uf = B(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", Hr).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), Fl = B(/^!?\[(label)\]\[(ref)\]/).replace("label", Hr).replace("ref", wo).getRegex(), Ul = B(/^!?\[(ref)\](?:\[\])?/).replace("ref", wo).getRegex(), Vf = B("reflink|nolink(?!\\()", "g").replace("reflink", Fl).replace("nolink", Ul).getRegex(), Fa = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, So = { _backpedal: Ut, anyPunctuation: qf, autolink: zf, blockSkip: Ef, br: Dl, code: Sf, del: Ut, delLDelim: Ut, delRDelim: Ut, emStrongLDelim: If, emStrongRDelimAst: Nf, emStrongRDelimUnd: Of, escape: jf, link: Uf, nolink: Ul, punctuation: Cf, reflink: Fl, reflinkSearch: Vf, tag: Ff, text: Tf, url: Ut }, Hf = { ...So, link: B(/^!?\[(label)\]\((.*?)\)/).replace("label", Hr).getRegex(), reflink: B(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Hr).getRegex() }, Gi = { ...So, emStrongRDelimAst: Mf, emStrongLDelim: Pf, delLDelim: Lf, delRDelim: Df, url: B(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", Fa).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: B(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", Fa).getRegex() }, Wf = { ...Gi, br: B(Dl).replace("{2,}", "*").getRegex(), text: B(Gi.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }, _r = { normal: _o, gfm: kf, pedantic: _f }, In = { normal: So, gfm: Gi, breaks: Wf, pedantic: Hf }, Qf = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, Ua = (t) => Qf[t];
|
|
6000
6036
|
function ut(t, e) {
|
|
6001
6037
|
if (e) {
|
|
6002
|
-
if (Te.escapeTest.test(t)) return t.replace(Te.escapeReplace,
|
|
6003
|
-
} else if (Te.escapeTestNoEncode.test(t)) return t.replace(Te.escapeReplaceNoEncode,
|
|
6038
|
+
if (Te.escapeTest.test(t)) return t.replace(Te.escapeReplace, Ua);
|
|
6039
|
+
} else if (Te.escapeTestNoEncode.test(t)) return t.replace(Te.escapeReplaceNoEncode, Ua);
|
|
6004
6040
|
return t;
|
|
6005
6041
|
}
|
|
6006
6042
|
function Va(t) {
|
|
@@ -6037,7 +6073,7 @@ function Wa(t) {
|
|
|
6037
6073
|
return e.length - n <= 2 ? t : e.slice(0, n + 1).join(`
|
|
6038
6074
|
`);
|
|
6039
6075
|
}
|
|
6040
|
-
function
|
|
6076
|
+
function Gf(t, e) {
|
|
6041
6077
|
if (t.indexOf(e[1]) === -1) return -1;
|
|
6042
6078
|
let n = 0;
|
|
6043
6079
|
for (let r = 0; r < t.length; r++) if (t[r] === "\\") r++;
|
|
@@ -6045,7 +6081,7 @@ function Hf(t, e) {
|
|
|
6045
6081
|
else if (t[r] === e[1] && (n--, n < 0)) return r;
|
|
6046
6082
|
return n > 0 ? -2 : -1;
|
|
6047
6083
|
}
|
|
6048
|
-
function
|
|
6084
|
+
function Kf(t, e = 0) {
|
|
6049
6085
|
let n = e, r = "";
|
|
6050
6086
|
for (let i of t) if (i === " ") {
|
|
6051
6087
|
let o = 4 - n % 4;
|
|
@@ -6059,7 +6095,7 @@ function Qa(t, e, n, r, i) {
|
|
|
6059
6095
|
let c = { type: t[0].charAt(0) === "!" ? "image" : "link", raw: n, href: o, title: a, text: l, tokens: r.inlineTokens(l) };
|
|
6060
6096
|
return r.state.inLink = !1, c;
|
|
6061
6097
|
}
|
|
6062
|
-
function
|
|
6098
|
+
function Yf(t, e, n) {
|
|
6063
6099
|
let r = t.match(n.other.indentCodeCompensation);
|
|
6064
6100
|
if (r === null) return e;
|
|
6065
6101
|
let i = r[1];
|
|
@@ -6093,7 +6129,7 @@ var Wr = class {
|
|
|
6093
6129
|
fences(t) {
|
|
6094
6130
|
let e = this.rules.block.fences.exec(t);
|
|
6095
6131
|
if (e) {
|
|
6096
|
-
let n = e[0], r =
|
|
6132
|
+
let n = e[0], r = Yf(n, e[3] || "", this.rules);
|
|
6097
6133
|
return { type: "code", raw: n, lang: e[2] ? e[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : e[2], text: r };
|
|
6098
6134
|
}
|
|
6099
6135
|
}
|
|
@@ -6164,7 +6200,7 @@ ${h}` : h;
|
|
|
6164
6200
|
let c = !1, u = "", h = "";
|
|
6165
6201
|
if (!(e = o.exec(t)) || this.rules.block.hr.test(t)) break;
|
|
6166
6202
|
u = e[0], t = t.substring(u.length);
|
|
6167
|
-
let m =
|
|
6203
|
+
let m = Kf(e[2].split(`
|
|
6168
6204
|
`, 1)[0], e[1].length), d = t.split(`
|
|
6169
6205
|
`, 1)[0], p = !m.trim(), x = 0;
|
|
6170
6206
|
if (this.options.pedantic ? (x = 2, h = m.trimStart()) : p ? x = e[1].length + 1 : (x = m.search(this.rules.other.nonSpaceChar), x = x > 4 ? 1 : x, h = m.slice(x), x += e[1].length), p && this.rules.other.blankLine.test(d) && (u += d + `
|
|
@@ -6283,7 +6319,7 @@ ${h}` : h;
|
|
|
6283
6319
|
let o = Et(n.slice(0, -1), "\\");
|
|
6284
6320
|
if ((n.length - o.length) % 2 === 0) return;
|
|
6285
6321
|
} else {
|
|
6286
|
-
let o =
|
|
6322
|
+
let o = Gf(e[2], "()");
|
|
6287
6323
|
if (o === -2) return;
|
|
6288
6324
|
if (o > -1) {
|
|
6289
6325
|
let a = (e[0].indexOf("!") === 0 ? 5 : 4) + e[1].length + o;
|
|
@@ -6935,7 +6971,7 @@ ${t}</tr>
|
|
|
6935
6971
|
provideParser(t = this.block) {
|
|
6936
6972
|
return t ? tt.parse : tt.parseInline;
|
|
6937
6973
|
}
|
|
6938
|
-
},
|
|
6974
|
+
}, Zf = class {
|
|
6939
6975
|
defaults = bo();
|
|
6940
6976
|
options = this.setOptions;
|
|
6941
6977
|
parse = this.parseMarkdown(!0);
|
|
@@ -7095,7 +7131,7 @@ Please report this to https://github.com/markedjs/marked.`, t) {
|
|
|
7095
7131
|
throw n;
|
|
7096
7132
|
};
|
|
7097
7133
|
}
|
|
7098
|
-
}, Qt = new
|
|
7134
|
+
}, Qt = new Zf();
|
|
7099
7135
|
function G(t, e) {
|
|
7100
7136
|
return Qt.parse(t, e);
|
|
7101
7137
|
}
|
|
@@ -7132,10 +7168,10 @@ function Ga(t, e) {
|
|
|
7132
7168
|
for (var n = 0, r = Array(e); n < e; n++) r[n] = t[n];
|
|
7133
7169
|
return r;
|
|
7134
7170
|
}
|
|
7135
|
-
function
|
|
7171
|
+
function Jf(t) {
|
|
7136
7172
|
if (Array.isArray(t)) return t;
|
|
7137
7173
|
}
|
|
7138
|
-
function
|
|
7174
|
+
function Xf(t, e) {
|
|
7139
7175
|
var n = t == null ? null : typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
|
|
7140
7176
|
if (n != null) {
|
|
7141
7177
|
var r, i, o, a, l = [], c = !0, u = !1;
|
|
@@ -7153,21 +7189,21 @@ function Yf(t, e) {
|
|
|
7153
7189
|
return l;
|
|
7154
7190
|
}
|
|
7155
7191
|
}
|
|
7156
|
-
function
|
|
7192
|
+
function ep() {
|
|
7157
7193
|
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
7158
7194
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
7159
7195
|
}
|
|
7160
|
-
function
|
|
7161
|
-
return
|
|
7196
|
+
function tp(t, e) {
|
|
7197
|
+
return Jf(t) || Xf(t, e) || np(t, e) || ep();
|
|
7162
7198
|
}
|
|
7163
|
-
function
|
|
7199
|
+
function np(t, e) {
|
|
7164
7200
|
if (t) {
|
|
7165
7201
|
if (typeof t == "string") return Ga(t, e);
|
|
7166
7202
|
var n = {}.toString.call(t).slice(8, -1);
|
|
7167
7203
|
return n === "Object" && t.constructor && (n = t.constructor.name), n === "Map" || n === "Set" ? Array.from(t) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ga(t, e) : void 0;
|
|
7168
7204
|
}
|
|
7169
7205
|
}
|
|
7170
|
-
const Vl = Object.entries, Ka = Object.setPrototypeOf,
|
|
7206
|
+
const Vl = Object.entries, Ka = Object.setPrototypeOf, rp = Object.isFrozen, ip = Object.getPrototypeOf, op = Object.getOwnPropertyDescriptor;
|
|
7171
7207
|
let _e = Object.freeze, je = Object.seal, dn = Object.create, Hl = typeof Reflect < "u" && Reflect, Zi = Hl.apply, Ji = Hl.construct;
|
|
7172
7208
|
_e || (_e = function(e) {
|
|
7173
7209
|
return e;
|
|
@@ -7185,7 +7221,7 @@ Ji || (Ji = function(e) {
|
|
|
7185
7221
|
r[i - 1] = arguments[i];
|
|
7186
7222
|
return new e(...r);
|
|
7187
7223
|
});
|
|
7188
|
-
const Pn = xe(Array.prototype.forEach),
|
|
7224
|
+
const Pn = xe(Array.prototype.forEach), ap = xe(Array.prototype.lastIndexOf), Ya = xe(Array.prototype.pop), sn = xe(Array.prototype.push), sp = xe(Array.prototype.splice), Mt = Array.isArray, zn = xe(String.prototype.toLowerCase), ki = xe(String.prototype.toString), Za = xe(String.prototype.match), Nn = xe(String.prototype.replace), Ja = xe(String.prototype.indexOf), lp = xe(String.prototype.trim), cp = xe(Number.prototype.toString), up = xe(Boolean.prototype.toString), Xa = typeof BigInt > "u" ? null : xe(BigInt.prototype.toString), es = typeof Symbol > "u" ? null : xe(Symbol.prototype.toString), ve = xe(Object.prototype.hasOwnProperty), Mn = xe(Object.prototype.toString), ke = xe(RegExp.prototype.test), Ft = dp(TypeError);
|
|
7189
7225
|
function xe(t) {
|
|
7190
7226
|
return function(e) {
|
|
7191
7227
|
e instanceof RegExp && (e.lastIndex = 0);
|
|
@@ -7194,7 +7230,7 @@ function xe(t) {
|
|
|
7194
7230
|
return Zi(t, e, r);
|
|
7195
7231
|
};
|
|
7196
7232
|
}
|
|
7197
|
-
function
|
|
7233
|
+
function dp(t) {
|
|
7198
7234
|
return function() {
|
|
7199
7235
|
for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++)
|
|
7200
7236
|
n[r] = arguments[r];
|
|
@@ -7210,13 +7246,13 @@ function q(t, e) {
|
|
|
7210
7246
|
let i = e[r];
|
|
7211
7247
|
if (typeof i == "string") {
|
|
7212
7248
|
const o = n(i);
|
|
7213
|
-
o !== i && (
|
|
7249
|
+
o !== i && (rp(e) || (e[r] = o), i = o);
|
|
7214
7250
|
}
|
|
7215
7251
|
t[i] = !0;
|
|
7216
7252
|
}
|
|
7217
7253
|
return t;
|
|
7218
7254
|
}
|
|
7219
|
-
function
|
|
7255
|
+
function hp(t) {
|
|
7220
7256
|
for (let e = 0; e < t.length; e++)
|
|
7221
7257
|
ve(t, e) || (t[e] = null);
|
|
7222
7258
|
return t;
|
|
@@ -7224,20 +7260,20 @@ function cp(t) {
|
|
|
7224
7260
|
function Ie(t) {
|
|
7225
7261
|
const e = dn(null);
|
|
7226
7262
|
for (const r of Vl(t)) {
|
|
7227
|
-
var n =
|
|
7263
|
+
var n = tp(r, 2);
|
|
7228
7264
|
const i = n[0], o = n[1];
|
|
7229
|
-
ve(t, i) && (Mt(o) ? e[i] =
|
|
7265
|
+
ve(t, i) && (Mt(o) ? e[i] = hp(o) : o && typeof o == "object" && o.constructor === Object ? e[i] = Ie(o) : e[i] = o);
|
|
7230
7266
|
}
|
|
7231
7267
|
return e;
|
|
7232
7268
|
}
|
|
7233
|
-
function
|
|
7269
|
+
function fp(t) {
|
|
7234
7270
|
switch (typeof t) {
|
|
7235
7271
|
case "string":
|
|
7236
7272
|
return t;
|
|
7237
7273
|
case "number":
|
|
7238
|
-
return
|
|
7274
|
+
return cp(t);
|
|
7239
7275
|
case "boolean":
|
|
7240
|
-
return
|
|
7276
|
+
return up(t);
|
|
7241
7277
|
case "bigint":
|
|
7242
7278
|
return Xa ? Xa(t) : "0";
|
|
7243
7279
|
case "symbol":
|
|
@@ -7261,34 +7297,34 @@ function up(t) {
|
|
|
7261
7297
|
}
|
|
7262
7298
|
function dt(t, e) {
|
|
7263
7299
|
for (; t !== null; ) {
|
|
7264
|
-
const r =
|
|
7300
|
+
const r = op(t, e);
|
|
7265
7301
|
if (r) {
|
|
7266
7302
|
if (r.get)
|
|
7267
7303
|
return xe(r.get);
|
|
7268
7304
|
if (typeof r.value == "function")
|
|
7269
7305
|
return xe(r.value);
|
|
7270
7306
|
}
|
|
7271
|
-
t =
|
|
7307
|
+
t = ip(t);
|
|
7272
7308
|
}
|
|
7273
7309
|
function n() {
|
|
7274
7310
|
return null;
|
|
7275
7311
|
}
|
|
7276
7312
|
return n;
|
|
7277
7313
|
}
|
|
7278
|
-
function
|
|
7314
|
+
function pp(t) {
|
|
7279
7315
|
try {
|
|
7280
7316
|
return ke(t, ""), !0;
|
|
7281
7317
|
} catch {
|
|
7282
7318
|
return !1;
|
|
7283
7319
|
}
|
|
7284
7320
|
}
|
|
7285
|
-
const ts = _e(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "search", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), _i = _e(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "enterkeyhint", "exportparts", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "inputmode", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "part", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), ji = _e(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]),
|
|
7321
|
+
const ts = _e(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "search", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), _i = _e(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "enterkeyhint", "exportparts", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "inputmode", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "part", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), ji = _e(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), mp = _e(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), Si = _e(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]), gp = _e(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), ns = _e(["#text"]), rs = _e(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "command", "commandfor", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "exportparts", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inert", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "part", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "slot", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns"]), Ti = _e(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "mask-type", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), is = _e(["accent", "accentunder", "align", "bevelled", "close", "columnalign", "columnlines", "columnspacing", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lquote", "lspace", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), jr = _e(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), xp = je(/{{[\w\W]*|^[\w\W]*}}/g), bp = je(/<%[\w\W]*|^[\w\W]*%>/g), yp = je(/\${[\w\W]*/g), vp = je(/^data-[\-\w.\u00B7-\uFFFF]+$/), wp = je(/^aria-[\-\w]+$/), os = je(
|
|
7286
7322
|
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
|
|
7287
7323
|
// eslint-disable-line no-useless-escape
|
|
7288
|
-
),
|
|
7324
|
+
), kp = je(/^(?:\w+script|data):/i), _p = je(
|
|
7289
7325
|
/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
|
|
7290
7326
|
// eslint-disable-line no-control-regex
|
|
7291
|
-
),
|
|
7327
|
+
), jp = je(/^html$/i), Sp = je(/^[a-z][.\w]*(-[.\w]+)+$/i), as = je(/<[/\w!]/g), Tp = je(/<[/\w]/g), Cp = je(/<\/no(script|embed|frames)/i), Ap = je(/\/>/i), ct = {
|
|
7292
7328
|
element: 1,
|
|
7293
7329
|
attribute: 2,
|
|
7294
7330
|
text: 3,
|
|
@@ -7304,9 +7340,9 @@ const ts = _e(["a", "abbr", "acronym", "address", "area", "article", "aside", "a
|
|
|
7304
7340
|
documentFragment: 11,
|
|
7305
7341
|
notation: 12
|
|
7306
7342
|
// Deprecated
|
|
7307
|
-
},
|
|
7343
|
+
}, Rp = function() {
|
|
7308
7344
|
return typeof window > "u" ? null : window;
|
|
7309
|
-
},
|
|
7345
|
+
}, Ep = function(e, n) {
|
|
7310
7346
|
if (typeof e != "object" || typeof e.createPolicy != "function")
|
|
7311
7347
|
return null;
|
|
7312
7348
|
let r = null;
|
|
@@ -7341,7 +7377,7 @@ const ts = _e(["a", "abbr", "acronym", "address", "area", "article", "aside", "a
|
|
|
7341
7377
|
return ve(e, n) && Mt(e[n]) ? q(i.base ? Ie(i.base) : {}, e[n], i.transform) : r;
|
|
7342
7378
|
};
|
|
7343
7379
|
function Wl() {
|
|
7344
|
-
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] :
|
|
7380
|
+
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Rp();
|
|
7345
7381
|
const e = (j) => Wl(j);
|
|
7346
7382
|
if (e.version = "3.4.11", e.removed = [], !t || !t.document || t.document.nodeType !== ct.document || !t.Element)
|
|
7347
7383
|
return e.isSupported = !1, e;
|
|
@@ -7374,11 +7410,11 @@ function Wl() {
|
|
|
7374
7410
|
F--;
|
|
7375
7411
|
}
|
|
7376
7412
|
}, se = function() {
|
|
7377
|
-
return de || (W =
|
|
7413
|
+
return de || (W = Ep(m, i), de = !0), W;
|
|
7378
7414
|
}, it = n, Ye = it.implementation, ot = it.createNodeIterator, Ct = it.createDocumentFragment, bt = it.getElementsByTagName, Dt = r.importNode;
|
|
7379
7415
|
let Z = ss();
|
|
7380
7416
|
e.isSupported = typeof Vl == "function" && typeof v == "function" && Ye && Ye.createHTMLDocument !== void 0;
|
|
7381
|
-
const Fe =
|
|
7417
|
+
const Fe = xp, ie = bp, D = yp, Ne = vp, Ze = wp, qt = kp, be = _p, Ue = Sp;
|
|
7382
7418
|
let we = os, K = null;
|
|
7383
7419
|
const T = q({}, [...ts, ..._i, ...ji, ...Si, ...ns]);
|
|
7384
7420
|
let C = null;
|
|
@@ -7417,7 +7453,7 @@ function Wl() {
|
|
|
7417
7453
|
value: null
|
|
7418
7454
|
}
|
|
7419
7455
|
}));
|
|
7420
|
-
let
|
|
7456
|
+
let De = !0, Zt = !0, dr = !1, hr = !0, at = !1, zt = !0, vt = !1, Sn = !1, Tn = null, Cn = null, Jt = !1, At = !1, Xt = !1, en = !1, U = !0, $ = !1;
|
|
7421
7457
|
const le = "user-content-";
|
|
7422
7458
|
let Je = !0, ue = !1, Me = {}, He = null;
|
|
7423
7459
|
const An = q({}, [
|
|
@@ -7495,7 +7531,7 @@ function Wl() {
|
|
|
7495
7531
|
transform: ce
|
|
7496
7532
|
}), X = It(f, "FORBID_ATTR", Ie({}), {
|
|
7497
7533
|
transform: ce
|
|
7498
|
-
}), Me = ve(f, "USE_PROFILES") ? f.USE_PROFILES && typeof f.USE_PROFILES == "object" ? Ie(f.USE_PROFILES) : f.USE_PROFILES : !1,
|
|
7534
|
+
}), Me = ve(f, "USE_PROFILES") ? f.USE_PROFILES && typeof f.USE_PROFILES == "object" ? Ie(f.USE_PROFILES) : f.USE_PROFILES : !1, De = f.ALLOW_ARIA_ATTR !== !1, Zt = f.ALLOW_DATA_ATTR !== !1, dr = f.ALLOW_UNKNOWN_PROTOCOLS || !1, hr = f.ALLOW_SELF_CLOSE_IN_ATTR !== !1, at = f.SAFE_FOR_TEMPLATES || !1, zt = f.SAFE_FOR_XML !== !1, vt = f.WHOLE_DOCUMENT || !1, At = f.RETURN_DOM || !1, Xt = f.RETURN_DOM_FRAGMENT || !1, en = f.RETURN_TRUSTED_TYPE || !1, Jt = f.FORCE_BODY || !1, U = f.SANITIZE_DOM !== !1, $ = f.SANITIZE_NAMED_PROPS || !1, Je = f.KEEP_CONTENT !== !1, ue = f.IN_PLACE || !1, we = pp(f.ALLOWED_URI_REGEXP) ? f.ALLOWED_URI_REGEXP : os, tn = typeof f.NAMESPACE == "string" ? f.NAMESPACE : st, oi = ve(f, "MATHML_TEXT_INTEGRATION_POINTS") && f.MATHML_TEXT_INTEGRATION_POINTS && typeof f.MATHML_TEXT_INTEGRATION_POINTS == "object" ? Ie(f.MATHML_TEXT_INTEGRATION_POINTS) : q({}, Po), ai = ve(f, "HTML_INTEGRATION_POINTS") && f.HTML_INTEGRATION_POINTS && typeof f.HTML_INTEGRATION_POINTS == "object" ? Ie(f.HTML_INTEGRATION_POINTS) : q({}, No);
|
|
7499
7535
|
const g = ve(f, "CUSTOM_ELEMENT_HANDLING") && f.CUSTOM_ELEMENT_HANDLING && typeof f.CUSTOM_ELEMENT_HANDLING == "object" ? Ie(f.CUSTOM_ELEMENT_HANDLING) : dn(null);
|
|
7500
7536
|
if (Q = dn(null), ve(g, "tagNameCheck") && Mo(g.tagNameCheck) && (Q.tagNameCheck = g.tagNameCheck), ve(g, "attributeNameCheck") && Mo(g.attributeNameCheck) && (Q.attributeNameCheck = g.attributeNameCheck), ve(g, "allowCustomizedBuiltInElements") && typeof g.allowCustomizedBuiltInElements == "boolean" && (Q.allowCustomizedBuiltInElements = g.allowCustomizedBuiltInElements), je(Q), at && (Zt = !1), Xt && (At = !0), Me && (K = q({}, ns), C = dn(null), Me.html === !0 && (q(K, ts), q(C, rs)), Me.svg === !0 && (q(K, _i), q(C, Ti), q(C, jr)), Me.svgFilters === !0 && (q(K, ji), q(C, Ti), q(C, jr)), Me.mathMl === !0 && (q(K, Si), q(C, is), q(C, jr))), Re.tagCheck = null, Re.attributeCheck = null, ve(f, "ADD_TAGS") && (typeof f.ADD_TAGS == "function" ? Re.tagCheck = f.ADD_TAGS : Mt(f.ADD_TAGS) && (K === T && (K = Ie(K)), q(K, f.ADD_TAGS, ce))), ve(f, "ADD_ATTR") && (typeof f.ADD_ATTR == "function" ? Re.attributeCheck = f.ADD_ATTR : Mt(f.ADD_ATTR) && (C === Ve && (C = Ie(C)), q(C, f.ADD_ATTR, ce))), ve(f, "ADD_URI_SAFE_ATTR") && Mt(f.ADD_URI_SAFE_ATTR) && q(ni, f.ADD_URI_SAFE_ATTR, ce), ve(f, "FORBID_CONTENTS") && Mt(f.FORBID_CONTENTS) && (He === An && (He = Ie(He)), q(He, f.FORBID_CONTENTS, ce)), ve(f, "ADD_FORBID_CONTENTS") && Mt(f.ADD_FORBID_CONTENTS) && (He === An && (He = Ie(He)), q(He, f.ADD_FORBID_CONTENTS, ce)), Je && (K["#text"] = !0), vt && q(K, ["html", "head", "body"]), K.table && (q(K, ["tbody"]), delete yt.tbody), f.TRUSTED_TYPES_POLICY) {
|
|
7501
7537
|
if (typeof f.TRUSTED_TYPES_POLICY.createHTML != "function")
|
|
@@ -7511,7 +7547,7 @@ function Wl() {
|
|
|
7511
7547
|
}
|
|
7512
7548
|
} else f.TRUSTED_TYPES_POLICY === null ? (N = void 0, L = "") : (N === void 0 && (N = se()), N && typeof L == "string" && (L = re("")));
|
|
7513
7549
|
_e && _e(f), nn = f;
|
|
7514
|
-
}, Oo = q({}, [..._i, ...ji, ...
|
|
7550
|
+
}, Oo = q({}, [..._i, ...ji, ...mp]), Lo = q({}, [...Si, ...gp]), gc = function(f, g, _) {
|
|
7515
7551
|
return g.namespaceURI === st ? f === "svg" : g.namespaceURI === fr ? f === "svg" && (_ === "annotation-xml" || oi[_]) : !!Oo[f];
|
|
7516
7552
|
}, xc = function(f, g, _) {
|
|
7517
7553
|
return g.namespaceURI === st ? f === "math" : g.namespaceURI === pr ? f === "math" && ai[_] : !!Lo[f];
|
|
@@ -7558,7 +7594,7 @@ function Wl() {
|
|
|
7558
7594
|
} catch {
|
|
7559
7595
|
}
|
|
7560
7596
|
}
|
|
7561
|
-
},
|
|
7597
|
+
}, Bt = function(f, g) {
|
|
7562
7598
|
try {
|
|
7563
7599
|
sn(e.removed, {
|
|
7564
7600
|
attribute: g.getAttributeNode(f),
|
|
@@ -7702,7 +7738,7 @@ function Wl() {
|
|
|
7702
7738
|
});
|
|
7703
7739
|
}
|
|
7704
7740
|
const kc = function(f, g) {
|
|
7705
|
-
return !!(zt && f.hasChildNodes() && !En(f.firstElementChild) && ke(as, f.textContent) && ke(as, f.innerHTML) || zt && f.namespaceURI === st && g === "style" && En(f.firstElementChild) || f.nodeType === ct.processingInstruction || zt && f.nodeType === ct.comment && ke(
|
|
7741
|
+
return !!(zt && f.hasChildNodes() && !En(f.firstElementChild) && ke(as, f.textContent) && ke(as, f.innerHTML) || zt && f.namespaceURI === st && g === "style" && En(f.firstElementChild) || f.nodeType === ct.processingInstruction || zt && f.nodeType === ct.comment && ke(Tp, f.data));
|
|
7706
7742
|
}, _c = function(f, g) {
|
|
7707
7743
|
if (!yt[g] && Fo(g) && (Q.tagNameCheck instanceof RegExp && ke(Q.tagNameCheck, g) || Q.tagNameCheck instanceof Function && Q.tagNameCheck(g)))
|
|
7708
7744
|
return !1;
|
|
@@ -7728,7 +7764,7 @@ function Wl() {
|
|
|
7728
7764
|
return Rt(f), !0;
|
|
7729
7765
|
if (yt[g] || !(Re.tagCheck instanceof Function && Re.tagCheck(g)) && !K[g])
|
|
7730
7766
|
return _c(f, g);
|
|
7731
|
-
if ((y ? y(f) : f.nodeType) === ct.element && !yc(f) || (g === "noscript" || g === "noembed" || g === "noframes") && ke(
|
|
7767
|
+
if ((y ? y(f) : f.nodeType) === ct.element && !yc(f) || (g === "noscript" || g === "noembed" || g === "noframes") && ke(Cp, f.innerHTML))
|
|
7732
7768
|
return Rt(f), !0;
|
|
7733
7769
|
if (at && f.nodeType === ct.text) {
|
|
7734
7770
|
const A = mr(f.textContent);
|
|
@@ -7737,12 +7773,12 @@ function Wl() {
|
|
|
7737
7773
|
}), f.textContent = A);
|
|
7738
7774
|
}
|
|
7739
7775
|
return wt(Z.afterSanitizeElements, f, null), !1;
|
|
7740
|
-
},
|
|
7741
|
-
if (X[g] ||
|
|
7776
|
+
}, Bo = function(f, g, _) {
|
|
7777
|
+
if (X[g] || U && (g === "id" || g === "name") && (_ in n || _ in mc))
|
|
7742
7778
|
return !1;
|
|
7743
7779
|
const A = C[g] || Re.attributeCheck instanceof Function && Re.attributeCheck(g, f);
|
|
7744
7780
|
if (!(Zt && ke(Ne, g))) {
|
|
7745
|
-
if (!(
|
|
7781
|
+
if (!(De && ke(Ze, g))) {
|
|
7746
7782
|
if (A) {
|
|
7747
7783
|
if (!ni[g]) {
|
|
7748
7784
|
if (!ke(we, Nn(_, be, ""))) {
|
|
@@ -7766,7 +7802,7 @@ function Wl() {
|
|
|
7766
7802
|
}
|
|
7767
7803
|
return !0;
|
|
7768
7804
|
}, jc = q({}, ["annotation-xml", "color-profile", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "missing-glyph"]), Fo = function(f) {
|
|
7769
|
-
return !jc[zn(f)] && ke(
|
|
7805
|
+
return !jc[zn(f)] && ke(Ue, f);
|
|
7770
7806
|
}, Sc = function(f, g, _, A) {
|
|
7771
7807
|
if (N && typeof m == "object" && typeof m.getAttributeType == "function" && !_)
|
|
7772
7808
|
switch (m.getAttributeType(f, g)) {
|
|
@@ -7780,9 +7816,9 @@ function Wl() {
|
|
|
7780
7816
|
try {
|
|
7781
7817
|
_ ? f.setAttributeNS(_, g, A) : f.setAttribute(g, A), gr(f) ? Rt(f) : Ya(e.removed);
|
|
7782
7818
|
} catch {
|
|
7783
|
-
|
|
7819
|
+
Bt(g, f);
|
|
7784
7820
|
}
|
|
7785
|
-
},
|
|
7821
|
+
}, Uo = function(f) {
|
|
7786
7822
|
wt(Z.beforeSanitizeAttributes, f, null);
|
|
7787
7823
|
const g = f.attributes;
|
|
7788
7824
|
if (!g || gr(f))
|
|
@@ -7798,26 +7834,26 @@ function Wl() {
|
|
|
7798
7834
|
const M = ce(f.nodeName);
|
|
7799
7835
|
for (; A--; ) {
|
|
7800
7836
|
const V = g[A], ye = V.name, he = V.namespaceURI, We = V.value, Xe = ce(ye), ui = We;
|
|
7801
|
-
let Ee = ye === "value" ? ui :
|
|
7802
|
-
if (_.attrName = Xe, _.attrValue = Ee, _.keepAttr = !0, _.forceKeepAttr = void 0, wt(Z.uponSanitizeAttribute, f, _), Ee = _.attrValue, $ && (Xe === "id" || Xe === "name") && Ja(Ee, le) !== 0 && (
|
|
7803
|
-
|
|
7837
|
+
let Ee = ye === "value" ? ui : lp(ui);
|
|
7838
|
+
if (_.attrName = Xe, _.attrValue = Ee, _.keepAttr = !0, _.forceKeepAttr = void 0, wt(Z.uponSanitizeAttribute, f, _), Ee = _.attrValue, $ && (Xe === "id" || Xe === "name") && Ja(Ee, le) !== 0 && (Bt(ye, f), Ee = le + Ee), zt && ke(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, Ee)) {
|
|
7839
|
+
Bt(ye, f);
|
|
7804
7840
|
continue;
|
|
7805
7841
|
}
|
|
7806
7842
|
if (Xe === "attributename" && Za(Ee, "href")) {
|
|
7807
|
-
|
|
7843
|
+
Bt(ye, f);
|
|
7808
7844
|
continue;
|
|
7809
7845
|
}
|
|
7810
7846
|
if (!_.forceKeepAttr) {
|
|
7811
7847
|
if (!_.keepAttr) {
|
|
7812
|
-
|
|
7848
|
+
Bt(ye, f);
|
|
7813
7849
|
continue;
|
|
7814
7850
|
}
|
|
7815
|
-
if (!hr && ke(
|
|
7816
|
-
|
|
7851
|
+
if (!hr && ke(Ap, Ee)) {
|
|
7852
|
+
Bt(ye, f);
|
|
7817
7853
|
continue;
|
|
7818
7854
|
}
|
|
7819
|
-
if (at && (Ee = mr(Ee)), !
|
|
7820
|
-
|
|
7855
|
+
if (at && (Ee = mr(Ee)), !Bo(M, Xe, Ee)) {
|
|
7856
|
+
Bt(ye, f);
|
|
7821
7857
|
continue;
|
|
7822
7858
|
}
|
|
7823
7859
|
Ee = Sc(M, Xe, he, Ee), Ee !== ui && Tc(f, ye, he, Ee);
|
|
@@ -7828,7 +7864,7 @@ function Wl() {
|
|
|
7828
7864
|
let g = null;
|
|
7829
7865
|
const _ = qo(f);
|
|
7830
7866
|
for (wt(Z.beforeSanitizeShadowDOM, f, null); g = _.nextNode(); )
|
|
7831
|
-
if (wt(Z.uponSanitizeShadowNode, g, null), zo(g),
|
|
7867
|
+
if (wt(Z.uponSanitizeShadowNode, g, null), zo(g), Uo(g), rn(g.content) && xr(g.content), (y ? y(g) : g.nodeType) === ct.element) {
|
|
7832
7868
|
const M = w(g);
|
|
7833
7869
|
rn(M) && (ci(M), xr(M));
|
|
7834
7870
|
}
|
|
@@ -7875,7 +7911,7 @@ function Wl() {
|
|
|
7875
7911
|
};
|
|
7876
7912
|
return e.sanitize = function(j) {
|
|
7877
7913
|
let f = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, g = null, _ = null, A = null, M = null;
|
|
7878
|
-
if (ri = !j, ri && (j = "<!-->"), typeof j != "string" && !En(j) && (j =
|
|
7914
|
+
if (ri = !j, ri && (j = "<!-->"), typeof j != "string" && !En(j) && (j = fp(j), typeof j != "string"))
|
|
7879
7915
|
throw Ft("dirty is not a string, aborting");
|
|
7880
7916
|
if (!e.isSupported)
|
|
7881
7917
|
return j;
|
|
@@ -7908,7 +7944,7 @@ function Wl() {
|
|
|
7908
7944
|
const ye = qo(V ? j : g);
|
|
7909
7945
|
try {
|
|
7910
7946
|
for (; A = ye.nextNode(); )
|
|
7911
|
-
zo(A),
|
|
7947
|
+
zo(A), Uo(A), rn(A.content) && xr(A.content);
|
|
7912
7948
|
} catch (We) {
|
|
7913
7949
|
throw V && $o(j), We;
|
|
7914
7950
|
}
|
|
@@ -7925,7 +7961,7 @@ function Wl() {
|
|
|
7925
7961
|
return (C.shadowroot || C.shadowrootmode) && (M = Dt.call(r, M, !0)), M;
|
|
7926
7962
|
}
|
|
7927
7963
|
let he = vt ? g.outerHTML : g.innerHTML;
|
|
7928
|
-
return vt && K["!doctype"] && g.ownerDocument && g.ownerDocument.doctype && g.ownerDocument.doctype.name && ke(
|
|
7964
|
+
return vt && K["!doctype"] && g.ownerDocument && g.ownerDocument.doctype && g.ownerDocument.doctype.name && ke(jp, g.ownerDocument.doctype.name) && (he = "<!DOCTYPE " + g.ownerDocument.doctype.name + `>
|
|
7929
7965
|
` + he), at && (he = mr(he)), N && en ? re(he) : he;
|
|
7930
7966
|
}, e.setConfig = function() {
|
|
7931
7967
|
let j = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
@@ -7935,14 +7971,14 @@ function Wl() {
|
|
|
7935
7971
|
}, e.isValidAttribute = function(j, f, g) {
|
|
7936
7972
|
nn || si({});
|
|
7937
7973
|
const _ = ce(j), A = ce(f);
|
|
7938
|
-
return
|
|
7974
|
+
return Bo(_, A, g);
|
|
7939
7975
|
}, e.addHook = function(j, f) {
|
|
7940
7976
|
typeof f == "function" && ve(Z, j) && sn(Z[j], f);
|
|
7941
7977
|
}, e.removeHook = function(j, f) {
|
|
7942
7978
|
if (ve(Z, j)) {
|
|
7943
7979
|
if (f !== void 0) {
|
|
7944
|
-
const g =
|
|
7945
|
-
return g === -1 ? void 0 :
|
|
7980
|
+
const g = ap(Z[j], f);
|
|
7981
|
+
return g === -1 ? void 0 : sp(Z[j], g, 1)[0];
|
|
7946
7982
|
}
|
|
7947
7983
|
return Ya(Z[j]);
|
|
7948
7984
|
}
|
|
@@ -7952,28 +7988,28 @@ function Wl() {
|
|
|
7952
7988
|
Z = ss();
|
|
7953
7989
|
}, e;
|
|
7954
7990
|
}
|
|
7955
|
-
var
|
|
7991
|
+
var Ip = Wl();
|
|
7956
7992
|
G.setOptions({
|
|
7957
7993
|
breaks: !0,
|
|
7958
7994
|
gfm: !0
|
|
7959
7995
|
});
|
|
7960
|
-
const Wn = typeof window < "u" ?
|
|
7996
|
+
const Wn = typeof window < "u" ? Ip : null;
|
|
7961
7997
|
Wn && typeof Wn.addHook == "function" && Wn.addHook("afterSanitizeAttributes", (t) => {
|
|
7962
7998
|
t.tagName === "A" && t.hasAttribute("href") && (t.setAttribute("target", "_blank"), t.setAttribute("rel", "noopener noreferrer"));
|
|
7963
7999
|
});
|
|
7964
|
-
function
|
|
8000
|
+
function Pp(t) {
|
|
7965
8001
|
return t.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
7966
8002
|
}
|
|
7967
|
-
function
|
|
8003
|
+
function Np(t) {
|
|
7968
8004
|
if (!t)
|
|
7969
8005
|
return "";
|
|
7970
8006
|
if (!Wn)
|
|
7971
|
-
return
|
|
8007
|
+
return Pp(t);
|
|
7972
8008
|
const e = G.parse(t), n = typeof e == "string" ? e : "";
|
|
7973
8009
|
return Wn.sanitize(n);
|
|
7974
8010
|
}
|
|
7975
|
-
function
|
|
7976
|
-
const e = ge(() =>
|
|
8011
|
+
function Mp({ text: t }) {
|
|
8012
|
+
const e = ge(() => Np(t), [t]);
|
|
7977
8013
|
return /* @__PURE__ */ s("div", { class: "jex-md", dangerouslySetInnerHTML: { __html: e } });
|
|
7978
8014
|
}
|
|
7979
8015
|
function Ql({ onQuote: t }) {
|
|
@@ -7990,10 +8026,10 @@ function Ql({ onQuote: t }) {
|
|
|
7990
8026
|
}
|
|
7991
8027
|
);
|
|
7992
8028
|
}
|
|
7993
|
-
function
|
|
8029
|
+
function Op(t, e, n) {
|
|
7994
8030
|
return t.role === "user" ? n : t.authorName ?? e ?? "";
|
|
7995
8031
|
}
|
|
7996
|
-
function
|
|
8032
|
+
function Lp({ authorLabel: t, content: e, onClick: n }) {
|
|
7997
8033
|
return /* @__PURE__ */ s("button", { type: "button", class: "jex-quoted-chip", onClick: n, children: [
|
|
7998
8034
|
/* @__PURE__ */ s(xo, { size: 11 }),
|
|
7999
8035
|
/* @__PURE__ */ s("span", { class: "jex-quoted-chip-text", children: [
|
|
@@ -8001,15 +8037,15 @@ function Np({ authorLabel: t, content: e, onClick: n }) {
|
|
|
8001
8037
|
t,
|
|
8002
8038
|
": "
|
|
8003
8039
|
] }),
|
|
8004
|
-
|
|
8040
|
+
Tl(e)
|
|
8005
8041
|
] })
|
|
8006
8042
|
] });
|
|
8007
8043
|
}
|
|
8008
8044
|
function Gl({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: r }) {
|
|
8009
8045
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-quoted-list", children: t.map((i) => /* @__PURE__ */ s(
|
|
8010
|
-
|
|
8046
|
+
Lp,
|
|
8011
8047
|
{
|
|
8012
|
-
authorLabel:
|
|
8048
|
+
authorLabel: Op(i, e, n),
|
|
8013
8049
|
content: i.content,
|
|
8014
8050
|
onClick: r ? (o) => {
|
|
8015
8051
|
r(i.id, o);
|
|
@@ -8018,7 +8054,7 @@ function Gl({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: r }) {
|
|
|
8018
8054
|
i.id
|
|
8019
8055
|
)) });
|
|
8020
8056
|
}
|
|
8021
|
-
function
|
|
8057
|
+
function $p(t) {
|
|
8022
8058
|
const e = t.trim().split(/\s+/).filter(Boolean);
|
|
8023
8059
|
return e.length === 0 ? "?" : e.map((n) => n[0]).join("").slice(0, 2).toUpperCase();
|
|
8024
8060
|
}
|
|
@@ -8029,7 +8065,7 @@ function ln({ text: t, streaming: e, error: n, authorId: r, authorName: i, autho
|
|
|
8029
8065
|
].filter(Boolean).join(" ");
|
|
8030
8066
|
return /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: [
|
|
8031
8067
|
/* @__PURE__ */ s("div", { class: "jex-message-head", children: [
|
|
8032
|
-
/* @__PURE__ */ s("div", { class: `jex-avatar ${p ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: p && o && !x ? /* @__PURE__ */ s("img", { src: o, alt: i ?? "", class: "jex-avatar-img", onError: b }) : p ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children:
|
|
8068
|
+
/* @__PURE__ */ s("div", { class: `jex-avatar ${p ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: p && o && !x ? /* @__PURE__ */ s("img", { src: o, alt: i ?? "", class: "jex-avatar-img", onError: b }) : p ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children: $p(i ?? "") }) : a && !x ? /* @__PURE__ */ s("img", { src: a, alt: "", class: "jex-avatar-img", onError: b }) : /* @__PURE__ */ s(Xr, { size: 14 }) }),
|
|
8033
8069
|
v && /* @__PURE__ */ s("span", { class: "jex-message-author", children: v })
|
|
8034
8070
|
] }),
|
|
8035
8071
|
/* @__PURE__ */ s("div", { class: w, id: u, children: [
|
|
@@ -8042,13 +8078,13 @@ function ln({ text: t, streaming: e, error: n, authorId: r, authorName: i, autho
|
|
|
8042
8078
|
onQuotedClick: m
|
|
8043
8079
|
}
|
|
8044
8080
|
),
|
|
8045
|
-
/* @__PURE__ */ s(
|
|
8081
|
+
/* @__PURE__ */ s(Mp, { text: t }),
|
|
8046
8082
|
e && /* @__PURE__ */ s("span", { class: "jex-streaming-cursor" }),
|
|
8047
8083
|
c && /* @__PURE__ */ s(Ql, { onQuote: c })
|
|
8048
8084
|
] })
|
|
8049
8085
|
] });
|
|
8050
8086
|
}
|
|
8051
|
-
function
|
|
8087
|
+
function Dp({ questions: t, disabled: e, onPick: n }) {
|
|
8052
8088
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-starter-chips", children: t.map((r) => /* @__PURE__ */ s(
|
|
8053
8089
|
"button",
|
|
8054
8090
|
{
|
|
@@ -8063,7 +8099,7 @@ function Op({ questions: t, disabled: e, onPick: n }) {
|
|
|
8063
8099
|
r
|
|
8064
8100
|
)) });
|
|
8065
8101
|
}
|
|
8066
|
-
function
|
|
8102
|
+
function qp(t, e) {
|
|
8067
8103
|
const n = [
|
|
8068
8104
|
...new Set(
|
|
8069
8105
|
e.flatMap((c) => c.split(/\s+/)).filter((c) => c.length > 1)
|
|
@@ -8077,7 +8113,7 @@ function Lp(t, e) {
|
|
|
8077
8113
|
l.index > a && o.push(t.slice(a, l.index)), o.push(/* @__PURE__ */ s("span", { class: "jex-mention", children: l[0] }, l.index)), a = l.index + l[0].length;
|
|
8078
8114
|
return a < t.length && o.push(t.slice(a)), o;
|
|
8079
8115
|
}
|
|
8080
|
-
function
|
|
8116
|
+
function zp({ text: t, id: e, onQuote: n, botName: r, quoted: i, onQuotedClick: o, agentNames: a }) {
|
|
8081
8117
|
const l = I();
|
|
8082
8118
|
return /* @__PURE__ */ s("div", { class: "jex-message user", id: e, children: [
|
|
8083
8119
|
/* @__PURE__ */ s(
|
|
@@ -8089,7 +8125,7 @@ function $p({ text: t, id: e, onQuote: n, botName: r, quoted: i, onQuotedClick:
|
|
|
8089
8125
|
onQuotedClick: o
|
|
8090
8126
|
}
|
|
8091
8127
|
),
|
|
8092
|
-
|
|
8128
|
+
qp(t, a ?? []),
|
|
8093
8129
|
n && /* @__PURE__ */ s(Ql, { onQuote: n })
|
|
8094
8130
|
] });
|
|
8095
8131
|
}
|
|
@@ -8104,7 +8140,7 @@ function Yl() {
|
|
|
8104
8140
|
});
|
|
8105
8141
|
};
|
|
8106
8142
|
}
|
|
8107
|
-
function
|
|
8143
|
+
function Bp({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
8108
8144
|
const i = I();
|
|
8109
8145
|
return t.formData ? /* @__PURE__ */ s("div", { class: "jex-inline-form-submitted", children: [
|
|
8110
8146
|
/* @__PURE__ */ s("span", { class: "jex-inline-form-check", children: "✓" }),
|
|
@@ -8117,7 +8153,7 @@ function Dp({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
|
8117
8153
|
] })
|
|
8118
8154
|
] })
|
|
8119
8155
|
] }) : /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: /* @__PURE__ */ s(
|
|
8120
|
-
|
|
8156
|
+
Fp,
|
|
8121
8157
|
{
|
|
8122
8158
|
messageId: t._id,
|
|
8123
8159
|
sessionId: e,
|
|
@@ -8126,7 +8162,7 @@ function Dp({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
|
8126
8162
|
}
|
|
8127
8163
|
) });
|
|
8128
8164
|
}
|
|
8129
|
-
function
|
|
8165
|
+
function Fp({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
8130
8166
|
const i = I(), [o, a] = z(""), [l, c] = z(""), [u, h] = z(!1), m = lr.value, d = /^https?:\/\//i.test(m) ? m : sr, p = Kl(), x = Yl();
|
|
8131
8167
|
async function k(b) {
|
|
8132
8168
|
if (b.preventDefault(), !u) {
|
|
@@ -8199,29 +8235,29 @@ function qp({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
|
8199
8235
|
] })
|
|
8200
8236
|
] });
|
|
8201
8237
|
}
|
|
8202
|
-
function
|
|
8238
|
+
function Up() {
|
|
8203
8239
|
return Gt(Ae.functions.magicline.public.submitForm);
|
|
8204
8240
|
}
|
|
8205
|
-
function
|
|
8241
|
+
function Vp() {
|
|
8206
8242
|
return or(Ae.functions.magicline.actions.getTrialConfig);
|
|
8207
8243
|
}
|
|
8208
|
-
function
|
|
8244
|
+
function Hp() {
|
|
8209
8245
|
return or(Ae.functions.magicline.actions.listTrialSlots);
|
|
8210
8246
|
}
|
|
8211
|
-
function
|
|
8247
|
+
function Wp() {
|
|
8212
8248
|
return or(Ae.functions.magicline.actions.getRateBundles);
|
|
8213
8249
|
}
|
|
8214
8250
|
function Zl() {
|
|
8215
8251
|
return or(Ae.functions.magicline.actions.getContractPreview);
|
|
8216
8252
|
}
|
|
8217
|
-
function
|
|
8253
|
+
function Qp() {
|
|
8218
8254
|
return or(Ae.functions.magicline.actions.submitContractCreation);
|
|
8219
8255
|
}
|
|
8220
|
-
const Co = { en: ho, de:
|
|
8256
|
+
const Co = { en: ho, de: xl }, Gp = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
8221
8257
|
function Jl(t) {
|
|
8222
|
-
return
|
|
8258
|
+
return Gp.test(t.trim());
|
|
8223
8259
|
}
|
|
8224
|
-
function
|
|
8260
|
+
function Kp(t, e = /* @__PURE__ */ new Date()) {
|
|
8225
8261
|
const n = t.trim();
|
|
8226
8262
|
if (n === "")
|
|
8227
8263
|
return null;
|
|
@@ -8243,7 +8279,7 @@ function ec() {
|
|
|
8243
8279
|
const t = lr.value;
|
|
8244
8280
|
return /^https?:\/\//i.test(t) ? t : sr;
|
|
8245
8281
|
}
|
|
8246
|
-
const
|
|
8282
|
+
const Yp = {
|
|
8247
8283
|
DE: 22,
|
|
8248
8284
|
AT: 20,
|
|
8249
8285
|
CH: 21,
|
|
@@ -8259,16 +8295,16 @@ const Qp = {
|
|
|
8259
8295
|
DK: 18,
|
|
8260
8296
|
FI: 18,
|
|
8261
8297
|
PT: 25
|
|
8262
|
-
},
|
|
8298
|
+
}, Zp = 15, Jp = 34;
|
|
8263
8299
|
function tc(t) {
|
|
8264
8300
|
return t.replace(/\s+/g, "").toUpperCase();
|
|
8265
8301
|
}
|
|
8266
|
-
function
|
|
8267
|
-
const e = tc(t), n = e.slice(0, 2), r =
|
|
8302
|
+
function Xp(t) {
|
|
8303
|
+
const e = tc(t), n = e.slice(0, 2), r = Yp[n];
|
|
8268
8304
|
if (r !== void 0) {
|
|
8269
8305
|
if (e.length !== r)
|
|
8270
8306
|
return !1;
|
|
8271
|
-
} else if (e.length <
|
|
8307
|
+
} else if (e.length < Zp || e.length > Jp)
|
|
8272
8308
|
return !1;
|
|
8273
8309
|
const i = e.slice(4) + e.slice(0, 4);
|
|
8274
8310
|
let o = "";
|
|
@@ -8288,7 +8324,7 @@ function Yp(t) {
|
|
|
8288
8324
|
}
|
|
8289
8325
|
return a === 1;
|
|
8290
8326
|
}
|
|
8291
|
-
function
|
|
8327
|
+
function em(t) {
|
|
8292
8328
|
const e = tc(t);
|
|
8293
8329
|
if (e.length <= 8)
|
|
8294
8330
|
return e;
|
|
@@ -8318,7 +8354,7 @@ function Gr(t, e, n) {
|
|
|
8318
8354
|
const [a, l] = o[n];
|
|
8319
8355
|
return `${t} ${r ? l : a}`;
|
|
8320
8356
|
}
|
|
8321
|
-
function
|
|
8357
|
+
function tm(t, e) {
|
|
8322
8358
|
const n = t.trim();
|
|
8323
8359
|
if (n === "")
|
|
8324
8360
|
return "—";
|
|
@@ -8342,7 +8378,7 @@ function Ao(t, e, n) {
|
|
|
8342
8378
|
}[i];
|
|
8343
8379
|
return a === void 0 ? `${t} ${e.toLowerCase()}` : a.replace("{n}", String(t));
|
|
8344
8380
|
}
|
|
8345
|
-
function
|
|
8381
|
+
function nm(t, e, n, r, i) {
|
|
8346
8382
|
const o = Co[i], a = nt(t, e, i);
|
|
8347
8383
|
switch (n) {
|
|
8348
8384
|
case "TERM_BASED":
|
|
@@ -8359,19 +8395,19 @@ function Xp(t, e, n, r, i) {
|
|
|
8359
8395
|
return a;
|
|
8360
8396
|
}
|
|
8361
8397
|
}
|
|
8362
|
-
function
|
|
8398
|
+
function rm(t, e, n, r) {
|
|
8363
8399
|
return e === "PERCENTAGE" ? `-${t}%` : `-${nt(t, n, r)}`;
|
|
8364
8400
|
}
|
|
8365
|
-
const
|
|
8401
|
+
const im = {
|
|
8366
8402
|
startpaket: "magiclineFeeStarterPackage",
|
|
8367
8403
|
"starter package": "magiclineFeeStarterPackage",
|
|
8368
8404
|
trainerpauschale: "magiclineFeeTrainerFee"
|
|
8369
8405
|
};
|
|
8370
8406
|
function nc(t, e) {
|
|
8371
|
-
const n = t.trim().toLowerCase(), r =
|
|
8407
|
+
const n = t.trim().toLowerCase(), r = im[n];
|
|
8372
8408
|
return r !== void 0 ? e[r] : t;
|
|
8373
8409
|
}
|
|
8374
|
-
function
|
|
8410
|
+
function om(t, e, n) {
|
|
8375
8411
|
const r = Co[n];
|
|
8376
8412
|
if (t === "NONE")
|
|
8377
8413
|
return r.magiclineRenewalNone;
|
|
@@ -8381,7 +8417,7 @@ function nm(t, e, n) {
|
|
|
8381
8417
|
}
|
|
8382
8418
|
return "";
|
|
8383
8419
|
}
|
|
8384
|
-
const rc = ["MALE", "FEMALE", "UNISEX"],
|
|
8420
|
+
const rc = ["MALE", "FEMALE", "UNISEX"], am = [
|
|
8385
8421
|
{ code: "DE", label: "Germany / Deutschland" },
|
|
8386
8422
|
{ code: "AT", label: "Austria / Österreich" },
|
|
8387
8423
|
{ code: "CH", label: "Switzerland / Schweiz" },
|
|
@@ -8398,11 +8434,11 @@ const rc = ["MALE", "FEMALE", "UNISEX"], rm = [
|
|
|
8398
8434
|
{ code: "GB", label: "United Kingdom" },
|
|
8399
8435
|
{ code: "US", label: "United States" }
|
|
8400
8436
|
];
|
|
8401
|
-
function
|
|
8437
|
+
function sm(t, e) {
|
|
8402
8438
|
const n = [];
|
|
8403
8439
|
return e && n.push("trainer"), n.push("slot"), n.push("personal"), (t.address.visible || t.zip.visible) && n.push("address"), n.push("confirm"), n;
|
|
8404
8440
|
}
|
|
8405
|
-
const
|
|
8441
|
+
const lm = {
|
|
8406
8442
|
firstName: "",
|
|
8407
8443
|
lastName: "",
|
|
8408
8444
|
email: "",
|
|
@@ -8419,7 +8455,7 @@ const om = {
|
|
|
8419
8455
|
consent: !1,
|
|
8420
8456
|
trainerRequired: !0
|
|
8421
8457
|
};
|
|
8422
|
-
function
|
|
8458
|
+
function cm(t, e) {
|
|
8423
8459
|
switch (e.type) {
|
|
8424
8460
|
case "set":
|
|
8425
8461
|
return { ...t, [e.key]: e.value };
|
|
@@ -8431,11 +8467,11 @@ function am(t, e) {
|
|
|
8431
8467
|
return t;
|
|
8432
8468
|
}
|
|
8433
8469
|
}
|
|
8434
|
-
function
|
|
8470
|
+
function um({
|
|
8435
8471
|
sessionId: t,
|
|
8436
8472
|
visitorId: e
|
|
8437
8473
|
}) {
|
|
8438
|
-
const n =
|
|
8474
|
+
const n = Vp(), r = Hp(), [i, o] = qe(cm, lm), [a, l] = qe(
|
|
8439
8475
|
(v, w) => w,
|
|
8440
8476
|
{ phase: "loading" }
|
|
8441
8477
|
), [c, u] = qe(
|
|
@@ -8504,22 +8540,22 @@ function sm({
|
|
|
8504
8540
|
refetchSlots: x
|
|
8505
8541
|
};
|
|
8506
8542
|
}
|
|
8507
|
-
function
|
|
8543
|
+
function dm({
|
|
8508
8544
|
formMessageId: t,
|
|
8509
8545
|
sessionId: e,
|
|
8510
8546
|
visitorId: n,
|
|
8511
8547
|
slotUnavailable: r = !1,
|
|
8512
8548
|
retryPending: i = !1
|
|
8513
8549
|
}) {
|
|
8514
|
-
const o = I(), a =
|
|
8550
|
+
const o = I(), a = Up(), { fields: l, setField: c, setTrainerRequired: u, configState: h, slotsState: m, refetchSlots: d } = um({ sessionId: e, visitorId: n });
|
|
8515
8551
|
return h.phase === "loading" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8516
8552
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
|
|
8517
8553
|
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: o.magiclineConfigLoading })
|
|
8518
8554
|
] }) : h.phase === "error" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8519
8555
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
|
|
8520
|
-
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children:
|
|
8556
|
+
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children: ym(h.code, h.backendMessage, o) })
|
|
8521
8557
|
] }) : /* @__PURE__ */ s(
|
|
8522
|
-
|
|
8558
|
+
hm,
|
|
8523
8559
|
{
|
|
8524
8560
|
formMessageId: t,
|
|
8525
8561
|
sessionId: e,
|
|
@@ -8536,7 +8572,7 @@ function lm({
|
|
|
8536
8572
|
}
|
|
8537
8573
|
);
|
|
8538
8574
|
}
|
|
8539
|
-
function
|
|
8575
|
+
function hm({
|
|
8540
8576
|
formMessageId: t,
|
|
8541
8577
|
sessionId: e,
|
|
8542
8578
|
visitorId: n,
|
|
@@ -8551,7 +8587,7 @@ function cm({
|
|
|
8551
8587
|
submitForm: m
|
|
8552
8588
|
}) {
|
|
8553
8589
|
const d = I(), { plan: p, minimumAge: x, bookingWithoutTrainerAllowed: k, studioZoneId: b } = o, v = ge(
|
|
8554
|
-
() =>
|
|
8590
|
+
() => sm(p, k),
|
|
8555
8591
|
[p, k]
|
|
8556
8592
|
), w = r ? Math.max(v.indexOf("slot"), 0) : 0, [R, y] = z(w), [E, N] = z({}), [L, W] = z(!1), [de, F] = z(null), J = ge(() => ec(), []), re = Math.min(R, v.length - 1), S = v[re], se = re === v.length - 1, it = re === 0;
|
|
8557
8593
|
function Ye(ie) {
|
|
@@ -8560,7 +8596,7 @@ function cm({
|
|
|
8560
8596
|
return a.slotId === "" && (D.slotId = d.magiclineSlotRequiredError), D;
|
|
8561
8597
|
if (ie === "personal") {
|
|
8562
8598
|
if (a.firstName.trim() === "" && (D.firstName = d.magiclineRequiredError), a.lastName.trim() === "" && (D.lastName = d.magiclineRequiredError), p.email.visible && p.email.required && a.email.trim() === "" && (D.email = d.magiclineRequiredError), a.email.trim() !== "" && !Jl(a.email) && (D.email = d.magiclineEmailError), p.phone.visible && p.phone.required && a.phone.trim() === "" && (D.phone = d.magiclineRequiredError), p.gender.visible && p.gender.required && a.gender === "" && (D.gender = d.magiclineRequiredError), p.dateOfBirth.visible && (p.dateOfBirth.required && a.birthDate.trim() === "" && (D.birthDate = d.magiclineRequiredError), a.birthDate.trim() !== "")) {
|
|
8563
|
-
const Ne =
|
|
8599
|
+
const Ne = Kp(a.birthDate);
|
|
8564
8600
|
Ne !== null && Ne < 0 ? D.birthDate = d.magiclineRequiredError : x > 0 && Ne !== null && Ne < x && (D.birthDate = d.magiclineMinAgeError.replace("{age}", String(x)));
|
|
8565
8601
|
}
|
|
8566
8602
|
return D;
|
|
@@ -8588,7 +8624,7 @@ function cm({
|
|
|
8588
8624
|
}
|
|
8589
8625
|
N({}), F(null), W(!0);
|
|
8590
8626
|
try {
|
|
8591
|
-
const D =
|
|
8627
|
+
const D = vm(p, a);
|
|
8592
8628
|
await m({
|
|
8593
8629
|
sessionId: e,
|
|
8594
8630
|
visitorId: n,
|
|
@@ -8603,7 +8639,7 @@ function cm({
|
|
|
8603
8639
|
function Dt() {
|
|
8604
8640
|
se ? bt() : ot();
|
|
8605
8641
|
}
|
|
8606
|
-
const Z =
|
|
8642
|
+
const Z = bm(S, d), Fe = `jex-ml-consent-${t}`;
|
|
8607
8643
|
return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8608
8644
|
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
|
|
8609
8645
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: d.magiclineTrialTitle }),
|
|
@@ -8621,7 +8657,7 @@ function cm({
|
|
|
8621
8657
|
] }),
|
|
8622
8658
|
/* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": Z, children: [
|
|
8623
8659
|
S === "trainer" ? /* @__PURE__ */ s(
|
|
8624
|
-
|
|
8660
|
+
fm,
|
|
8625
8661
|
{
|
|
8626
8662
|
formMessageId: t,
|
|
8627
8663
|
trainerRequired: a.trainerRequired,
|
|
@@ -8630,7 +8666,7 @@ function cm({
|
|
|
8630
8666
|
}
|
|
8631
8667
|
) : null,
|
|
8632
8668
|
S === "slot" ? /* @__PURE__ */ s(
|
|
8633
|
-
|
|
8669
|
+
pm,
|
|
8634
8670
|
{
|
|
8635
8671
|
slotsState: u,
|
|
8636
8672
|
slotId: a.slotId,
|
|
@@ -8646,7 +8682,7 @@ function cm({
|
|
|
8646
8682
|
}
|
|
8647
8683
|
) : null,
|
|
8648
8684
|
S === "personal" ? /* @__PURE__ */ s(
|
|
8649
|
-
|
|
8685
|
+
mm,
|
|
8650
8686
|
{
|
|
8651
8687
|
plan: p,
|
|
8652
8688
|
fields: a,
|
|
@@ -8656,7 +8692,7 @@ function cm({
|
|
|
8656
8692
|
}
|
|
8657
8693
|
) : null,
|
|
8658
8694
|
S === "address" ? /* @__PURE__ */ s(
|
|
8659
|
-
|
|
8695
|
+
gm,
|
|
8660
8696
|
{
|
|
8661
8697
|
plan: p,
|
|
8662
8698
|
fields: a,
|
|
@@ -8666,7 +8702,7 @@ function cm({
|
|
|
8666
8702
|
}
|
|
8667
8703
|
) : null,
|
|
8668
8704
|
S === "confirm" ? /* @__PURE__ */ s(
|
|
8669
|
-
|
|
8705
|
+
xm,
|
|
8670
8706
|
{
|
|
8671
8707
|
consentId: Fe,
|
|
8672
8708
|
privacyUrl: J,
|
|
@@ -8703,7 +8739,7 @@ function cm({
|
|
|
8703
8739
|
] })
|
|
8704
8740
|
] });
|
|
8705
8741
|
}
|
|
8706
|
-
function
|
|
8742
|
+
function fm({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r }) {
|
|
8707
8743
|
const i = I(), o = `jex-ml-trainer-${t}`;
|
|
8708
8744
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-radio-group", role: "radiogroup", "aria-label": i.magiclineStepTrainer, children: [
|
|
8709
8745
|
/* @__PURE__ */ s(
|
|
@@ -8750,7 +8786,7 @@ function um({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r })
|
|
|
8750
8786
|
)
|
|
8751
8787
|
] });
|
|
8752
8788
|
}
|
|
8753
|
-
function
|
|
8789
|
+
function pm({
|
|
8754
8790
|
slotsState: t,
|
|
8755
8791
|
slotId: e,
|
|
8756
8792
|
studioZoneId: n,
|
|
@@ -8803,7 +8839,7 @@ function dm({
|
|
|
8803
8839
|
a !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: a }) : null
|
|
8804
8840
|
] });
|
|
8805
8841
|
}
|
|
8806
|
-
function
|
|
8842
|
+
function mm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
8807
8843
|
const o = I(), a = ge(() => Xl(), []);
|
|
8808
8844
|
return /* @__PURE__ */ s(ee, { children: [
|
|
8809
8845
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -8898,12 +8934,12 @@ function hm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
8898
8934
|
onChange: (l) => {
|
|
8899
8935
|
i("gender", l);
|
|
8900
8936
|
},
|
|
8901
|
-
options: rc.map((l) => ({ value: l, label:
|
|
8937
|
+
options: rc.map((l) => ({ value: l, label: wm(l, o) }))
|
|
8902
8938
|
}
|
|
8903
8939
|
) : null
|
|
8904
8940
|
] });
|
|
8905
8941
|
}
|
|
8906
|
-
function
|
|
8942
|
+
function gm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
8907
8943
|
const o = I();
|
|
8908
8944
|
return /* @__PURE__ */ s(ee, { children: [
|
|
8909
8945
|
t.address.visible ? /* @__PURE__ */ s(ee, { children: [
|
|
@@ -8963,7 +8999,7 @@ function fm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
8963
8999
|
onChange: (a) => {
|
|
8964
9000
|
i("country", a);
|
|
8965
9001
|
},
|
|
8966
|
-
options:
|
|
9002
|
+
options: am.map((a) => ({ value: a.code, label: a.label }))
|
|
8967
9003
|
}
|
|
8968
9004
|
)
|
|
8969
9005
|
] }) : null,
|
|
@@ -8983,7 +9019,7 @@ function fm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
8983
9019
|
) : null
|
|
8984
9020
|
] });
|
|
8985
9021
|
}
|
|
8986
|
-
function
|
|
9022
|
+
function xm({
|
|
8987
9023
|
consentId: t,
|
|
8988
9024
|
privacyUrl: e,
|
|
8989
9025
|
studioZoneId: n,
|
|
@@ -9112,7 +9148,7 @@ function ic({
|
|
|
9112
9148
|
function Ge(t, e, n) {
|
|
9113
9149
|
return e ? t : t + n.magiclineOptionalSuffix;
|
|
9114
9150
|
}
|
|
9115
|
-
function
|
|
9151
|
+
function bm(t, e) {
|
|
9116
9152
|
switch (t) {
|
|
9117
9153
|
case "trainer":
|
|
9118
9154
|
return e.magiclineStepTrainer;
|
|
@@ -9128,10 +9164,10 @@ function mm(t, e) {
|
|
|
9128
9164
|
return "";
|
|
9129
9165
|
}
|
|
9130
9166
|
}
|
|
9131
|
-
function
|
|
9167
|
+
function ym(t, e, n) {
|
|
9132
9168
|
return e.trim() !== "" ? e : t === "unsupported" ? n.magiclineConfigUnsupported : t === "inconsistent" ? n.magiclineConfigInconsistent : n.magiclineConfigUnavailable;
|
|
9133
9169
|
}
|
|
9134
|
-
function
|
|
9170
|
+
function vm(t, e) {
|
|
9135
9171
|
const n = {
|
|
9136
9172
|
firstname: e.firstName.trim(),
|
|
9137
9173
|
lastname: e.lastName.trim(),
|
|
@@ -9141,7 +9177,7 @@ function xm(t, e) {
|
|
|
9141
9177
|
};
|
|
9142
9178
|
return t.email.visible && e.email.trim() !== "" && (n.email = e.email.trim()), t.phone.visible && e.phone.trim() !== "" && (n.phone = e.phone.trim()), t.dateOfBirth.visible && e.birthDate.trim() !== "" && (n.dateOfBirth = e.birthDate.trim()), t.gender.visible && e.gender !== "" && (n.gender = e.gender), t.address.visible && (e.street.trim() !== "" && (n.street = e.street.trim()), e.houseNumber.trim() !== "" && (n.houseNumber = e.houseNumber.trim()), e.city.trim() !== "" && (n.city = e.city.trim()), e.country !== "" && (n.country = e.country)), t.zip.visible && e.zip.trim() !== "" && (n.zip = e.zip.trim()), e.note.trim() !== "" && (n.note = e.note.trim()), n;
|
|
9143
9179
|
}
|
|
9144
|
-
function
|
|
9180
|
+
function wm(t, e) {
|
|
9145
9181
|
return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
|
|
9146
9182
|
}
|
|
9147
9183
|
function oc(t, e, n) {
|
|
@@ -9170,7 +9206,7 @@ function oc(t, e, n) {
|
|
|
9170
9206
|
});
|
|
9171
9207
|
}
|
|
9172
9208
|
}
|
|
9173
|
-
const
|
|
9209
|
+
const km = {
|
|
9174
9210
|
termId: null,
|
|
9175
9211
|
selectedModuleIds: [],
|
|
9176
9212
|
acknowledgedBlocks: {},
|
|
@@ -9198,7 +9234,7 @@ const ym = {
|
|
|
9198
9234
|
sepa: !1
|
|
9199
9235
|
}
|
|
9200
9236
|
};
|
|
9201
|
-
function
|
|
9237
|
+
function _m(t, e) {
|
|
9202
9238
|
switch (e.type) {
|
|
9203
9239
|
case "setTermId":
|
|
9204
9240
|
return t.termId === e.termId ? t : {
|
|
@@ -9260,14 +9296,14 @@ const ls = {
|
|
|
9260
9296
|
voucherStatus: "idle",
|
|
9261
9297
|
voucherRequestId: 0,
|
|
9262
9298
|
voucherUnavailable: !1
|
|
9263
|
-
},
|
|
9264
|
-
function
|
|
9299
|
+
}, jm = "voucher:";
|
|
9300
|
+
function Sm(t) {
|
|
9265
9301
|
const e = {};
|
|
9266
9302
|
for (const n of Object.keys(t))
|
|
9267
|
-
n.startsWith(
|
|
9303
|
+
n.startsWith(jm) || (e[n] = t[n]);
|
|
9268
9304
|
return e;
|
|
9269
9305
|
}
|
|
9270
|
-
function
|
|
9306
|
+
function Tm(t, e) {
|
|
9271
9307
|
switch (e.type) {
|
|
9272
9308
|
case "SET_VOUCHER_DRAFT": {
|
|
9273
9309
|
const n = t.appliedVoucher !== null || t.voucherStatus === "applied";
|
|
@@ -9320,10 +9356,10 @@ function _m(t, e) {
|
|
|
9320
9356
|
return t;
|
|
9321
9357
|
}
|
|
9322
9358
|
}
|
|
9323
|
-
function
|
|
9359
|
+
function Cm(t, e) {
|
|
9324
9360
|
switch (e.type) {
|
|
9325
9361
|
case "dropVoucherAcks": {
|
|
9326
|
-
const n =
|
|
9362
|
+
const n = Sm(t.acknowledgedBlocks);
|
|
9327
9363
|
return Object.keys(n).length === Object.keys(t.acknowledgedBlocks).length ? t : { ...t, acknowledgedBlocks: n };
|
|
9328
9364
|
}
|
|
9329
9365
|
case "seedVoucherAcks": {
|
|
@@ -9335,14 +9371,14 @@ function jm(t, e) {
|
|
|
9335
9371
|
return { ...t, acknowledgedBlocks: n };
|
|
9336
9372
|
}
|
|
9337
9373
|
default:
|
|
9338
|
-
return
|
|
9374
|
+
return _m(t, e);
|
|
9339
9375
|
}
|
|
9340
9376
|
}
|
|
9341
|
-
function
|
|
9377
|
+
function Am({
|
|
9342
9378
|
sessionId: t,
|
|
9343
9379
|
visitorId: e
|
|
9344
9380
|
}) {
|
|
9345
|
-
const n =
|
|
9381
|
+
const n = Wp(), r = Zl(), [i, o] = qe(Cm, km), [a, l] = qe(Tm, ls), [c, u] = qe(
|
|
9346
9382
|
(T, C) => C,
|
|
9347
9383
|
{ phase: "loading" }
|
|
9348
9384
|
), h = ze(null), [m, d] = qe(
|
|
@@ -9415,13 +9451,13 @@ function Sm({
|
|
|
9415
9451
|
}, [Fe, ie, Ne]), qt = ge(
|
|
9416
9452
|
() => Ze.every((T) => D[T] === !0),
|
|
9417
9453
|
[Ze, D]
|
|
9418
|
-
), { firstName: be, lastName:
|
|
9454
|
+
), { firstName: be, lastName: Ue } = i.personal, { accountHolder: we, accountHolderTouched: K } = i.payment;
|
|
9419
9455
|
return O(() => {
|
|
9420
|
-
K || we !== "" || be.trim() !== "" &&
|
|
9456
|
+
K || we !== "" || be.trim() !== "" && Ue.trim() !== "" && o({
|
|
9421
9457
|
type: "prefillAccountHolder",
|
|
9422
|
-
value: `${be.trim()} ${
|
|
9458
|
+
value: `${be.trim()} ${Ue.trim()}`
|
|
9423
9459
|
});
|
|
9424
|
-
}, [be,
|
|
9460
|
+
}, [be, Ue, we, K]), O(() => {
|
|
9425
9461
|
let T = !1;
|
|
9426
9462
|
return u({ phase: "loading" }), (async () => {
|
|
9427
9463
|
try {
|
|
@@ -9536,17 +9572,17 @@ function Sm({
|
|
|
9536
9572
|
clearVoucher: Ct
|
|
9537
9573
|
};
|
|
9538
9574
|
}
|
|
9539
|
-
function
|
|
9575
|
+
function Rm(t) {
|
|
9540
9576
|
return t !== null && t.optionalModules.length > 0 ? ["offer", "upgrades", "personal", "address", "payment", "review"] : ["offer", "personal", "address", "payment", "review"];
|
|
9541
9577
|
}
|
|
9542
|
-
function
|
|
9578
|
+
function Em({
|
|
9543
9579
|
formMessageId: t,
|
|
9544
9580
|
sessionId: e,
|
|
9545
9581
|
visitorId: n,
|
|
9546
9582
|
projectId: r,
|
|
9547
9583
|
formStatus: i
|
|
9548
9584
|
}) {
|
|
9549
|
-
const o = I(), a = xt.value, l =
|
|
9585
|
+
const o = I(), a = xt.value, l = Qp(), c = Zl(), u = Am({ sessionId: e, visitorId: n }), {
|
|
9550
9586
|
fields: h,
|
|
9551
9587
|
offersState: m,
|
|
9552
9588
|
previewState: d,
|
|
@@ -9577,23 +9613,23 @@ function Cm({
|
|
|
9577
9613
|
commitVoucherApplied: Z,
|
|
9578
9614
|
markVoucherInvalid: Fe,
|
|
9579
9615
|
markVoucherDisabled: ie
|
|
9580
|
-
} = u, [D, Ne] = z(0), [Ze, qt] = z({}), [be,
|
|
9616
|
+
} = u, [D, Ne] = z(0), [Ze, qt] = z({}), [be, Ue] = z(!1), [we, K] = z(null), [T, C] = z(null), [Ve, Q] = z(null), yt = ge(() => ec(), []);
|
|
9581
9617
|
if (we !== null && we.status === "succeeded")
|
|
9582
9618
|
return /* @__PURE__ */ s(cs, { customerNumber: we.customerNumber });
|
|
9583
9619
|
if (we !== null && we.status === "failed" && !we.retryable) {
|
|
9584
|
-
const
|
|
9585
|
-
return /* @__PURE__ */ s(us, { message:
|
|
9620
|
+
const U = we.errorCode === "duplicate_submission" ? o.magiclineDuplicateNotice : we.errorCode === "unknown_outcome" ? o.magiclineUnknownOutcome : we.errorCode === "live_submission_disabled" ? o.magiclineLiveSubmissionDisabled : o.magiclineFailedDetail;
|
|
9621
|
+
return /* @__PURE__ */ s(us, { message: U });
|
|
9586
9622
|
}
|
|
9587
9623
|
if (we === null && !be && i === "submitted")
|
|
9588
9624
|
return /* @__PURE__ */ s(cs, { customerNumber: null });
|
|
9589
9625
|
if (we === null && !be && i === "failed")
|
|
9590
9626
|
return /* @__PURE__ */ s(us, { message: o.magiclineFailedDetail });
|
|
9591
|
-
const X = ge(() =>
|
|
9592
|
-
function hr(
|
|
9627
|
+
const X = ge(() => Rm(p), [p]), Re = Math.min(D, X.length - 1), De = X[Re], Zt = Re === X.length - 1, dr = Re === 0;
|
|
9628
|
+
function hr(U) {
|
|
9593
9629
|
const $ = {};
|
|
9594
|
-
if (
|
|
9630
|
+
if (U === "offer")
|
|
9595
9631
|
return h.termId === null && ($.termId = o.magiclineOfferRequiredError), $;
|
|
9596
|
-
if (
|
|
9632
|
+
if (U === "upgrades") {
|
|
9597
9633
|
if (p !== null)
|
|
9598
9634
|
for (const le of h.selectedModuleIds) {
|
|
9599
9635
|
const Je = p.optionalModules.find((ue) => ue.id === le);
|
|
@@ -9604,20 +9640,20 @@ function Cm({
|
|
|
9604
9640
|
}
|
|
9605
9641
|
return $;
|
|
9606
9642
|
}
|
|
9607
|
-
if (
|
|
9643
|
+
if (U === "personal") {
|
|
9608
9644
|
const le = h.personal;
|
|
9609
9645
|
return le.firstName.trim() === "" && ($.firstName = o.magiclineRequiredError), le.lastName.trim() === "" && ($.lastName = o.magiclineRequiredError), le.email.trim() === "" ? $.email = o.magiclineRequiredError : Jl(le.email) || ($.email = o.magiclineEmailError), le.dateOfBirth.trim() === "" && ($.dateOfBirth = o.magiclineRequiredError), le.gender === "" && ($.gender = o.magiclineRequiredError), le.phone.trim() === "" && ($.phone = o.magiclineRequiredError), $;
|
|
9610
9646
|
}
|
|
9611
|
-
if (
|
|
9647
|
+
if (U === "address") {
|
|
9612
9648
|
const le = h.address;
|
|
9613
9649
|
return le.street.trim() === "" && ($.street = o.magiclineRequiredError), le.houseNumber.trim() === "" && ($.houseNumber = o.magiclineRequiredError), le.zipCode.trim() === "" && ($.zipCode = o.magiclineRequiredError), le.city.trim() === "" && ($.city = o.magiclineRequiredError), $;
|
|
9614
9650
|
}
|
|
9615
|
-
return
|
|
9651
|
+
return U === "payment" && (h.payment.accountHolder.trim() === "" && ($.accountHolder = o.magiclineRequiredError), Xp(h.payment.iban) || ($.iban = o.magiclineIbanInvalidError), h.consents.privacy || ($.privacy = o.magiclineConsentError), h.consents.sepa || ($.sepa = o.magiclineConsentError)), $;
|
|
9616
9652
|
}
|
|
9617
9653
|
function at() {
|
|
9618
|
-
const
|
|
9619
|
-
if (Object.keys(
|
|
9620
|
-
qt(
|
|
9654
|
+
const U = hr(De);
|
|
9655
|
+
if (Object.keys(U).length > 0) {
|
|
9656
|
+
qt(U);
|
|
9621
9657
|
return;
|
|
9622
9658
|
}
|
|
9623
9659
|
qt({}), C(null);
|
|
@@ -9625,7 +9661,7 @@ function Cm({
|
|
|
9625
9661
|
X[$] === "review" && ot(), Ne($);
|
|
9626
9662
|
}
|
|
9627
9663
|
function zt() {
|
|
9628
|
-
qt({}), C(null),
|
|
9664
|
+
qt({}), C(null), De === "review" && Ct(), Ne((U) => Math.max(U - 1, 0));
|
|
9629
9665
|
}
|
|
9630
9666
|
function vt() {
|
|
9631
9667
|
C(null), ot();
|
|
@@ -9636,9 +9672,9 @@ function Cm({
|
|
|
9636
9672
|
C(o.magiclineConfirmRequiredError);
|
|
9637
9673
|
return;
|
|
9638
9674
|
}
|
|
9639
|
-
|
|
9675
|
+
Ue(!0), C(null);
|
|
9640
9676
|
try {
|
|
9641
|
-
const
|
|
9677
|
+
const U = await l({
|
|
9642
9678
|
sessionId: e,
|
|
9643
9679
|
visitorId: n,
|
|
9644
9680
|
projectId: r,
|
|
@@ -9670,44 +9706,44 @@ function Cm({
|
|
|
9670
9706
|
pricingFingerprint: d.pricing.fingerprint,
|
|
9671
9707
|
voucherCode: y ?? void 0
|
|
9672
9708
|
});
|
|
9673
|
-
if (
|
|
9674
|
-
K(
|
|
9709
|
+
if (U.status === "succeeded") {
|
|
9710
|
+
K(U);
|
|
9675
9711
|
return;
|
|
9676
9712
|
}
|
|
9677
|
-
if (
|
|
9678
|
-
C(o.magiclinePriceChangedNotice), ot(),
|
|
9713
|
+
if (U.errorCode === "price_changed") {
|
|
9714
|
+
C(o.magiclinePriceChangedNotice), ot(), Ue(!1);
|
|
9679
9715
|
return;
|
|
9680
9716
|
}
|
|
9681
|
-
if (
|
|
9682
|
-
it(), Ye(), Ct(), C(o.magiclineOfferUnavailableNotice), Ne(0),
|
|
9717
|
+
if (U.errorCode === "offer_unavailable") {
|
|
9718
|
+
it(), Ye(), Ct(), C(o.magiclineOfferUnavailableNotice), Ne(0), Ue(!1);
|
|
9683
9719
|
return;
|
|
9684
9720
|
}
|
|
9685
|
-
if (
|
|
9686
|
-
C(o.magiclineConfirmationRequiredNotice),
|
|
9721
|
+
if (U.errorCode === "confirmation_required") {
|
|
9722
|
+
C(o.magiclineConfirmationRequiredNotice), Ue(!1);
|
|
9687
9723
|
return;
|
|
9688
9724
|
}
|
|
9689
|
-
if (
|
|
9690
|
-
K(
|
|
9725
|
+
if (U.errorCode === "live_submission_disabled") {
|
|
9726
|
+
K(U);
|
|
9691
9727
|
return;
|
|
9692
9728
|
}
|
|
9693
|
-
if (!
|
|
9694
|
-
K(
|
|
9729
|
+
if (!U.retryable) {
|
|
9730
|
+
K(U);
|
|
9695
9731
|
return;
|
|
9696
9732
|
}
|
|
9697
|
-
se(), C(
|
|
9698
|
-
} catch (
|
|
9699
|
-
me.error("[ContractCreationForm] Submit failed:",
|
|
9733
|
+
se(), C(U.message !== "" ? U.message : o.magiclineFailedDetail), Ue(!1);
|
|
9734
|
+
} catch (U) {
|
|
9735
|
+
me.error("[ContractCreationForm] Submit failed:", U), se(), C(o.magiclineFailedDetail), Ue(!1);
|
|
9700
9736
|
}
|
|
9701
9737
|
}
|
|
9702
9738
|
}
|
|
9703
9739
|
async function Tn() {
|
|
9704
9740
|
if (d.phase !== "ready" || p === null || w.trim() === "")
|
|
9705
9741
|
return;
|
|
9706
|
-
const
|
|
9742
|
+
const U = w.trim(), $ = Dt();
|
|
9707
9743
|
Q(null);
|
|
9708
9744
|
const le = (ue) => {
|
|
9709
9745
|
Fe(), bt(""), Q(ue);
|
|
9710
|
-
}, Je = o.magiclineVoucherInvalid.replace("{code}",
|
|
9746
|
+
}, Je = o.magiclineVoucherInvalid.replace("{code}", U);
|
|
9711
9747
|
try {
|
|
9712
9748
|
const ue = await c({
|
|
9713
9749
|
sessionId: e,
|
|
@@ -9766,7 +9802,7 @@ function Cm({
|
|
|
9766
9802
|
function Cn() {
|
|
9767
9803
|
Zt ? Sn() : at();
|
|
9768
9804
|
}
|
|
9769
|
-
const Jt =
|
|
9805
|
+
const Jt = Um(De, o), At = v === "applying" || w.trim() !== "" && w.trim() !== (y ?? ""), Xt = De === "review" && (d.phase !== "ready" || !k || At), en = be || Xt;
|
|
9770
9806
|
return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
9771
9807
|
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
|
|
9772
9808
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineContractTitle }),
|
|
@@ -9774,17 +9810,17 @@ function Cm({
|
|
|
9774
9810
|
/* @__PURE__ */ s("span", { class: "jex-magicline-wizard-step-label", children: Jt }),
|
|
9775
9811
|
/* @__PURE__ */ s("span", { class: "jex-magicline-wizard-counter", children: o.magiclineStepCounter.replace("{n}", String(Re + 1)).replace("{total}", String(X.length)) })
|
|
9776
9812
|
] }),
|
|
9777
|
-
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-dots", "aria-hidden": "true", children: X.map((
|
|
9813
|
+
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-dots", "aria-hidden": "true", children: X.map((U, $) => /* @__PURE__ */ s(
|
|
9778
9814
|
"span",
|
|
9779
9815
|
{
|
|
9780
9816
|
class: $ === Re ? "jex-magicline-wizard-dot jex-magicline-wizard-dot-active" : "jex-magicline-wizard-dot"
|
|
9781
9817
|
},
|
|
9782
|
-
|
|
9818
|
+
U
|
|
9783
9819
|
)) })
|
|
9784
9820
|
] }),
|
|
9785
9821
|
/* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": Jt, children: [
|
|
9786
|
-
|
|
9787
|
-
|
|
9822
|
+
De === "offer" ? /* @__PURE__ */ s(
|
|
9823
|
+
Im,
|
|
9788
9824
|
{
|
|
9789
9825
|
offersState: m,
|
|
9790
9826
|
selectedTermId: h.termId,
|
|
@@ -9795,8 +9831,8 @@ function Cm({
|
|
|
9795
9831
|
onRetry: Ye
|
|
9796
9832
|
}
|
|
9797
9833
|
) : null,
|
|
9798
|
-
|
|
9799
|
-
|
|
9834
|
+
De === "upgrades" && p !== null ? /* @__PURE__ */ s(
|
|
9835
|
+
Mm,
|
|
9800
9836
|
{
|
|
9801
9837
|
modules: p.optionalModules,
|
|
9802
9838
|
selectedModuleIds: h.selectedModuleIds,
|
|
@@ -9808,8 +9844,8 @@ function Cm({
|
|
|
9808
9844
|
onAck: F
|
|
9809
9845
|
}
|
|
9810
9846
|
) : null,
|
|
9811
|
-
|
|
9812
|
-
|
|
9847
|
+
De === "personal" ? /* @__PURE__ */ s(
|
|
9848
|
+
Lm,
|
|
9813
9849
|
{
|
|
9814
9850
|
personal: h.personal,
|
|
9815
9851
|
errors: Ze,
|
|
@@ -9817,8 +9853,8 @@ function Cm({
|
|
|
9817
9853
|
setPersonal: L
|
|
9818
9854
|
}
|
|
9819
9855
|
) : null,
|
|
9820
|
-
|
|
9821
|
-
|
|
9856
|
+
De === "address" ? /* @__PURE__ */ s(
|
|
9857
|
+
$m,
|
|
9822
9858
|
{
|
|
9823
9859
|
address: h.address,
|
|
9824
9860
|
errors: Ze,
|
|
@@ -9826,8 +9862,8 @@ function Cm({
|
|
|
9826
9862
|
setAddress: W
|
|
9827
9863
|
}
|
|
9828
9864
|
) : null,
|
|
9829
|
-
|
|
9830
|
-
|
|
9865
|
+
De === "payment" ? /* @__PURE__ */ s(
|
|
9866
|
+
Dm,
|
|
9831
9867
|
{
|
|
9832
9868
|
formMessageId: t,
|
|
9833
9869
|
fields: h,
|
|
@@ -9839,8 +9875,8 @@ function Cm({
|
|
|
9839
9875
|
setConsent: S
|
|
9840
9876
|
}
|
|
9841
9877
|
) : null,
|
|
9842
|
-
|
|
9843
|
-
|
|
9878
|
+
De === "review" ? /* @__PURE__ */ s(
|
|
9879
|
+
qm,
|
|
9844
9880
|
{
|
|
9845
9881
|
fields: h,
|
|
9846
9882
|
term: p,
|
|
@@ -9909,7 +9945,7 @@ function us({ message: t }) {
|
|
|
9909
9945
|
] })
|
|
9910
9946
|
] });
|
|
9911
9947
|
}
|
|
9912
|
-
function
|
|
9948
|
+
function Im({
|
|
9913
9949
|
offersState: t,
|
|
9914
9950
|
selectedTermId: e,
|
|
9915
9951
|
widgetLocale: n,
|
|
@@ -9928,13 +9964,13 @@ function Am({
|
|
|
9928
9964
|
] });
|
|
9929
9965
|
if (t.phase === "empty")
|
|
9930
9966
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", "aria-live": "polite", children: l.magiclineNoOffers });
|
|
9931
|
-
const c =
|
|
9967
|
+
const c = Fm(t.terms);
|
|
9932
9968
|
return /* @__PURE__ */ s(ee, { children: [
|
|
9933
9969
|
/* @__PURE__ */ s("div", { class: "jex-magicline-radio-group", role: "radiogroup", "aria-label": l.magiclineStepOffer, children: c.map((u) => /* @__PURE__ */ s("div", { class: "jex-magicline-offer-group", children: [
|
|
9934
9970
|
/* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-name", children: u.bundleName }),
|
|
9935
9971
|
u.bundleDescription !== null ? /* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-desc", children: u.bundleDescription }) : null,
|
|
9936
9972
|
u.terms.map((h) => /* @__PURE__ */ s(
|
|
9937
|
-
|
|
9973
|
+
Pm,
|
|
9938
9974
|
{
|
|
9939
9975
|
term: h,
|
|
9940
9976
|
checked: e === h.termId,
|
|
@@ -9945,7 +9981,7 @@ function Am({
|
|
|
9945
9981
|
h.termId
|
|
9946
9982
|
)),
|
|
9947
9983
|
/* @__PURE__ */ s(
|
|
9948
|
-
|
|
9984
|
+
Nm,
|
|
9949
9985
|
{
|
|
9950
9986
|
subDescription: u.bundleSubDescription,
|
|
9951
9987
|
footnote: u.footnote
|
|
@@ -9955,7 +9991,7 @@ function Am({
|
|
|
9955
9991
|
i !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: i }) : null
|
|
9956
9992
|
] });
|
|
9957
9993
|
}
|
|
9958
|
-
function
|
|
9994
|
+
function Pm({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i }) {
|
|
9959
9995
|
const o = I(), a = Gr(t.termValue, t.termUnit, n), l = nt(t.price, t.currencyCode, n), c = t.flatFees.find((h) => h.isStarterPackage), u = t.flatFees.filter((h) => !h.isStarterPackage);
|
|
9960
9996
|
return /* @__PURE__ */ s(
|
|
9961
9997
|
"label",
|
|
@@ -10018,8 +10054,8 @@ function Rm({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i })
|
|
|
10018
10054
|
}
|
|
10019
10055
|
);
|
|
10020
10056
|
}
|
|
10021
|
-
function
|
|
10022
|
-
const n = I(), r =
|
|
10057
|
+
function Nm({ subDescription: t, footnote: e }) {
|
|
10058
|
+
const n = I(), r = Bm(t), i = e !== null && e.trim() !== "";
|
|
10023
10059
|
return r.length === 0 && !i ? null : /* @__PURE__ */ s("details", { class: "jex-magicline-bundle-details", children: [
|
|
10024
10060
|
/* @__PURE__ */ s("summary", { class: "jex-magicline-bundle-details-summary", children: n.magiclineDetails }),
|
|
10025
10061
|
/* @__PURE__ */ s("div", { class: "jex-magicline-bundle-details-body", children: [
|
|
@@ -10028,7 +10064,7 @@ function Em({ subDescription: t, footnote: e }) {
|
|
|
10028
10064
|
] })
|
|
10029
10065
|
] });
|
|
10030
10066
|
}
|
|
10031
|
-
function
|
|
10067
|
+
function Mm({
|
|
10032
10068
|
modules: t,
|
|
10033
10069
|
selectedModuleIds: e,
|
|
10034
10070
|
acknowledgedBlocks: n,
|
|
@@ -10042,7 +10078,7 @@ function Im({
|
|
|
10042
10078
|
return t.length === 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesNone }) : /* @__PURE__ */ s(ee, { children: [
|
|
10043
10079
|
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesIntro }),
|
|
10044
10080
|
/* @__PURE__ */ s("div", { class: "jex-magicline-upgrade-group", children: t.map((u) => /* @__PURE__ */ s(
|
|
10045
|
-
|
|
10081
|
+
Om,
|
|
10046
10082
|
{
|
|
10047
10083
|
module: u,
|
|
10048
10084
|
selected: e.includes(u.id),
|
|
@@ -10057,7 +10093,7 @@ function Im({
|
|
|
10057
10093
|
o !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: o }) : null
|
|
10058
10094
|
] });
|
|
10059
10095
|
}
|
|
10060
|
-
function
|
|
10096
|
+
function Om({
|
|
10061
10097
|
module: t,
|
|
10062
10098
|
selected: e,
|
|
10063
10099
|
consentChecked: n,
|
|
@@ -10066,13 +10102,13 @@ function Pm({
|
|
|
10066
10102
|
onToggle: o,
|
|
10067
10103
|
onAck: a
|
|
10068
10104
|
}) {
|
|
10069
|
-
const l = I(), c =
|
|
10105
|
+
const l = I(), c = nm(
|
|
10070
10106
|
t.price,
|
|
10071
10107
|
t.currencyCode,
|
|
10072
10108
|
t.paymentFrequencyType,
|
|
10073
10109
|
t.recurringUnit,
|
|
10074
10110
|
r
|
|
10075
|
-
), u =
|
|
10111
|
+
), u = om(t.extensionType, t.termExtension, r), h = t.termLabel !== null && t.termLabel !== "" ? t.termLabel : l.magiclineUpgradeOneTime, m = t.consent;
|
|
10076
10112
|
return /* @__PURE__ */ s("div", { class: e ? "jex-magicline-upgrade-card jex-magicline-upgrade-card-active" : "jex-magicline-upgrade-card", children: [
|
|
10077
10113
|
/* @__PURE__ */ s("label", { class: "jex-magicline-upgrade-head", children: [
|
|
10078
10114
|
/* @__PURE__ */ s(
|
|
@@ -10111,7 +10147,7 @@ function Pm({
|
|
|
10111
10147
|
) : null
|
|
10112
10148
|
] });
|
|
10113
10149
|
}
|
|
10114
|
-
function
|
|
10150
|
+
function Lm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
10115
10151
|
const i = I(), o = ge(() => Xl(), []);
|
|
10116
10152
|
return /* @__PURE__ */ s(ee, { children: [
|
|
10117
10153
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -10180,7 +10216,7 @@ function Nm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
|
10180
10216
|
e.dateOfBirth !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: e.dateOfBirth }) : null
|
|
10181
10217
|
] }),
|
|
10182
10218
|
/* @__PURE__ */ s(
|
|
10183
|
-
|
|
10219
|
+
zm,
|
|
10184
10220
|
{
|
|
10185
10221
|
label: i.magiclineGender,
|
|
10186
10222
|
value: t.gender,
|
|
@@ -10191,7 +10227,7 @@ function Nm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
|
10191
10227
|
onChange: (a) => {
|
|
10192
10228
|
r("gender", a);
|
|
10193
10229
|
},
|
|
10194
|
-
options: rc.map((a) => ({ value: a, label:
|
|
10230
|
+
options: rc.map((a) => ({ value: a, label: Vm(a, i) }))
|
|
10195
10231
|
}
|
|
10196
10232
|
),
|
|
10197
10233
|
/* @__PURE__ */ s(
|
|
@@ -10211,7 +10247,7 @@ function Nm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
|
10211
10247
|
)
|
|
10212
10248
|
] });
|
|
10213
10249
|
}
|
|
10214
|
-
function
|
|
10250
|
+
function $m({ address: t, errors: e, disabled: n, setAddress: r }) {
|
|
10215
10251
|
const i = I();
|
|
10216
10252
|
return /* @__PURE__ */ s(ee, { children: [
|
|
10217
10253
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -10280,7 +10316,7 @@ function Mm({ address: t, errors: e, disabled: n, setAddress: r }) {
|
|
|
10280
10316
|
] })
|
|
10281
10317
|
] });
|
|
10282
10318
|
}
|
|
10283
|
-
function
|
|
10319
|
+
function Dm({
|
|
10284
10320
|
formMessageId: t,
|
|
10285
10321
|
fields: e,
|
|
10286
10322
|
errors: n,
|
|
@@ -10357,7 +10393,7 @@ function Om({
|
|
|
10357
10393
|
n.sepa !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: n.sepa }) : null
|
|
10358
10394
|
] });
|
|
10359
10395
|
}
|
|
10360
|
-
function
|
|
10396
|
+
function qm({
|
|
10361
10397
|
fields: t,
|
|
10362
10398
|
term: e,
|
|
10363
10399
|
previewState: n,
|
|
@@ -10415,7 +10451,7 @@ function Lm({
|
|
|
10415
10451
|
d !== null && d.voucherType === "DISCOUNT" ? /* @__PURE__ */ s("div", { class: "jex-magicline-summary-row jex-magicline-voucher-discount-row", children: [
|
|
10416
10452
|
/* @__PURE__ */ s("dt", { children: b.magiclineVoucherAppliedDiscount.replace(
|
|
10417
10453
|
"{discount}",
|
|
10418
|
-
|
|
10454
|
+
rm(
|
|
10419
10455
|
d.discountValue,
|
|
10420
10456
|
d.discountType,
|
|
10421
10457
|
v.currencyCode,
|
|
@@ -10452,7 +10488,7 @@ function Lm({
|
|
|
10452
10488
|
/* @__PURE__ */ s("dl", { class: "jex-magicline-summary jex-magicline-summary-section", children: [
|
|
10453
10489
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
10454
10490
|
/* @__PURE__ */ s("dt", { children: b.magiclineReviewStartsOn }),
|
|
10455
|
-
/* @__PURE__ */ s("dd", { children:
|
|
10491
|
+
/* @__PURE__ */ s("dd", { children: tm(v.startDate, r) })
|
|
10456
10492
|
] }),
|
|
10457
10493
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
10458
10494
|
/* @__PURE__ */ s("dt", { children: b.magiclineSummaryName }),
|
|
@@ -10464,7 +10500,7 @@ function Lm({
|
|
|
10464
10500
|
] }),
|
|
10465
10501
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
10466
10502
|
/* @__PURE__ */ s("dt", { children: b.magiclineReviewPayment }),
|
|
10467
|
-
/* @__PURE__ */ s("dd", { children:
|
|
10503
|
+
/* @__PURE__ */ s("dd", { children: em(t.payment.iban) })
|
|
10468
10504
|
] })
|
|
10469
10505
|
] }),
|
|
10470
10506
|
re ? /* @__PURE__ */ s("div", { class: "jex-magicline-voucher-section", children: [
|
|
@@ -10643,7 +10679,7 @@ function pt({
|
|
|
10643
10679
|
a !== void 0 ? /* @__PURE__ */ s("span", { id: c, class: "jex-magicline-error", role: "alert", children: a }) : null
|
|
10644
10680
|
] });
|
|
10645
10681
|
}
|
|
10646
|
-
function
|
|
10682
|
+
function zm({
|
|
10647
10683
|
label: t,
|
|
10648
10684
|
value: e,
|
|
10649
10685
|
required: n,
|
|
@@ -10675,11 +10711,11 @@ function $m({
|
|
|
10675
10711
|
o !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: o }) : null
|
|
10676
10712
|
] });
|
|
10677
10713
|
}
|
|
10678
|
-
function
|
|
10714
|
+
function Bm(t) {
|
|
10679
10715
|
return t === null ? [] : t.split(`
|
|
10680
10716
|
`).map((e) => e.replace(/^\s*[-•]\s*/, "").trim()).filter((e) => e !== "");
|
|
10681
10717
|
}
|
|
10682
|
-
function
|
|
10718
|
+
function Fm(t) {
|
|
10683
10719
|
const e = [], n = /* @__PURE__ */ new Map();
|
|
10684
10720
|
for (const r of t) {
|
|
10685
10721
|
let i = n.get(r.bundleId);
|
|
@@ -10694,7 +10730,7 @@ function qm(t) {
|
|
|
10694
10730
|
}
|
|
10695
10731
|
return e;
|
|
10696
10732
|
}
|
|
10697
|
-
function
|
|
10733
|
+
function Um(t, e) {
|
|
10698
10734
|
switch (t) {
|
|
10699
10735
|
case "offer":
|
|
10700
10736
|
return e.magiclineStepOffer;
|
|
@@ -10712,10 +10748,10 @@ function zm(t, e) {
|
|
|
10712
10748
|
return "";
|
|
10713
10749
|
}
|
|
10714
10750
|
}
|
|
10715
|
-
function
|
|
10751
|
+
function Vm(t, e) {
|
|
10716
10752
|
return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
|
|
10717
10753
|
}
|
|
10718
|
-
function
|
|
10754
|
+
function Hm({ message: t, sessionId: e, visitorId: n }) {
|
|
10719
10755
|
const r = I(), i = t.magiclineForm, o = !!i && i.status === "open" && !!i.submissionId, a = Lr(
|
|
10720
10756
|
Ae.functions.magicline.public.getSubmissionStatus,
|
|
10721
10757
|
o && i?.submissionId ? { sessionId: e, visitorId: n, submissionId: i.submissionId } : "skip"
|
|
@@ -10724,7 +10760,7 @@ function Fm({ message: t, sessionId: e, visitorId: n }) {
|
|
|
10724
10760
|
return null;
|
|
10725
10761
|
if (i.action === "contractCreation")
|
|
10726
10762
|
return t.projectId ? /* @__PURE__ */ s(
|
|
10727
|
-
|
|
10763
|
+
Em,
|
|
10728
10764
|
{
|
|
10729
10765
|
formMessageId: t._id,
|
|
10730
10766
|
sessionId: e,
|
|
@@ -10753,7 +10789,7 @@ function Fm({ message: t, sessionId: e, visitorId: n }) {
|
|
|
10753
10789
|
return null;
|
|
10754
10790
|
const l = a != null && a.errorCode === "slot_unavailable", c = o && a === void 0;
|
|
10755
10791
|
return /* @__PURE__ */ s(
|
|
10756
|
-
|
|
10792
|
+
dm,
|
|
10757
10793
|
{
|
|
10758
10794
|
formMessageId: t._id,
|
|
10759
10795
|
sessionId: e,
|
|
@@ -10763,13 +10799,13 @@ function Fm({ message: t, sessionId: e, visitorId: n }) {
|
|
|
10763
10799
|
}
|
|
10764
10800
|
);
|
|
10765
10801
|
}
|
|
10766
|
-
const
|
|
10802
|
+
const Wm = {
|
|
10767
10803
|
crawl: "🌐",
|
|
10768
10804
|
file: "📄",
|
|
10769
10805
|
snippet: "💡",
|
|
10770
10806
|
qa: "❓"
|
|
10771
10807
|
};
|
|
10772
|
-
function
|
|
10808
|
+
function Qm({ sources: t }) {
|
|
10773
10809
|
const e = I(), [n, r] = z(!1);
|
|
10774
10810
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-sources-row", children: [
|
|
10775
10811
|
/* @__PURE__ */ s(
|
|
@@ -10792,10 +10828,10 @@ function Vm({ sources: t }) {
|
|
|
10792
10828
|
}
|
|
10793
10829
|
),
|
|
10794
10830
|
n ? /* @__PURE__ */ s("div", { class: "jex-sources-pills", children: t.map((i, o) => {
|
|
10795
|
-
const a = i.sourceType === "crawl", l =
|
|
10831
|
+
const a = i.sourceType === "crawl", l = Gm(i), c = a && i.url ? `${i.title}
|
|
10796
10832
|
${i.url}` : i.title, u = /* @__PURE__ */ s(ee, { children: [
|
|
10797
10833
|
typeof i.id == "number" ? /* @__PURE__ */ s("span", { class: "jex-source-id", children: i.id }) : null,
|
|
10798
|
-
/* @__PURE__ */ s("span", { class: "jex-source-type", children:
|
|
10834
|
+
/* @__PURE__ */ s("span", { class: "jex-source-type", children: Wm[i.sourceType] }),
|
|
10799
10835
|
/* @__PURE__ */ s("span", { class: "jex-source-label", children: l }),
|
|
10800
10836
|
/* @__PURE__ */ s("span", { class: "jex-source-score", children: [
|
|
10801
10837
|
"· ",
|
|
@@ -10817,7 +10853,7 @@ ${i.url}` : i.title, u = /* @__PURE__ */ s(ee, { children: [
|
|
|
10817
10853
|
}) }) : null
|
|
10818
10854
|
] });
|
|
10819
10855
|
}
|
|
10820
|
-
function
|
|
10856
|
+
function Gm(t) {
|
|
10821
10857
|
if (t.sourceType === "crawl" && t.url)
|
|
10822
10858
|
try {
|
|
10823
10859
|
const e = new URL(t.url);
|
|
@@ -10826,25 +10862,25 @@ function Hm(t) {
|
|
|
10826
10862
|
}
|
|
10827
10863
|
return t.title;
|
|
10828
10864
|
}
|
|
10829
|
-
function
|
|
10865
|
+
function Km() {
|
|
10830
10866
|
return /* @__PURE__ */ s("div", { class: "jex-typing", children: [
|
|
10831
10867
|
/* @__PURE__ */ s("span", {}),
|
|
10832
10868
|
/* @__PURE__ */ s("span", {}),
|
|
10833
10869
|
/* @__PURE__ */ s("span", {})
|
|
10834
10870
|
] });
|
|
10835
10871
|
}
|
|
10836
|
-
const
|
|
10872
|
+
const Ym = /\s?\[\d+\]/g;
|
|
10837
10873
|
function Rr(t) {
|
|
10838
|
-
return t.replace(
|
|
10874
|
+
return t.replace(Ym, "");
|
|
10839
10875
|
}
|
|
10840
|
-
function
|
|
10876
|
+
function Zm(t) {
|
|
10841
10877
|
return t?.at(-1)?._creationTime ?? 0;
|
|
10842
10878
|
}
|
|
10843
|
-
function
|
|
10879
|
+
function Jm(t) {
|
|
10844
10880
|
return { id: t._id, content: Rr(t.content), role: t.role, authorName: t.authorName };
|
|
10845
10881
|
}
|
|
10846
10882
|
function hs(t, e) {
|
|
10847
|
-
return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((r) => e?.find((i) => i._id === r)).filter((r) => r !== void 0).map(
|
|
10883
|
+
return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((r) => e?.find((i) => i._id === r)).filter((r) => r !== void 0).map(Jm);
|
|
10848
10884
|
}
|
|
10849
10885
|
function fs(t, e) {
|
|
10850
10886
|
const r = e.getRootNode().getElementById(`jex-msg-${t}`);
|
|
@@ -10852,7 +10888,7 @@ function fs(t, e) {
|
|
|
10852
10888
|
r.classList.remove("jex-msg-highlight");
|
|
10853
10889
|
}, 1500));
|
|
10854
10890
|
}
|
|
10855
|
-
function
|
|
10891
|
+
function Xm(t) {
|
|
10856
10892
|
if (!t)
|
|
10857
10893
|
return [];
|
|
10858
10894
|
const e = /* @__PURE__ */ new Set();
|
|
@@ -10860,8 +10896,8 @@ function Ym(t) {
|
|
|
10860
10896
|
n.authorId && n.authorName && e.add(n.authorName), n.noticeKind === "agent-joined" && n.noticeData?.agentName && e.add(n.noticeData.agentName);
|
|
10861
10897
|
return [...e];
|
|
10862
10898
|
}
|
|
10863
|
-
function
|
|
10864
|
-
const h = I(), m = ze(null), [d, p] = z(null), x =
|
|
10899
|
+
function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, onPickStarter: i, sessionNotFound: o, resumeFailed: a, onStartFresh: l, sessionId: c, visitorId: u }) {
|
|
10900
|
+
const h = I(), m = ze(null), [d, p] = z(null), x = Zm(t), k = Xm(t), b = Yl(), v = ze(null);
|
|
10865
10901
|
O(() => {
|
|
10866
10902
|
if (!u || !t)
|
|
10867
10903
|
return;
|
|
@@ -10874,7 +10910,7 @@ function Zm({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10874
10910
|
return /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: [
|
|
10875
10911
|
/* @__PURE__ */ s(ln, { text: e, botName: n }),
|
|
10876
10912
|
R ? /* @__PURE__ */ s(
|
|
10877
|
-
|
|
10913
|
+
Dp,
|
|
10878
10914
|
{
|
|
10879
10915
|
questions: r,
|
|
10880
10916
|
disabled: Ar.value,
|
|
@@ -10926,9 +10962,9 @@ function Zm({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10926
10962
|
children: h.escalationSkip
|
|
10927
10963
|
}
|
|
10928
10964
|
)
|
|
10929
|
-
] }, y._id) : /* @__PURE__ */ s(
|
|
10965
|
+
] }, y._id) : /* @__PURE__ */ s(Bp, { message: y, sessionId: c, visitorId: u, waitingSetAt: x }, y._id);
|
|
10930
10966
|
if (y.contentType === "magicline-form" && c && u)
|
|
10931
|
-
return /* @__PURE__ */ s(
|
|
10967
|
+
return /* @__PURE__ */ s(Hm, { message: y, sessionId: c, visitorId: u }, y._id);
|
|
10932
10968
|
if (y.contentType === "escalation-confirm") {
|
|
10933
10969
|
const L = y.noticeKind === "escalation-confirmed" ? h.noticeEscalationConfirmed.replace("{name}", y.noticeData?.visitorName ?? "").replace("{email}", y.noticeData?.visitorEmail ?? "").replace("{ref}", y.noticeData?.visitorId ?? "") : y.content;
|
|
10934
10970
|
return /* @__PURE__ */ s(ln, { text: L, botName: n }, y._id);
|
|
@@ -10936,7 +10972,7 @@ function Zm({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10936
10972
|
if (y.role === "user") {
|
|
10937
10973
|
const L = hs(y, t);
|
|
10938
10974
|
return /* @__PURE__ */ s(
|
|
10939
|
-
|
|
10975
|
+
zp,
|
|
10940
10976
|
{
|
|
10941
10977
|
id: `jex-msg-${y._id}`,
|
|
10942
10978
|
text: y.content,
|
|
@@ -10959,7 +10995,7 @@ function Zm({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10959
10995
|
authorImage: y.authorImage
|
|
10960
10996
|
};
|
|
10961
10997
|
if (y.status === "streaming" && y.content === "")
|
|
10962
|
-
return /* @__PURE__ */ s(
|
|
10998
|
+
return /* @__PURE__ */ s(Km, {}, y._id);
|
|
10963
10999
|
if (y.status === "streaming")
|
|
10964
11000
|
return /* @__PURE__ */ s(ln, { id: `jex-msg-${y._id}`, text: Rr(y.content), streaming: !0, botName: n, ...E }, y._id);
|
|
10965
11001
|
if (y.status === "error")
|
|
@@ -10992,13 +11028,13 @@ function Zm({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10992
11028
|
...E
|
|
10993
11029
|
}
|
|
10994
11030
|
),
|
|
10995
|
-
y.sources && y.sources.length > 0 ? /* @__PURE__ */ s(
|
|
11031
|
+
y.sources && y.sources.length > 0 ? /* @__PURE__ */ s(Qm, { sources: y.sources }) : null
|
|
10996
11032
|
] }, y._id);
|
|
10997
11033
|
}),
|
|
10998
11034
|
/* @__PURE__ */ s("div", { ref: m })
|
|
10999
11035
|
] });
|
|
11000
11036
|
}
|
|
11001
|
-
function
|
|
11037
|
+
function tg() {
|
|
11002
11038
|
const t = I();
|
|
11003
11039
|
function e() {
|
|
11004
11040
|
const n = er.peek();
|
|
@@ -11038,7 +11074,7 @@ function ac({ message: t }) {
|
|
|
11038
11074
|
t && /* @__PURE__ */ s("p", { class: "jex-loading-message", children: t })
|
|
11039
11075
|
] }) : null;
|
|
11040
11076
|
}
|
|
11041
|
-
function
|
|
11077
|
+
function ng({ sessionId: t, visitorId: e }) {
|
|
11042
11078
|
const n = Lr(
|
|
11043
11079
|
Ae.functions.chat.public.conversations.listBySession,
|
|
11044
11080
|
t && e ? { sessionId: t, visitorId: e } : "skip"
|
|
@@ -11053,7 +11089,7 @@ function Xm({ sessionId: t, visitorId: e }) {
|
|
|
11053
11089
|
isStreaming: o
|
|
11054
11090
|
};
|
|
11055
11091
|
}
|
|
11056
|
-
function
|
|
11092
|
+
function rg(t) {
|
|
11057
11093
|
const e = I(), n = ze(null), r = ze(null), [i, o] = z(!1);
|
|
11058
11094
|
O(() => {
|
|
11059
11095
|
try {
|
|
@@ -11126,7 +11162,7 @@ function eg(t) {
|
|
|
11126
11162
|
};
|
|
11127
11163
|
}, []);
|
|
11128
11164
|
}
|
|
11129
|
-
function
|
|
11165
|
+
function ig({ sessionId: t, visitorId: e }) {
|
|
11130
11166
|
const n = Gt(Ae.functions.chat.public.visitorPresence.heartbeat);
|
|
11131
11167
|
O(() => {
|
|
11132
11168
|
if (!t || !e)
|
|
@@ -11147,11 +11183,11 @@ function tg({ sessionId: t, visitorId: e }) {
|
|
|
11147
11183
|
};
|
|
11148
11184
|
}, [t, e, n]);
|
|
11149
11185
|
}
|
|
11150
|
-
function
|
|
11186
|
+
function og() {
|
|
11151
11187
|
return Gt(Ae.functions.chat.public.helpdesk.createEscalationRequest);
|
|
11152
11188
|
}
|
|
11153
11189
|
function sc({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {
|
|
11154
|
-
const i = I(), o =
|
|
11190
|
+
const i = I(), o = og(), [a, l] = z(!1), [c, u] = z(null);
|
|
11155
11191
|
async function h() {
|
|
11156
11192
|
if (!a) {
|
|
11157
11193
|
l(!0), u(null);
|
|
@@ -11183,9 +11219,9 @@ function sc({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {
|
|
|
11183
11219
|
}
|
|
11184
11220
|
return { requestHuman: h, busy: a, error: c };
|
|
11185
11221
|
}
|
|
11186
|
-
function
|
|
11187
|
-
const m = I(), { conversations: d, sessionStatus: p, isLoading: x, isStreaming: k } =
|
|
11188
|
-
|
|
11222
|
+
function ag({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: h }) {
|
|
11223
|
+
const m = I(), { conversations: d, sessionStatus: p, isLoading: x, isStreaming: k } = ng({ sessionId: r, visitorId: i });
|
|
11224
|
+
rg(d), ig({ sessionId: r, visitorId: i }), O(() => {
|
|
11189
11225
|
const E = er.peek();
|
|
11190
11226
|
if (E === null || !d || d.length === 0)
|
|
11191
11227
|
return;
|
|
@@ -11197,7 +11233,7 @@ function rg({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
|
|
|
11197
11233
|
const b = Il({ sessionId: r, visitorId: i, ensureSession: u }), v = ze(
|
|
11198
11234
|
(() => {
|
|
11199
11235
|
const E = pn.peek();
|
|
11200
|
-
return E !== null ? E : fo.peek() &&
|
|
11236
|
+
return E !== null ? E : fo.peek() && Be.peek() !== null ? "resume" : "fresh";
|
|
11201
11237
|
})()
|
|
11202
11238
|
).current, { requestHuman: w, error: R } = sc({ sessionId: r, visitorId: i, ensureSession: u });
|
|
11203
11239
|
return O(() => {
|
|
@@ -11205,12 +11241,12 @@ function rg({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
|
|
|
11205
11241
|
}, [v]), O(() => {
|
|
11206
11242
|
pn.value = null;
|
|
11207
11243
|
}, []), O(() => {
|
|
11208
|
-
|
|
11244
|
+
Be.peek() !== null && u();
|
|
11209
11245
|
}, [u]), O(() => {
|
|
11210
11246
|
i && po(i);
|
|
11211
11247
|
}, [i]), c ? /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: /* @__PURE__ */ s("div", { class: "jex-session-notice", children: m.chatNoLongerAvailable }) }) : v === "resume" && (!r || x) ? /* @__PURE__ */ s(ac, { message: m.resumeConversation }) : /* @__PURE__ */ s(ee, { children: [
|
|
11212
11248
|
/* @__PURE__ */ s(
|
|
11213
|
-
|
|
11249
|
+
eg,
|
|
11214
11250
|
{
|
|
11215
11251
|
conversations: d,
|
|
11216
11252
|
greeting: t,
|
|
@@ -11226,10 +11262,10 @@ function rg({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
|
|
|
11226
11262
|
visitorId: i
|
|
11227
11263
|
}
|
|
11228
11264
|
),
|
|
11229
|
-
er.value !== null && /* @__PURE__ */ s(
|
|
11265
|
+
er.value !== null && /* @__PURE__ */ s(tg, {}),
|
|
11230
11266
|
R && /* @__PURE__ */ s("div", { class: "jex-session-error-notice", role: "alert", style: { margin: "8px 16px 0" }, children: R }),
|
|
11231
11267
|
/* @__PURE__ */ s(
|
|
11232
|
-
|
|
11268
|
+
uf,
|
|
11233
11269
|
{
|
|
11234
11270
|
sessionId: r,
|
|
11235
11271
|
visitorId: i,
|
|
@@ -11251,7 +11287,7 @@ function lc(t) {
|
|
|
11251
11287
|
function cc(t) {
|
|
11252
11288
|
return t?.anyOnline ? "online" : t?.anyAway ? "away" : "offline";
|
|
11253
11289
|
}
|
|
11254
|
-
function
|
|
11290
|
+
function sg({ formMessageId: t, sessionId: e, visitorId: n, orgSlug: r }) {
|
|
11255
11291
|
const i = I(), o = lr.value, a = /^https?:\/\//i.test(o) ? o : sr, [l, c] = z(""), [u, h] = z(""), m = lc(r), d = m && !m.anyOnline ? i.escalationOfflineSubtitle : i.escalationSubtitle, p = Kl(), [x, k] = z(!1), [b, v] = z(null);
|
|
11256
11292
|
async function w(R) {
|
|
11257
11293
|
R.preventDefault(), k(!0), v(null);
|
|
@@ -11341,11 +11377,11 @@ function ps({ sessionId: t, visitorId: e, ensureSession: n, availability: r }) {
|
|
|
11341
11377
|
l && /* @__PURE__ */ s("div", { class: "jex-handoff-error", role: "alert", children: l })
|
|
11342
11378
|
] });
|
|
11343
11379
|
}
|
|
11344
|
-
async function
|
|
11345
|
-
const t =
|
|
11380
|
+
async function lg() {
|
|
11381
|
+
const t = pl.value;
|
|
11346
11382
|
if (!t)
|
|
11347
11383
|
return me.warn("[JexityChat] Bootstrap refresh skipped — inputs missing"), { ok: !1, reason: "no-inputs" };
|
|
11348
|
-
const e = await
|
|
11384
|
+
const e = await gl(t.orgSlug, t.siteUrl, t.projSlug);
|
|
11349
11385
|
if (!e.ok)
|
|
11350
11386
|
return me.warn("[JexityChat] Bootstrap refresh failed:", e.error), { ok: !1, reason: e.error };
|
|
11351
11387
|
const n = e.token;
|
|
@@ -11357,7 +11393,7 @@ function ms(t) {
|
|
|
11357
11393
|
function uc(t) {
|
|
11358
11394
|
return t instanceof Nr ? t.data?.code === "UNAUTHORIZED_ORIGIN" : !1;
|
|
11359
11395
|
}
|
|
11360
|
-
function
|
|
11396
|
+
function cg(t = 1e4) {
|
|
11361
11397
|
return Lt.value ? Promise.resolve(Lt.value) : new Promise((e) => {
|
|
11362
11398
|
let n = !1;
|
|
11363
11399
|
const r = (a) => {
|
|
@@ -11369,9 +11405,9 @@ function ag(t = 1e4) {
|
|
|
11369
11405
|
});
|
|
11370
11406
|
});
|
|
11371
11407
|
}
|
|
11372
|
-
function
|
|
11408
|
+
function ug(t, e) {
|
|
11373
11409
|
const n = ze(null), r = fn(!1), i = fn(!1), o = fn(!1), a = fn(null), l = Gt(Ae.functions.chat.public.sessions.createOrResume), c = async (p) => {
|
|
11374
|
-
const x = await
|
|
11410
|
+
const x = await cg();
|
|
11375
11411
|
if (!x)
|
|
11376
11412
|
return me.warn("[JexityChat] No bootstrap token after 10s — session creation blocked."), un.value = "no-token", null;
|
|
11377
11413
|
const k = (w) => ({
|
|
@@ -11380,7 +11416,7 @@ function sg(t, e) {
|
|
|
11380
11416
|
visitorId: p,
|
|
11381
11417
|
bootstrapToken: w,
|
|
11382
11418
|
locale: xt.value,
|
|
11383
|
-
...
|
|
11419
|
+
...Br.value ? { source: Br.value } : {},
|
|
11384
11420
|
...typeof window < "u" ? { pagePath: window.location.pathname } : {}
|
|
11385
11421
|
});
|
|
11386
11422
|
Vi.value = !0;
|
|
@@ -11391,7 +11427,7 @@ function sg(t, e) {
|
|
|
11391
11427
|
} catch (w) {
|
|
11392
11428
|
if (!uc(w))
|
|
11393
11429
|
throw w;
|
|
11394
|
-
const R = await
|
|
11430
|
+
const R = await lg();
|
|
11395
11431
|
if (!R.ok)
|
|
11396
11432
|
return un.value = R.reason === "rate_limited" ? "network" : "unauthorized", null;
|
|
11397
11433
|
b = await l(k(R.token));
|
|
@@ -11408,7 +11444,7 @@ function sg(t, e) {
|
|
|
11408
11444
|
if (o.value)
|
|
11409
11445
|
return null;
|
|
11410
11446
|
r.value = !0;
|
|
11411
|
-
const p =
|
|
11447
|
+
const p = Be.value !== null, x = Be.value ?? Ca();
|
|
11412
11448
|
try {
|
|
11413
11449
|
const k = await c(x);
|
|
11414
11450
|
return k ? (p && k.result.isNew && (i.value = !0, o.value = !0), k.session) : null;
|
|
@@ -11446,7 +11482,7 @@ function sg(t, e) {
|
|
|
11446
11482
|
resetSession: h
|
|
11447
11483
|
};
|
|
11448
11484
|
}
|
|
11449
|
-
function
|
|
11485
|
+
function dg({ botName: t, availability: e, onResetSession: n }) {
|
|
11450
11486
|
const r = I(), [i, o] = z(""), a = e?.anyOnline === !0, l = cc(e);
|
|
11451
11487
|
function c() {
|
|
11452
11488
|
kr(), pn.value = "escalate", n(), Aa(), jt({ id: "chat" });
|
|
@@ -11474,7 +11510,7 @@ function lg({ botName: t, availability: e, onResetSession: n }) {
|
|
|
11474
11510
|
title: e ? a ? r.handoffAvailable : r.handoffOffline : r.talkToHuman,
|
|
11475
11511
|
children: [
|
|
11476
11512
|
/* @__PURE__ */ s("div", { class: "jex-home-avatar", children: [
|
|
11477
|
-
/* @__PURE__ */ s(
|
|
11513
|
+
/* @__PURE__ */ s(Sl, { size: 24 }),
|
|
11478
11514
|
e !== void 0 && /* @__PURE__ */ s("span", { class: `jex-home-status-dot jex-home-status-dot--${l}`, "aria-hidden": "true" })
|
|
11479
11515
|
] }),
|
|
11480
11516
|
/* @__PURE__ */ s("div", { class: "jex-home-hero-text", children: [
|
|
@@ -11540,7 +11576,7 @@ function lg({ botName: t, availability: e, onResetSession: n }) {
|
|
|
11540
11576
|
] })
|
|
11541
11577
|
] });
|
|
11542
11578
|
}
|
|
11543
|
-
function
|
|
11579
|
+
function hg({ title: t }) {
|
|
11544
11580
|
const e = I();
|
|
11545
11581
|
return /* @__PURE__ */ s("div", { class: "jex-selection", children: [
|
|
11546
11582
|
/* @__PURE__ */ s("h2", { class: "jex-selection-title", children: e.howCanWeHelp }),
|
|
@@ -11572,14 +11608,14 @@ function cg({ title: t }) {
|
|
|
11572
11608
|
] })
|
|
11573
11609
|
] });
|
|
11574
11610
|
}
|
|
11575
|
-
function
|
|
11611
|
+
function fg() {
|
|
11576
11612
|
const t = I(), [e, n] = z(""), [r, i] = z(""), [o, a] = z("");
|
|
11577
11613
|
async function l(c) {
|
|
11578
|
-
c.preventDefault(),
|
|
11614
|
+
c.preventDefault(), Ui({ id: "loading", message: t.submittingTicket }), await new Promise((h) => {
|
|
11579
11615
|
setTimeout(h, 1200);
|
|
11580
11616
|
});
|
|
11581
11617
|
const u = "JEX-" + Math.random().toString(36).slice(2, 8).toUpperCase();
|
|
11582
|
-
|
|
11618
|
+
Ui({ id: "confirmation", ref: u });
|
|
11583
11619
|
}
|
|
11584
11620
|
return /* @__PURE__ */ s("div", { class: "jex-form-screen", children: [
|
|
11585
11621
|
/* @__PURE__ */ s("h2", { class: "jex-form-title", children: t.submitTicket }),
|
|
@@ -11628,7 +11664,7 @@ function ug() {
|
|
|
11628
11664
|
] })
|
|
11629
11665
|
] });
|
|
11630
11666
|
}
|
|
11631
|
-
function
|
|
11667
|
+
function pg({ ticketRef: t }) {
|
|
11632
11668
|
const e = I();
|
|
11633
11669
|
return /* @__PURE__ */ s("div", { class: "jex-confirmation", children: [
|
|
11634
11670
|
/* @__PURE__ */ s("div", { class: "jex-confirmation-icon", "aria-hidden": "true", children: "✓" }),
|
|
@@ -11648,7 +11684,7 @@ function dg({ ticketRef: t }) {
|
|
|
11648
11684
|
)
|
|
11649
11685
|
] });
|
|
11650
11686
|
}
|
|
11651
|
-
function
|
|
11687
|
+
function mg({ message: t, onRetry: e, onBack: n }) {
|
|
11652
11688
|
const r = I();
|
|
11653
11689
|
return /* @__PURE__ */ s("div", { class: "jex-overlay jex-error", children: [
|
|
11654
11690
|
/* @__PURE__ */ s("p", { class: "jex-error-message", children: t }),
|
|
@@ -11659,15 +11695,15 @@ function hg({ message: t, onRetry: e, onBack: n }) {
|
|
|
11659
11695
|
] });
|
|
11660
11696
|
}
|
|
11661
11697
|
function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i, availability: o, sessionId: a, visitorId: l, isLoading: c, sessionNotFound: u, resumeFailed: h, isOrgDeleted: m, ensureSession: d, startFresh: p, resetSession: x }) {
|
|
11662
|
-
const k =
|
|
11698
|
+
const k = $e.value, b = k[k.length - 1], v = [...k].reverse().find(
|
|
11663
11699
|
(w) => w.id === "confirmation"
|
|
11664
11700
|
);
|
|
11665
11701
|
return /* @__PURE__ */ s("div", { class: "jex-screen-container", children: [
|
|
11666
|
-
b.id === "home" && /* @__PURE__ */ s(
|
|
11667
|
-
b.id === "selection" && /* @__PURE__ */ s(
|
|
11668
|
-
b.id === "form" && /* @__PURE__ */ s(
|
|
11702
|
+
b.id === "home" && /* @__PURE__ */ s(dg, { botName: r, availability: o, onResetSession: x }),
|
|
11703
|
+
b.id === "selection" && /* @__PURE__ */ s(hg, { title: n }),
|
|
11704
|
+
b.id === "form" && /* @__PURE__ */ s(fg, {}),
|
|
11669
11705
|
b.id === "escalation-form" && /* @__PURE__ */ s(
|
|
11670
|
-
|
|
11706
|
+
sg,
|
|
11671
11707
|
{
|
|
11672
11708
|
formMessageId: b.formMessageId,
|
|
11673
11709
|
sessionId: b.sessionId,
|
|
@@ -11676,9 +11712,9 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
11676
11712
|
waitingSetAt: b.waitingSetAt
|
|
11677
11713
|
}
|
|
11678
11714
|
),
|
|
11679
|
-
b.id === "confirmation" && v && /* @__PURE__ */ s(
|
|
11715
|
+
b.id === "confirmation" && v && /* @__PURE__ */ s(pg, { ticketRef: v.ref }),
|
|
11680
11716
|
b.id === "chat" && /* @__PURE__ */ s(
|
|
11681
|
-
|
|
11717
|
+
ag,
|
|
11682
11718
|
{
|
|
11683
11719
|
greeting: t,
|
|
11684
11720
|
botName: r,
|
|
@@ -11695,16 +11731,16 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
11695
11731
|
),
|
|
11696
11732
|
b.id === "loading" && /* @__PURE__ */ s(ac, { message: b.message }),
|
|
11697
11733
|
b.id === "error" && /* @__PURE__ */ s(
|
|
11698
|
-
|
|
11734
|
+
mg,
|
|
11699
11735
|
{
|
|
11700
11736
|
message: b.message,
|
|
11701
|
-
onRetry: () =>
|
|
11737
|
+
onRetry: () => Ui({ id: "loading" }),
|
|
11702
11738
|
onBack: mo
|
|
11703
11739
|
}
|
|
11704
11740
|
)
|
|
11705
11741
|
] });
|
|
11706
11742
|
}
|
|
11707
|
-
function
|
|
11743
|
+
function gg({ options: t }) {
|
|
11708
11744
|
return nh({
|
|
11709
11745
|
orgSlug: t.orgSlug,
|
|
11710
11746
|
projSlug: t.projSlug,
|
|
@@ -11712,16 +11748,16 @@ function fg({ options: t }) {
|
|
|
11712
11748
|
convexUrl: t.convexUrl,
|
|
11713
11749
|
preAllowedUrls: t.allowedUrls ?? [],
|
|
11714
11750
|
preExcludedPaths: t.excludePaths
|
|
11715
|
-
}), oh() ? /* @__PURE__ */ s(
|
|
11751
|
+
}), oh() ? /* @__PURE__ */ s(xg, { options: t }) : null;
|
|
11716
11752
|
}
|
|
11717
|
-
function
|
|
11753
|
+
function xg({ options: t }) {
|
|
11718
11754
|
const e = eh(t.orgSlug, t.projSlug, t.convexUrl);
|
|
11719
11755
|
uh(t.parentOrigin), O(() => (xh(), yh(), () => {
|
|
11720
11756
|
Fi.value = !1;
|
|
11721
11757
|
}), []);
|
|
11722
|
-
const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: h } =
|
|
11758
|
+
const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: h } = ug(t.orgSlug, t.projSlug), m = lc(t.orgSlug), d = Yd(t, e.config), p = Nt.value, x = Fi.value, k = e.config !== null || p !== void 0 || e.settled, b = e.config !== null ? d.sessionTimeoutMs : p !== void 0 ? p : d.sessionTimeoutMs;
|
|
11723
11759
|
O(() => {
|
|
11724
|
-
xt.value =
|
|
11760
|
+
xt.value = bl(d.locale);
|
|
11725
11761
|
}, [d.locale]), O(() => {
|
|
11726
11762
|
lr.value = d.privacyPolicyUrl ?? sr, uo.value = d.privacyNoticeStyle;
|
|
11727
11763
|
}, [d.privacyNoticeStyle, d.privacyPolicyUrl]), O(() => {
|
|
@@ -11754,7 +11790,7 @@ function pg({ options: t }) {
|
|
|
11754
11790
|
borderRadius: d.borderRadius,
|
|
11755
11791
|
windowWidth: d.windowWidth,
|
|
11756
11792
|
windowHeight: d.windowHeight
|
|
11757
|
-
}), y = d.mode === "embedded", E =
|
|
11793
|
+
}), y = d.mode === "embedded", E = $e.value, L = E[E.length - 1]?.id === "chat", W = e.config !== null || y || !!t.parentOrigin, de = W ? R : { ...R, visibility: "hidden" }, F = Oh(t.orgSlug, t.projSlug);
|
|
11758
11794
|
return O(() => {
|
|
11759
11795
|
if (y || !W || d.proactiveMode === "off" || Na(F))
|
|
11760
11796
|
return;
|
|
@@ -11765,7 +11801,7 @@ function pg({ options: t }) {
|
|
|
11765
11801
|
hasHistory: fo.peek(),
|
|
11766
11802
|
dismissed: Na(F)
|
|
11767
11803
|
});
|
|
11768
|
-
re === "teaser" ?
|
|
11804
|
+
re === "teaser" ? Ur.value = !0 : re === "open" && (ae.value = !0);
|
|
11769
11805
|
}, d.proactiveDelaySeconds * 1e3);
|
|
11770
11806
|
return () => {
|
|
11771
11807
|
window.clearTimeout(J);
|
|
@@ -11838,7 +11874,7 @@ function pg({ options: t }) {
|
|
|
11838
11874
|
),
|
|
11839
11875
|
!d.hideBranding && /* @__PURE__ */ s(Pa, {})
|
|
11840
11876
|
] }),
|
|
11841
|
-
|
|
11877
|
+
Ur.value && !ae.value && /* @__PURE__ */ s(Dh, { title: d.title, message: d.greeting, guardKey: F }),
|
|
11842
11878
|
/* @__PURE__ */ s(
|
|
11843
11879
|
Mh,
|
|
11844
11880
|
{
|
|
@@ -11851,34 +11887,34 @@ function pg({ options: t }) {
|
|
|
11851
11887
|
}
|
|
11852
11888
|
);
|
|
11853
11889
|
}
|
|
11854
|
-
const mg = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: "Inter", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;animation:jexFadeIn .4s ease both}.jex-home-hero:disabled{cursor:default;opacity:.7}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--jex-dot-color, #9ca3af);border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}.jex-home-status-dot--online{--jex-dot-color: #10b981}.jex-home-status-dot--away{--jex-dot-color: #fbbf24}.jex-home-status-dot--offline{--jex-dot-color: #9ca3af}@keyframes jexPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--jex-dot-color, #9ca3af) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jex-dot-color, #9ca3af) 0%,transparent)}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-quote-btn{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--jex-border-window);border-radius:50%;background:var(--jex-bg-window);color:var(--jex-text-muted, #6b7280);box-shadow:0 1px 4px #0000001f;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity .12s,transform .12s,background .15s,color .15s}.jex-quote-btn:hover{background:var(--jex-bg-msg-bot);color:var(--jex-primary, #115A62);transform:scale(1)}.jex-quote-btn:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}@media(hover:hover){.jex-message:hover .jex-quote-btn{opacity:1;transform:scale(1)}}@media(hover:none){.jex-quote-btn{opacity:1;transform:scale(1)}}.jex-message.user .jex-mention{font-weight:700;background:#ffffff38;border-radius:4px;padding:0 3px}.jex-quoted-chip{display:flex;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding-bottom:6px;border:none;border-bottom:1px solid var(--jex-border-window);background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.8;text-align:left;cursor:pointer}.jex-quoted-chip:hover{opacity:1}.jex-quoted-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-quoted-chip-author{font-weight:600}.jex-quoted-list{display:flex;flex-direction:column}.jex-quoted-list .jex-quoted-chip{margin-bottom:3px;padding-bottom:3px}.jex-quoted-list .jex-quoted-chip:last-child{margin-bottom:6px;padding-bottom:6px}.jex-msg-highlight{outline:2px solid var(--jex-primary, #115A62);outline-offset:2px;transition:outline-color .2s}.jex-reply-preview{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);font-size:12px;color:var(--jex-text-muted)}.jex-reply-preview-icon{flex:0 0 auto;color:var(--jex-primary)}.jex-reply-preview-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-reply-preview-author{font-weight:600;color:var(--jex-text-main)}.jex-reply-preview-cancel{flex:0 0 auto;display:inline-flex;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted);cursor:pointer}.jex-reply-preview-cancel:hover{color:var(--jex-text-main);background:#0000000f}.jex-message{position:relative;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);margin:0 0 8px;padding:4px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:"◊";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-starter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.jex-starter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--jex-bg-window);border:1px solid var(--jex-border-input);color:var(--jex-primary);text-align:left;font-size:13.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.jex-starter-chip:hover:not(:disabled){background:color-mix(in srgb,var(--jex-primary) 8%,var(--jex-bg-window));border-color:var(--jex-primary)}.jex-starter-chip:disabled{opacity:.5;cursor:default}.jex-presence-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px var(--jex-bg-header, #115A62)}.jex-presence-dot--online{background:#10b981}.jex-presence-dot--away{background:#fbbf24}.jex-presence-dot--offline{background:#9ca3af}@keyframes jex-ripple-expand{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.jex-waiting-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 12px 8px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem)}.jex-waiting-indicator{position:relative;flex-shrink:0;width:20px;height:20px;margin-top:2px;display:flex;align-items:center;justify-content:center}.jex-waiting-dot{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--jex-primary, #115A62)}.jex-waiting-ripple{position:absolute;inset:0;width:8px;height:8px;margin:auto;border-radius:50%;background:var(--jex-primary, #115A62);animation:jex-ripple-expand 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.jex-waiting-ripple{animation:none}}.jex-waiting-body{display:flex;flex-direction:column;gap:4px;min-width:0}.jex-waiting-title{font-weight:600;font-size:14px;color:var(--jex-text-main, #0f172a);line-height:1.3}.jex-waiting-subtitle{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4}.jex-waiting-leave-email{margin-top:6px;padding:0;border:none;background:transparent;color:var(--jex-primary, #115A62);font-size:12px;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.jex-waiting-leave-email:hover{opacity:.8}`;
|
|
11855
|
-
function
|
|
11890
|
+
const bg = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: "Inter", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;animation:jexFadeIn .4s ease both}.jex-home-hero:disabled{cursor:default;opacity:.7}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--jex-dot-color, #9ca3af);border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}.jex-home-status-dot--online{--jex-dot-color: #10b981}.jex-home-status-dot--away{--jex-dot-color: #fbbf24}.jex-home-status-dot--offline{--jex-dot-color: #9ca3af}@keyframes jexPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--jex-dot-color, #9ca3af) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jex-dot-color, #9ca3af) 0%,transparent)}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-quote-btn{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--jex-border-window);border-radius:50%;background:var(--jex-bg-window);color:var(--jex-text-muted, #6b7280);box-shadow:0 1px 4px #0000001f;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity .12s,transform .12s,background .15s,color .15s}.jex-quote-btn:hover{background:var(--jex-bg-msg-bot);color:var(--jex-primary, #115A62);transform:scale(1)}.jex-quote-btn:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}@media(hover:hover){.jex-message:hover .jex-quote-btn{opacity:1;transform:scale(1)}}@media(hover:none){.jex-quote-btn{opacity:1;transform:scale(1)}}.jex-message.user .jex-mention{font-weight:700;background:#ffffff38;border-radius:4px;padding:0 3px}.jex-quoted-chip{display:flex;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding-bottom:6px;border:none;border-bottom:1px solid var(--jex-border-window);background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.8;text-align:left;cursor:pointer}.jex-quoted-chip:hover{opacity:1}.jex-quoted-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-quoted-chip-author{font-weight:600}.jex-quoted-list{display:flex;flex-direction:column}.jex-quoted-list .jex-quoted-chip{margin-bottom:3px;padding-bottom:3px}.jex-quoted-list .jex-quoted-chip:last-child{margin-bottom:6px;padding-bottom:6px}.jex-msg-highlight{outline:2px solid var(--jex-primary, #115A62);outline-offset:2px;transition:outline-color .2s}.jex-reply-preview{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);font-size:12px;color:var(--jex-text-muted)}.jex-reply-preview-icon{flex:0 0 auto;color:var(--jex-primary)}.jex-reply-preview-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-reply-preview-author{font-weight:600;color:var(--jex-text-main)}.jex-reply-preview-cancel{flex:0 0 auto;display:inline-flex;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted);cursor:pointer}.jex-reply-preview-cancel:hover{color:var(--jex-text-main);background:#0000000f}.jex-message{position:relative;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);margin:0 0 8px;padding:4px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:"◊";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-starter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.jex-starter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--jex-bg-window);border:1px solid var(--jex-border-input);color:var(--jex-primary);text-align:left;font-size:13.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.jex-starter-chip:hover:not(:disabled){background:color-mix(in srgb,var(--jex-primary) 8%,var(--jex-bg-window));border-color:var(--jex-primary)}.jex-starter-chip:disabled{opacity:.5;cursor:default}.jex-presence-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px var(--jex-bg-header, #115A62)}.jex-presence-dot--online{background:#10b981}.jex-presence-dot--away{background:#fbbf24}.jex-presence-dot--offline{background:#9ca3af}@keyframes jex-ripple-expand{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.jex-waiting-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 12px 8px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem)}.jex-waiting-indicator{position:relative;flex-shrink:0;width:20px;height:20px;margin-top:2px;display:flex;align-items:center;justify-content:center}.jex-waiting-dot{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--jex-primary, #115A62)}.jex-waiting-ripple{position:absolute;inset:0;width:8px;height:8px;margin:auto;border-radius:50%;background:var(--jex-primary, #115A62);animation:jex-ripple-expand 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.jex-waiting-ripple{animation:none}}.jex-waiting-body{display:flex;flex-direction:column;gap:4px;min-width:0}.jex-waiting-title{font-weight:600;font-size:14px;color:var(--jex-text-main, #0f172a);line-height:1.3}.jex-waiting-subtitle{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4}.jex-waiting-leave-email{margin-top:6px;padding:0;border:none;background:transparent;color:var(--jex-primary, #115A62);font-size:12px;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.jex-waiting-leave-email:hover{opacity:.8}`;
|
|
11891
|
+
function yg(t) {
|
|
11856
11892
|
const e = document.createElement("style");
|
|
11857
|
-
e.textContent =
|
|
11893
|
+
e.textContent = bg, t.appendChild(e);
|
|
11858
11894
|
}
|
|
11859
|
-
const
|
|
11895
|
+
const vg = "https://festive-mouse-978.eu-west-1.convex.cloud";
|
|
11860
11896
|
let Ci = null;
|
|
11861
|
-
function
|
|
11862
|
-
const e = t ??
|
|
11897
|
+
function wg(t) {
|
|
11898
|
+
const e = t ?? vg;
|
|
11863
11899
|
if (!e)
|
|
11864
11900
|
throw new Error("[jexity] No Convex URL — set VITE_CONVEX_URL at build time or data-convex-url on the script tag");
|
|
11865
11901
|
return Ci || (Ci = new Id(Gd(e))), Ci;
|
|
11866
11902
|
}
|
|
11867
|
-
function
|
|
11903
|
+
function kg(t, e) {
|
|
11868
11904
|
const n = t.shadowRoot ?? t.attachShadow({ mode: "open" });
|
|
11869
11905
|
for (; n.firstChild; )
|
|
11870
11906
|
n.removeChild(n.firstChild);
|
|
11871
|
-
|
|
11907
|
+
yg(n), Br.value = e.source, Lt.value = e.bootstrapToken, $e.value = [{ id: "home" }], e.mode === "embedded" && (t.classList.add("jex-mode-embedded"), ae.value = !0);
|
|
11872
11908
|
const r = document.createElement("div");
|
|
11873
11909
|
return e.mode === "embedded" && (r.style.cssText = "width:100%;height:100%"), n.appendChild(r), Ht(
|
|
11874
|
-
/* @__PURE__ */ s(Nd, { client:
|
|
11910
|
+
/* @__PURE__ */ s(Nd, { client: wg(e.convexUrl), children: /* @__PURE__ */ s(gg, { options: e }) }),
|
|
11875
11911
|
r
|
|
11876
11912
|
), function() {
|
|
11877
|
-
Ht(null, r), ae.value = !1,
|
|
11913
|
+
Ht(null, r), ae.value = !1, Br.value = void 0, Lt.value = void 0, $e.value = [{ id: "home" }];
|
|
11878
11914
|
};
|
|
11879
11915
|
}
|
|
11880
|
-
function
|
|
11881
|
-
const r =
|
|
11916
|
+
function _g(t, e, n) {
|
|
11917
|
+
const r = kg(t, e), i = /* @__PURE__ */ new Set(), o = ae.subscribe((l) => {
|
|
11882
11918
|
for (const c of i)
|
|
11883
11919
|
c(l);
|
|
11884
11920
|
});
|
|
@@ -11906,16 +11942,16 @@ function vg(t, e, n) {
|
|
|
11906
11942
|
};
|
|
11907
11943
|
}
|
|
11908
11944
|
let On = null;
|
|
11909
|
-
function
|
|
11945
|
+
function jg(t) {
|
|
11910
11946
|
On && On.shutdown();
|
|
11911
11947
|
let e;
|
|
11912
11948
|
t.container ? e = typeof t.container == "string" ? document.querySelector(t.container) : t.container : (e = document.createElement("div"), e.id = "jexity-chat-widget", document.body.appendChild(e));
|
|
11913
|
-
const n =
|
|
11949
|
+
const n = _g(e, t, () => {
|
|
11914
11950
|
t.container || e.remove(), On === n && (On = null);
|
|
11915
11951
|
});
|
|
11916
11952
|
return On = n, n;
|
|
11917
11953
|
}
|
|
11918
11954
|
export {
|
|
11919
|
-
|
|
11955
|
+
jg as JexityChat
|
|
11920
11956
|
};
|
|
11921
11957
|
//# sourceMappingURL=index.mjs.map
|