@evelan/jexity-widget 0.19.3-canary.50 → 0.19.4
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 +458 -454
- package/dist/index.mjs.map +1 -1
- package/dist/react.mjs +294 -290
- package/dist/react.mjs.map +1 -1
- package/dist/types/module/visitor/visitor.state.d.ts.map +1 -1
- package/dist/widget.js +11 -11
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Gt, _, lo, co,
|
|
1
|
+
var Gt, _, lo, co, Fe, Xr, uo, ho, Un, hn, Nt, po, jr, tr, nr, fo, gn = {}, xn = [], cs = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, Yt = Array.isArray;
|
|
2
2
|
function Ie(t, e) {
|
|
3
3
|
for (var n in e) t[n] = e[n];
|
|
4
4
|
return t;
|
|
@@ -42,13 +42,13 @@ function mo(t) {
|
|
|
42
42
|
}), mo(t);
|
|
43
43
|
}
|
|
44
44
|
function rr(t) {
|
|
45
|
-
(!t.__d && (t.__d = !0) &&
|
|
45
|
+
(!t.__d && (t.__d = !0) && Fe.push(t) && !vn.__r++ || Xr != _.debounceRendering) && ((Xr = _.debounceRendering) || uo)(vn);
|
|
46
46
|
}
|
|
47
47
|
function vn() {
|
|
48
48
|
try {
|
|
49
|
-
for (var t, e = 1;
|
|
49
|
+
for (var t, e = 1; Fe.length; ) Fe.length > e && Fe.sort(ho), t = Fe.shift(), e = Fe.length, ds(t);
|
|
50
50
|
} finally {
|
|
51
|
-
|
|
51
|
+
Fe.length = vn.__r = 0;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
function go(t, e, n, r, i, o, a, l, c, u, h) {
|
|
@@ -119,7 +119,7 @@ function ti(t) {
|
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
function Cr(t, e, n, r, i, o, a, l, c, u) {
|
|
122
|
-
var h, f, d, p, m, y, g, v, b, x, P, S, O, W,
|
|
122
|
+
var h, f, d, p, m, y, g, v, b, x, P, S, O, W, F, ae, L = e.type;
|
|
123
123
|
if (e.constructor !== void 0) return null;
|
|
124
124
|
128 & n.__u && (c = !!(32 & n.__u), o = [l = e.__e = n.__e]), (h = _.__b) && h(e);
|
|
125
125
|
e: if (typeof L == "function") {
|
|
@@ -128,8 +128,8 @@ function Cr(t, e, n, r, i, o, a, l, c, u) {
|
|
|
128
128
|
if (b = e.props, x = L.prototype && L.prototype.render, P = (h = L.contextType) && r[h.__c], S = h ? P ? P.props.value : h.__ : r, n.__c ? v = (d = e.__c = n.__c).__ = d.__E : (x ? e.__c = d = new L(b, S) : (e.__c = d = new _e(b, S), d.constructor = L, d.render = ms), P && P.sub(d), d.state || (d.state = {}), d.__n = r, p = d.__d = !0, d.__h = [], d._sb = []), x && d.__s == null && (d.__s = d.state), x && L.getDerivedStateFromProps != null && (d.__s == d.state && (d.__s = Ie({}, d.__s)), Ie(d.__s, L.getDerivedStateFromProps(b, d.__s))), m = d.props, y = d.state, d.__v = e, p) x && L.getDerivedStateFromProps == null && d.componentWillMount != null && d.componentWillMount(), x && d.componentDidMount != null && d.__h.push(d.componentDidMount);
|
|
129
129
|
else {
|
|
130
130
|
if (x && L.getDerivedStateFromProps == null && b !== m && d.componentWillReceiveProps != null && d.componentWillReceiveProps(b, S), e.__v == n.__v || !d.__e && d.shouldComponentUpdate != null && d.shouldComponentUpdate(b, d.__s, S) === !1) {
|
|
131
|
-
e.__v != n.__v && (d.props = b, d.state = d.__s, d.__d = !1), e.__e = n.__e, e.__k = n.__k, e.__k.some(function(
|
|
132
|
-
|
|
131
|
+
e.__v != n.__v && (d.props = b, d.state = d.__s, d.__d = !1), e.__e = n.__e, e.__k = n.__k, e.__k.some(function(U) {
|
|
132
|
+
U && (U.__ = e);
|
|
133
133
|
}), xn.push.apply(d.__h, d._sb), d._sb = [], d.__h.length && a.push(d);
|
|
134
134
|
break e;
|
|
135
135
|
}
|
|
@@ -141,17 +141,17 @@ function Cr(t, e, n, r, i, o, a, l, c, u) {
|
|
|
141
141
|
else do
|
|
142
142
|
d.__d = !1, O && O(e), h = d.render(d.props, d.state, d.context), d.state = d.__s;
|
|
143
143
|
while (d.__d && ++W < 25);
|
|
144
|
-
d.state = d.__s, d.getChildContext != null && (r = Ie(Ie({}, r), d.getChildContext())), x && !p && d.getSnapshotBeforeUpdate != null && (g = d.getSnapshotBeforeUpdate(m, y)),
|
|
145
|
-
} catch (
|
|
146
|
-
if (a.length = f, e.__v = null, c || o != null) if (
|
|
144
|
+
d.state = d.__s, d.getChildContext != null && (r = Ie(Ie({}, r), d.getChildContext())), x && !p && d.getSnapshotBeforeUpdate != null && (g = d.getSnapshotBeforeUpdate(m, y)), F = h != null && h.type === z && h.key == null ? bo(h.props.children) : h, l = go(t, Yt(F) ? F : [F], e, n, r, i, o, a, l, c, u), d.base = e.__e, e.__u &= -161, d.__h.length && a.push(d), v && (d.__E = d.__ = null);
|
|
145
|
+
} catch (U) {
|
|
146
|
+
if (a.length = f, e.__v = null, c || o != null) if (U.then) {
|
|
147
147
|
for (e.__u |= c ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling;
|
|
148
148
|
o != null && (o[o.indexOf(l)] = null), e.__e = l;
|
|
149
149
|
} else {
|
|
150
150
|
if (o != null) for (ae = o.length; ae--; ) Sr(o[ae]);
|
|
151
151
|
ir(e);
|
|
152
152
|
}
|
|
153
|
-
else e.__e = n.__e, !e.__k && n.__k && (e.__k = n.__k),
|
|
154
|
-
_.__e(
|
|
153
|
+
else e.__e = n.__e, !e.__k && n.__k && (e.__k = n.__k), U.then || ir(e);
|
|
154
|
+
_.__e(U, e, n);
|
|
155
155
|
}
|
|
156
156
|
} else o == null && e.__v == n.__v ? (e.__k = n.__k, e.__e = n.__e) : l = e.__e = fs(n.__e, e, n, r, i, o, a, c, u);
|
|
157
157
|
return (h = _.diffed) && h(e), 128 & e.__u ? void 0 : l;
|
|
@@ -272,9 +272,9 @@ Gt = xn.slice, _ = { __e: function(t, e, n, r) {
|
|
|
272
272
|
n = this.__s != null && this.__s != this.state ? this.__s : this.__s = Ie({}, this.state), typeof t == "function" && (t = t(Ie({}, n), this.props)), t && Ie(n, t), t != null && this.__v && (e && this._sb.push(e), rr(this));
|
|
273
273
|
}, _e.prototype.forceUpdate = function(t) {
|
|
274
274
|
this.__v && (this.__e = !0, t && this.__h.push(t), rr(this));
|
|
275
|
-
}, _e.prototype.render = z,
|
|
275
|
+
}, _e.prototype.render = z, Fe = [], uo = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, ho = function(t, e) {
|
|
276
276
|
return t.__v.__b - e.__v.__b;
|
|
277
|
-
}, vn.__r = 0,
|
|
277
|
+
}, vn.__r = 0, Un = Math.random().toString(8), hn = "__d" + Un, Nt = "__a" + Un, po = /(PointerCapture)$|Capture$/i, jr = 0, tr = ti(!1), nr = ti(!0), fo = 0;
|
|
278
278
|
var vs = 0;
|
|
279
279
|
function s(t, e, n, r, i, o) {
|
|
280
280
|
e || (e = {});
|
|
@@ -284,9 +284,9 @@ function s(t, e, n, r, i, o) {
|
|
|
284
284
|
if (typeof t == "function" && (a = t.defaultProps)) for (l in a) c[l] === void 0 && (c[l] = a[l]);
|
|
285
285
|
return _.vnode && _.vnode(u), u;
|
|
286
286
|
}
|
|
287
|
-
var
|
|
287
|
+
var Qe, B, Vn, ni, bt = 0, ko = [], H = _, ri = H.__b, ii = H.__r, oi = H.diffed, ai = H.__c, si = H.unmount, li = H.__;
|
|
288
288
|
function _t(t, e) {
|
|
289
|
-
|
|
289
|
+
H.__h && H.__h(B, t, bt || e), bt = 0;
|
|
290
290
|
var n = B.__H || (B.__H = { __: [], __h: [] });
|
|
291
291
|
return t >= n.__.length && n.__.push({}), n.__[t];
|
|
292
292
|
}
|
|
@@ -294,7 +294,7 @@ function I(t) {
|
|
|
294
294
|
return bt = 1, pe(To, t);
|
|
295
295
|
}
|
|
296
296
|
function pe(t, e, n) {
|
|
297
|
-
var r = _t(
|
|
297
|
+
var r = _t(Qe++, 2);
|
|
298
298
|
if (r.t = t, !r.__c && (r.__ = [n ? n(e) : To(void 0, e), function(l) {
|
|
299
299
|
var c = r.__N ? r.__N[0] : r.__[0], u = r.t(c, l);
|
|
300
300
|
c !== u && (r.__N = [u, r.__[1]], r.__c.setState({}));
|
|
@@ -327,12 +327,12 @@ function pe(t, e, n) {
|
|
|
327
327
|
return r.__N || r.__;
|
|
328
328
|
}
|
|
329
329
|
function T(t, e) {
|
|
330
|
-
var n = _t(
|
|
331
|
-
!
|
|
330
|
+
var n = _t(Qe++, 3);
|
|
331
|
+
!H.__s && Rr(n.__H, e) && (n.__ = t, n.u = e, B.__H.__h.push(n));
|
|
332
332
|
}
|
|
333
333
|
function Jt(t, e) {
|
|
334
|
-
var n = _t(
|
|
335
|
-
!
|
|
334
|
+
var n = _t(Qe++, 4);
|
|
335
|
+
!H.__s && Rr(n.__H, e) && (n.__ = t, n.u = e, B.__h.push(n));
|
|
336
336
|
}
|
|
337
337
|
function be(t) {
|
|
338
338
|
return bt = 5, Z(function() {
|
|
@@ -353,7 +353,7 @@ function _o(t, e, n) {
|
|
|
353
353
|
}, n == null ? n : n.concat(t));
|
|
354
354
|
}
|
|
355
355
|
function Z(t, e) {
|
|
356
|
-
var n = _t(
|
|
356
|
+
var n = _t(Qe++, 7);
|
|
357
357
|
return Rr(n.__H, e) && (n.__ = t(), n.__H = e, n.__h = t), n.__;
|
|
358
358
|
}
|
|
359
359
|
function N(t, e) {
|
|
@@ -362,14 +362,14 @@ function N(t, e) {
|
|
|
362
362
|
}, e);
|
|
363
363
|
}
|
|
364
364
|
function Zt(t) {
|
|
365
|
-
var e = B.context[t.__c], n = _t(
|
|
365
|
+
var e = B.context[t.__c], n = _t(Qe++, 9);
|
|
366
366
|
return n.c = t, e ? (n.__ == null && (n.__ = !0, e.sub(B)), e.props.value) : t.__;
|
|
367
367
|
}
|
|
368
368
|
function jo(t, e) {
|
|
369
|
-
|
|
369
|
+
H.useDebugValue && H.useDebugValue(e ? e(t) : t);
|
|
370
370
|
}
|
|
371
371
|
function So() {
|
|
372
|
-
var t = _t(
|
|
372
|
+
var t = _t(Qe++, 11);
|
|
373
373
|
if (!t.__) {
|
|
374
374
|
for (var e = B.__v; e !== null && !e.__m && e.__ !== null; ) e = e.__;
|
|
375
375
|
var n = e.__m || (e.__m = [0, 0]);
|
|
@@ -383,27 +383,27 @@ function ci() {
|
|
|
383
383
|
if (t.__P && e) try {
|
|
384
384
|
e.__h.some(or), e.__h.some(Co), e.__h = [];
|
|
385
385
|
} catch (n) {
|
|
386
|
-
e.__h = [],
|
|
386
|
+
e.__h = [], H.__e(n, t.__v);
|
|
387
387
|
}
|
|
388
388
|
}
|
|
389
389
|
}
|
|
390
|
-
|
|
390
|
+
H.__b = function(t) {
|
|
391
391
|
B = null, ri && ri(t);
|
|
392
|
-
},
|
|
392
|
+
}, H.__ = function(t, e) {
|
|
393
393
|
t && e.__k && e.__k.__m && (t.__m = e.__k.__m), li && li(t, e);
|
|
394
|
-
},
|
|
395
|
-
ii && ii(t),
|
|
394
|
+
}, H.__r = function(t) {
|
|
395
|
+
ii && ii(t), Qe = 0;
|
|
396
396
|
var e = (B = t.__c).__H;
|
|
397
397
|
e && (Vn === B ? (e.__h = [], B.__h = [], e.__.some(function(n) {
|
|
398
398
|
n.__N && (n.__ = n.__N), n.u = n.__N = void 0;
|
|
399
|
-
})) : (e.__h.length && ci(),
|
|
400
|
-
},
|
|
399
|
+
})) : (e.__h.length && ci(), Qe = 0)), Vn = B;
|
|
400
|
+
}, H.diffed = function(t) {
|
|
401
401
|
oi && oi(t);
|
|
402
402
|
var e = t.__c;
|
|
403
|
-
e && e.__H && (e.__H.__h.length && (ko.push(e) !== 1 && ni ===
|
|
403
|
+
e && e.__H && (e.__H.__h.length && (ko.push(e) !== 1 && ni === H.requestAnimationFrame || ((ni = H.requestAnimationFrame) || bs)(ci)), e.__H.__.some(function(n) {
|
|
404
404
|
n.u && (n.__H = n.u, n.u = void 0);
|
|
405
405
|
})), Vn = B = null;
|
|
406
|
-
},
|
|
406
|
+
}, H.__c = function(t, e) {
|
|
407
407
|
e.some(function(n) {
|
|
408
408
|
try {
|
|
409
409
|
n.__h.some(or), n.__h = n.__h.filter(function(r) {
|
|
@@ -412,10 +412,10 @@ Q.__b = function(t) {
|
|
|
412
412
|
} catch (r) {
|
|
413
413
|
e.some(function(i) {
|
|
414
414
|
i.__h && (i.__h = []);
|
|
415
|
-
}), e = [],
|
|
415
|
+
}), e = [], H.__e(r, n.__v);
|
|
416
416
|
}
|
|
417
417
|
}), ai && ai(t, e);
|
|
418
|
-
},
|
|
418
|
+
}, H.unmount = function(t) {
|
|
419
419
|
si && si(t);
|
|
420
420
|
var e, n = t.__c;
|
|
421
421
|
n && n.__H && (n.__H.__.some(function(r) {
|
|
@@ -424,7 +424,7 @@ Q.__b = function(t) {
|
|
|
424
424
|
} catch (i) {
|
|
425
425
|
e = i;
|
|
426
426
|
}
|
|
427
|
-
}), n.__H = void 0, e &&
|
|
427
|
+
}), n.__H = void 0, e && H.__e(e, n.__v));
|
|
428
428
|
};
|
|
429
429
|
var ui = typeof requestAnimationFrame == "function";
|
|
430
430
|
function bs(t) {
|
|
@@ -461,14 +461,14 @@ function ar(t, e) {
|
|
|
461
461
|
function Ao(t, e) {
|
|
462
462
|
var n = e(), r = I({ t: { __: n, u: e } }), i = r[0].t, o = r[1];
|
|
463
463
|
return Jt(function() {
|
|
464
|
-
i.__ = n, i.u = e,
|
|
464
|
+
i.__ = n, i.u = e, Hn(i) && o({ t: i });
|
|
465
465
|
}, [t, n, e]), T(function() {
|
|
466
|
-
return
|
|
467
|
-
|
|
466
|
+
return Hn(i) && o({ t: i }), t(function() {
|
|
467
|
+
Hn(i) && o({ t: i });
|
|
468
468
|
});
|
|
469
469
|
}, [t]), n;
|
|
470
470
|
}
|
|
471
|
-
function
|
|
471
|
+
function Hn(t) {
|
|
472
472
|
try {
|
|
473
473
|
return !((e = t.__) === (n = t.u()) && (e !== 0 || 1 / e == 1 / n) || e != e && n != n);
|
|
474
474
|
} catch {
|
|
@@ -731,24 +731,24 @@ function Bs(t) {
|
|
|
731
731
|
function Ds(t) {
|
|
732
732
|
return qn(t) ? gs.apply(null, arguments) : t;
|
|
733
733
|
}
|
|
734
|
-
function
|
|
734
|
+
function Fs(t) {
|
|
735
735
|
return !!t.__k && (tt(null, t), !0);
|
|
736
736
|
}
|
|
737
|
-
function
|
|
737
|
+
function Us(t) {
|
|
738
738
|
return t && (t.base || t.nodeType === 1 && t) || null;
|
|
739
739
|
}
|
|
740
740
|
var Vs = function(t, e) {
|
|
741
741
|
return t(e);
|
|
742
|
-
},
|
|
742
|
+
}, Hs = function(t, e) {
|
|
743
743
|
var n = _.debounceRendering;
|
|
744
744
|
_.debounceRendering = function(i) {
|
|
745
745
|
return i();
|
|
746
746
|
};
|
|
747
747
|
var r = t(e);
|
|
748
748
|
return _.debounceRendering = n, r;
|
|
749
|
-
},
|
|
750
|
-
for (var dt = 0, Ks =
|
|
751
|
-
Ae[dt] =
|
|
749
|
+
}, Qs = qn, Ir = { useState: I, useId: So, useReducer: pe, useEffect: T, useLayoutEffect: Jt, useInsertionEffect: $o, useTransition: Po, useDeferredValue: Eo, useSyncExternalStore: Ao, startTransition: Io, useRef: be, useImperativeHandle: _o, useMemo: Z, useCallback: N, useContext: Zt, useDebugValue: jo, version: "18.3.1", Children: _s, render: Ms, hydrate: qs, unmountComponentAtNode: Fs, createPortal: Rs, createElement: ve, createContext: xs, createFactory: Os, cloneElement: Ds, createRef: us, Fragment: z, isValidElement: qn, isElement: Qs, isFragment: zs, isMemo: Bs, findDOMNode: Us, Component: _e, PureComponent: sr, memo: ys, forwardRef: ks, flushSync: Hs, unstable_batchedUpdates: Vs, StrictMode: z, Suspense: pn, SuspenseList: $t, lazy: Ss, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: Ls }, Ae = [], ge = [], Ws = Uint8Array, Qn = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
750
|
+
for (var dt = 0, Ks = Qn.length; dt < Ks; ++dt)
|
|
751
|
+
Ae[dt] = Qn[dt], ge[Qn.charCodeAt(dt)] = dt;
|
|
752
752
|
ge[45] = 62;
|
|
753
753
|
ge[95] = 63;
|
|
754
754
|
function Gs(t) {
|
|
@@ -777,7 +777,7 @@ function Zs(t, e, n) {
|
|
|
777
777
|
r = (t[o] << 16 & 16711680) + (t[o + 1] << 8 & 65280) + (t[o + 2] & 255), i.push(Js(r));
|
|
778
778
|
return i.join("");
|
|
779
779
|
}
|
|
780
|
-
function
|
|
780
|
+
function Ft(t) {
|
|
781
781
|
for (var e, n = t.length, r = n % 3, i = [], o = 16383, a = 0, l = n - r; a < l; a += o)
|
|
782
782
|
i.push(
|
|
783
783
|
Zs(
|
|
@@ -842,7 +842,7 @@ function nl(t) {
|
|
|
842
842
|
let r = 0;
|
|
843
843
|
for (const i of e.match(/.{2}/g).reverse())
|
|
844
844
|
n.set([parseInt(i, 16)], r++), t >>= el;
|
|
845
|
-
return
|
|
845
|
+
return Ft(n);
|
|
846
846
|
}
|
|
847
847
|
function rl(t) {
|
|
848
848
|
const e = Dt(t);
|
|
@@ -861,7 +861,7 @@ function il(t) {
|
|
|
861
861
|
`BigInt ${t} does not fit into a 64-bit signed integer.`
|
|
862
862
|
);
|
|
863
863
|
const e = new ArrayBuffer(8);
|
|
864
|
-
return new DataView(e).setBigInt64(0, t, !0),
|
|
864
|
+
return new DataView(e).setBigInt64(0, t, !0), Ft(new Uint8Array(e));
|
|
865
865
|
}
|
|
866
866
|
function ol(t) {
|
|
867
867
|
const e = Dt(t);
|
|
@@ -966,13 +966,13 @@ function cr(t, e, n, r) {
|
|
|
966
966
|
if (typeof t == "number")
|
|
967
967
|
if (Bo(t)) {
|
|
968
968
|
const a = new ArrayBuffer(8);
|
|
969
|
-
return new DataView(a).setFloat64(0, t, zo), { $float:
|
|
969
|
+
return new DataView(a).setFloat64(0, t, zo), { $float: Ft(new Uint8Array(a)) };
|
|
970
970
|
} else
|
|
971
971
|
return t;
|
|
972
972
|
if (typeof t == "boolean" || typeof t == "string")
|
|
973
973
|
return t;
|
|
974
974
|
if (t instanceof ArrayBuffer)
|
|
975
|
-
return { $bytes:
|
|
975
|
+
return { $bytes: Ft(new Uint8Array(t)) };
|
|
976
976
|
if (Array.isArray(t))
|
|
977
977
|
return t.map(
|
|
978
978
|
(a, l) => cr(a, e, n + `[${l}]`)
|
|
@@ -1016,13 +1016,13 @@ class bn extends (ki = Error, wi = ul, ki) {
|
|
|
1016
1016
|
super(typeof e == "string" ? e : Ot(e)), Kn(this, "name", "ConvexError"), Kn(this, "data"), Kn(this, wi, !0), this.data = e;
|
|
1017
1017
|
}
|
|
1018
1018
|
}
|
|
1019
|
-
const
|
|
1020
|
-
|
|
1021
|
-
|
|
1019
|
+
const Fo = () => Array.from({ length: 4 }, () => 0);
|
|
1020
|
+
Fo();
|
|
1021
|
+
Fo();
|
|
1022
1022
|
const _i = "1.42.0";
|
|
1023
1023
|
var dl = Object.defineProperty, hl = (t, e, n) => e in t ? dl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ji = (t, e, n) => hl(t, typeof e != "symbol" ? e + "" : e, n);
|
|
1024
1024
|
const pl = "color:rgb(0, 145, 255)";
|
|
1025
|
-
function
|
|
1025
|
+
function Uo(t) {
|
|
1026
1026
|
switch (t) {
|
|
1027
1027
|
case "query":
|
|
1028
1028
|
return "Q";
|
|
@@ -1064,7 +1064,7 @@ class Vo {
|
|
|
1064
1064
|
n("error", ...e);
|
|
1065
1065
|
}
|
|
1066
1066
|
}
|
|
1067
|
-
function
|
|
1067
|
+
function Ho(t) {
|
|
1068
1068
|
const e = new Vo(t);
|
|
1069
1069
|
return e.addLogLineListener((n, ...r) => {
|
|
1070
1070
|
switch (n) {
|
|
@@ -1085,11 +1085,11 @@ function Qo(t) {
|
|
|
1085
1085
|
}
|
|
1086
1086
|
}), e;
|
|
1087
1087
|
}
|
|
1088
|
-
function
|
|
1088
|
+
function Qo(t) {
|
|
1089
1089
|
return new Vo(t);
|
|
1090
1090
|
}
|
|
1091
1091
|
function yn(t, e, n, r, i) {
|
|
1092
|
-
const o =
|
|
1092
|
+
const o = Uo(n);
|
|
1093
1093
|
if (typeof i == "object" && (i = `ConvexError ${JSON.stringify(i.errorData, null, 2)}`), e === "info") {
|
|
1094
1094
|
const a = i.match(/^\[.*?\] /);
|
|
1095
1095
|
if (a === null) {
|
|
@@ -1108,7 +1108,7 @@ function fl(t, e) {
|
|
|
1108
1108
|
return t.error(n), new Error(n);
|
|
1109
1109
|
}
|
|
1110
1110
|
function mt(t, e, n) {
|
|
1111
|
-
return `[CONVEX ${
|
|
1111
|
+
return `[CONVEX ${Uo(t)}(${e})] ${n.errorMessage}
|
|
1112
1112
|
Called by client`;
|
|
1113
1113
|
}
|
|
1114
1114
|
function ur(t, e) {
|
|
@@ -1477,7 +1477,7 @@ class yl {
|
|
|
1477
1477
|
return this.inflightActionsCount;
|
|
1478
1478
|
}
|
|
1479
1479
|
}
|
|
1480
|
-
const
|
|
1480
|
+
const Ut = /* @__PURE__ */ Symbol.for("functionName"), Wo = /* @__PURE__ */ Symbol.for("toReferencePath");
|
|
1481
1481
|
function wl(t) {
|
|
1482
1482
|
return t[Wo] ?? null;
|
|
1483
1483
|
}
|
|
@@ -1488,8 +1488,8 @@ function _l(t) {
|
|
|
1488
1488
|
let e;
|
|
1489
1489
|
if (typeof t == "string")
|
|
1490
1490
|
kl(t) ? e = { functionHandle: t } : e = { name: t };
|
|
1491
|
-
else if (t[
|
|
1492
|
-
e = { name: t[
|
|
1491
|
+
else if (t[Ut])
|
|
1492
|
+
e = { name: t[Ut] };
|
|
1493
1493
|
else {
|
|
1494
1494
|
const n = wl(t);
|
|
1495
1495
|
if (!n)
|
|
@@ -1509,13 +1509,13 @@ function se(t) {
|
|
|
1509
1509
|
`Expected function reference like "api.file.func" or "internal.file.func", but received ${JSON.stringify(e)}`
|
|
1510
1510
|
);
|
|
1511
1511
|
if (typeof t == "string") return t;
|
|
1512
|
-
const n = t[
|
|
1512
|
+
const n = t[Ut];
|
|
1513
1513
|
if (!n)
|
|
1514
1514
|
throw new Error(`${t} is not a functionReference`);
|
|
1515
1515
|
return n;
|
|
1516
1516
|
}
|
|
1517
1517
|
function Pr(t) {
|
|
1518
|
-
return { [
|
|
1518
|
+
return { [Ut]: t };
|
|
1519
1519
|
}
|
|
1520
1520
|
function Ko(t = []) {
|
|
1521
1521
|
const e = {
|
|
@@ -1523,7 +1523,7 @@ function Ko(t = []) {
|
|
|
1523
1523
|
if (typeof r == "string") {
|
|
1524
1524
|
const i = [...t, r];
|
|
1525
1525
|
return Ko(i);
|
|
1526
|
-
} else if (r ===
|
|
1526
|
+
} else if (r === Ut) {
|
|
1527
1527
|
if (t.length < 2) {
|
|
1528
1528
|
const a = ["api", ...t].join(".");
|
|
1529
1529
|
throw new Error(
|
|
@@ -1765,7 +1765,7 @@ function Yn(t) {
|
|
|
1765
1765
|
}
|
|
1766
1766
|
function Ml(t) {
|
|
1767
1767
|
const e = new Uint8Array(t.toBytesLE());
|
|
1768
|
-
return
|
|
1768
|
+
return Ft(e);
|
|
1769
1769
|
}
|
|
1770
1770
|
function Ai(t) {
|
|
1771
1771
|
switch (t.type) {
|
|
@@ -1835,7 +1835,7 @@ const Go = {
|
|
|
1835
1835
|
SearchIndexTooLarge: { timeout: 3e3 },
|
|
1836
1836
|
TooManyWritesInTimePeriod: { timeout: 3e3 }
|
|
1837
1837
|
};
|
|
1838
|
-
function
|
|
1838
|
+
function Fl(t) {
|
|
1839
1839
|
if (t === void 0) return "Unknown";
|
|
1840
1840
|
for (const e of Object.keys(
|
|
1841
1841
|
Go
|
|
@@ -1844,7 +1844,7 @@ function Ul(t) {
|
|
|
1844
1844
|
return e;
|
|
1845
1845
|
return "Unknown";
|
|
1846
1846
|
}
|
|
1847
|
-
class
|
|
1847
|
+
class Ul {
|
|
1848
1848
|
constructor(e, n, r, i, o, a) {
|
|
1849
1849
|
this.markConnectionStateDirty = o, this.debug = a, Y(this, "socket"), Y(this, "connectionCount"), Y(this, "_hasEverConnected", !1), Y(this, "lastCloseReason"), Y(this, "transitionChunkBuffer", null), Y(this, "defaultInitialBackoff"), Y(this, "maxBackoff"), Y(this, "retries"), Y(this, "serverInactivityThreshold"), Y(this, "reconnectDueToServerInactivityTimeout"), Y(this, "scheduledReconnect", null), Y(this, "networkOnlineHandler", null), Y(this, "pendingNetworkRecoveryInfo", null), Y(this, "uri"), Y(this, "onOpen"), Y(this, "onResume"), Y(this, "onMessage"), Y(this, "webSocketConstructor"), Y(this, "logger"), Y(this, "onServerDisconnectError"), this.webSocketConstructor = r, this.socket = { state: "disconnected" }, this.connectionCount = 0, this.lastCloseReason = "InitialConnect", this.defaultInitialBackoff = 1e3, this.maxBackoff = 16e3, this.retries = 0, this.serverInactivityThreshold = 6e4, this.reconnectDueToServerInactivityTimeout = null, this.uri = e, this.onOpen = n.onOpen, this.onResume = n.onResume, this.onMessage = n.onMessage, this.onServerDisconnectError = n.onServerDisconnectError, this.logger = i, this.setupNetworkListener(), this.connect();
|
|
1850
1850
|
}
|
|
@@ -1954,7 +1954,7 @@ class Fl {
|
|
|
1954
1954
|
let i = `WebSocket closed with code ${n.code}`;
|
|
1955
1955
|
n.reason && (i += `: ${n.reason}`), this.logger.log(i), this.onServerDisconnectError && n.reason && this.onServerDisconnectError(i);
|
|
1956
1956
|
}
|
|
1957
|
-
const r =
|
|
1957
|
+
const r = Fl(n.reason);
|
|
1958
1958
|
this.scheduleReconnect(r);
|
|
1959
1959
|
};
|
|
1960
1960
|
}
|
|
@@ -2236,9 +2236,9 @@ class Fl {
|
|
|
2236
2236
|
}
|
|
2237
2237
|
}
|
|
2238
2238
|
function Vl() {
|
|
2239
|
-
return
|
|
2239
|
+
return Hl();
|
|
2240
2240
|
}
|
|
2241
|
-
function
|
|
2241
|
+
function Hl() {
|
|
2242
2242
|
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (t) => {
|
|
2243
2243
|
const e = Math.random() * 16 | 0;
|
|
2244
2244
|
return (t === "x" ? e : e & 3 | 8).toString(16);
|
|
@@ -2247,7 +2247,7 @@ function Ql() {
|
|
|
2247
2247
|
class Mt extends Error {
|
|
2248
2248
|
}
|
|
2249
2249
|
Mt.prototype.name = "InvalidTokenError";
|
|
2250
|
-
function
|
|
2250
|
+
function Ql(t) {
|
|
2251
2251
|
return decodeURIComponent(
|
|
2252
2252
|
atob(t).replace(/(.)/g, (e, n) => {
|
|
2253
2253
|
let r = n.charCodeAt(0).toString(16).toUpperCase();
|
|
@@ -2270,7 +2270,7 @@ function Wl(t) {
|
|
|
2270
2270
|
throw new Error("base64 string is not of the correct length");
|
|
2271
2271
|
}
|
|
2272
2272
|
try {
|
|
2273
|
-
return
|
|
2273
|
+
return Ql(e);
|
|
2274
2274
|
} catch {
|
|
2275
2275
|
return atob(e);
|
|
2276
2276
|
}
|
|
@@ -2566,7 +2566,7 @@ class ic {
|
|
|
2566
2566
|
throw new Error(
|
|
2567
2567
|
"No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient"
|
|
2568
2568
|
);
|
|
2569
|
-
o = o || WebSocket, this.debug = r.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = r.logger === !1 ?
|
|
2569
|
+
o = o || WebSocket, this.debug = r.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = r.logger === !1 ? Qo({ verbose: r.verbose ?? !1 }) : r.logger !== !0 && r.logger ? r.logger : Ho({ verbose: r.verbose ?? !1 });
|
|
2570
2570
|
const a = e.search("://");
|
|
2571
2571
|
if (a === -1)
|
|
2572
2572
|
throw new Error("Provided address was not an absolute URL.");
|
|
@@ -2624,7 +2624,7 @@ class ic {
|
|
|
2624
2624
|
return (p || window.event).returnValue = m, m;
|
|
2625
2625
|
}
|
|
2626
2626
|
});
|
|
2627
|
-
this.webSocketManager = new
|
|
2627
|
+
this.webSocketManager = new Ul(
|
|
2628
2628
|
h,
|
|
2629
2629
|
{
|
|
2630
2630
|
onOpen: (p) => {
|
|
@@ -3474,7 +3474,7 @@ class pc {
|
|
|
3474
3474
|
);
|
|
3475
3475
|
if (!e.includes("://"))
|
|
3476
3476
|
throw new Error("Provided address was not an absolute URL.");
|
|
3477
|
-
this.address = e, this.listeners = /* @__PURE__ */ new Map(), this._logger = n?.logger === !1 ?
|
|
3477
|
+
this.address = e, this.listeners = /* @__PURE__ */ new Map(), this._logger = n?.logger === !1 ? Qo({ verbose: n?.verbose ?? !1 }) : n?.logger !== !0 && n?.logger ? n.logger : Ho({ verbose: n?.verbose ?? !1 }), this.options = { ...n, logger: this._logger };
|
|
3478
3478
|
}
|
|
3479
3479
|
/**
|
|
3480
3480
|
* Return the address for this client, useful for creating a new client.
|
|
@@ -4359,7 +4359,7 @@ function Ac() {
|
|
|
4359
4359
|
function aa() {
|
|
4360
4360
|
ia.push(this) === 1 && (_.requestAnimationFrame || Rc)(Ac);
|
|
4361
4361
|
}
|
|
4362
|
-
const
|
|
4362
|
+
const Q = $(!1), Tn = $(void 0), tn = "https://jexitychat.de/privacy", nn = $(tn), Mr = $("chip"), He = $(void 0), pr = $([]), fr = $([]), sa = $(null);
|
|
4363
4363
|
function Ic(t) {
|
|
4364
4364
|
return t.replace(/\.convex\.site\b/, ".convex.cloud");
|
|
4365
4365
|
}
|
|
@@ -4447,7 +4447,7 @@ function Nc(t, e, n) {
|
|
|
4447
4447
|
});
|
|
4448
4448
|
return T(() => {
|
|
4449
4449
|
i({ config: null, settled: !1 });
|
|
4450
|
-
const o = n ?? "https://
|
|
4450
|
+
const o = n ?? "https://festive-mouse-978.eu-west-1.convex.cloud", a = o ? la(o) : void 0;
|
|
4451
4451
|
if (!a || !t) {
|
|
4452
4452
|
i({ config: null, settled: !0 });
|
|
4453
4453
|
return;
|
|
@@ -4511,7 +4511,7 @@ function Oc({
|
|
|
4511
4511
|
preExcludedPaths: o
|
|
4512
4512
|
}) {
|
|
4513
4513
|
T(() => {
|
|
4514
|
-
const a = r ?? "https://
|
|
4514
|
+
const a = r ?? "https://festive-mouse-978.eu-west-1.convex.cloud", l = a ? la(a) : void 0;
|
|
4515
4515
|
if (!l || !t)
|
|
4516
4516
|
return;
|
|
4517
4517
|
if (sa.value = { orgSlug: t, projSlug: e, siteUrl: l }, n) {
|
|
@@ -4523,7 +4523,7 @@ function Oc({
|
|
|
4523
4523
|
const u = await ca(t, l, e);
|
|
4524
4524
|
if (!c)
|
|
4525
4525
|
if (u.ok)
|
|
4526
|
-
|
|
4526
|
+
He.value = u.token, pr.value = u.allowedUrls, fr.value = u.excludePaths;
|
|
4527
4527
|
else {
|
|
4528
4528
|
const h = e ? `project '${t}/${e}'` : `org '${t}'`;
|
|
4529
4529
|
u.error === "unauthorized" ? console.warn(
|
|
@@ -5069,18 +5069,18 @@ Verwenden Sie sie, um diese Unterhaltung auf jedem Gerät fortzusetzen.`,
|
|
|
5069
5069
|
waitingTitle: "Du bist in der Warteschlange",
|
|
5070
5070
|
waitingSubtitle: "Lass diesen Tab offen — wir benachrichtigen dich hier, sobald jemand antwortet.",
|
|
5071
5071
|
waitingLeaveEmail: "Lieber per E-Mail? Hinterlasse deine Daten"
|
|
5072
|
-
},
|
|
5072
|
+
}, Fc = [
|
|
5073
5073
|
{ value: "de", label: "Deutsch", flag: "🇩🇪" },
|
|
5074
5074
|
{ value: "en", label: "English", flag: "🇬🇧" }
|
|
5075
|
-
],
|
|
5075
|
+
], Uc = "de", Vc = "jex-locale", Me = $("de"), Hc = { en: qr, de: ua };
|
|
5076
5076
|
function j() {
|
|
5077
|
-
return
|
|
5077
|
+
return Hc[Me.value] ?? qr;
|
|
5078
5078
|
}
|
|
5079
5079
|
function Xn(t) {
|
|
5080
5080
|
if (!t)
|
|
5081
5081
|
return null;
|
|
5082
5082
|
const e = (t.split("-")[0] ?? "").toLowerCase();
|
|
5083
|
-
return
|
|
5083
|
+
return Fc.some((r) => r.value === e) ? e : null;
|
|
5084
5084
|
}
|
|
5085
5085
|
function da(t) {
|
|
5086
5086
|
const e = Xn(t);
|
|
@@ -5097,9 +5097,9 @@ function da(t) {
|
|
|
5097
5097
|
if (n)
|
|
5098
5098
|
return n;
|
|
5099
5099
|
}
|
|
5100
|
-
return
|
|
5100
|
+
return Uc;
|
|
5101
5101
|
}
|
|
5102
|
-
function
|
|
5102
|
+
function Qc(t) {
|
|
5103
5103
|
T(() => {
|
|
5104
5104
|
function e(n) {
|
|
5105
5105
|
const r = t ?? window.location.origin;
|
|
@@ -5113,11 +5113,15 @@ function Hc(t) {
|
|
|
5113
5113
|
};
|
|
5114
5114
|
}, [t]);
|
|
5115
5115
|
}
|
|
5116
|
-
const ha = "jex-session-history", pa = ha, fa = 1440 * 60 * 1e3, ie = $([]), fe = $(null),
|
|
5117
|
-
function
|
|
5118
|
-
|
|
5116
|
+
const ha = "jex-session-history", pa = ha, fa = 1440 * 60 * 1e3, ie = $([]), fe = $(null), Ue = $(void 0), mr = $(!1), Nr = hr(() => ie.value.length > 0), xt = $(null), Wc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", Kc = 6;
|
|
5117
|
+
function Gc() {
|
|
5118
|
+
let t = "";
|
|
5119
|
+
const e = new Uint8Array(1);
|
|
5120
|
+
for (; t.length < Kc; )
|
|
5121
|
+
crypto.getRandomValues(e), e[0] < 252 && (t += Wc[e[0] % 36]);
|
|
5122
|
+
return "JEX-" + t;
|
|
5119
5123
|
}
|
|
5120
|
-
function
|
|
5124
|
+
function Yc(t) {
|
|
5121
5125
|
if (t === null)
|
|
5122
5126
|
return null;
|
|
5123
5127
|
if (typeof t == "number" && Number.isFinite(t) && t >= 0)
|
|
@@ -5129,46 +5133,46 @@ function ma(t, e, n) {
|
|
|
5129
5133
|
const r = typeof n == "number" ? n : fa;
|
|
5130
5134
|
return t.filter((i) => e - i.lastActivityAt <= r);
|
|
5131
5135
|
}
|
|
5132
|
-
function
|
|
5136
|
+
function Jc(t, e, n, r) {
|
|
5133
5137
|
return n ? ma(t, e, r) : t;
|
|
5134
5138
|
}
|
|
5135
|
-
function
|
|
5139
|
+
function Zc(t) {
|
|
5136
5140
|
try {
|
|
5137
5141
|
const e = sessionStorage.getItem(pa);
|
|
5138
5142
|
if (!e)
|
|
5139
|
-
return
|
|
5143
|
+
return Ue.value = void 0, [];
|
|
5140
5144
|
const n = JSON.parse(e);
|
|
5141
5145
|
if (n.v !== 1 || !Array.isArray(n.entries))
|
|
5142
|
-
return
|
|
5146
|
+
return Ue.value = void 0, [];
|
|
5143
5147
|
const r = Object.prototype.hasOwnProperty.call(n, "timeoutMs");
|
|
5144
|
-
return
|
|
5148
|
+
return Ue.value = Yc(n.timeoutMs), Jc(
|
|
5145
5149
|
n.entries,
|
|
5146
5150
|
t,
|
|
5147
5151
|
r,
|
|
5148
|
-
|
|
5152
|
+
Ue.value
|
|
5149
5153
|
);
|
|
5150
5154
|
} catch {
|
|
5151
|
-
return
|
|
5155
|
+
return Ue.value = void 0, [];
|
|
5152
5156
|
}
|
|
5153
5157
|
}
|
|
5154
5158
|
function rn(t) {
|
|
5155
5159
|
try {
|
|
5156
|
-
const e = { v: 1, entries: t, timeoutMs:
|
|
5160
|
+
const e = { v: 1, entries: t, timeoutMs: Ue.value };
|
|
5157
5161
|
sessionStorage.setItem(pa, JSON.stringify(e));
|
|
5158
5162
|
} catch {
|
|
5159
5163
|
}
|
|
5160
5164
|
}
|
|
5161
|
-
function
|
|
5162
|
-
const t = Date.now(), e =
|
|
5165
|
+
function Xc() {
|
|
5166
|
+
const t = Date.now(), e = Zc(t);
|
|
5163
5167
|
ie.value = e, rn(e), fe.value = e[e.length - 1]?.ref ?? null, mr.value = !0;
|
|
5164
5168
|
}
|
|
5165
|
-
function
|
|
5166
|
-
|
|
5169
|
+
function eu(t) {
|
|
5170
|
+
Ue.value = t;
|
|
5167
5171
|
const e = Date.now(), n = ma(ie.value, e, t), r = fe.value !== null && !n.some((i) => i.ref === fe.value);
|
|
5168
5172
|
return ie.value = n, r && (fe.value = null), rn(n), { activeRefPruned: r };
|
|
5169
5173
|
}
|
|
5170
5174
|
function qi() {
|
|
5171
|
-
const t =
|
|
5175
|
+
const t = Gc(), e = Date.now(), n = [...ie.value, { ref: t, startedAt: e, lastActivityAt: e }];
|
|
5172
5176
|
return ie.value = n, fe.value = t, rn(n), t;
|
|
5173
5177
|
}
|
|
5174
5178
|
function Ni() {
|
|
@@ -5192,10 +5196,10 @@ const de = $(ga());
|
|
|
5192
5196
|
function ga() {
|
|
5193
5197
|
return Nr.value ? [{ id: "home" }] : [{ id: "home" }, { id: "chat" }];
|
|
5194
5198
|
}
|
|
5195
|
-
function
|
|
5199
|
+
function tu() {
|
|
5196
5200
|
de.value = ga();
|
|
5197
5201
|
}
|
|
5198
|
-
const
|
|
5202
|
+
const nu = $("screen");
|
|
5199
5203
|
function ze(t) {
|
|
5200
5204
|
de.value = [...de.value, t];
|
|
5201
5205
|
}
|
|
@@ -5205,22 +5209,22 @@ function Or() {
|
|
|
5205
5209
|
function gr(t) {
|
|
5206
5210
|
de.value = [...de.value.slice(0, -1), t];
|
|
5207
5211
|
}
|
|
5208
|
-
const
|
|
5209
|
-
function
|
|
5212
|
+
const ru = 6e4, Ht = $(!1), xr = $(!1), vr = /* @__PURE__ */ new Set();
|
|
5213
|
+
function iu(t) {
|
|
5210
5214
|
return vr.add(t), () => {
|
|
5211
5215
|
vr.delete(t);
|
|
5212
5216
|
};
|
|
5213
5217
|
}
|
|
5214
|
-
function
|
|
5218
|
+
function ou() {
|
|
5215
5219
|
const t = fe.value;
|
|
5216
5220
|
return t ? ie.value.find((n) => n.ref === t)?.lastActivityAt ?? null : null;
|
|
5217
5221
|
}
|
|
5218
5222
|
function Oi(t) {
|
|
5219
|
-
const e =
|
|
5223
|
+
const e = ou();
|
|
5220
5224
|
return e === null ? !1 : Date.now() - e > t;
|
|
5221
5225
|
}
|
|
5222
5226
|
function br() {
|
|
5223
|
-
if (!(
|
|
5227
|
+
if (!(Ht.value && ie.value.length === 0)) {
|
|
5224
5228
|
ie.value = [], fe.value = null;
|
|
5225
5229
|
try {
|
|
5226
5230
|
sessionStorage.removeItem(ha);
|
|
@@ -5233,13 +5237,13 @@ function br() {
|
|
|
5233
5237
|
} catch (e) {
|
|
5234
5238
|
console.warn("[JexityChat] Lock reset callback threw:", e);
|
|
5235
5239
|
}
|
|
5236
|
-
de.value = [{ id: "home" }],
|
|
5240
|
+
de.value = [{ id: "home" }], Ht.value = !0;
|
|
5237
5241
|
}
|
|
5238
5242
|
}
|
|
5239
5243
|
function un() {
|
|
5240
|
-
|
|
5244
|
+
Ht.value && (Ht.value = !1);
|
|
5241
5245
|
}
|
|
5242
|
-
function
|
|
5246
|
+
function au(t = fa) {
|
|
5243
5247
|
let e = document.visibilityState === "hidden" ? Date.now() : null;
|
|
5244
5248
|
const n = () => {
|
|
5245
5249
|
if (document.visibilityState === "hidden") {
|
|
@@ -5251,12 +5255,12 @@ function iu(t = fa) {
|
|
|
5251
5255
|
document.addEventListener("visibilitychange", n);
|
|
5252
5256
|
const r = setInterval(() => {
|
|
5253
5257
|
xr.value || Oi(t) && br();
|
|
5254
|
-
},
|
|
5258
|
+
}, ru);
|
|
5255
5259
|
return () => {
|
|
5256
5260
|
document.removeEventListener("visibilitychange", n), clearInterval(r), e = null;
|
|
5257
5261
|
};
|
|
5258
5262
|
}
|
|
5259
|
-
function
|
|
5263
|
+
function su(t) {
|
|
5260
5264
|
const e = {}, { primaryColor: n, theme: r } = t;
|
|
5261
5265
|
if (n && (e["--jex-primary"] = n, e["--jex-bg-trigger"] = n, e["--jex-bg-header"] = n, e["--jex-bg-msg-user"] = n, e["--jex-bg-send-btn"] = n), t.accentColor && (e["--jex-accent"] = t.accentColor), r?.bg) {
|
|
5262
5266
|
const i = r.bg;
|
|
@@ -5282,7 +5286,7 @@ function zn({ size: t = 24 }) {
|
|
|
5282
5286
|
/* @__PURE__ */ s("path", { d: "M9 13v2" })
|
|
5283
5287
|
] });
|
|
5284
5288
|
}
|
|
5285
|
-
function
|
|
5289
|
+
function lu() {
|
|
5286
5290
|
const t = j();
|
|
5287
5291
|
return de.value.length > 1 ? /* @__PURE__ */ s(
|
|
5288
5292
|
"button",
|
|
@@ -5294,7 +5298,7 @@ function au() {
|
|
|
5294
5298
|
}
|
|
5295
5299
|
) : /* @__PURE__ */ s(zn, { size: 24 });
|
|
5296
5300
|
}
|
|
5297
|
-
function
|
|
5301
|
+
function cu({ title: t }) {
|
|
5298
5302
|
return /* @__PURE__ */ s("div", { class: "jex-header-info", children: /* @__PURE__ */ s("h3", { children: t }) });
|
|
5299
5303
|
}
|
|
5300
5304
|
function xa({ size: t = 28 }) {
|
|
@@ -5303,7 +5307,7 @@ function xa({ size: t = 28 }) {
|
|
|
5303
5307
|
/* @__PURE__ */ s("path", { d: "m6 6 12 12" })
|
|
5304
5308
|
] });
|
|
5305
5309
|
}
|
|
5306
|
-
function
|
|
5310
|
+
function uu() {
|
|
5307
5311
|
const t = j();
|
|
5308
5312
|
return /* @__PURE__ */ s(
|
|
5309
5313
|
"button",
|
|
@@ -5311,7 +5315,7 @@ function lu() {
|
|
|
5311
5315
|
class: "jex-header-close",
|
|
5312
5316
|
type: "button",
|
|
5313
5317
|
onClick: () => {
|
|
5314
|
-
|
|
5318
|
+
Q.value = !1;
|
|
5315
5319
|
},
|
|
5316
5320
|
"aria-label": t.closeChatAriaLabel,
|
|
5317
5321
|
title: t.closeChatAriaLabel,
|
|
@@ -5319,20 +5323,20 @@ function lu() {
|
|
|
5319
5323
|
}
|
|
5320
5324
|
);
|
|
5321
5325
|
}
|
|
5322
|
-
function
|
|
5326
|
+
function du({ action: t, showClose: e = !0 }) {
|
|
5323
5327
|
return !t && !e ? null : /* @__PURE__ */ s("div", { class: "jex-header-right", children: [
|
|
5324
5328
|
t,
|
|
5325
|
-
e && /* @__PURE__ */ s(
|
|
5329
|
+
e && /* @__PURE__ */ s(uu, {})
|
|
5326
5330
|
] });
|
|
5327
5331
|
}
|
|
5328
5332
|
function zi({ title: t, rightAction: e, showClose: n = !0 }) {
|
|
5329
5333
|
return /* @__PURE__ */ s("header", { class: "jex-chat-header", children: [
|
|
5330
|
-
/* @__PURE__ */ s(
|
|
5331
|
-
/* @__PURE__ */ s(
|
|
5332
|
-
/* @__PURE__ */ s(
|
|
5334
|
+
/* @__PURE__ */ s(lu, {}),
|
|
5335
|
+
/* @__PURE__ */ s(cu, { title: t }),
|
|
5336
|
+
/* @__PURE__ */ s(du, { action: e, showClose: n })
|
|
5333
5337
|
] });
|
|
5334
5338
|
}
|
|
5335
|
-
function
|
|
5339
|
+
function hu({ size: t = 14 }) {
|
|
5336
5340
|
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: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z" }) });
|
|
5337
5341
|
}
|
|
5338
5342
|
function Bi() {
|
|
@@ -5344,7 +5348,7 @@ function Bi() {
|
|
|
5344
5348
|
rel: "noopener noreferrer",
|
|
5345
5349
|
class: "jex-branding",
|
|
5346
5350
|
children: [
|
|
5347
|
-
/* @__PURE__ */ s(
|
|
5351
|
+
/* @__PURE__ */ s(hu, { size: 14 }),
|
|
5348
5352
|
/* @__PURE__ */ s("span", { children: [
|
|
5349
5353
|
"Powered by ",
|
|
5350
5354
|
/* @__PURE__ */ s("strong", { children: "Jexity" })
|
|
@@ -5356,7 +5360,7 @@ function Bi() {
|
|
|
5356
5360
|
function va({ size: t = 28 }) {
|
|
5357
5361
|
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" }) });
|
|
5358
5362
|
}
|
|
5359
|
-
function
|
|
5363
|
+
function pu({ size: t = 24, ...e }) {
|
|
5360
5364
|
return /* @__PURE__ */ s(
|
|
5361
5365
|
"svg",
|
|
5362
5366
|
{
|
|
@@ -5373,37 +5377,37 @@ function du({ size: t = 24, ...e }) {
|
|
|
5373
5377
|
}
|
|
5374
5378
|
);
|
|
5375
5379
|
}
|
|
5376
|
-
const
|
|
5380
|
+
const fu = {
|
|
5377
5381
|
chat: /* @__PURE__ */ s(va, { size: 28 }),
|
|
5378
5382
|
bot: /* @__PURE__ */ s(zn, { size: 28 }),
|
|
5379
|
-
sparkles: /* @__PURE__ */ s(
|
|
5380
|
-
},
|
|
5383
|
+
sparkles: /* @__PURE__ */ s(pu, { size: 28 })
|
|
5384
|
+
}, mu = {
|
|
5381
5385
|
none: "0px",
|
|
5382
5386
|
sm: "0.5rem",
|
|
5383
5387
|
md: "0.75rem",
|
|
5384
5388
|
lg: "1.25rem",
|
|
5385
5389
|
full: "9999px"
|
|
5386
5390
|
};
|
|
5387
|
-
function
|
|
5391
|
+
function gu({ radius: t = "full", iconOption: e = "chat", label: n }) {
|
|
5388
5392
|
const r = j(), i = n ?? r.fabLabel, o = i !== "";
|
|
5389
5393
|
return /* @__PURE__ */ s(
|
|
5390
5394
|
"button",
|
|
5391
5395
|
{
|
|
5392
|
-
class: `jex-floating-button${
|
|
5393
|
-
style: { borderRadius:
|
|
5396
|
+
class: `jex-floating-button${Q.value ? "" : " jex-fab-pulse"}${!Q.value && o ? " jex-has-label" : ""}`,
|
|
5397
|
+
style: { borderRadius: mu[t] ?? "9999px" },
|
|
5394
5398
|
onClick: () => {
|
|
5395
|
-
|
|
5399
|
+
Q.value = !Q.value;
|
|
5396
5400
|
},
|
|
5397
|
-
"aria-label":
|
|
5398
|
-
children:
|
|
5399
|
-
|
|
5401
|
+
"aria-label": Q.value ? r.closeChatAriaLabel : r.openChatAriaLabel,
|
|
5402
|
+
children: Q.value ? /* @__PURE__ */ s(xa, { size: 28 }) : /* @__PURE__ */ s("div", { class: "jex-fab-inner", children: [
|
|
5403
|
+
fu[e],
|
|
5400
5404
|
o && /* @__PURE__ */ s("span", { class: "jex-fab-label", children: i })
|
|
5401
5405
|
] })
|
|
5402
5406
|
}
|
|
5403
5407
|
);
|
|
5404
5408
|
}
|
|
5405
5409
|
const An = $(!1);
|
|
5406
|
-
function
|
|
5410
|
+
function xu(t, e) {
|
|
5407
5411
|
return e ? `jex-proactive-dismissed:${t}:${e}` : `jex-proactive-dismissed:${t}`;
|
|
5408
5412
|
}
|
|
5409
5413
|
function Di(t) {
|
|
@@ -5413,22 +5417,22 @@ function Di(t) {
|
|
|
5413
5417
|
return !1;
|
|
5414
5418
|
}
|
|
5415
5419
|
}
|
|
5416
|
-
function
|
|
5420
|
+
function vu(t) {
|
|
5417
5421
|
try {
|
|
5418
5422
|
sessionStorage.setItem(t, "1");
|
|
5419
5423
|
} catch {
|
|
5420
5424
|
}
|
|
5421
5425
|
}
|
|
5422
|
-
function
|
|
5426
|
+
function bu(t) {
|
|
5423
5427
|
return t.isOpen || t.mode === "off" || t.hasHistory || t.dismissed ? "skip" : t.mode === "teaser" ? "teaser" : "open";
|
|
5424
5428
|
}
|
|
5425
|
-
function
|
|
5429
|
+
function yu({ title: t, message: e, guardKey: n }) {
|
|
5426
5430
|
const r = j();
|
|
5427
5431
|
function i() {
|
|
5428
|
-
An.value = !1,
|
|
5432
|
+
An.value = !1, Q.value = !0;
|
|
5429
5433
|
}
|
|
5430
5434
|
function o(a) {
|
|
5431
|
-
a.stopPropagation(),
|
|
5435
|
+
a.stopPropagation(), vu(n), An.value = !1;
|
|
5432
5436
|
}
|
|
5433
5437
|
return /* @__PURE__ */ s(
|
|
5434
5438
|
"div",
|
|
@@ -5465,7 +5469,7 @@ function vu({ title: t, message: e, guardKey: n }) {
|
|
|
5465
5469
|
);
|
|
5466
5470
|
}
|
|
5467
5471
|
const kt = $("");
|
|
5468
|
-
function
|
|
5472
|
+
function wu(t) {
|
|
5469
5473
|
if (!t)
|
|
5470
5474
|
return;
|
|
5471
5475
|
const e = t.trim().split(/\s+/)[0];
|
|
@@ -5474,43 +5478,43 @@ function bu(t) {
|
|
|
5474
5478
|
const n = `@${e} `, r = kt.value;
|
|
5475
5479
|
r.includes(n) || r.includes(`@${e}`) || (kt.value = r.trimStart() ? `${n}${r.trimStart()}` : n);
|
|
5476
5480
|
}
|
|
5477
|
-
const
|
|
5481
|
+
const Qt = $(null), Fi = $(Date.now()), mn = $(!1), zr = $(!1), Wt = $(!1), In = $(null);
|
|
5478
5482
|
function ba() {
|
|
5479
5483
|
return Mr.value === "explicit" && !zr.value;
|
|
5480
5484
|
}
|
|
5481
5485
|
function ya() {
|
|
5482
5486
|
ba() && (Wt.value = !0);
|
|
5483
5487
|
}
|
|
5484
|
-
function
|
|
5488
|
+
function ku() {
|
|
5485
5489
|
zr.value = !0, Wt.value = !1;
|
|
5486
5490
|
}
|
|
5487
|
-
function
|
|
5491
|
+
function Ui() {
|
|
5488
5492
|
zr.value = !1, Wt.value = !1, In.value = null;
|
|
5489
5493
|
}
|
|
5490
|
-
const De = $([]),
|
|
5491
|
-
function
|
|
5494
|
+
const De = $([]), _u = 4, ju = 8 * 1024 * 1024;
|
|
5495
|
+
function Su() {
|
|
5492
5496
|
return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 11)}`;
|
|
5493
5497
|
}
|
|
5494
|
-
function
|
|
5495
|
-
const e = Array.from(t).filter((i) => i.type.startsWith("image/") && i.size <=
|
|
5498
|
+
function Cu(t) {
|
|
5499
|
+
const e = Array.from(t).filter((i) => i.type.startsWith("image/") && i.size <= ju);
|
|
5496
5500
|
if (e.length === 0)
|
|
5497
5501
|
return;
|
|
5498
|
-
const n =
|
|
5502
|
+
const n = _u - De.value.length;
|
|
5499
5503
|
if (n <= 0)
|
|
5500
5504
|
return;
|
|
5501
5505
|
const r = e.slice(0, n).map((i) => ({
|
|
5502
5506
|
// Falls back to a non-crypto id when host page is HTTP — see genAttachmentId.
|
|
5503
|
-
id:
|
|
5507
|
+
id: Su(),
|
|
5504
5508
|
file: i,
|
|
5505
5509
|
previewUrl: URL.createObjectURL(i)
|
|
5506
5510
|
}));
|
|
5507
5511
|
De.value = [...De.value, ...r];
|
|
5508
5512
|
}
|
|
5509
|
-
function
|
|
5513
|
+
function Tu(t) {
|
|
5510
5514
|
const e = De.value.find((n) => n.id === t);
|
|
5511
5515
|
e && URL.revokeObjectURL(e.previewUrl), De.value = De.value.filter((n) => n.id !== t);
|
|
5512
5516
|
}
|
|
5513
|
-
function
|
|
5517
|
+
function Ru() {
|
|
5514
5518
|
for (const t of De.value)
|
|
5515
5519
|
URL.revokeObjectURL(t.previewUrl);
|
|
5516
5520
|
De.value = [];
|
|
@@ -5535,8 +5539,8 @@ function wa(t, e) {
|
|
|
5535
5539
|
};
|
|
5536
5540
|
return new Proxy({}, n);
|
|
5537
5541
|
}
|
|
5538
|
-
const
|
|
5539
|
-
|
|
5542
|
+
const Au = () => wa("components", []), oe = jl;
|
|
5543
|
+
Au();
|
|
5540
5544
|
function ka({ sessionId: t, visitorId: e, ensureSession: n }) {
|
|
5541
5545
|
const r = it(oe.functions.chat.public.conversations.send);
|
|
5542
5546
|
return async function(o) {
|
|
@@ -5550,14 +5554,14 @@ function ka({ sessionId: t, visitorId: e, ensureSession: n }) {
|
|
|
5550
5554
|
const a = t && e ? { sessionId: t, visitorId: e } : await n();
|
|
5551
5555
|
if (!a)
|
|
5552
5556
|
return;
|
|
5553
|
-
kt.value = "",
|
|
5557
|
+
kt.value = "", Ru();
|
|
5554
5558
|
try {
|
|
5555
5559
|
const l = await r({
|
|
5556
5560
|
sessionId: a.sessionId,
|
|
5557
5561
|
visitorId: a.visitorId,
|
|
5558
5562
|
content: o
|
|
5559
5563
|
});
|
|
5560
|
-
l.ok ? Lr(a.visitorId) : l.reason === "rate_limited" && (
|
|
5564
|
+
l.ok ? Lr(a.visitorId) : l.reason === "rate_limited" && (Qt.value = Date.now() + l.retryAfterMs);
|
|
5561
5565
|
} catch (l) {
|
|
5562
5566
|
console.error("[jexity] Failed to send message:", l);
|
|
5563
5567
|
}
|
|
@@ -5567,15 +5571,15 @@ function ka({ sessionId: t, visitorId: e, ensureSession: n }) {
|
|
|
5567
5571
|
}
|
|
5568
5572
|
};
|
|
5569
5573
|
}
|
|
5570
|
-
function
|
|
5571
|
-
const t =
|
|
5574
|
+
function Iu() {
|
|
5575
|
+
const t = Qt.value, e = Fi.value;
|
|
5572
5576
|
T(() => {
|
|
5573
5577
|
if (t === null)
|
|
5574
5578
|
return;
|
|
5575
5579
|
const i = setInterval(() => {
|
|
5576
|
-
|
|
5580
|
+
Fi.value = Date.now();
|
|
5577
5581
|
}, 1e3), o = setTimeout(() => {
|
|
5578
|
-
|
|
5582
|
+
Qt.value = null;
|
|
5579
5583
|
}, Math.max(0, t - Date.now()));
|
|
5580
5584
|
return () => {
|
|
5581
5585
|
clearInterval(i), clearTimeout(o);
|
|
@@ -5584,29 +5588,29 @@ function Ru() {
|
|
|
5584
5588
|
const n = t !== null, r = n ? Math.max(0, Math.ceil((t - e) / 1e3)) : 0;
|
|
5585
5589
|
return { isActive: n, remainingSeconds: r };
|
|
5586
5590
|
}
|
|
5587
|
-
function
|
|
5588
|
-
const t = j(), { isActive: e, remainingSeconds: n } =
|
|
5591
|
+
function Eu() {
|
|
5592
|
+
const t = j(), { isActive: e, remainingSeconds: n } = Iu();
|
|
5589
5593
|
return e ? /* @__PURE__ */ s("div", { class: "jex-rate-limit-notice", role: "status", "aria-live": "polite", children: t.errorRateLimited.replace("{seconds}", String(n)) }) : null;
|
|
5590
5594
|
}
|
|
5591
5595
|
const ft = $(null), Kt = $(null);
|
|
5592
5596
|
function _a() {
|
|
5593
5597
|
Kt.value = null;
|
|
5594
5598
|
}
|
|
5595
|
-
function
|
|
5599
|
+
function Pu() {
|
|
5596
5600
|
const t = j(), e = ft.value;
|
|
5597
5601
|
if (e === null)
|
|
5598
5602
|
return null;
|
|
5599
5603
|
const n = e === "no-token" ? t.errorSessionNoToken : e === "unauthorized" ? t.errorSessionUnauthorized : e === "network" ? t.errorNetwork : t.somethingWentWrong;
|
|
5600
5604
|
return /* @__PURE__ */ s("div", { class: "jex-session-error-notice", role: "alert", "aria-live": "assertive", children: n });
|
|
5601
5605
|
}
|
|
5602
|
-
function
|
|
5606
|
+
function $u({ size: t = 18 }) {
|
|
5603
5607
|
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: [
|
|
5604
5608
|
/* @__PURE__ */ s("path", { d: "M22 2 11 13" }),
|
|
5605
5609
|
/* @__PURE__ */ s("path", { d: "M22 2 15 22 11 13 2 9l20-7z" })
|
|
5606
5610
|
] });
|
|
5607
5611
|
}
|
|
5608
5612
|
const Vi = 132;
|
|
5609
|
-
function
|
|
5613
|
+
function Mu({ onSend: t }) {
|
|
5610
5614
|
const e = be(null), n = be(null);
|
|
5611
5615
|
T(() => {
|
|
5612
5616
|
const l = e.current;
|
|
@@ -5624,7 +5628,7 @@ function Pu({ onSend: t }) {
|
|
|
5624
5628
|
}
|
|
5625
5629
|
function o(l) {
|
|
5626
5630
|
const c = l.currentTarget;
|
|
5627
|
-
c.files && c.files.length > 0 &&
|
|
5631
|
+
c.files && c.files.length > 0 && Cu(c.files), c.value = "";
|
|
5628
5632
|
}
|
|
5629
5633
|
function a(l) {
|
|
5630
5634
|
const c = l.target;
|
|
@@ -5632,8 +5636,8 @@ function Pu({ onSend: t }) {
|
|
|
5632
5636
|
}
|
|
5633
5637
|
return { textareaRef: e, fileInputRef: n, onKeyDown: r, onAttachClick: i, onFilesPicked: o, onCardClick: a };
|
|
5634
5638
|
}
|
|
5635
|
-
function
|
|
5636
|
-
const o = j(), a = kt, l = De, { textareaRef: c, fileInputRef: u, onKeyDown: h, onAttachClick: f, onFilesPicked: d, onCardClick: p } =
|
|
5639
|
+
function qu({ isStreaming: t, disabled: e, inputDisabled: n, onSend: r, onFocus: i }) {
|
|
5640
|
+
const o = j(), a = kt, l = De, { textareaRef: c, fileInputRef: u, onKeyDown: h, onAttachClick: f, onFilesPicked: d, onCardClick: p } = Mu({ onSend: r }), m = a.value.trim().length > 0, y = l.value.length > 0, g = (m || y) && !e;
|
|
5637
5641
|
return /* @__PURE__ */ s("div", { class: "jex-composer-card", onClick: p, children: [
|
|
5638
5642
|
y && /* @__PURE__ */ s("div", { class: "jex-composer-attachments", role: "list", children: l.value.map((v) => /* @__PURE__ */ s("div", { class: "jex-attachment-chip", role: "listitem", children: [
|
|
5639
5643
|
/* @__PURE__ */ s("img", { src: v.previewUrl, alt: v.file.name, class: "jex-attachment-thumb" }),
|
|
@@ -5644,7 +5648,7 @@ function $u({ isStreaming: t, disabled: e, inputDisabled: n, onSend: r, onFocus:
|
|
|
5644
5648
|
class: "jex-attachment-remove",
|
|
5645
5649
|
"aria-label": o.removeAttachmentAriaLabel,
|
|
5646
5650
|
onClick: () => {
|
|
5647
|
-
|
|
5651
|
+
Tu(v.id);
|
|
5648
5652
|
},
|
|
5649
5653
|
children: /* @__PURE__ */ s("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2.5", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true", children: [
|
|
5650
5654
|
/* @__PURE__ */ s("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
@@ -5721,13 +5725,13 @@ function $u({ isStreaming: t, disabled: e, inputDisabled: n, onSend: r, onFocus:
|
|
|
5721
5725
|
onClick: r,
|
|
5722
5726
|
"aria-label": o.sendAriaLabel,
|
|
5723
5727
|
disabled: e || !m && !y,
|
|
5724
|
-
children: /* @__PURE__ */ s(
|
|
5728
|
+
children: /* @__PURE__ */ s($u, { size: 16 })
|
|
5725
5729
|
}
|
|
5726
5730
|
)
|
|
5727
5731
|
] })
|
|
5728
5732
|
] });
|
|
5729
5733
|
}
|
|
5730
|
-
function
|
|
5734
|
+
function Hi({ variant: t, isOpen: e = !1, onAcknowledge: n }) {
|
|
5731
5735
|
const r = j(), i = nn.value;
|
|
5732
5736
|
return t === "explicit" ? e ? /* @__PURE__ */ s("div", { class: "jex-privacy-explicit", role: "dialog", "aria-label": r.privacyExplicitTitle, children: [
|
|
5733
5737
|
/* @__PURE__ */ s("div", { class: "jex-privacy-explicit-content", children: [
|
|
@@ -5774,7 +5778,7 @@ function Qi({ variant: t, isOpen: e = !1, onAcknowledge: n }) {
|
|
|
5774
5778
|
)
|
|
5775
5779
|
] });
|
|
5776
5780
|
}
|
|
5777
|
-
function
|
|
5781
|
+
function Nu({
|
|
5778
5782
|
sessionId: t,
|
|
5779
5783
|
visitorId: e,
|
|
5780
5784
|
isLoading: n,
|
|
@@ -5783,9 +5787,9 @@ function Mu({
|
|
|
5783
5787
|
ensureSession: o,
|
|
5784
5788
|
onStartFresh: a
|
|
5785
5789
|
}) {
|
|
5786
|
-
const l = j(), c = kt, u = Mr.value, h = ka({ sessionId: t, visitorId: e, ensureSession: o }), f =
|
|
5790
|
+
const l = j(), c = kt, u = Mr.value, h = ka({ sessionId: t, visitorId: e, ensureSession: o }), f = Qt.value !== null && Qt.value > Date.now(), d = n || r || f, p = u === "explicit" && Wt.value;
|
|
5787
5791
|
function m() {
|
|
5788
|
-
|
|
5792
|
+
ku();
|
|
5789
5793
|
const g = In.value;
|
|
5790
5794
|
In.value = null, g && h(g);
|
|
5791
5795
|
}
|
|
@@ -5809,12 +5813,12 @@ function Mu({
|
|
|
5809
5813
|
!g || d || await h(g);
|
|
5810
5814
|
}
|
|
5811
5815
|
return /* @__PURE__ */ s("div", { class: "jex-chat-input", children: [
|
|
5812
|
-
/* @__PURE__ */ s(
|
|
5813
|
-
/* @__PURE__ */ s(
|
|
5814
|
-
u === "chip" && /* @__PURE__ */ s(
|
|
5816
|
+
/* @__PURE__ */ s(Eu, {}),
|
|
5817
|
+
/* @__PURE__ */ s(Pu, {}),
|
|
5818
|
+
u === "chip" && /* @__PURE__ */ s(Hi, { variant: "chip" }),
|
|
5815
5819
|
/* @__PURE__ */ s("div", { class: `jex-chat-input-composer-gate${p ? " jex-chat-input-composer-gate-open" : ""}`, children: [
|
|
5816
5820
|
/* @__PURE__ */ s(
|
|
5817
|
-
|
|
5821
|
+
qu,
|
|
5818
5822
|
{
|
|
5819
5823
|
isStreaming: r,
|
|
5820
5824
|
disabled: d,
|
|
@@ -5824,7 +5828,7 @@ function Mu({
|
|
|
5824
5828
|
}
|
|
5825
5829
|
),
|
|
5826
5830
|
u === "explicit" && /* @__PURE__ */ s(
|
|
5827
|
-
|
|
5831
|
+
Hi,
|
|
5828
5832
|
{
|
|
5829
5833
|
variant: "explicit",
|
|
5830
5834
|
isOpen: Wt.value,
|
|
@@ -5834,17 +5838,17 @@ function Mu({
|
|
|
5834
5838
|
] })
|
|
5835
5839
|
] });
|
|
5836
5840
|
}
|
|
5837
|
-
const
|
|
5838
|
-
const
|
|
5839
|
-
const
|
|
5841
|
+
const Lu = (...t) => t.filter((e, n, r) => !!e && e.trim() !== "" && r.indexOf(e) === n).join(" ").trim();
|
|
5842
|
+
const Qi = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
5843
|
+
const Ou = (t) => t.replace(
|
|
5840
5844
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
5841
5845
|
(e, n, r) => r ? r.toUpperCase() : n.toLowerCase()
|
|
5842
5846
|
);
|
|
5843
5847
|
const Wi = (t) => {
|
|
5844
|
-
const e =
|
|
5848
|
+
const e = Ou(t);
|
|
5845
5849
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
5846
5850
|
};
|
|
5847
|
-
var
|
|
5851
|
+
var zu = {
|
|
5848
5852
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5849
5853
|
width: 24,
|
|
5850
5854
|
height: 24,
|
|
@@ -5855,13 +5859,13 @@ var Lu = {
|
|
|
5855
5859
|
"stroke-linecap": "round",
|
|
5856
5860
|
"stroke-linejoin": "round"
|
|
5857
5861
|
};
|
|
5858
|
-
const
|
|
5862
|
+
const Bu = (t) => {
|
|
5859
5863
|
for (const e in t)
|
|
5860
5864
|
if (e.startsWith("aria-") || e === "role" || e === "title")
|
|
5861
5865
|
return !0;
|
|
5862
5866
|
return !1;
|
|
5863
5867
|
};
|
|
5864
|
-
const
|
|
5868
|
+
const Du = ({
|
|
5865
5869
|
color: t = "currentColor",
|
|
5866
5870
|
size: e = 24,
|
|
5867
5871
|
strokeWidth: n = 2,
|
|
@@ -5873,26 +5877,26 @@ const zu = ({
|
|
|
5873
5877
|
}) => ve(
|
|
5874
5878
|
"svg",
|
|
5875
5879
|
{
|
|
5876
|
-
...
|
|
5880
|
+
...zu,
|
|
5877
5881
|
width: String(e),
|
|
5878
5882
|
height: e,
|
|
5879
5883
|
stroke: t,
|
|
5880
5884
|
"stroke-width": r ? Number(n) * 24 / Number(e) : n,
|
|
5881
5885
|
class: ["lucide", a].join(" "),
|
|
5882
|
-
...!i && !
|
|
5886
|
+
...!i && !Bu(l) && { "aria-hidden": "true" },
|
|
5883
5887
|
...l
|
|
5884
5888
|
},
|
|
5885
5889
|
[...o.map(([c, u]) => ve(c, u)), ...Pe(i)]
|
|
5886
5890
|
);
|
|
5887
|
-
const
|
|
5891
|
+
const Fu = (t, e) => {
|
|
5888
5892
|
const n = ({ class: r = "", className: i = "", children: o, ...a }) => ve(
|
|
5889
|
-
|
|
5893
|
+
Du,
|
|
5890
5894
|
{
|
|
5891
5895
|
...a,
|
|
5892
5896
|
iconNode: e,
|
|
5893
|
-
class:
|
|
5894
|
-
`lucide-${
|
|
5895
|
-
`lucide-${
|
|
5897
|
+
class: Lu(
|
|
5898
|
+
`lucide-${Qi(Wi(t))}`,
|
|
5899
|
+
`lucide-${Qi(t)}`,
|
|
5896
5900
|
r,
|
|
5897
5901
|
i
|
|
5898
5902
|
)
|
|
@@ -5901,7 +5905,7 @@ const Bu = (t, e) => {
|
|
|
5901
5905
|
);
|
|
5902
5906
|
return n.displayName = Wi(t), n;
|
|
5903
5907
|
};
|
|
5904
|
-
const
|
|
5908
|
+
const Uu = Fu("corner-up-left", [
|
|
5905
5909
|
["path", { d: "M20 20v-7a4 4 0 0 0-4-4H4", key: "1nkjon" }],
|
|
5906
5910
|
["path", { d: "M9 14 4 9l5-5", key: "102s5s" }]
|
|
5907
5911
|
]);
|
|
@@ -5920,14 +5924,14 @@ function E(t, e = "") {
|
|
|
5920
5924
|
}, getRegex: () => new RegExp(n, e) };
|
|
5921
5925
|
return r;
|
|
5922
5926
|
}
|
|
5923
|
-
var
|
|
5927
|
+
var Vu = (() => {
|
|
5924
5928
|
try {
|
|
5925
5929
|
return !!new RegExp("(?<=1)(?<!1)");
|
|
5926
5930
|
} catch {
|
|
5927
5931
|
return !1;
|
|
5928
5932
|
}
|
|
5929
|
-
})(), le = { 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: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), hrRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), fencesBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:\`\`\`|~~~)`), headingBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}#`), htmlBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}<(?:[a-z].*>|!--)`, "i"), blockquoteBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}>`) },
|
|
5930
|
-
]`).replace("lheading", Ca).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() },
|
|
5933
|
+
})(), le = { 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: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), hrRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), fencesBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:\`\`\`|~~~)`), headingBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}#`), htmlBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}<(?:[a-z].*>|!--)`, "i"), blockquoteBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}>`) }, Hu = /^(?:[ \t]*(?:\n|$))+/, Qu = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Wu = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, on = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Ku = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, Dr = / {0,3}(?:[*+-]|\d{1,9}[.)])/, Sa = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, Ca = E(Sa).replace(/bull/g, Dr).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(), Gu = E(Sa).replace(/bull/g, Dr).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(), Fr = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, Yu = /^[^\n]+/, Ur = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Ju = E(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Ur).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Zu = E(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, Dr).getRegex(), Bn = "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", Vr = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Xu = E("^ {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", Vr).replace("tag", Bn).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Ta = E(Fr).replace("hr", on).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]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Bn).getRegex(), ed = E(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Ta).getRegex(), Hr = { blockquote: ed, code: Qu, def: Ju, fences: Wu, heading: Ku, hr: on, html: Xu, lheading: Ca, list: Zu, newline: Hu, paragraph: Ta, table: Xe, text: Yu }, Ki = E("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", on).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", Bn).getRegex(), td = { ...Hr, lheading: Gu, table: Ki, paragraph: E(Fr).replace("hr", on).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Ki).replace("blockquote", " {0,3}>").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", Bn).getRegex() }, nd = { ...Hr, html: E(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", Vr).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: Xe, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: E(Fr).replace("hr", on).replace("heading", ` *#{1,6} *[^
|
|
5934
|
+
]`).replace("lheading", Ca).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }, rd = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, id = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Ra = /^( {2,}|\\)\n(?!\s*$)/, od = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, Ct = /[\p{P}\p{S}]/u, Dn = /[\s\p{P}\p{S}]/u, Qr = /[^\s\p{P}\p{S}]/u, ad = E(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Dn).getRegex(), Aa = /(?!~)[\p{P}\p{S}]/u, sd = /(?!~)[\s\p{P}\p{S}]/u, ld = /(?:[^\s\p{P}\p{S}]|~)/u, cd = E(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Vu ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), Ia = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, ud = E(Ia, "u").replace(/punct/g, Ct).getRegex(), dd = E(Ia, "u").replace(/punct/g, Aa).getRegex(), Ea = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", hd = E(Ea, "gu").replace(/notPunctSpace/g, Qr).replace(/punctSpace/g, Dn).replace(/punct/g, Ct).getRegex(), pd = E(Ea, "gu").replace(/notPunctSpace/g, ld).replace(/punctSpace/g, sd).replace(/punct/g, Aa).getRegex(), fd = E("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, Qr).replace(/punctSpace/g, Dn).replace(/punct/g, Ct).getRegex(), md = E(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, Ct).getRegex(), gd = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", xd = E(gd, "gu").replace(/notPunctSpace/g, Qr).replace(/punctSpace/g, Dn).replace(/punct/g, Ct).getRegex(), vd = E(/\\(punct)/, "gu").replace(/punct/g, Ct).getRegex(), bd = E(/^<(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(), yd = E(Vr).replace("(?:-->|$)", "-->").getRegex(), wd = E("^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", yd).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), En = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, kd = E(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", En).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), Pa = E(/^!?\[(label)\]\[(ref)\]/).replace("label", En).replace("ref", Ur).getRegex(), $a = E(/^!?\[(ref)\](?:\[\])?/).replace("ref", Ur).getRegex(), _d = E("reflink|nolink(?!\\()", "g").replace("reflink", Pa).replace("nolink", $a).getRegex(), Gi = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Wr = { _backpedal: Xe, anyPunctuation: vd, autolink: bd, blockSkip: cd, br: Ra, code: id, del: Xe, delLDelim: Xe, delRDelim: Xe, emStrongLDelim: ud, emStrongRDelimAst: hd, emStrongRDelimUnd: fd, escape: rd, link: kd, nolink: $a, punctuation: ad, reflink: Pa, reflinkSearch: _d, tag: wd, text: od, url: Xe }, jd = { ...Wr, link: E(/^!?\[(label)\]\((.*?)\)/).replace("label", En).getRegex(), reflink: E(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", En).getRegex() }, yr = { ...Wr, emStrongRDelimAst: pd, emStrongLDelim: dd, delLDelim: md, delRDelim: xd, url: E(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", Gi).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: E(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", Gi).getRegex() }, Sd = { ...yr, br: E(Ra).replace("{2,}", "*").getRegex(), text: E(yr.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }, dn = { normal: Hr, gfm: td, pedantic: nd }, It = { normal: Wr, gfm: yr, breaks: Sd, pedantic: jd }, Cd = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, Yi = (t) => Cd[t];
|
|
5931
5935
|
function Re(t, e) {
|
|
5932
5936
|
if (e) {
|
|
5933
5937
|
if (le.escapeTest.test(t)) return t.replace(le.escapeReplace, Yi);
|
|
@@ -5961,7 +5965,7 @@ function Et(t, e, n) {
|
|
|
5961
5965
|
i++;
|
|
5962
5966
|
return t.slice(0, r - i);
|
|
5963
5967
|
}
|
|
5964
|
-
function
|
|
5968
|
+
function Td(t, e) {
|
|
5965
5969
|
if (t.indexOf(e[1]) === -1) return -1;
|
|
5966
5970
|
let n = 0;
|
|
5967
5971
|
for (let r = 0; r < t.length; r++) if (t[r] === "\\") r++;
|
|
@@ -5969,7 +5973,7 @@ function Sd(t, e) {
|
|
|
5969
5973
|
else if (t[r] === e[1] && (n--, n < 0)) return r;
|
|
5970
5974
|
return n > 0 ? -2 : -1;
|
|
5971
5975
|
}
|
|
5972
|
-
function
|
|
5976
|
+
function Rd(t, e = 0) {
|
|
5973
5977
|
let n = e, r = "";
|
|
5974
5978
|
for (let i of t) if (i === " ") {
|
|
5975
5979
|
let o = 4 - n % 4;
|
|
@@ -5983,7 +5987,7 @@ function Xi(t, e, n, r, i) {
|
|
|
5983
5987
|
let c = { type: t[0].charAt(0) === "!" ? "image" : "link", raw: n, href: o, title: a, text: l, tokens: r.inlineTokens(l) };
|
|
5984
5988
|
return r.state.inLink = !1, c;
|
|
5985
5989
|
}
|
|
5986
|
-
function
|
|
5990
|
+
function Ad(t, e, n) {
|
|
5987
5991
|
let r = t.match(n.other.indentCodeCompensation);
|
|
5988
5992
|
if (r === null) return e;
|
|
5989
5993
|
let i = r[1];
|
|
@@ -6018,7 +6022,7 @@ var Pn = class {
|
|
|
6018
6022
|
fences(t) {
|
|
6019
6023
|
let e = this.rules.block.fences.exec(t);
|
|
6020
6024
|
if (e) {
|
|
6021
|
-
let n = e[0], r =
|
|
6025
|
+
let n = e[0], r = Ad(n, e[3] || "", this.rules);
|
|
6022
6026
|
return { type: "code", raw: n, lang: e[2] ? e[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : e[2], text: r };
|
|
6023
6027
|
}
|
|
6024
6028
|
}
|
|
@@ -6088,7 +6092,7 @@ ${h}` : h;
|
|
|
6088
6092
|
let c = !1, u = "", h = "";
|
|
6089
6093
|
if (!(e = o.exec(t)) || this.rules.block.hr.test(t)) break;
|
|
6090
6094
|
u = e[0], t = t.substring(u.length);
|
|
6091
|
-
let f =
|
|
6095
|
+
let f = Rd(e[2].split(`
|
|
6092
6096
|
`, 1)[0], e[1].length), d = t.split(`
|
|
6093
6097
|
`, 1)[0], p = !f.trim(), m = 0;
|
|
6094
6098
|
if (this.options.pedantic ? (m = 2, h = f.trimStart()) : p ? m = e[1].length + 1 : (m = f.search(this.rules.other.nonSpaceChar), m = m > 4 ? 1 : m, h = f.slice(m), m += e[1].length), p && this.rules.other.blankLine.test(d) && (u += d + `
|
|
@@ -6201,7 +6205,7 @@ ${h}` : h;
|
|
|
6201
6205
|
let o = Et(n.slice(0, -1), "\\");
|
|
6202
6206
|
if ((n.length - o.length) % 2 === 0) return;
|
|
6203
6207
|
} else {
|
|
6204
|
-
let o =
|
|
6208
|
+
let o = Td(e[2], "()");
|
|
6205
6209
|
if (o === -2) return;
|
|
6206
6210
|
if (o > -1) {
|
|
6207
6211
|
let a = (e[0].indexOf("!") === 0 ? 5 : 4) + e[1].length + o;
|
|
@@ -6842,7 +6846,7 @@ ${t}</tr>
|
|
|
6842
6846
|
provideParser() {
|
|
6843
6847
|
return this.block ? we.parse : we.parseInline;
|
|
6844
6848
|
}
|
|
6845
|
-
},
|
|
6849
|
+
}, Id = class {
|
|
6846
6850
|
defaults = Br();
|
|
6847
6851
|
options = this.setOptions;
|
|
6848
6852
|
parse = this.parseMarkdown(!0);
|
|
@@ -7002,7 +7006,7 @@ Please report this to https://github.com/markedjs/marked.`, t) {
|
|
|
7002
7006
|
throw n;
|
|
7003
7007
|
};
|
|
7004
7008
|
}
|
|
7005
|
-
}, rt = new
|
|
7009
|
+
}, rt = new Id();
|
|
7006
7010
|
function q(t, e) {
|
|
7007
7011
|
return rt.parse(t, e);
|
|
7008
7012
|
}
|
|
@@ -7038,7 +7042,7 @@ q.setOptions({
|
|
|
7038
7042
|
breaks: !0,
|
|
7039
7043
|
gfm: !0
|
|
7040
7044
|
});
|
|
7041
|
-
function
|
|
7045
|
+
function Ed({ text: t }) {
|
|
7042
7046
|
const e = Z(() => {
|
|
7043
7047
|
if (!t)
|
|
7044
7048
|
return "";
|
|
@@ -7047,7 +7051,7 @@ function Ad({ text: t }) {
|
|
|
7047
7051
|
}, [t]);
|
|
7048
7052
|
return /* @__PURE__ */ s("div", { class: "jex-md", dangerouslySetInnerHTML: { __html: e } });
|
|
7049
7053
|
}
|
|
7050
|
-
function
|
|
7054
|
+
function Pd(t) {
|
|
7051
7055
|
const e = t.trim().split(/\s+/).filter(Boolean);
|
|
7052
7056
|
return e.length === 0 ? "?" : e.map((n) => n[0]).join("").slice(0, 2).toUpperCase();
|
|
7053
7057
|
}
|
|
@@ -7058,7 +7062,7 @@ function ht({ text: t, streaming: e, error: n, authorId: r, authorName: i, autho
|
|
|
7058
7062
|
].filter(Boolean).join(" ");
|
|
7059
7063
|
return /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: [
|
|
7060
7064
|
/* @__PURE__ */ s("div", { class: "jex-message-head", children: [
|
|
7061
|
-
/* @__PURE__ */ s("div", { class: `jex-avatar ${u ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: u && o && !h ? /* @__PURE__ */ s("img", { src: o, alt: i ?? "", class: "jex-avatar-img", onError: d }) : u ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children:
|
|
7065
|
+
/* @__PURE__ */ s("div", { class: `jex-avatar ${u ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: u && o && !h ? /* @__PURE__ */ s("img", { src: o, alt: i ?? "", class: "jex-avatar-img", onError: d }) : u ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children: Pd(i ?? "") }) : a && !h ? /* @__PURE__ */ s("img", { src: a, alt: "", class: "jex-avatar-img", onError: d }) : /* @__PURE__ */ s(zn, { size: 14 }) }),
|
|
7062
7066
|
m && /* @__PURE__ */ s("span", { class: "jex-message-author", children: m }),
|
|
7063
7067
|
u && i && /* @__PURE__ */ s(
|
|
7064
7068
|
"button",
|
|
@@ -7068,19 +7072,19 @@ function ht({ text: t, streaming: e, error: n, authorId: r, authorName: i, autho
|
|
|
7068
7072
|
"aria-label": p,
|
|
7069
7073
|
title: p,
|
|
7070
7074
|
onClick: () => {
|
|
7071
|
-
|
|
7075
|
+
wu(i);
|
|
7072
7076
|
},
|
|
7073
|
-
children: /* @__PURE__ */ s(
|
|
7077
|
+
children: /* @__PURE__ */ s(Uu, { size: 12 })
|
|
7074
7078
|
}
|
|
7075
7079
|
)
|
|
7076
7080
|
] }),
|
|
7077
7081
|
/* @__PURE__ */ s("div", { class: y, children: [
|
|
7078
|
-
/* @__PURE__ */ s(
|
|
7082
|
+
/* @__PURE__ */ s(Ed, { text: t }),
|
|
7079
7083
|
e && /* @__PURE__ */ s("span", { class: "jex-streaming-cursor" })
|
|
7080
7084
|
] })
|
|
7081
7085
|
] });
|
|
7082
7086
|
}
|
|
7083
|
-
function
|
|
7087
|
+
function $d({ questions: t, disabled: e, onPick: n }) {
|
|
7084
7088
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-starter-chips", children: t.map((r) => /* @__PURE__ */ s(
|
|
7085
7089
|
"button",
|
|
7086
7090
|
{
|
|
@@ -7095,7 +7099,7 @@ function Ed({ questions: t, disabled: e, onPick: n }) {
|
|
|
7095
7099
|
r
|
|
7096
7100
|
)) });
|
|
7097
7101
|
}
|
|
7098
|
-
function
|
|
7102
|
+
function Md({ text: t }) {
|
|
7099
7103
|
return /* @__PURE__ */ s("div", { class: "jex-message user", children: t });
|
|
7100
7104
|
}
|
|
7101
7105
|
function Ma() {
|
|
@@ -7109,7 +7113,7 @@ function qa() {
|
|
|
7109
7113
|
});
|
|
7110
7114
|
};
|
|
7111
7115
|
}
|
|
7112
|
-
function
|
|
7116
|
+
function qd({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
7113
7117
|
const i = j();
|
|
7114
7118
|
return t.formData ? /* @__PURE__ */ s("div", { class: "jex-inline-form-submitted", children: [
|
|
7115
7119
|
/* @__PURE__ */ s("span", { class: "jex-inline-form-check", children: "✓" }),
|
|
@@ -7122,7 +7126,7 @@ function $d({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
|
7122
7126
|
] })
|
|
7123
7127
|
] })
|
|
7124
7128
|
] }) : /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: /* @__PURE__ */ s(
|
|
7125
|
-
|
|
7129
|
+
Nd,
|
|
7126
7130
|
{
|
|
7127
7131
|
messageId: t._id,
|
|
7128
7132
|
sessionId: e,
|
|
@@ -7131,7 +7135,7 @@ function $d({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
|
7131
7135
|
}
|
|
7132
7136
|
) });
|
|
7133
7137
|
}
|
|
7134
|
-
function
|
|
7138
|
+
function Nd({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
7135
7139
|
const i = j(), [o, a] = I(""), [l, c] = I(""), [u, h] = I(!1), f = nn.value, d = /^https?:\/\//i.test(f) ? f : tn, p = Ma(), m = qa();
|
|
7136
7140
|
async function y(g) {
|
|
7137
7141
|
if (g.preventDefault(), !u) {
|
|
@@ -7204,29 +7208,29 @@ function Md({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
|
7204
7208
|
] })
|
|
7205
7209
|
] });
|
|
7206
7210
|
}
|
|
7207
|
-
function
|
|
7211
|
+
function Ld() {
|
|
7208
7212
|
return it(oe.functions.magicline.public.submitForm);
|
|
7209
7213
|
}
|
|
7210
|
-
function
|
|
7214
|
+
function Od() {
|
|
7211
7215
|
return Xt(oe.functions.magicline.actions.getTrialConfig);
|
|
7212
7216
|
}
|
|
7213
|
-
function
|
|
7217
|
+
function zd() {
|
|
7214
7218
|
return Xt(oe.functions.magicline.actions.listTrialSlots);
|
|
7215
7219
|
}
|
|
7216
|
-
function
|
|
7220
|
+
function Bd() {
|
|
7217
7221
|
return Xt(oe.functions.magicline.actions.getRateBundles);
|
|
7218
7222
|
}
|
|
7219
7223
|
function Na() {
|
|
7220
7224
|
return Xt(oe.functions.magicline.actions.getContractPreview);
|
|
7221
7225
|
}
|
|
7222
|
-
function
|
|
7226
|
+
function Dd() {
|
|
7223
7227
|
return Xt(oe.functions.magicline.actions.submitContractCreation);
|
|
7224
7228
|
}
|
|
7225
|
-
const Gr = { en: qr, de: ua },
|
|
7229
|
+
const Gr = { en: qr, de: ua }, Fd = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
7226
7230
|
function La(t) {
|
|
7227
|
-
return
|
|
7231
|
+
return Fd.test(t.trim());
|
|
7228
7232
|
}
|
|
7229
|
-
function
|
|
7233
|
+
function Ud(t, e = /* @__PURE__ */ new Date()) {
|
|
7230
7234
|
const n = t.trim();
|
|
7231
7235
|
if (n === "")
|
|
7232
7236
|
return null;
|
|
@@ -7248,7 +7252,7 @@ function za() {
|
|
|
7248
7252
|
const t = nn.value;
|
|
7249
7253
|
return /^https?:\/\//i.test(t) ? t : tn;
|
|
7250
7254
|
}
|
|
7251
|
-
const
|
|
7255
|
+
const Vd = {
|
|
7252
7256
|
DE: 22,
|
|
7253
7257
|
AT: 20,
|
|
7254
7258
|
CH: 21,
|
|
@@ -7264,16 +7268,16 @@ const Ud = {
|
|
|
7264
7268
|
DK: 18,
|
|
7265
7269
|
FI: 18,
|
|
7266
7270
|
PT: 25
|
|
7267
|
-
},
|
|
7271
|
+
}, Hd = 15, Qd = 34;
|
|
7268
7272
|
function Ba(t) {
|
|
7269
7273
|
return t.replace(/\s+/g, "").toUpperCase();
|
|
7270
7274
|
}
|
|
7271
|
-
function
|
|
7272
|
-
const e = Ba(t), n = e.slice(0, 2), r =
|
|
7275
|
+
function Wd(t) {
|
|
7276
|
+
const e = Ba(t), n = e.slice(0, 2), r = Vd[n];
|
|
7273
7277
|
if (r !== void 0) {
|
|
7274
7278
|
if (e.length !== r)
|
|
7275
7279
|
return !1;
|
|
7276
|
-
} else if (e.length <
|
|
7280
|
+
} else if (e.length < Hd || e.length > Qd)
|
|
7277
7281
|
return !1;
|
|
7278
7282
|
const i = e.slice(4) + e.slice(0, 4);
|
|
7279
7283
|
let o = "";
|
|
@@ -7293,7 +7297,7 @@ function Qd(t) {
|
|
|
7293
7297
|
}
|
|
7294
7298
|
return a === 1;
|
|
7295
7299
|
}
|
|
7296
|
-
function
|
|
7300
|
+
function Kd(t) {
|
|
7297
7301
|
const e = Ba(t);
|
|
7298
7302
|
if (e.length <= 8)
|
|
7299
7303
|
return e;
|
|
@@ -7323,7 +7327,7 @@ function Mn(t, e, n) {
|
|
|
7323
7327
|
const [a, l] = o[n];
|
|
7324
7328
|
return `${t} ${r ? l : a}`;
|
|
7325
7329
|
}
|
|
7326
|
-
function
|
|
7330
|
+
function Gd(t, e) {
|
|
7327
7331
|
const n = t.trim();
|
|
7328
7332
|
if (n === "")
|
|
7329
7333
|
return "—";
|
|
@@ -7347,7 +7351,7 @@ function Yr(t, e, n) {
|
|
|
7347
7351
|
}[i];
|
|
7348
7352
|
return a === void 0 ? `${t} ${e.toLowerCase()}` : a.replace("{n}", String(t));
|
|
7349
7353
|
}
|
|
7350
|
-
function
|
|
7354
|
+
function Yd(t, e, n, r, i) {
|
|
7351
7355
|
const o = Gr[i], a = ke(t, e, i);
|
|
7352
7356
|
switch (n) {
|
|
7353
7357
|
case "TERM_BASED":
|
|
@@ -7364,19 +7368,19 @@ function Kd(t, e, n, r, i) {
|
|
|
7364
7368
|
return a;
|
|
7365
7369
|
}
|
|
7366
7370
|
}
|
|
7367
|
-
function
|
|
7371
|
+
function Jd(t, e, n, r) {
|
|
7368
7372
|
return e === "PERCENTAGE" ? `-${t}%` : `-${ke(t, n, r)}`;
|
|
7369
7373
|
}
|
|
7370
|
-
const
|
|
7374
|
+
const Zd = {
|
|
7371
7375
|
startpaket: "magiclineFeeStarterPackage",
|
|
7372
7376
|
"starter package": "magiclineFeeStarterPackage",
|
|
7373
7377
|
trainerpauschale: "magiclineFeeTrainerFee"
|
|
7374
7378
|
};
|
|
7375
7379
|
function Da(t, e) {
|
|
7376
|
-
const n = t.trim().toLowerCase(), r =
|
|
7380
|
+
const n = t.trim().toLowerCase(), r = Zd[n];
|
|
7377
7381
|
return r !== void 0 ? e[r] : t;
|
|
7378
7382
|
}
|
|
7379
|
-
function
|
|
7383
|
+
function Xd(t, e, n) {
|
|
7380
7384
|
const r = Gr[n];
|
|
7381
7385
|
if (t === "NONE")
|
|
7382
7386
|
return r.magiclineRenewalNone;
|
|
@@ -7386,7 +7390,7 @@ function Jd(t, e, n) {
|
|
|
7386
7390
|
}
|
|
7387
7391
|
return "";
|
|
7388
7392
|
}
|
|
7389
|
-
const
|
|
7393
|
+
const Fa = ["MALE", "FEMALE", "UNISEX"], eh = [
|
|
7390
7394
|
{ code: "DE", label: "Germany / Deutschland" },
|
|
7391
7395
|
{ code: "AT", label: "Austria / Österreich" },
|
|
7392
7396
|
{ code: "CH", label: "Switzerland / Schweiz" },
|
|
@@ -7403,11 +7407,11 @@ const Ua = ["MALE", "FEMALE", "UNISEX"], Zd = [
|
|
|
7403
7407
|
{ code: "GB", label: "United Kingdom" },
|
|
7404
7408
|
{ code: "US", label: "United States" }
|
|
7405
7409
|
];
|
|
7406
|
-
function
|
|
7410
|
+
function th(t, e) {
|
|
7407
7411
|
const n = [];
|
|
7408
7412
|
return e && n.push("trainer"), n.push("slot"), n.push("personal"), (t.address.visible || t.zip.visible) && n.push("address"), n.push("confirm"), n;
|
|
7409
7413
|
}
|
|
7410
|
-
const
|
|
7414
|
+
const nh = {
|
|
7411
7415
|
firstName: "",
|
|
7412
7416
|
lastName: "",
|
|
7413
7417
|
email: "",
|
|
@@ -7424,7 +7428,7 @@ const eh = {
|
|
|
7424
7428
|
consent: !1,
|
|
7425
7429
|
trainerRequired: !0
|
|
7426
7430
|
};
|
|
7427
|
-
function
|
|
7431
|
+
function rh(t, e) {
|
|
7428
7432
|
switch (e.type) {
|
|
7429
7433
|
case "set":
|
|
7430
7434
|
return { ...t, [e.key]: e.value };
|
|
@@ -7436,11 +7440,11 @@ function th(t, e) {
|
|
|
7436
7440
|
return t;
|
|
7437
7441
|
}
|
|
7438
7442
|
}
|
|
7439
|
-
function
|
|
7443
|
+
function ih({
|
|
7440
7444
|
sessionId: t,
|
|
7441
7445
|
visitorId: e
|
|
7442
7446
|
}) {
|
|
7443
|
-
const n =
|
|
7447
|
+
const n = Od(), r = zd(), [i, o] = pe(rh, nh), [a, l] = pe(
|
|
7444
7448
|
(v, b) => b,
|
|
7445
7449
|
{ phase: "loading" }
|
|
7446
7450
|
), [c, u] = pe(
|
|
@@ -7509,22 +7513,22 @@ function nh({
|
|
|
7509
7513
|
refetchSlots: m
|
|
7510
7514
|
};
|
|
7511
7515
|
}
|
|
7512
|
-
function
|
|
7516
|
+
function oh({
|
|
7513
7517
|
formMessageId: t,
|
|
7514
7518
|
sessionId: e,
|
|
7515
7519
|
visitorId: n,
|
|
7516
7520
|
slotUnavailable: r = !1,
|
|
7517
7521
|
retryPending: i = !1
|
|
7518
7522
|
}) {
|
|
7519
|
-
const o = j(), a =
|
|
7523
|
+
const o = j(), a = Ld(), { fields: l, setField: c, setTrainerRequired: u, configState: h, slotsState: f, refetchSlots: d } = ih({ sessionId: e, visitorId: n });
|
|
7520
7524
|
return h.phase === "loading" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
7521
7525
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
|
|
7522
7526
|
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: o.magiclineConfigLoading })
|
|
7523
7527
|
] }) : h.phase === "error" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
7524
7528
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
|
|
7525
|
-
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children:
|
|
7529
|
+
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children: ph(h.code, h.backendMessage, o) })
|
|
7526
7530
|
] }) : /* @__PURE__ */ s(
|
|
7527
|
-
|
|
7531
|
+
ah,
|
|
7528
7532
|
{
|
|
7529
7533
|
formMessageId: t,
|
|
7530
7534
|
sessionId: e,
|
|
@@ -7541,7 +7545,7 @@ function rh({
|
|
|
7541
7545
|
}
|
|
7542
7546
|
);
|
|
7543
7547
|
}
|
|
7544
|
-
function
|
|
7548
|
+
function ah({
|
|
7545
7549
|
formMessageId: t,
|
|
7546
7550
|
sessionId: e,
|
|
7547
7551
|
visitorId: n,
|
|
@@ -7556,16 +7560,16 @@ function ih({
|
|
|
7556
7560
|
submitForm: f
|
|
7557
7561
|
}) {
|
|
7558
7562
|
const d = j(), { plan: p, minimumAge: m, bookingWithoutTrainerAllowed: y, studioZoneId: g } = o, v = Z(
|
|
7559
|
-
() =>
|
|
7563
|
+
() => th(p, y),
|
|
7560
7564
|
[p, y]
|
|
7561
|
-
), b = r ? Math.max(v.indexOf("slot"), 0) : 0, [x, P] = I(b), [S, O] = I({}), [W,
|
|
7565
|
+
), b = r ? Math.max(v.indexOf("slot"), 0) : 0, [x, P] = I(b), [S, O] = I({}), [W, F] = I(!1), [ae, L] = I(null), U = Z(() => za(), []), ne = Math.min(x, v.length - 1), w = v[ne], G = ne === v.length - 1, Tt = ne === 0;
|
|
7562
7566
|
function We(K) {
|
|
7563
7567
|
const R = {};
|
|
7564
7568
|
if (K === "slot")
|
|
7565
7569
|
return a.slotId === "" && (R.slotId = d.magiclineSlotRequiredError), R;
|
|
7566
7570
|
if (K === "personal") {
|
|
7567
7571
|
if (a.firstName.trim() === "" && (R.firstName = d.magiclineRequiredError), a.lastName.trim() === "" && (R.lastName = d.magiclineRequiredError), p.email.visible && p.email.required && a.email.trim() === "" && (R.email = d.magiclineRequiredError), a.email.trim() !== "" && !La(a.email) && (R.email = d.magiclineEmailError), p.phone.visible && p.phone.required && a.phone.trim() === "" && (R.phone = d.magiclineRequiredError), p.gender.visible && p.gender.required && a.gender === "" && (R.gender = d.magiclineRequiredError), p.dateOfBirth.visible && (p.dateOfBirth.required && a.birthDate.trim() === "" && (R.birthDate = d.magiclineRequiredError), a.birthDate.trim() !== "")) {
|
|
7568
|
-
const me =
|
|
7572
|
+
const me = Ud(a.birthDate);
|
|
7569
7573
|
me !== null && me < 0 ? R.birthDate = d.magiclineRequiredError : m > 0 && me !== null && me < m && (R.birthDate = d.magiclineMinAgeError.replace("{age}", String(m)));
|
|
7570
7574
|
}
|
|
7571
7575
|
return R;
|
|
@@ -7591,9 +7595,9 @@ function ih({
|
|
|
7591
7595
|
O(K);
|
|
7592
7596
|
return;
|
|
7593
7597
|
}
|
|
7594
|
-
O({}), L(null),
|
|
7598
|
+
O({}), L(null), F(!0);
|
|
7595
7599
|
try {
|
|
7596
|
-
const R =
|
|
7600
|
+
const R = fh(p, a);
|
|
7597
7601
|
await f({
|
|
7598
7602
|
sessionId: e,
|
|
7599
7603
|
visitorId: n,
|
|
@@ -7602,13 +7606,13 @@ function ih({
|
|
|
7602
7606
|
fields: R
|
|
7603
7607
|
});
|
|
7604
7608
|
} catch (R) {
|
|
7605
|
-
console.error("[TrialSessionBookingForm] Submit failed:", R), L(d.magiclineFailedDetail),
|
|
7609
|
+
console.error("[TrialSessionBookingForm] Submit failed:", R), L(d.magiclineFailedDetail), F(!1);
|
|
7606
7610
|
}
|
|
7607
7611
|
}
|
|
7608
7612
|
function Rt() {
|
|
7609
7613
|
G ? Ge() : Ke();
|
|
7610
7614
|
}
|
|
7611
|
-
const lt =
|
|
7615
|
+
const lt = hh(w, d), je = `jex-ml-consent-${t}`;
|
|
7612
7616
|
return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
7613
7617
|
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
|
|
7614
7618
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: d.magiclineTrialTitle }),
|
|
@@ -7626,7 +7630,7 @@ function ih({
|
|
|
7626
7630
|
] }),
|
|
7627
7631
|
/* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": lt, children: [
|
|
7628
7632
|
w === "trainer" ? /* @__PURE__ */ s(
|
|
7629
|
-
|
|
7633
|
+
sh,
|
|
7630
7634
|
{
|
|
7631
7635
|
formMessageId: t,
|
|
7632
7636
|
trainerRequired: a.trainerRequired,
|
|
@@ -7635,7 +7639,7 @@ function ih({
|
|
|
7635
7639
|
}
|
|
7636
7640
|
) : null,
|
|
7637
7641
|
w === "slot" ? /* @__PURE__ */ s(
|
|
7638
|
-
|
|
7642
|
+
lh,
|
|
7639
7643
|
{
|
|
7640
7644
|
slotsState: u,
|
|
7641
7645
|
slotId: a.slotId,
|
|
@@ -7651,7 +7655,7 @@ function ih({
|
|
|
7651
7655
|
}
|
|
7652
7656
|
) : null,
|
|
7653
7657
|
w === "personal" ? /* @__PURE__ */ s(
|
|
7654
|
-
|
|
7658
|
+
ch,
|
|
7655
7659
|
{
|
|
7656
7660
|
plan: p,
|
|
7657
7661
|
fields: a,
|
|
@@ -7661,7 +7665,7 @@ function ih({
|
|
|
7661
7665
|
}
|
|
7662
7666
|
) : null,
|
|
7663
7667
|
w === "address" ? /* @__PURE__ */ s(
|
|
7664
|
-
|
|
7668
|
+
uh,
|
|
7665
7669
|
{
|
|
7666
7670
|
plan: p,
|
|
7667
7671
|
fields: a,
|
|
@@ -7671,10 +7675,10 @@ function ih({
|
|
|
7671
7675
|
}
|
|
7672
7676
|
) : null,
|
|
7673
7677
|
w === "confirm" ? /* @__PURE__ */ s(
|
|
7674
|
-
|
|
7678
|
+
dh,
|
|
7675
7679
|
{
|
|
7676
7680
|
consentId: je,
|
|
7677
|
-
privacyUrl:
|
|
7681
|
+
privacyUrl: U,
|
|
7678
7682
|
studioZoneId: g,
|
|
7679
7683
|
fields: a,
|
|
7680
7684
|
disabled: W,
|
|
@@ -7708,7 +7712,7 @@ function ih({
|
|
|
7708
7712
|
] })
|
|
7709
7713
|
] });
|
|
7710
7714
|
}
|
|
7711
|
-
function
|
|
7715
|
+
function sh({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r }) {
|
|
7712
7716
|
const i = j(), o = `jex-ml-trainer-${t}`;
|
|
7713
7717
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-radio-group", role: "radiogroup", "aria-label": i.magiclineStepTrainer, children: [
|
|
7714
7718
|
/* @__PURE__ */ s(
|
|
@@ -7755,7 +7759,7 @@ function oh({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r })
|
|
|
7755
7759
|
)
|
|
7756
7760
|
] });
|
|
7757
7761
|
}
|
|
7758
|
-
function
|
|
7762
|
+
function lh({
|
|
7759
7763
|
slotsState: t,
|
|
7760
7764
|
slotId: e,
|
|
7761
7765
|
studioZoneId: n,
|
|
@@ -7808,7 +7812,7 @@ function ah({
|
|
|
7808
7812
|
a !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: a }) : null
|
|
7809
7813
|
] });
|
|
7810
7814
|
}
|
|
7811
|
-
function
|
|
7815
|
+
function ch({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
7812
7816
|
const o = j(), a = Z(() => Oa(), []);
|
|
7813
7817
|
return /* @__PURE__ */ s(z, { children: [
|
|
7814
7818
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -7892,7 +7896,7 @@ function sh({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
7892
7896
|
n.birthDate !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: n.birthDate }) : null
|
|
7893
7897
|
] }) : null,
|
|
7894
7898
|
t.gender.visible ? /* @__PURE__ */ s(
|
|
7895
|
-
|
|
7899
|
+
Ua,
|
|
7896
7900
|
{
|
|
7897
7901
|
label: xe(o.magiclineGender, t.gender.required, o),
|
|
7898
7902
|
value: e.gender,
|
|
@@ -7903,12 +7907,12 @@ function sh({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
7903
7907
|
onChange: (l) => {
|
|
7904
7908
|
i("gender", l);
|
|
7905
7909
|
},
|
|
7906
|
-
options:
|
|
7910
|
+
options: Fa.map((l) => ({ value: l, label: mh(l, o) }))
|
|
7907
7911
|
}
|
|
7908
7912
|
) : null
|
|
7909
7913
|
] });
|
|
7910
7914
|
}
|
|
7911
|
-
function
|
|
7915
|
+
function uh({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
7912
7916
|
const o = j();
|
|
7913
7917
|
return /* @__PURE__ */ s(z, { children: [
|
|
7914
7918
|
t.address.visible ? /* @__PURE__ */ s(z, { children: [
|
|
@@ -7957,7 +7961,7 @@ function lh({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
7957
7961
|
}
|
|
7958
7962
|
),
|
|
7959
7963
|
/* @__PURE__ */ s(
|
|
7960
|
-
|
|
7964
|
+
Ua,
|
|
7961
7965
|
{
|
|
7962
7966
|
label: xe(o.magiclineCountry, t.address.required, o),
|
|
7963
7967
|
value: e.country,
|
|
@@ -7968,7 +7972,7 @@ function lh({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
7968
7972
|
onChange: (a) => {
|
|
7969
7973
|
i("country", a);
|
|
7970
7974
|
},
|
|
7971
|
-
options:
|
|
7975
|
+
options: eh.map((a) => ({ value: a.code, label: a.label }))
|
|
7972
7976
|
}
|
|
7973
7977
|
)
|
|
7974
7978
|
] }) : null,
|
|
@@ -7988,7 +7992,7 @@ function lh({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
7988
7992
|
) : null
|
|
7989
7993
|
] });
|
|
7990
7994
|
}
|
|
7991
|
-
function
|
|
7995
|
+
function dh({
|
|
7992
7996
|
consentId: t,
|
|
7993
7997
|
privacyUrl: e,
|
|
7994
7998
|
studioZoneId: n,
|
|
@@ -8082,7 +8086,7 @@ function Ve({
|
|
|
8082
8086
|
a !== void 0 ? /* @__PURE__ */ s("span", { id: c, class: "jex-magicline-error", role: "alert", children: a }) : null
|
|
8083
8087
|
] });
|
|
8084
8088
|
}
|
|
8085
|
-
function
|
|
8089
|
+
function Ua({
|
|
8086
8090
|
label: t,
|
|
8087
8091
|
value: e,
|
|
8088
8092
|
required: n,
|
|
@@ -8117,7 +8121,7 @@ function Fa({
|
|
|
8117
8121
|
function xe(t, e, n) {
|
|
8118
8122
|
return e ? t : t + n.magiclineOptionalSuffix;
|
|
8119
8123
|
}
|
|
8120
|
-
function
|
|
8124
|
+
function hh(t, e) {
|
|
8121
8125
|
switch (t) {
|
|
8122
8126
|
case "trainer":
|
|
8123
8127
|
return e.magiclineStepTrainer;
|
|
@@ -8133,10 +8137,10 @@ function uh(t, e) {
|
|
|
8133
8137
|
return "";
|
|
8134
8138
|
}
|
|
8135
8139
|
}
|
|
8136
|
-
function
|
|
8140
|
+
function ph(t, e, n) {
|
|
8137
8141
|
return e.trim() !== "" ? e : t === "unsupported" ? n.magiclineConfigUnsupported : t === "inconsistent" ? n.magiclineConfigInconsistent : n.magiclineConfigUnavailable;
|
|
8138
8142
|
}
|
|
8139
|
-
function
|
|
8143
|
+
function fh(t, e) {
|
|
8140
8144
|
const n = {
|
|
8141
8145
|
firstname: e.firstName.trim(),
|
|
8142
8146
|
lastname: e.lastName.trim(),
|
|
@@ -8146,7 +8150,7 @@ function hh(t, e) {
|
|
|
8146
8150
|
};
|
|
8147
8151
|
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;
|
|
8148
8152
|
}
|
|
8149
|
-
function
|
|
8153
|
+
function mh(t, e) {
|
|
8150
8154
|
return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
|
|
8151
8155
|
}
|
|
8152
8156
|
function Va(t, e, n) {
|
|
@@ -8175,7 +8179,7 @@ function Va(t, e, n) {
|
|
|
8175
8179
|
});
|
|
8176
8180
|
}
|
|
8177
8181
|
}
|
|
8178
|
-
const
|
|
8182
|
+
const gh = {
|
|
8179
8183
|
termId: null,
|
|
8180
8184
|
selectedModuleIds: [],
|
|
8181
8185
|
acknowledgedBlocks: {},
|
|
@@ -8203,7 +8207,7 @@ const fh = {
|
|
|
8203
8207
|
sepa: !1
|
|
8204
8208
|
}
|
|
8205
8209
|
};
|
|
8206
|
-
function
|
|
8210
|
+
function xh(t, e) {
|
|
8207
8211
|
switch (e.type) {
|
|
8208
8212
|
case "setTermId":
|
|
8209
8213
|
return t.termId === e.termId ? t : {
|
|
@@ -8265,14 +8269,14 @@ const eo = {
|
|
|
8265
8269
|
voucherStatus: "idle",
|
|
8266
8270
|
voucherRequestId: 0,
|
|
8267
8271
|
voucherUnavailable: !1
|
|
8268
|
-
},
|
|
8269
|
-
function
|
|
8272
|
+
}, vh = "voucher:";
|
|
8273
|
+
function bh(t) {
|
|
8270
8274
|
const e = {};
|
|
8271
8275
|
for (const n of Object.keys(t))
|
|
8272
|
-
n.startsWith(
|
|
8276
|
+
n.startsWith(vh) || (e[n] = t[n]);
|
|
8273
8277
|
return e;
|
|
8274
8278
|
}
|
|
8275
|
-
function
|
|
8279
|
+
function yh(t, e) {
|
|
8276
8280
|
switch (e.type) {
|
|
8277
8281
|
case "SET_VOUCHER_DRAFT": {
|
|
8278
8282
|
const n = t.appliedVoucher !== null || t.voucherStatus === "applied";
|
|
@@ -8325,10 +8329,10 @@ function vh(t, e) {
|
|
|
8325
8329
|
return t;
|
|
8326
8330
|
}
|
|
8327
8331
|
}
|
|
8328
|
-
function
|
|
8332
|
+
function wh(t, e) {
|
|
8329
8333
|
switch (e.type) {
|
|
8330
8334
|
case "dropVoucherAcks": {
|
|
8331
|
-
const n =
|
|
8335
|
+
const n = bh(t.acknowledgedBlocks);
|
|
8332
8336
|
return Object.keys(n).length === Object.keys(t.acknowledgedBlocks).length ? t : { ...t, acknowledgedBlocks: n };
|
|
8333
8337
|
}
|
|
8334
8338
|
case "seedVoucherAcks": {
|
|
@@ -8340,14 +8344,14 @@ function bh(t, e) {
|
|
|
8340
8344
|
return { ...t, acknowledgedBlocks: n };
|
|
8341
8345
|
}
|
|
8342
8346
|
default:
|
|
8343
|
-
return
|
|
8347
|
+
return xh(t, e);
|
|
8344
8348
|
}
|
|
8345
8349
|
}
|
|
8346
|
-
function
|
|
8350
|
+
function kh({
|
|
8347
8351
|
sessionId: t,
|
|
8348
8352
|
visitorId: e
|
|
8349
8353
|
}) {
|
|
8350
|
-
const n =
|
|
8354
|
+
const n = Bd(), r = Na(), [i, o] = pe(wh, gh), [a, l] = pe(yh, eo), [c, u] = pe(
|
|
8351
8355
|
(k, C) => C,
|
|
8352
8356
|
{ phase: "loading" }
|
|
8353
8357
|
), h = be(null), [f, d] = pe(
|
|
@@ -8367,13 +8371,13 @@ function yh({
|
|
|
8367
8371
|
o({ type: "setBlockAck", ackKey: k, value: C });
|
|
8368
8372
|
}, []), W = N((k) => {
|
|
8369
8373
|
o({ type: "setAccountHolder", value: k });
|
|
8370
|
-
}, []),
|
|
8374
|
+
}, []), F = N((k) => {
|
|
8371
8375
|
o({ type: "setIban", value: k });
|
|
8372
8376
|
}, []), ae = N((k, C) => {
|
|
8373
8377
|
o({ type: "setConsent", key: k, value: C });
|
|
8374
8378
|
}, []), L = N(() => {
|
|
8375
8379
|
o({ type: "clearIban" });
|
|
8376
|
-
}, []),
|
|
8380
|
+
}, []), U = N(() => {
|
|
8377
8381
|
o({ type: "clearTermId" }), l({ type: "CLEAR_VOUCHER" });
|
|
8378
8382
|
}, []), ne = N((k) => {
|
|
8379
8383
|
l({ type: "SET_VOUCHER_DRAFT", value: k }), o({ type: "dropVoucherAcks" });
|
|
@@ -8451,7 +8455,7 @@ function yh({
|
|
|
8451
8455
|
let C = !1;
|
|
8452
8456
|
const Ne = h.current;
|
|
8453
8457
|
p(Ne !== null ? { phase: "reloading", pricing: Ne } : { phase: "loading" });
|
|
8454
|
-
const Ye = k.defaultContractStartDate ?? "",
|
|
8458
|
+
const Ye = k.defaultContractStartDate ?? "", Fn = {
|
|
8455
8459
|
sessionId: t,
|
|
8456
8460
|
visitorId: e,
|
|
8457
8461
|
termId: k.termId,
|
|
@@ -8476,7 +8480,7 @@ function yh({
|
|
|
8476
8480
|
};
|
|
8477
8481
|
return (async () => {
|
|
8478
8482
|
try {
|
|
8479
|
-
const V = await r(
|
|
8483
|
+
const V = await r(Fn);
|
|
8480
8484
|
if (C)
|
|
8481
8485
|
return;
|
|
8482
8486
|
V.status === "ok" ? p({
|
|
@@ -8525,10 +8529,10 @@ function yh({
|
|
|
8525
8529
|
toggleModule: S,
|
|
8526
8530
|
setBlockAck: O,
|
|
8527
8531
|
setAccountHolder: W,
|
|
8528
|
-
setIban:
|
|
8532
|
+
setIban: F,
|
|
8529
8533
|
setConsent: ae,
|
|
8530
8534
|
clearIban: L,
|
|
8531
|
-
clearTermId:
|
|
8535
|
+
clearTermId: U,
|
|
8532
8536
|
refetchOffers: Ge,
|
|
8533
8537
|
fetchPreview: lt,
|
|
8534
8538
|
resetPreview: Rt,
|
|
@@ -8541,17 +8545,17 @@ function yh({
|
|
|
8541
8545
|
clearVoucher: st
|
|
8542
8546
|
};
|
|
8543
8547
|
}
|
|
8544
|
-
function
|
|
8548
|
+
function _h(t) {
|
|
8545
8549
|
return t !== null && t.optionalModules.length > 0 ? ["offer", "upgrades", "personal", "address", "payment", "review"] : ["offer", "personal", "address", "payment", "review"];
|
|
8546
8550
|
}
|
|
8547
|
-
function
|
|
8551
|
+
function jh({
|
|
8548
8552
|
formMessageId: t,
|
|
8549
8553
|
sessionId: e,
|
|
8550
8554
|
visitorId: n,
|
|
8551
8555
|
projectId: r,
|
|
8552
8556
|
formStatus: i
|
|
8553
8557
|
}) {
|
|
8554
|
-
const o = j(), a = Me.value, l =
|
|
8558
|
+
const o = j(), a = Me.value, l = Dd(), c = Na(), u = kh({ sessionId: e, visitorId: n }), {
|
|
8555
8559
|
fields: h,
|
|
8556
8560
|
offersState: f,
|
|
8557
8561
|
previewState: d,
|
|
@@ -8566,10 +8570,10 @@ function kh({
|
|
|
8566
8570
|
voucherUnavailable: S,
|
|
8567
8571
|
setTermId: O,
|
|
8568
8572
|
setPersonal: W,
|
|
8569
|
-
setAddress:
|
|
8573
|
+
setAddress: F,
|
|
8570
8574
|
toggleModule: ae,
|
|
8571
8575
|
setBlockAck: L,
|
|
8572
|
-
setAccountHolder:
|
|
8576
|
+
setAccountHolder: U,
|
|
8573
8577
|
setIban: ne,
|
|
8574
8578
|
setConsent: w,
|
|
8575
8579
|
clearIban: G,
|
|
@@ -8582,7 +8586,7 @@ function kh({
|
|
|
8582
8586
|
commitVoucherApplied: lt,
|
|
8583
8587
|
markVoucherInvalid: je,
|
|
8584
8588
|
markVoucherDisabled: K
|
|
8585
|
-
} = u, [R, me] = I(0), [qe, At] = I({}), [re, Se] = I(!1), [ce, ct] = I(null), [k, C] = I(null), [Ne, Ye] = I(null),
|
|
8589
|
+
} = u, [R, me] = I(0), [qe, At] = I({}), [re, Se] = I(!1), [ce, ct] = I(null), [k, C] = I(null), [Ne, Ye] = I(null), Fn = Z(() => za(), []);
|
|
8586
8590
|
if (ce !== null && ce.status === "succeeded")
|
|
8587
8591
|
return /* @__PURE__ */ s(to, { customerNumber: ce.customerNumber });
|
|
8588
8592
|
if (ce !== null && ce.status === "failed" && !ce.retryable) {
|
|
@@ -8593,7 +8597,7 @@ function kh({
|
|
|
8593
8597
|
return /* @__PURE__ */ s(to, { customerNumber: null });
|
|
8594
8598
|
if (ce === null && !re && i === "failed")
|
|
8595
8599
|
return /* @__PURE__ */ s(no, { message: o.magiclineFailedDetail });
|
|
8596
|
-
const V = Z(() =>
|
|
8600
|
+
const V = Z(() => _h(p), [p]), ut = Math.min(R, V.length - 1), Ce = V[ut], Jr = ut === V.length - 1, Ya = ut === 0;
|
|
8597
8601
|
function Ja(M) {
|
|
8598
8602
|
const A = {};
|
|
8599
8603
|
if (M === "offer")
|
|
@@ -8617,7 +8621,7 @@ function kh({
|
|
|
8617
8621
|
const X = h.address;
|
|
8618
8622
|
return X.street.trim() === "" && (A.street = o.magiclineRequiredError), X.houseNumber.trim() === "" && (A.houseNumber = o.magiclineRequiredError), X.zipCode.trim() === "" && (A.zipCode = o.magiclineRequiredError), X.city.trim() === "" && (A.city = o.magiclineRequiredError), A;
|
|
8619
8623
|
}
|
|
8620
|
-
return M === "payment" && (h.payment.accountHolder.trim() === "" && (A.accountHolder = o.magiclineRequiredError),
|
|
8624
|
+
return M === "payment" && (h.payment.accountHolder.trim() === "" && (A.accountHolder = o.magiclineRequiredError), Wd(h.payment.iban) || (A.iban = o.magiclineIbanInvalidError), h.consents.privacy || (A.privacy = o.magiclineConsentError), h.consents.sepa || (A.sepa = o.magiclineConsentError)), A;
|
|
8621
8625
|
}
|
|
8622
8626
|
function Za() {
|
|
8623
8627
|
const M = Ja(Ce);
|
|
@@ -8771,7 +8775,7 @@ function kh({
|
|
|
8771
8775
|
function rs() {
|
|
8772
8776
|
Jr ? ts() : Za();
|
|
8773
8777
|
}
|
|
8774
|
-
const Zr =
|
|
8778
|
+
const Zr = Lh(Ce, o), is = v === "applying" || b.trim() !== "" && b.trim() !== (P ?? ""), os = Ce === "review" && (d.phase !== "ready" || !y || is), as = re || os;
|
|
8775
8779
|
return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8776
8780
|
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
|
|
8777
8781
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineContractTitle }),
|
|
@@ -8789,7 +8793,7 @@ function kh({
|
|
|
8789
8793
|
] }),
|
|
8790
8794
|
/* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": Zr, children: [
|
|
8791
8795
|
Ce === "offer" ? /* @__PURE__ */ s(
|
|
8792
|
-
|
|
8796
|
+
Sh,
|
|
8793
8797
|
{
|
|
8794
8798
|
offersState: f,
|
|
8795
8799
|
selectedTermId: h.termId,
|
|
@@ -8801,7 +8805,7 @@ function kh({
|
|
|
8801
8805
|
}
|
|
8802
8806
|
) : null,
|
|
8803
8807
|
Ce === "upgrades" && p !== null ? /* @__PURE__ */ s(
|
|
8804
|
-
|
|
8808
|
+
Rh,
|
|
8805
8809
|
{
|
|
8806
8810
|
modules: p.optionalModules,
|
|
8807
8811
|
selectedModuleIds: h.selectedModuleIds,
|
|
@@ -8814,7 +8818,7 @@ function kh({
|
|
|
8814
8818
|
}
|
|
8815
8819
|
) : null,
|
|
8816
8820
|
Ce === "personal" ? /* @__PURE__ */ s(
|
|
8817
|
-
|
|
8821
|
+
Ih,
|
|
8818
8822
|
{
|
|
8819
8823
|
personal: h.personal,
|
|
8820
8824
|
errors: qe,
|
|
@@ -8823,29 +8827,29 @@ function kh({
|
|
|
8823
8827
|
}
|
|
8824
8828
|
) : null,
|
|
8825
8829
|
Ce === "address" ? /* @__PURE__ */ s(
|
|
8826
|
-
|
|
8830
|
+
Eh,
|
|
8827
8831
|
{
|
|
8828
8832
|
address: h.address,
|
|
8829
8833
|
errors: qe,
|
|
8830
8834
|
disabled: re,
|
|
8831
|
-
setAddress:
|
|
8835
|
+
setAddress: F
|
|
8832
8836
|
}
|
|
8833
8837
|
) : null,
|
|
8834
8838
|
Ce === "payment" ? /* @__PURE__ */ s(
|
|
8835
|
-
|
|
8839
|
+
Ph,
|
|
8836
8840
|
{
|
|
8837
8841
|
formMessageId: t,
|
|
8838
8842
|
fields: h,
|
|
8839
8843
|
errors: qe,
|
|
8840
|
-
privacyUrl:
|
|
8844
|
+
privacyUrl: Fn,
|
|
8841
8845
|
disabled: re,
|
|
8842
|
-
setAccountHolder:
|
|
8846
|
+
setAccountHolder: U,
|
|
8843
8847
|
setIban: ne,
|
|
8844
8848
|
setConsent: w
|
|
8845
8849
|
}
|
|
8846
8850
|
) : null,
|
|
8847
8851
|
Ce === "review" ? /* @__PURE__ */ s(
|
|
8848
|
-
|
|
8852
|
+
$h,
|
|
8849
8853
|
{
|
|
8850
8854
|
fields: h,
|
|
8851
8855
|
term: p,
|
|
@@ -8914,7 +8918,7 @@ function no({ message: t }) {
|
|
|
8914
8918
|
] })
|
|
8915
8919
|
] });
|
|
8916
8920
|
}
|
|
8917
|
-
function
|
|
8921
|
+
function Sh({
|
|
8918
8922
|
offersState: t,
|
|
8919
8923
|
selectedTermId: e,
|
|
8920
8924
|
widgetLocale: n,
|
|
@@ -8933,13 +8937,13 @@ function _h({
|
|
|
8933
8937
|
] });
|
|
8934
8938
|
if (t.phase === "empty")
|
|
8935
8939
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", "aria-live": "polite", children: l.magiclineNoOffers });
|
|
8936
|
-
const c =
|
|
8940
|
+
const c = Nh(t.terms);
|
|
8937
8941
|
return /* @__PURE__ */ s(z, { children: [
|
|
8938
8942
|
/* @__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: [
|
|
8939
8943
|
/* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-name", children: u.bundleName }),
|
|
8940
8944
|
u.bundleDescription !== null ? /* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-desc", children: u.bundleDescription }) : null,
|
|
8941
8945
|
u.terms.map((h) => /* @__PURE__ */ s(
|
|
8942
|
-
|
|
8946
|
+
Ch,
|
|
8943
8947
|
{
|
|
8944
8948
|
term: h,
|
|
8945
8949
|
checked: e === h.termId,
|
|
@@ -8950,7 +8954,7 @@ function _h({
|
|
|
8950
8954
|
h.termId
|
|
8951
8955
|
)),
|
|
8952
8956
|
/* @__PURE__ */ s(
|
|
8953
|
-
|
|
8957
|
+
Th,
|
|
8954
8958
|
{
|
|
8955
8959
|
subDescription: u.bundleSubDescription,
|
|
8956
8960
|
footnote: u.footnote
|
|
@@ -8960,7 +8964,7 @@ function _h({
|
|
|
8960
8964
|
i !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: i }) : null
|
|
8961
8965
|
] });
|
|
8962
8966
|
}
|
|
8963
|
-
function
|
|
8967
|
+
function Ch({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i }) {
|
|
8964
8968
|
const o = j(), a = Mn(t.termValue, t.termUnit, n), l = ke(t.price, t.currencyCode, n), c = t.flatFees.find((h) => h.isStarterPackage), u = t.flatFees.filter((h) => !h.isStarterPackage);
|
|
8965
8969
|
return /* @__PURE__ */ s(
|
|
8966
8970
|
"label",
|
|
@@ -9023,8 +9027,8 @@ function jh({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i })
|
|
|
9023
9027
|
}
|
|
9024
9028
|
);
|
|
9025
9029
|
}
|
|
9026
|
-
function
|
|
9027
|
-
const n = j(), r =
|
|
9030
|
+
function Th({ subDescription: t, footnote: e }) {
|
|
9031
|
+
const n = j(), r = qh(t), i = e !== null && e.trim() !== "";
|
|
9028
9032
|
return r.length === 0 && !i ? null : /* @__PURE__ */ s("details", { class: "jex-magicline-bundle-details", children: [
|
|
9029
9033
|
/* @__PURE__ */ s("summary", { class: "jex-magicline-bundle-details-summary", children: n.magiclineDetails }),
|
|
9030
9034
|
/* @__PURE__ */ s("div", { class: "jex-magicline-bundle-details-body", children: [
|
|
@@ -9033,7 +9037,7 @@ function Sh({ subDescription: t, footnote: e }) {
|
|
|
9033
9037
|
] })
|
|
9034
9038
|
] });
|
|
9035
9039
|
}
|
|
9036
|
-
function
|
|
9040
|
+
function Rh({
|
|
9037
9041
|
modules: t,
|
|
9038
9042
|
selectedModuleIds: e,
|
|
9039
9043
|
acknowledgedBlocks: n,
|
|
@@ -9047,7 +9051,7 @@ function Ch({
|
|
|
9047
9051
|
return t.length === 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesNone }) : /* @__PURE__ */ s(z, { children: [
|
|
9048
9052
|
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesIntro }),
|
|
9049
9053
|
/* @__PURE__ */ s("div", { class: "jex-magicline-upgrade-group", children: t.map((u) => /* @__PURE__ */ s(
|
|
9050
|
-
|
|
9054
|
+
Ah,
|
|
9051
9055
|
{
|
|
9052
9056
|
module: u,
|
|
9053
9057
|
selected: e.includes(u.id),
|
|
@@ -9062,7 +9066,7 @@ function Ch({
|
|
|
9062
9066
|
o !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: o }) : null
|
|
9063
9067
|
] });
|
|
9064
9068
|
}
|
|
9065
|
-
function
|
|
9069
|
+
function Ah({
|
|
9066
9070
|
module: t,
|
|
9067
9071
|
selected: e,
|
|
9068
9072
|
consentChecked: n,
|
|
@@ -9071,13 +9075,13 @@ function Th({
|
|
|
9071
9075
|
onToggle: o,
|
|
9072
9076
|
onAck: a
|
|
9073
9077
|
}) {
|
|
9074
|
-
const l = j(), c =
|
|
9078
|
+
const l = j(), c = Yd(
|
|
9075
9079
|
t.price,
|
|
9076
9080
|
t.currencyCode,
|
|
9077
9081
|
t.paymentFrequencyType,
|
|
9078
9082
|
t.recurringUnit,
|
|
9079
9083
|
r
|
|
9080
|
-
), u =
|
|
9084
|
+
), u = Xd(t.extensionType, t.termExtension, r), h = t.termLabel !== null && t.termLabel !== "" ? t.termLabel : l.magiclineUpgradeOneTime, f = t.consent;
|
|
9081
9085
|
return /* @__PURE__ */ s("div", { class: e ? "jex-magicline-upgrade-card jex-magicline-upgrade-card-active" : "jex-magicline-upgrade-card", children: [
|
|
9082
9086
|
/* @__PURE__ */ s("label", { class: "jex-magicline-upgrade-head", children: [
|
|
9083
9087
|
/* @__PURE__ */ s(
|
|
@@ -9116,7 +9120,7 @@ function Th({
|
|
|
9116
9120
|
) : null
|
|
9117
9121
|
] });
|
|
9118
9122
|
}
|
|
9119
|
-
function
|
|
9123
|
+
function Ih({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
9120
9124
|
const i = j(), o = Z(() => Oa(), []);
|
|
9121
9125
|
return /* @__PURE__ */ s(z, { children: [
|
|
9122
9126
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -9185,7 +9189,7 @@ function Rh({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
|
9185
9189
|
e.dateOfBirth !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: e.dateOfBirth }) : null
|
|
9186
9190
|
] }),
|
|
9187
9191
|
/* @__PURE__ */ s(
|
|
9188
|
-
|
|
9192
|
+
Mh,
|
|
9189
9193
|
{
|
|
9190
9194
|
label: i.magiclineGender,
|
|
9191
9195
|
value: t.gender,
|
|
@@ -9196,7 +9200,7 @@ function Rh({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
|
9196
9200
|
onChange: (a) => {
|
|
9197
9201
|
r("gender", a);
|
|
9198
9202
|
},
|
|
9199
|
-
options:
|
|
9203
|
+
options: Fa.map((a) => ({ value: a, label: Oh(a, i) }))
|
|
9200
9204
|
}
|
|
9201
9205
|
),
|
|
9202
9206
|
/* @__PURE__ */ s(
|
|
@@ -9216,7 +9220,7 @@ function Rh({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
|
9216
9220
|
)
|
|
9217
9221
|
] });
|
|
9218
9222
|
}
|
|
9219
|
-
function
|
|
9223
|
+
function Eh({ address: t, errors: e, disabled: n, setAddress: r }) {
|
|
9220
9224
|
const i = j();
|
|
9221
9225
|
return /* @__PURE__ */ s(z, { children: [
|
|
9222
9226
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -9285,7 +9289,7 @@ function Ah({ address: t, errors: e, disabled: n, setAddress: r }) {
|
|
|
9285
9289
|
] })
|
|
9286
9290
|
] });
|
|
9287
9291
|
}
|
|
9288
|
-
function
|
|
9292
|
+
function Ph({
|
|
9289
9293
|
formMessageId: t,
|
|
9290
9294
|
fields: e,
|
|
9291
9295
|
errors: n,
|
|
@@ -9362,7 +9366,7 @@ function Ih({
|
|
|
9362
9366
|
n.sepa !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: n.sepa }) : null
|
|
9363
9367
|
] });
|
|
9364
9368
|
}
|
|
9365
|
-
function
|
|
9369
|
+
function $h({
|
|
9366
9370
|
fields: t,
|
|
9367
9371
|
term: e,
|
|
9368
9372
|
previewState: n,
|
|
@@ -9392,7 +9396,7 @@ function Eh({
|
|
|
9392
9396
|
`${S.street} ${S.houseNumber}`.trim(),
|
|
9393
9397
|
`${S.zipCode} ${S.city}`.trim(),
|
|
9394
9398
|
g.magiclineCountryStatic
|
|
9395
|
-
].filter((w) => w !== "").join(", "), W = e !== null ? `${e.bundleName} · ${Mn(e.termValue, e.termUnit, r)}` : "—",
|
|
9399
|
+
].filter((w) => w !== "").join(", "), W = e !== null ? `${e.bundleName} · ${Mn(e.termValue, e.termUnit, r)}` : "—", F = e !== null ? e.textBlocks.filter((w) => w.isConfirmationRequired) : [], ae = e !== null ? e.textBlocks.filter((w) => !w.isConfirmationRequired) : [], L = e !== null ? e.optionalModules.filter((w) => t.selectedModuleIds.includes(w.id) && w.consent !== null).map((w) => ({ module: w, consent: w.consent })) : [], U = d !== null ? d.textBlocks.filter((w) => w.ackKey.startsWith("voucher:")) : [], ne = c && !u;
|
|
9396
9400
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-review-wrap", children: [
|
|
9397
9401
|
/* @__PURE__ */ s(
|
|
9398
9402
|
"div",
|
|
@@ -9420,7 +9424,7 @@ function Eh({
|
|
|
9420
9424
|
d !== null && d.voucherType === "DISCOUNT" ? /* @__PURE__ */ s("div", { class: "jex-magicline-summary-row jex-magicline-voucher-discount-row", children: [
|
|
9421
9425
|
/* @__PURE__ */ s("dt", { children: g.magiclineVoucherAppliedDiscount.replace(
|
|
9422
9426
|
"{discount}",
|
|
9423
|
-
|
|
9427
|
+
Jd(
|
|
9424
9428
|
d.discountValue,
|
|
9425
9429
|
d.discountType,
|
|
9426
9430
|
v.currencyCode,
|
|
@@ -9457,7 +9461,7 @@ function Eh({
|
|
|
9457
9461
|
/* @__PURE__ */ s("dl", { class: "jex-magicline-summary jex-magicline-summary-section", children: [
|
|
9458
9462
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
9459
9463
|
/* @__PURE__ */ s("dt", { children: g.magiclineReviewStartsOn }),
|
|
9460
|
-
/* @__PURE__ */ s("dd", { children:
|
|
9464
|
+
/* @__PURE__ */ s("dd", { children: Gd(v.startDate, r) })
|
|
9461
9465
|
] }),
|
|
9462
9466
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
9463
9467
|
/* @__PURE__ */ s("dt", { children: g.magiclineSummaryName }),
|
|
@@ -9469,7 +9473,7 @@ function Eh({
|
|
|
9469
9473
|
] }),
|
|
9470
9474
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
9471
9475
|
/* @__PURE__ */ s("dt", { children: g.magiclineReviewPayment }),
|
|
9472
|
-
/* @__PURE__ */ s("dd", { children:
|
|
9476
|
+
/* @__PURE__ */ s("dd", { children: Kd(t.payment.iban) })
|
|
9473
9477
|
] })
|
|
9474
9478
|
] }),
|
|
9475
9479
|
ne ? /* @__PURE__ */ s("div", { class: "jex-magicline-voucher-section", children: [
|
|
@@ -9514,12 +9518,12 @@ function Eh({
|
|
|
9514
9518
|
G.ackKey
|
|
9515
9519
|
))
|
|
9516
9520
|
] }) : null,
|
|
9517
|
-
|
|
9518
|
-
|
|
9521
|
+
F.length > 0 || ae.length > 0 || U.length > 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-terms", role: "group", "aria-label": g.magiclineReviewTerms, children: [
|
|
9522
|
+
F.length > 0 || U.length > 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-terms-prompt", children: [
|
|
9519
9523
|
g.magiclineConfirmPrompt,
|
|
9520
9524
|
/* @__PURE__ */ s("span", { class: "jex-magicline-required-pill", children: g.magiclineRequired })
|
|
9521
9525
|
] }) : null,
|
|
9522
|
-
|
|
9526
|
+
F.map((w) => /* @__PURE__ */ s(
|
|
9523
9527
|
_r,
|
|
9524
9528
|
{
|
|
9525
9529
|
ackKey: w.ackKey,
|
|
@@ -9533,7 +9537,7 @@ function Eh({
|
|
|
9533
9537
|
},
|
|
9534
9538
|
w.ackKey
|
|
9535
9539
|
)),
|
|
9536
|
-
|
|
9540
|
+
U.map((w) => /* @__PURE__ */ s(
|
|
9537
9541
|
_r,
|
|
9538
9542
|
{
|
|
9539
9543
|
ackKey: w.ackKey,
|
|
@@ -9648,7 +9652,7 @@ function Ee({
|
|
|
9648
9652
|
a !== void 0 ? /* @__PURE__ */ s("span", { id: c, class: "jex-magicline-error", role: "alert", children: a }) : null
|
|
9649
9653
|
] });
|
|
9650
9654
|
}
|
|
9651
|
-
function
|
|
9655
|
+
function Mh({
|
|
9652
9656
|
label: t,
|
|
9653
9657
|
value: e,
|
|
9654
9658
|
required: n,
|
|
@@ -9680,11 +9684,11 @@ function Ph({
|
|
|
9680
9684
|
o !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: o }) : null
|
|
9681
9685
|
] });
|
|
9682
9686
|
}
|
|
9683
|
-
function
|
|
9687
|
+
function qh(t) {
|
|
9684
9688
|
return t === null ? [] : t.split(`
|
|
9685
9689
|
`).map((e) => e.replace(/^\s*[-•]\s*/, "").trim()).filter((e) => e !== "");
|
|
9686
9690
|
}
|
|
9687
|
-
function
|
|
9691
|
+
function Nh(t) {
|
|
9688
9692
|
const e = [], n = /* @__PURE__ */ new Map();
|
|
9689
9693
|
for (const r of t) {
|
|
9690
9694
|
let i = n.get(r.bundleId);
|
|
@@ -9699,7 +9703,7 @@ function Mh(t) {
|
|
|
9699
9703
|
}
|
|
9700
9704
|
return e;
|
|
9701
9705
|
}
|
|
9702
|
-
function
|
|
9706
|
+
function Lh(t, e) {
|
|
9703
9707
|
switch (t) {
|
|
9704
9708
|
case "offer":
|
|
9705
9709
|
return e.magiclineStepOffer;
|
|
@@ -9717,10 +9721,10 @@ function qh(t, e) {
|
|
|
9717
9721
|
return "";
|
|
9718
9722
|
}
|
|
9719
9723
|
}
|
|
9720
|
-
function
|
|
9724
|
+
function Oh(t, e) {
|
|
9721
9725
|
return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
|
|
9722
9726
|
}
|
|
9723
|
-
function
|
|
9727
|
+
function zh({ message: t, sessionId: e, visitorId: n }) {
|
|
9724
9728
|
const r = j(), i = t.magiclineForm, o = !!i && i.status === "open" && !!i.submissionId, a = kn(
|
|
9725
9729
|
oe.functions.magicline.public.getSubmissionStatus,
|
|
9726
9730
|
o && i?.submissionId ? { sessionId: e, visitorId: n, submissionId: i.submissionId } : "skip"
|
|
@@ -9729,7 +9733,7 @@ function Lh({ message: t, sessionId: e, visitorId: n }) {
|
|
|
9729
9733
|
return null;
|
|
9730
9734
|
if (i.action === "contractCreation")
|
|
9731
9735
|
return t.projectId ? /* @__PURE__ */ s(
|
|
9732
|
-
|
|
9736
|
+
jh,
|
|
9733
9737
|
{
|
|
9734
9738
|
formMessageId: t._id,
|
|
9735
9739
|
sessionId: e,
|
|
@@ -9758,7 +9762,7 @@ function Lh({ message: t, sessionId: e, visitorId: n }) {
|
|
|
9758
9762
|
return null;
|
|
9759
9763
|
const l = a != null && a.errorCode === "slot_unavailable", c = o && a === void 0;
|
|
9760
9764
|
return /* @__PURE__ */ s(
|
|
9761
|
-
|
|
9765
|
+
oh,
|
|
9762
9766
|
{
|
|
9763
9767
|
formMessageId: t._id,
|
|
9764
9768
|
sessionId: e,
|
|
@@ -9768,13 +9772,13 @@ function Lh({ message: t, sessionId: e, visitorId: n }) {
|
|
|
9768
9772
|
}
|
|
9769
9773
|
);
|
|
9770
9774
|
}
|
|
9771
|
-
const
|
|
9775
|
+
const Bh = {
|
|
9772
9776
|
crawl: "🌐",
|
|
9773
9777
|
file: "📄",
|
|
9774
9778
|
snippet: "💡",
|
|
9775
9779
|
qa: "❓"
|
|
9776
9780
|
};
|
|
9777
|
-
function
|
|
9781
|
+
function Dh({ sources: t }) {
|
|
9778
9782
|
const e = j(), [n, r] = I(!1);
|
|
9779
9783
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-sources-row", children: [
|
|
9780
9784
|
/* @__PURE__ */ s(
|
|
@@ -9797,10 +9801,10 @@ function zh({ sources: t }) {
|
|
|
9797
9801
|
}
|
|
9798
9802
|
),
|
|
9799
9803
|
n ? /* @__PURE__ */ s("div", { class: "jex-sources-pills", children: t.map((i, o) => {
|
|
9800
|
-
const a = i.sourceType === "crawl", l =
|
|
9804
|
+
const a = i.sourceType === "crawl", l = Fh(i), c = a && i.url ? `${i.title}
|
|
9801
9805
|
${i.url}` : i.title, u = /* @__PURE__ */ s(z, { children: [
|
|
9802
9806
|
typeof i.id == "number" ? /* @__PURE__ */ s("span", { class: "jex-source-id", children: i.id }) : null,
|
|
9803
|
-
/* @__PURE__ */ s("span", { class: "jex-source-type", children:
|
|
9807
|
+
/* @__PURE__ */ s("span", { class: "jex-source-type", children: Bh[i.sourceType] }),
|
|
9804
9808
|
/* @__PURE__ */ s("span", { class: "jex-source-label", children: l }),
|
|
9805
9809
|
/* @__PURE__ */ s("span", { class: "jex-source-score", children: [
|
|
9806
9810
|
"· ",
|
|
@@ -9822,7 +9826,7 @@ ${i.url}` : i.title, u = /* @__PURE__ */ s(z, { children: [
|
|
|
9822
9826
|
}) }) : null
|
|
9823
9827
|
] });
|
|
9824
9828
|
}
|
|
9825
|
-
function
|
|
9829
|
+
function Fh(t) {
|
|
9826
9830
|
if (t.sourceType === "crawl" && t.url)
|
|
9827
9831
|
try {
|
|
9828
9832
|
const e = new URL(t.url);
|
|
@@ -9831,22 +9835,22 @@ function Bh(t) {
|
|
|
9831
9835
|
}
|
|
9832
9836
|
return t.title;
|
|
9833
9837
|
}
|
|
9834
|
-
function
|
|
9838
|
+
function Uh() {
|
|
9835
9839
|
return /* @__PURE__ */ s("div", { class: "jex-typing", children: [
|
|
9836
9840
|
/* @__PURE__ */ s("span", {}),
|
|
9837
9841
|
/* @__PURE__ */ s("span", {}),
|
|
9838
9842
|
/* @__PURE__ */ s("span", {})
|
|
9839
9843
|
] });
|
|
9840
9844
|
}
|
|
9841
|
-
const
|
|
9845
|
+
const Vh = /\s?\[\d+\]/g;
|
|
9842
9846
|
function io(t) {
|
|
9843
|
-
return t.replace(
|
|
9847
|
+
return t.replace(Vh, "");
|
|
9844
9848
|
}
|
|
9845
|
-
function
|
|
9849
|
+
function Hh(t) {
|
|
9846
9850
|
return t?.at(-1)?._creationTime ?? 0;
|
|
9847
9851
|
}
|
|
9848
|
-
function
|
|
9849
|
-
const h = j(), f = be(null), [d, p] = I(null), m =
|
|
9852
|
+
function Qh({ conversations: t, greeting: e, botName: n, starterQuestions: r, onPickStarter: i, sessionNotFound: o, resumeFailed: a, onStartFresh: l, sessionId: c, visitorId: u }) {
|
|
9853
|
+
const h = j(), f = be(null), [d, p] = I(null), m = Hh(t), y = qa(), g = be(null);
|
|
9850
9854
|
T(() => {
|
|
9851
9855
|
if (!u || !t)
|
|
9852
9856
|
return;
|
|
@@ -9859,7 +9863,7 @@ function Vh({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
9859
9863
|
return /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: [
|
|
9860
9864
|
/* @__PURE__ */ s(ht, { text: e, botName: n }),
|
|
9861
9865
|
b ? /* @__PURE__ */ s(
|
|
9862
|
-
|
|
9866
|
+
$d,
|
|
9863
9867
|
{
|
|
9864
9868
|
questions: r,
|
|
9865
9869
|
disabled: mn.value,
|
|
@@ -9886,7 +9890,7 @@ function Vh({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
9886
9890
|
return /* @__PURE__ */ s(ht, { text: S, botName: n }, x._id);
|
|
9887
9891
|
}
|
|
9888
9892
|
if (x.contentType === "escalation-form" && c && u)
|
|
9889
|
-
return
|
|
9893
|
+
return nu.value === "screen" && !x.formData ? d === x._id ? null : /* @__PURE__ */ s("div", { class: "jex-inline-form jex-inline-form-card", children: [
|
|
9890
9894
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: h.escalationPromptTitle }),
|
|
9891
9895
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-subtitle", children: h.escalationPromptSubtitle }),
|
|
9892
9896
|
/* @__PURE__ */ s(
|
|
@@ -9911,21 +9915,21 @@ function Vh({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
9911
9915
|
children: h.escalationSkip
|
|
9912
9916
|
}
|
|
9913
9917
|
)
|
|
9914
|
-
] }, x._id) : /* @__PURE__ */ s(
|
|
9918
|
+
] }, x._id) : /* @__PURE__ */ s(qd, { message: x, sessionId: c, visitorId: u, waitingSetAt: m }, x._id);
|
|
9915
9919
|
if (x.contentType === "magicline-form" && c && u)
|
|
9916
|
-
return /* @__PURE__ */ s(
|
|
9920
|
+
return /* @__PURE__ */ s(zh, { message: x, sessionId: c, visitorId: u }, x._id);
|
|
9917
9921
|
if (x.contentType === "escalation-confirm") {
|
|
9918
9922
|
const S = x.noticeKind === "escalation-confirmed" ? h.noticeEscalationConfirmed.replace("{name}", x.noticeData?.visitorName ?? "").replace("{email}", x.noticeData?.visitorEmail ?? "").replace("{ref}", x.noticeData?.visitorId ?? "") : x.content;
|
|
9919
9923
|
return /* @__PURE__ */ s(ht, { text: S, botName: n }, x._id);
|
|
9920
9924
|
}
|
|
9921
9925
|
if (x.role === "user")
|
|
9922
|
-
return /* @__PURE__ */ s(
|
|
9926
|
+
return /* @__PURE__ */ s(Md, { text: x.content }, x._id);
|
|
9923
9927
|
const P = {
|
|
9924
9928
|
authorId: x.authorId,
|
|
9925
9929
|
authorName: x.authorName,
|
|
9926
9930
|
authorImage: x.authorImage
|
|
9927
9931
|
};
|
|
9928
|
-
return x.status === "streaming" && x.content === "" ? /* @__PURE__ */ s(
|
|
9932
|
+
return x.status === "streaming" && x.content === "" ? /* @__PURE__ */ s(Uh, {}, x._id) : x.status === "streaming" ? /* @__PURE__ */ s(ht, { text: io(x.content), streaming: !0, botName: n, ...P }, x._id) : x.status === "error" ? /* @__PURE__ */ s(
|
|
9929
9933
|
ht,
|
|
9930
9934
|
{
|
|
9931
9935
|
text: x.errorMessage ?? `${h.somethingWentWrong}. ${h.tryAgain}.`,
|
|
@@ -9936,13 +9940,13 @@ function Vh({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
9936
9940
|
x._id
|
|
9937
9941
|
) : /* @__PURE__ */ s("div", { children: [
|
|
9938
9942
|
/* @__PURE__ */ s(ht, { text: io(x.content), botName: n, ...P }),
|
|
9939
|
-
x.sources && x.sources.length > 0 ? /* @__PURE__ */ s(
|
|
9943
|
+
x.sources && x.sources.length > 0 ? /* @__PURE__ */ s(Dh, { sources: x.sources }) : null
|
|
9940
9944
|
] }, x._id);
|
|
9941
9945
|
}),
|
|
9942
9946
|
/* @__PURE__ */ s("div", { ref: f })
|
|
9943
9947
|
] });
|
|
9944
9948
|
}
|
|
9945
|
-
function
|
|
9949
|
+
function Wh() {
|
|
9946
9950
|
const t = j();
|
|
9947
9951
|
function e() {
|
|
9948
9952
|
const n = Kt.peek();
|
|
@@ -9968,7 +9972,7 @@ function Qh() {
|
|
|
9968
9972
|
] })
|
|
9969
9973
|
] });
|
|
9970
9974
|
}
|
|
9971
|
-
function
|
|
9975
|
+
function Ha({ message: t }) {
|
|
9972
9976
|
const [e, n] = I(!1);
|
|
9973
9977
|
return T(() => {
|
|
9974
9978
|
const r = setTimeout(() => {
|
|
@@ -9982,7 +9986,7 @@ function Qa({ message: t }) {
|
|
|
9982
9986
|
t && /* @__PURE__ */ s("p", { class: "jex-loading-message", children: t })
|
|
9983
9987
|
] }) : null;
|
|
9984
9988
|
}
|
|
9985
|
-
function
|
|
9989
|
+
function Kh({ sessionId: t, visitorId: e }) {
|
|
9986
9990
|
const n = kn(
|
|
9987
9991
|
oe.functions.chat.public.conversations.listBySession,
|
|
9988
9992
|
t && e ? { sessionId: t, visitorId: e } : "skip"
|
|
@@ -9997,7 +10001,7 @@ function Hh({ sessionId: t, visitorId: e }) {
|
|
|
9997
10001
|
isStreaming: o
|
|
9998
10002
|
};
|
|
9999
10003
|
}
|
|
10000
|
-
function
|
|
10004
|
+
function Gh(t) {
|
|
10001
10005
|
const e = j(), n = be(null), r = be(null), [i, o] = I(!1);
|
|
10002
10006
|
T(() => {
|
|
10003
10007
|
try {
|
|
@@ -10070,7 +10074,7 @@ function Wh(t) {
|
|
|
10070
10074
|
};
|
|
10071
10075
|
}, []);
|
|
10072
10076
|
}
|
|
10073
|
-
function
|
|
10077
|
+
function Yh({ sessionId: t, visitorId: e }) {
|
|
10074
10078
|
const n = it(oe.functions.chat.public.visitorPresence.heartbeat);
|
|
10075
10079
|
T(() => {
|
|
10076
10080
|
if (!t || !e)
|
|
@@ -10091,11 +10095,11 @@ function Kh({ sessionId: t, visitorId: e }) {
|
|
|
10091
10095
|
};
|
|
10092
10096
|
}, [t, e, n]);
|
|
10093
10097
|
}
|
|
10094
|
-
function
|
|
10098
|
+
function Jh() {
|
|
10095
10099
|
return it(oe.functions.chat.public.helpdesk.createEscalationRequest);
|
|
10096
10100
|
}
|
|
10097
|
-
function
|
|
10098
|
-
const i = j(), o =
|
|
10101
|
+
function Qa({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {
|
|
10102
|
+
const i = j(), o = Jh(), [a, l] = I(!1), [c, u] = I(null);
|
|
10099
10103
|
async function h() {
|
|
10100
10104
|
if (!a) {
|
|
10101
10105
|
l(!0), u(null);
|
|
@@ -10103,7 +10107,7 @@ function Ha({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {
|
|
|
10103
10107
|
const f = t && e ? { sessionId: t, visitorId: e } : await n();
|
|
10104
10108
|
if (!f)
|
|
10105
10109
|
return;
|
|
10106
|
-
const d =
|
|
10110
|
+
const d = He.value;
|
|
10107
10111
|
if (!d)
|
|
10108
10112
|
return;
|
|
10109
10113
|
const p = await o({
|
|
@@ -10127,15 +10131,15 @@ function Ha({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {
|
|
|
10127
10131
|
}
|
|
10128
10132
|
return { requestHuman: h, busy: a, error: c };
|
|
10129
10133
|
}
|
|
10130
|
-
function
|
|
10131
|
-
const f = j(), { conversations: d, sessionStatus: p, isLoading: m, isStreaming: y } =
|
|
10132
|
-
|
|
10134
|
+
function Zh({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: h }) {
|
|
10135
|
+
const f = j(), { conversations: d, sessionStatus: p, isLoading: m, isStreaming: y } = Kh({ sessionId: r, visitorId: i });
|
|
10136
|
+
Gh(d), Yh({ sessionId: r, visitorId: i }), T(() => {
|
|
10133
10137
|
const S = Kt.peek();
|
|
10134
10138
|
if (S === null || !d || d.length === 0)
|
|
10135
10139
|
return;
|
|
10136
10140
|
const { waitingSetAt: O } = S;
|
|
10137
10141
|
d.some(
|
|
10138
|
-
(
|
|
10142
|
+
(F) => F._creationTime > O && (F.noticeKind === "agent-joined" || !!F.authorId)
|
|
10139
10143
|
) && _a();
|
|
10140
10144
|
}, [d]);
|
|
10141
10145
|
const g = ka({ sessionId: r, visitorId: i, ensureSession: u }), v = be(
|
|
@@ -10143,7 +10147,7 @@ function Yh({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
|
|
|
10143
10147
|
const S = xt.peek();
|
|
10144
10148
|
return S !== null ? S : Nr.peek() && fe.peek() !== null ? "resume" : "fresh";
|
|
10145
10149
|
})()
|
|
10146
|
-
).current, { requestHuman: b, error: x } =
|
|
10150
|
+
).current, { requestHuman: b, error: x } = Qa({ sessionId: r, visitorId: i, ensureSession: u });
|
|
10147
10151
|
return T(() => {
|
|
10148
10152
|
v === "escalate" && b();
|
|
10149
10153
|
}, [v]), T(() => {
|
|
@@ -10152,9 +10156,9 @@ function Yh({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
|
|
|
10152
10156
|
fe.peek() !== null && u();
|
|
10153
10157
|
}, [u]), T(() => {
|
|
10154
10158
|
i && Lr(i);
|
|
10155
|
-
}, [i]), c ? /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: /* @__PURE__ */ s("div", { class: "jex-session-notice", children: f.chatNoLongerAvailable }) }) : v === "resume" && (!r || m) ? /* @__PURE__ */ s(
|
|
10159
|
+
}, [i]), c ? /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: /* @__PURE__ */ s("div", { class: "jex-session-notice", children: f.chatNoLongerAvailable }) }) : v === "resume" && (!r || m) ? /* @__PURE__ */ s(Ha, { message: f.resumeConversation }) : /* @__PURE__ */ s(z, { children: [
|
|
10156
10160
|
/* @__PURE__ */ s(
|
|
10157
|
-
|
|
10161
|
+
Qh,
|
|
10158
10162
|
{
|
|
10159
10163
|
conversations: d,
|
|
10160
10164
|
greeting: t,
|
|
@@ -10170,10 +10174,10 @@ function Yh({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
|
|
|
10170
10174
|
visitorId: i
|
|
10171
10175
|
}
|
|
10172
10176
|
),
|
|
10173
|
-
Kt.value !== null && /* @__PURE__ */ s(
|
|
10177
|
+
Kt.value !== null && /* @__PURE__ */ s(Wh, {}),
|
|
10174
10178
|
x && /* @__PURE__ */ s("div", { class: "jex-session-error-notice", role: "alert", style: { margin: "8px 16px 0" }, children: x }),
|
|
10175
10179
|
/* @__PURE__ */ s(
|
|
10176
|
-
|
|
10180
|
+
Nu,
|
|
10177
10181
|
{
|
|
10178
10182
|
sessionId: r,
|
|
10179
10183
|
visitorId: i,
|
|
@@ -10195,7 +10199,7 @@ function Wa(t) {
|
|
|
10195
10199
|
function Ka(t) {
|
|
10196
10200
|
return t?.anyOnline ? "online" : t?.anyAway ? "away" : "offline";
|
|
10197
10201
|
}
|
|
10198
|
-
function
|
|
10202
|
+
function Xh({ formMessageId: t, sessionId: e, visitorId: n, orgSlug: r }) {
|
|
10199
10203
|
const i = j(), o = nn.value, a = /^https?:\/\//i.test(o) ? o : tn, [l, c] = I(""), [u, h] = I(""), f = Wa(r), d = f && !f.anyOnline ? i.escalationOfflineSubtitle : i.escalationSubtitle, p = Ma(), [m, y] = I(!1), [g, v] = I(null);
|
|
10200
10204
|
async function b(x) {
|
|
10201
10205
|
x.preventDefault(), y(!0), v(null);
|
|
@@ -10258,7 +10262,7 @@ function Jh({ formMessageId: t, sessionId: e, visitorId: n, orgSlug: r }) {
|
|
|
10258
10262
|
] });
|
|
10259
10263
|
}
|
|
10260
10264
|
function oo({ sessionId: t, visitorId: e, ensureSession: n, availability: r }) {
|
|
10261
|
-
const i = j(), { requestHuman: o, busy: a, error: l } =
|
|
10265
|
+
const i = j(), { requestHuman: o, busy: a, error: l } = Qa({ sessionId: t, visitorId: e, ensureSession: n }), c = `jex-presence-dot--${Ka(r)}`, u = r ? r.anyOnline ? i.handoffAvailable : i.handoffOffline : i.talkToHuman;
|
|
10262
10266
|
return /* @__PURE__ */ s(z, { children: [
|
|
10263
10267
|
/* @__PURE__ */ s(
|
|
10264
10268
|
"button",
|
|
@@ -10285,7 +10289,7 @@ function oo({ sessionId: t, visitorId: e, ensureSession: n, availability: r }) {
|
|
|
10285
10289
|
l && /* @__PURE__ */ s("div", { class: "jex-handoff-error", role: "alert", children: l })
|
|
10286
10290
|
] });
|
|
10287
10291
|
}
|
|
10288
|
-
async function
|
|
10292
|
+
async function ep() {
|
|
10289
10293
|
const t = sa.value;
|
|
10290
10294
|
if (!t)
|
|
10291
10295
|
return console.warn("[JexityChat] Bootstrap refresh skipped — inputs missing"), { ok: !1, reason: "no-inputs" };
|
|
@@ -10293,7 +10297,7 @@ async function Zh() {
|
|
|
10293
10297
|
if (!e.ok)
|
|
10294
10298
|
return console.warn("[JexityChat] Bootstrap refresh failed:", e.error), { ok: !1, reason: e.error };
|
|
10295
10299
|
const n = e.token;
|
|
10296
|
-
return
|
|
10300
|
+
return He.value = n, { ok: !0, token: n };
|
|
10297
10301
|
}
|
|
10298
10302
|
function ao(t) {
|
|
10299
10303
|
return Ga(t) ? "unauthorized" : t instanceof Error && /network|fetch|failed to fetch/i.test(t.message) ? "network" : "unknown";
|
|
@@ -10301,21 +10305,21 @@ function ao(t) {
|
|
|
10301
10305
|
function Ga(t) {
|
|
10302
10306
|
return t instanceof bn ? t.data?.code === "UNAUTHORIZED_ORIGIN" : !1;
|
|
10303
10307
|
}
|
|
10304
|
-
function
|
|
10305
|
-
return
|
|
10308
|
+
function tp(t = 1e4) {
|
|
10309
|
+
return He.value ? Promise.resolve(He.value) : new Promise((e) => {
|
|
10306
10310
|
let n = !1;
|
|
10307
10311
|
const r = (a) => {
|
|
10308
10312
|
n || (n = !0, clearTimeout(i), o(), e(a));
|
|
10309
10313
|
}, i = setTimeout(() => {
|
|
10310
10314
|
r(null);
|
|
10311
|
-
}, t), o =
|
|
10315
|
+
}, t), o = He.subscribe((a) => {
|
|
10312
10316
|
a && r(a);
|
|
10313
10317
|
});
|
|
10314
10318
|
});
|
|
10315
10319
|
}
|
|
10316
|
-
function
|
|
10320
|
+
function np(t, e) {
|
|
10317
10321
|
const n = be(null), r = gt(!1), i = gt(!1), o = gt(!1), a = gt(null), l = it(oe.functions.chat.public.sessions.createOrResume), c = async (p) => {
|
|
10318
|
-
const m = await
|
|
10322
|
+
const m = await tp();
|
|
10319
10323
|
if (!m)
|
|
10320
10324
|
return console.warn("[JexityChat] No bootstrap token after 10s — session creation blocked."), ft.value = "no-token", null;
|
|
10321
10325
|
const y = (b) => ({
|
|
@@ -10334,7 +10338,7 @@ function ep(t, e) {
|
|
|
10334
10338
|
} catch (b) {
|
|
10335
10339
|
if (!Ga(b))
|
|
10336
10340
|
throw b;
|
|
10337
|
-
const x = await
|
|
10341
|
+
const x = await ep();
|
|
10338
10342
|
if (!x.ok)
|
|
10339
10343
|
return ft.value = x.reason === "rate_limited" ? "network" : "unauthorized", null;
|
|
10340
10344
|
g = await l(y(x.token));
|
|
@@ -10361,11 +10365,11 @@ function ep(t, e) {
|
|
|
10361
10365
|
r.value = !1;
|
|
10362
10366
|
}
|
|
10363
10367
|
}, [t, e, l, r, i, o]), h = N(() => {
|
|
10364
|
-
n.current = null, i.value = !1, o.value = !1,
|
|
10368
|
+
n.current = null, i.value = !1, o.value = !1, Ui();
|
|
10365
10369
|
}, [i, o]);
|
|
10366
|
-
T(() =>
|
|
10370
|
+
T(() => iu(h), [h]);
|
|
10367
10371
|
const f = N(async () => {
|
|
10368
|
-
n.current = null, o.value = !1, i.value = !1,
|
|
10372
|
+
n.current = null, o.value = !1, i.value = !1, Ui();
|
|
10369
10373
|
const p = qi();
|
|
10370
10374
|
r.value = !0;
|
|
10371
10375
|
try {
|
|
@@ -10389,7 +10393,7 @@ function ep(t, e) {
|
|
|
10389
10393
|
resetSession: h
|
|
10390
10394
|
};
|
|
10391
10395
|
}
|
|
10392
|
-
function
|
|
10396
|
+
function rp({ botName: t, availability: e, onResetSession: n }) {
|
|
10393
10397
|
const r = j(), [i, o] = I(""), a = e?.anyOnline === !0, l = Ka(e);
|
|
10394
10398
|
function c() {
|
|
10395
10399
|
un(), xt.value = "escalate", n(), Ni(), ze({ id: "chat" });
|
|
@@ -10406,7 +10410,7 @@ function tp({ botName: t, availability: e, onResetSession: n }) {
|
|
|
10406
10410
|
p && (un(), xt.value = "resume", n(), Li(p), ze({ id: "chat" }));
|
|
10407
10411
|
}
|
|
10408
10412
|
return /* @__PURE__ */ s("div", { class: "jex-home", children: [
|
|
10409
|
-
|
|
10413
|
+
Ht.value && /* @__PURE__ */ s("div", { class: "jex-session-prompt", role: "status", children: /* @__PURE__ */ s("div", { class: "jex-session-prompt-text", children: r.sessionLocked }) }),
|
|
10410
10414
|
/* @__PURE__ */ s(
|
|
10411
10415
|
"button",
|
|
10412
10416
|
{
|
|
@@ -10483,7 +10487,7 @@ function tp({ botName: t, availability: e, onResetSession: n }) {
|
|
|
10483
10487
|
] })
|
|
10484
10488
|
] });
|
|
10485
10489
|
}
|
|
10486
|
-
function
|
|
10490
|
+
function ip({ title: t }) {
|
|
10487
10491
|
const e = j();
|
|
10488
10492
|
return /* @__PURE__ */ s("div", { class: "jex-selection", children: [
|
|
10489
10493
|
/* @__PURE__ */ s("h2", { class: "jex-selection-title", children: e.howCanWeHelp }),
|
|
@@ -10515,7 +10519,7 @@ function np({ title: t }) {
|
|
|
10515
10519
|
] })
|
|
10516
10520
|
] });
|
|
10517
10521
|
}
|
|
10518
|
-
function
|
|
10522
|
+
function op() {
|
|
10519
10523
|
const t = j(), [e, n] = I(""), [r, i] = I(""), [o, a] = I("");
|
|
10520
10524
|
async function l(c) {
|
|
10521
10525
|
c.preventDefault(), gr({ id: "loading", message: t.submittingTicket }), await new Promise((h) => {
|
|
@@ -10571,7 +10575,7 @@ function rp() {
|
|
|
10571
10575
|
] })
|
|
10572
10576
|
] });
|
|
10573
10577
|
}
|
|
10574
|
-
function
|
|
10578
|
+
function ap({ ticketRef: t }) {
|
|
10575
10579
|
const e = j();
|
|
10576
10580
|
return /* @__PURE__ */ s("div", { class: "jex-confirmation", children: [
|
|
10577
10581
|
/* @__PURE__ */ s("div", { class: "jex-confirmation-icon", "aria-hidden": "true", children: "✓" }),
|
|
@@ -10584,14 +10588,14 @@ function ip({ ticketRef: t }) {
|
|
|
10584
10588
|
{
|
|
10585
10589
|
class: "jex-confirmation-done",
|
|
10586
10590
|
onClick: () => {
|
|
10587
|
-
|
|
10591
|
+
Q.value = !1;
|
|
10588
10592
|
},
|
|
10589
10593
|
children: e.done
|
|
10590
10594
|
}
|
|
10591
10595
|
)
|
|
10592
10596
|
] });
|
|
10593
10597
|
}
|
|
10594
|
-
function
|
|
10598
|
+
function sp({ message: t, onRetry: e, onBack: n }) {
|
|
10595
10599
|
const r = j();
|
|
10596
10600
|
return /* @__PURE__ */ s("div", { class: "jex-overlay jex-error", children: [
|
|
10597
10601
|
/* @__PURE__ */ s("p", { class: "jex-error-message", children: t }),
|
|
@@ -10606,11 +10610,11 @@ function so({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
10606
10610
|
(b) => b.id === "confirmation"
|
|
10607
10611
|
);
|
|
10608
10612
|
return /* @__PURE__ */ s("div", { class: "jex-screen-container", children: [
|
|
10609
|
-
g.id === "home" && /* @__PURE__ */ s(
|
|
10610
|
-
g.id === "selection" && /* @__PURE__ */ s(
|
|
10611
|
-
g.id === "form" && /* @__PURE__ */ s(
|
|
10613
|
+
g.id === "home" && /* @__PURE__ */ s(rp, { botName: r, availability: o, onResetSession: m }),
|
|
10614
|
+
g.id === "selection" && /* @__PURE__ */ s(ip, { title: n }),
|
|
10615
|
+
g.id === "form" && /* @__PURE__ */ s(op, {}),
|
|
10612
10616
|
g.id === "escalation-form" && /* @__PURE__ */ s(
|
|
10613
|
-
|
|
10617
|
+
Xh,
|
|
10614
10618
|
{
|
|
10615
10619
|
formMessageId: g.formMessageId,
|
|
10616
10620
|
sessionId: g.sessionId,
|
|
@@ -10619,9 +10623,9 @@ function so({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
10619
10623
|
waitingSetAt: g.waitingSetAt
|
|
10620
10624
|
}
|
|
10621
10625
|
),
|
|
10622
|
-
g.id === "confirmation" && v && /* @__PURE__ */ s(
|
|
10626
|
+
g.id === "confirmation" && v && /* @__PURE__ */ s(ap, { ticketRef: v.ref }),
|
|
10623
10627
|
g.id === "chat" && /* @__PURE__ */ s(
|
|
10624
|
-
|
|
10628
|
+
Zh,
|
|
10625
10629
|
{
|
|
10626
10630
|
greeting: t,
|
|
10627
10631
|
botName: r,
|
|
@@ -10636,9 +10640,9 @@ function so({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
10636
10640
|
startFresh: p
|
|
10637
10641
|
}
|
|
10638
10642
|
),
|
|
10639
|
-
g.id === "loading" && /* @__PURE__ */ s(
|
|
10643
|
+
g.id === "loading" && /* @__PURE__ */ s(Ha, { message: g.message }),
|
|
10640
10644
|
g.id === "error" && /* @__PURE__ */ s(
|
|
10641
|
-
|
|
10645
|
+
sp,
|
|
10642
10646
|
{
|
|
10643
10647
|
message: g.message,
|
|
10644
10648
|
onRetry: () => gr({ id: "loading" }),
|
|
@@ -10647,7 +10651,7 @@ function so({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
10647
10651
|
)
|
|
10648
10652
|
] });
|
|
10649
10653
|
}
|
|
10650
|
-
function
|
|
10654
|
+
function lp({ options: t }) {
|
|
10651
10655
|
return Oc({
|
|
10652
10656
|
orgSlug: t.orgSlug,
|
|
10653
10657
|
projSlug: t.projSlug,
|
|
@@ -10655,40 +10659,40 @@ function ap({ options: t }) {
|
|
|
10655
10659
|
convexUrl: t.convexUrl,
|
|
10656
10660
|
preAllowedUrls: t.allowedUrls ?? [],
|
|
10657
10661
|
preExcludedPaths: t.excludePaths
|
|
10658
|
-
}), Dc() ? /* @__PURE__ */ s(
|
|
10662
|
+
}), Dc() ? /* @__PURE__ */ s(cp, { options: t }) : null;
|
|
10659
10663
|
}
|
|
10660
|
-
function
|
|
10664
|
+
function cp({ options: t }) {
|
|
10661
10665
|
const e = Nc(t.orgSlug, t.projSlug, t.convexUrl);
|
|
10662
|
-
|
|
10666
|
+
Qc(t.parentOrigin), T(() => (Xc(), tu(), () => {
|
|
10663
10667
|
mr.value = !1;
|
|
10664
10668
|
}), []);
|
|
10665
|
-
const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: h } =
|
|
10669
|
+
const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: h } = np(t.orgSlug, t.projSlug), f = Wa(t.orgSlug), d = Pc(t, e.config), p = Ue.value, m = mr.value, y = e.config !== null || p !== void 0 || e.settled, g = e.config !== null ? d.sessionTimeoutMs : p !== void 0 ? p : d.sessionTimeoutMs;
|
|
10666
10670
|
T(() => {
|
|
10667
10671
|
Me.value = da(d.locale);
|
|
10668
10672
|
}, [d.locale]), T(() => {
|
|
10669
10673
|
nn.value = d.privacyPolicyUrl ?? tn, Mr.value = d.privacyNoticeStyle;
|
|
10670
10674
|
}, [d.privacyNoticeStyle, d.privacyPolicyUrl]), T(() => {
|
|
10671
|
-
if (!
|
|
10675
|
+
if (!Q.value || d.mode === "embedded" || !window.matchMedia("(max-width: 480px), (pointer: coarse) and (max-width: 768px)").matches)
|
|
10672
10676
|
return;
|
|
10673
10677
|
const ne = document.documentElement.style.overflow;
|
|
10674
10678
|
return document.documentElement.style.overflow = "hidden", () => {
|
|
10675
10679
|
document.documentElement.style.overflow = ne;
|
|
10676
10680
|
};
|
|
10677
|
-
}, [
|
|
10681
|
+
}, [Q.value, d.mode]), T(() => {
|
|
10678
10682
|
if (m && y && d.mode !== "embedded" && g !== null)
|
|
10679
10683
|
try {
|
|
10680
|
-
return
|
|
10681
|
-
} catch (
|
|
10682
|
-
console.warn("[JexityChat] Idle-lock watcher failed to start:",
|
|
10684
|
+
return au(g);
|
|
10685
|
+
} catch (U) {
|
|
10686
|
+
console.warn("[JexityChat] Idle-lock watcher failed to start:", U);
|
|
10683
10687
|
return;
|
|
10684
10688
|
}
|
|
10685
10689
|
}, [m, d.mode, y, g]), T(() => {
|
|
10686
10690
|
if (!m || !y)
|
|
10687
10691
|
return;
|
|
10688
|
-
const { activeRefPruned:
|
|
10689
|
-
|
|
10692
|
+
const { activeRefPruned: U } = eu(g);
|
|
10693
|
+
U && br();
|
|
10690
10694
|
}, [m, y, g]);
|
|
10691
|
-
const v = d.position === "bottom-left", b = d.colorScheme === "dark" || d.colorScheme === "light" ? d.colorScheme : "", x =
|
|
10695
|
+
const v = d.position === "bottom-left", b = d.colorScheme === "dark" || d.colorScheme === "light" ? d.colorScheme : "", x = su({
|
|
10692
10696
|
...t,
|
|
10693
10697
|
primaryColor: d.primaryColor,
|
|
10694
10698
|
accentColor: d.accentColor,
|
|
@@ -10697,23 +10701,23 @@ function sp({ options: t }) {
|
|
|
10697
10701
|
borderRadius: d.borderRadius,
|
|
10698
10702
|
windowWidth: d.windowWidth,
|
|
10699
10703
|
windowHeight: d.windowHeight
|
|
10700
|
-
}), P = d.mode === "embedded", S = de.value, W = S[S.length - 1]?.id === "chat",
|
|
10704
|
+
}), P = d.mode === "embedded", S = de.value, W = S[S.length - 1]?.id === "chat", F = e.config !== null || P || !!t.parentOrigin, ae = F ? x : { ...x, visibility: "hidden" }, L = xu(t.orgSlug, t.projSlug);
|
|
10701
10705
|
return T(() => {
|
|
10702
|
-
if (P || !
|
|
10706
|
+
if (P || !F || d.proactiveMode === "off" || Di(L))
|
|
10703
10707
|
return;
|
|
10704
|
-
const
|
|
10705
|
-
const ne =
|
|
10708
|
+
const U = window.setTimeout(() => {
|
|
10709
|
+
const ne = bu({
|
|
10706
10710
|
mode: d.proactiveMode,
|
|
10707
|
-
isOpen:
|
|
10711
|
+
isOpen: Q.peek(),
|
|
10708
10712
|
hasHistory: Nr.peek(),
|
|
10709
10713
|
dismissed: Di(L)
|
|
10710
10714
|
});
|
|
10711
|
-
ne === "teaser" ? An.value = !0 : ne === "open" && (
|
|
10715
|
+
ne === "teaser" ? An.value = !0 : ne === "open" && (Q.value = !0);
|
|
10712
10716
|
}, d.proactiveDelaySeconds * 1e3);
|
|
10713
10717
|
return () => {
|
|
10714
|
-
window.clearTimeout(
|
|
10718
|
+
window.clearTimeout(U);
|
|
10715
10719
|
};
|
|
10716
|
-
}, [P,
|
|
10720
|
+
}, [P, F, d.proactiveMode, d.proactiveDelaySeconds, L]), /* @__PURE__ */ s(
|
|
10717
10721
|
"div",
|
|
10718
10722
|
{
|
|
10719
10723
|
class: `jex-widget ${b}`.trim(),
|
|
@@ -10750,7 +10754,7 @@ function sp({ options: t }) {
|
|
|
10750
10754
|
),
|
|
10751
10755
|
!d.hideBranding && /* @__PURE__ */ s(Bi, {})
|
|
10752
10756
|
] }) : /* @__PURE__ */ s("div", { class: `jex-container${v ? " jex-pos-left" : ""}`, children: [
|
|
10753
|
-
|
|
10757
|
+
Q.value && /* @__PURE__ */ s("div", { class: "jex-chat-window", children: [
|
|
10754
10758
|
/* @__PURE__ */ s(
|
|
10755
10759
|
zi,
|
|
10756
10760
|
{
|
|
@@ -10781,9 +10785,9 @@ function sp({ options: t }) {
|
|
|
10781
10785
|
),
|
|
10782
10786
|
!d.hideBranding && /* @__PURE__ */ s(Bi, {})
|
|
10783
10787
|
] }),
|
|
10784
|
-
An.value && !
|
|
10788
|
+
An.value && !Q.value && /* @__PURE__ */ s(yu, { title: d.title, message: d.greeting, guardKey: L }),
|
|
10785
10789
|
/* @__PURE__ */ s(
|
|
10786
|
-
|
|
10790
|
+
gu,
|
|
10787
10791
|
{
|
|
10788
10792
|
iconOption: d.triggerIcon,
|
|
10789
10793
|
radius: d.triggerRadius,
|
|
@@ -10794,34 +10798,34 @@ function sp({ options: t }) {
|
|
|
10794
10798
|
}
|
|
10795
10799
|
);
|
|
10796
10800
|
}
|
|
10797
|
-
const lp = `.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-reply-tag-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.jex-reply-tag-btn:hover{background:#0000000f;color:var(--jex-primary, #115A62)}.jex-reply-tag-btn:focus-visible{outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}.jex-message{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}`;
|
|
10798
|
-
function
|
|
10801
|
+
const up = `.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-reply-tag-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.jex-reply-tag-btn:hover{background:#0000000f;color:var(--jex-primary, #115A62)}.jex-reply-tag-btn:focus-visible{outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}.jex-message{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}`;
|
|
10802
|
+
function dp(t) {
|
|
10799
10803
|
const e = document.createElement("style");
|
|
10800
|
-
e.textContent =
|
|
10804
|
+
e.textContent = up, t.appendChild(e);
|
|
10801
10805
|
}
|
|
10802
|
-
const
|
|
10806
|
+
const hp = "https://festive-mouse-978.eu-west-1.convex.cloud";
|
|
10803
10807
|
let er = null;
|
|
10804
|
-
function
|
|
10805
|
-
const e = t ??
|
|
10808
|
+
function pp(t) {
|
|
10809
|
+
const e = t ?? hp;
|
|
10806
10810
|
if (!e)
|
|
10807
10811
|
throw new Error("[jexity] No Convex URL — set VITE_CONVEX_URL at build time or data-convex-url on the script tag");
|
|
10808
10812
|
return er || (er = new pc(Ic(e))), er;
|
|
10809
10813
|
}
|
|
10810
|
-
function
|
|
10814
|
+
function fp(t, e) {
|
|
10811
10815
|
const n = t.shadowRoot ?? t.attachShadow({ mode: "open" });
|
|
10812
10816
|
for (; n.firstChild; )
|
|
10813
10817
|
n.removeChild(n.firstChild);
|
|
10814
|
-
|
|
10818
|
+
dp(n), Tn.value = e.source, He.value = e.bootstrapToken, de.value = [{ id: "home" }], e.mode === "embedded" && (t.classList.add("jex-mode-embedded"), Q.value = !0);
|
|
10815
10819
|
const r = document.createElement("div");
|
|
10816
10820
|
return e.mode === "embedded" && (r.style.cssText = "width:100%;height:100%"), n.appendChild(r), tt(
|
|
10817
|
-
/* @__PURE__ */ s(mc, { client:
|
|
10821
|
+
/* @__PURE__ */ s(mc, { client: pp(e.convexUrl), children: /* @__PURE__ */ s(lp, { options: e }) }),
|
|
10818
10822
|
r
|
|
10819
10823
|
), function() {
|
|
10820
|
-
tt(null, r),
|
|
10824
|
+
tt(null, r), Q.value = !1, Tn.value = void 0, He.value = void 0, de.value = [{ id: "home" }];
|
|
10821
10825
|
};
|
|
10822
10826
|
}
|
|
10823
|
-
function
|
|
10824
|
-
const r =
|
|
10827
|
+
function mp(t, e, n) {
|
|
10828
|
+
const r = fp(t, e), i = /* @__PURE__ */ new Set(), o = Q.subscribe((l) => {
|
|
10825
10829
|
for (const c of i)
|
|
10826
10830
|
c(l);
|
|
10827
10831
|
});
|
|
@@ -10830,16 +10834,16 @@ function pp(t, e, n) {
|
|
|
10830
10834
|
o(), i.clear(), r(), n && n();
|
|
10831
10835
|
},
|
|
10832
10836
|
open() {
|
|
10833
|
-
|
|
10837
|
+
Q.value = !0;
|
|
10834
10838
|
},
|
|
10835
10839
|
close() {
|
|
10836
|
-
|
|
10840
|
+
Q.value = !1;
|
|
10837
10841
|
},
|
|
10838
10842
|
toggle() {
|
|
10839
|
-
|
|
10843
|
+
Q.value = !Q.value;
|
|
10840
10844
|
},
|
|
10841
10845
|
get isOpen() {
|
|
10842
|
-
return
|
|
10846
|
+
return Q.value;
|
|
10843
10847
|
},
|
|
10844
10848
|
subscribe(l) {
|
|
10845
10849
|
return i.add(l), () => {
|
|
@@ -10849,16 +10853,16 @@ function pp(t, e, n) {
|
|
|
10849
10853
|
};
|
|
10850
10854
|
}
|
|
10851
10855
|
let Pt = null;
|
|
10852
|
-
function
|
|
10856
|
+
function gp(t) {
|
|
10853
10857
|
Pt && Pt.shutdown();
|
|
10854
10858
|
let e;
|
|
10855
10859
|
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));
|
|
10856
|
-
const n =
|
|
10860
|
+
const n = mp(e, t, () => {
|
|
10857
10861
|
t.container || e.remove(), Pt === n && (Pt = null);
|
|
10858
10862
|
});
|
|
10859
10863
|
return Pt = n, n;
|
|
10860
10864
|
}
|
|
10861
10865
|
export {
|
|
10862
|
-
|
|
10866
|
+
gp as JexityChat
|
|
10863
10867
|
};
|
|
10864
10868
|
//# sourceMappingURL=index.mjs.map
|