@evelan/jexity-widget 0.21.6 β 0.22.0
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 +289 -264
- package/dist/index.mjs.map +1 -1
- package/dist/react.mjs +271 -246
- package/dist/react.mjs.map +1 -1
- package/dist/types/features/chat/components/MarkdownContent.d.ts.map +1 -1
- package/dist/types/features/chat/components/cards.d.ts +32 -0
- package/dist/types/features/chat/components/cards.d.ts.map +1 -0
- package/dist/widget.js +8 -6
- package/dist/widget.js.map +1 -1
- package/package.json +2 -2
package/dist/react.mjs
CHANGED
|
@@ -9,11 +9,11 @@ const Qo = globalThis.console, Pc = {
|
|
|
9
9
|
debug(...t) {
|
|
10
10
|
}
|
|
11
11
|
}, bs = Rc(null);
|
|
12
|
-
function
|
|
12
|
+
function Lg(t) {
|
|
13
13
|
const { children: e, ...n } = t, [i, r] = Ac(!1), o = ur(null), a = ur(null), l = ur(null), c = n.mode === "embedded";
|
|
14
14
|
Ec(() => {
|
|
15
15
|
let p = !1;
|
|
16
|
-
return Promise.resolve().then(() =>
|
|
16
|
+
return Promise.resolve().then(() => qg).then(
|
|
17
17
|
(f) => {
|
|
18
18
|
if (p)
|
|
19
19
|
return;
|
|
@@ -49,7 +49,7 @@ function qg(t) {
|
|
|
49
49
|
}) : e
|
|
50
50
|
);
|
|
51
51
|
}
|
|
52
|
-
function
|
|
52
|
+
function Dg() {
|
|
53
53
|
const t = Nc(bs);
|
|
54
54
|
if (!t)
|
|
55
55
|
throw new Error("useJexityChat must be used within a <JexityChatProvider>");
|
|
@@ -4127,7 +4127,7 @@ Object.defineProperty(je.prototype, "value", { get: function() {
|
|
|
4127
4127
|
}
|
|
4128
4128
|
}
|
|
4129
4129
|
} });
|
|
4130
|
-
function
|
|
4130
|
+
function V(t, e) {
|
|
4131
4131
|
return new je(t, e);
|
|
4132
4132
|
}
|
|
4133
4133
|
function ll(t) {
|
|
@@ -4355,7 +4355,7 @@ jn("diffed", function(t, e) {
|
|
|
4355
4355
|
t(e);
|
|
4356
4356
|
});
|
|
4357
4357
|
function Xd(t, e, n, i) {
|
|
4358
|
-
var r = e in t && t.ownerSVGElement === void 0, o =
|
|
4358
|
+
var r = e in t && t.ownerSVGElement === void 0, o = V(n);
|
|
4359
4359
|
return { o: function(a, l) {
|
|
4360
4360
|
o.value = a, i = l;
|
|
4361
4361
|
}, d: ai(function() {
|
|
@@ -4409,7 +4409,7 @@ et.prototype.shouldComponentUpdate = function(t, e) {
|
|
|
4409
4409
|
};
|
|
4410
4410
|
function pn(t, e) {
|
|
4411
4411
|
return me(function() {
|
|
4412
|
-
return
|
|
4412
|
+
return V(t, e);
|
|
4413
4413
|
}, []);
|
|
4414
4414
|
}
|
|
4415
4415
|
var eh = function(t) {
|
|
@@ -4425,7 +4425,7 @@ function th() {
|
|
|
4425
4425
|
function fl() {
|
|
4426
4426
|
pl.push(this) === 1 && (E.requestAnimationFrame || eh)(th);
|
|
4427
4427
|
}
|
|
4428
|
-
const oe =
|
|
4428
|
+
const oe = V(!1), Ui = V(void 0), si = "https://jexitychat.de/privacy", li = V(si), uo = V("chip"), Mt = V(void 0), $r = V([]), Ur = V([]), gl = V(null);
|
|
4429
4429
|
function nh(t) {
|
|
4430
4430
|
return t.replace(/\.convex\.site\b/, ".convex.cloud");
|
|
4431
4431
|
}
|
|
@@ -5152,7 +5152,7 @@ Verwenden Sie sie, um diese Unterhaltung auf jedem GerΓ€t fortzusetzen.`,
|
|
|
5152
5152
|
}, mh = [
|
|
5153
5153
|
{ value: "de", label: "Deutsch", flag: "π©πͺ" },
|
|
5154
5154
|
{ value: "en", label: "English", flag: "π¬π§" }
|
|
5155
|
-
], fh = "de", gh = "jex-locale", mt =
|
|
5155
|
+
], fh = "de", gh = "jex-locale", mt = V("de"), xh = { en: ho, de: vl };
|
|
5156
5156
|
function R() {
|
|
5157
5157
|
return xh[mt.value] ?? ho;
|
|
5158
5158
|
}
|
|
@@ -5193,7 +5193,7 @@ function bh(t) {
|
|
|
5193
5193
|
};
|
|
5194
5194
|
}, [t]);
|
|
5195
5195
|
}
|
|
5196
|
-
const wl = "jex-session-history", kl = wl, jl = 1440 * 60 * 1e3, Se =
|
|
5196
|
+
const wl = "jex-session-history", kl = wl, jl = 1440 * 60 * 1e3, Se = V([]), $e = V(null), Et = V(void 0), Fr = V(!1), po = zr(() => Se.value.length > 0), mn = V(null), vh = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", yh = 6;
|
|
5197
5197
|
function wh() {
|
|
5198
5198
|
let t = "";
|
|
5199
5199
|
const e = new Uint8Array(1);
|
|
@@ -5272,14 +5272,14 @@ function mo(t) {
|
|
|
5272
5272
|
);
|
|
5273
5273
|
Se.value = n, ci(n);
|
|
5274
5274
|
}
|
|
5275
|
-
const Oe =
|
|
5275
|
+
const Oe = V(Sl());
|
|
5276
5276
|
function Sl() {
|
|
5277
5277
|
return po.value ? [{ id: "home" }] : [{ id: "home" }, { id: "chat" }];
|
|
5278
5278
|
}
|
|
5279
5279
|
function Th() {
|
|
5280
5280
|
Oe.value = Sl();
|
|
5281
5281
|
}
|
|
5282
|
-
const Ih =
|
|
5282
|
+
const Ih = V("screen");
|
|
5283
5283
|
function wt(t) {
|
|
5284
5284
|
Oe.value = [...Oe.value, t];
|
|
5285
5285
|
}
|
|
@@ -5289,7 +5289,7 @@ function fo() {
|
|
|
5289
5289
|
function Br(t) {
|
|
5290
5290
|
Oe.value = [...Oe.value.slice(0, -1), t];
|
|
5291
5291
|
}
|
|
5292
|
-
const Rh = 6e4, Jn =
|
|
5292
|
+
const Rh = 6e4, Jn = V(!1), Vr = V(!1), Qr = /* @__PURE__ */ new Set();
|
|
5293
5293
|
function Ah(t) {
|
|
5294
5294
|
return Qr.add(t), () => {
|
|
5295
5295
|
Qr.delete(t);
|
|
@@ -5486,7 +5486,7 @@ function Fh({ radius: t = "full", iconOption: e = "chat", label: n }) {
|
|
|
5486
5486
|
}
|
|
5487
5487
|
);
|
|
5488
5488
|
}
|
|
5489
|
-
const Bi =
|
|
5489
|
+
const Bi = V(!1);
|
|
5490
5490
|
function Bh(t, e) {
|
|
5491
5491
|
return e ? `jex-proactive-dismissed:${t}:${e}` : `jex-proactive-dismissed:${t}`;
|
|
5492
5492
|
}
|
|
@@ -5548,7 +5548,7 @@ function Hh({ title: t, message: e, guardKey: n }) {
|
|
|
5548
5548
|
}
|
|
5549
5549
|
);
|
|
5550
5550
|
}
|
|
5551
|
-
const fn =
|
|
5551
|
+
const fn = V(""), Dn = V(0), yn = V(null);
|
|
5552
5552
|
function Wr(t) {
|
|
5553
5553
|
yn.value = t, t && (Dn.value += 1);
|
|
5554
5554
|
}
|
|
@@ -5557,7 +5557,7 @@ function Il(t) {
|
|
|
5557
5557
|
const e = t.replace(/\s+/g, " ").trim();
|
|
5558
5558
|
return e.length > qa ? `${e.slice(0, qa)}β¦` : e;
|
|
5559
5559
|
}
|
|
5560
|
-
const Zn =
|
|
5560
|
+
const Zn = V(null), Oa = V(Date.now()), Ii = V(!1), go = V(!1), Xn = V(!1), Vi = V(null);
|
|
5561
5561
|
function Rl() {
|
|
5562
5562
|
return uo.value === "explicit" && !go.value;
|
|
5563
5563
|
}
|
|
@@ -5570,7 +5570,7 @@ function Wh() {
|
|
|
5570
5570
|
function La() {
|
|
5571
5571
|
go.value = !1, Xn.value = !1, Vi.value = null;
|
|
5572
5572
|
}
|
|
5573
|
-
const jt =
|
|
5573
|
+
const jt = V([]), Kh = 4, Gh = 8 * 1024 * 1024;
|
|
5574
5574
|
function Yh() {
|
|
5575
5575
|
return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 11)}`;
|
|
5576
5576
|
}
|
|
@@ -5701,7 +5701,7 @@ function op() {
|
|
|
5701
5701
|
const t = R(), { isActive: e, remainingSeconds: n } = rp();
|
|
5702
5702
|
return e ? /* @__PURE__ */ s("div", { class: "jex-rate-limit-notice", role: "status", "aria-live": "polite", children: t.errorRateLimited.replace("{seconds}", String(n)) }) : null;
|
|
5703
5703
|
}
|
|
5704
|
-
const un =
|
|
5704
|
+
const un = V(null), ei = V(null);
|
|
5705
5705
|
function Ml() {
|
|
5706
5706
|
ei.value = null;
|
|
5707
5707
|
}
|
|
@@ -7182,35 +7182,35 @@ Please report this to https://github.com/markedjs/marked.`, t) {
|
|
|
7182
7182
|
};
|
|
7183
7183
|
}
|
|
7184
7184
|
}, Wt = new rm();
|
|
7185
|
-
function
|
|
7185
|
+
function B(t, e) {
|
|
7186
7186
|
return Wt.parse(t, e);
|
|
7187
7187
|
}
|
|
7188
|
-
|
|
7189
|
-
return Wt.setOptions(t),
|
|
7188
|
+
B.options = B.setOptions = function(t) {
|
|
7189
|
+
return Wt.setOptions(t), B.defaults = Wt.defaults, Ol(B.defaults), B;
|
|
7190
7190
|
};
|
|
7191
|
-
|
|
7192
|
-
|
|
7193
|
-
|
|
7194
|
-
return Wt.use(...t),
|
|
7191
|
+
B.getDefaults = bo;
|
|
7192
|
+
B.defaults = Yt;
|
|
7193
|
+
B.use = function(...t) {
|
|
7194
|
+
return Wt.use(...t), B.defaults = Wt.defaults, Ol(B.defaults), B;
|
|
7195
7195
|
};
|
|
7196
|
-
|
|
7196
|
+
B.walkTokens = function(t, e) {
|
|
7197
7197
|
return Wt.walkTokens(t, e);
|
|
7198
7198
|
};
|
|
7199
|
-
|
|
7200
|
-
|
|
7201
|
-
|
|
7202
|
-
|
|
7203
|
-
|
|
7204
|
-
|
|
7205
|
-
|
|
7206
|
-
|
|
7207
|
-
|
|
7208
|
-
|
|
7209
|
-
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7213
|
-
|
|
7199
|
+
B.parseInline = Wt.parseInline;
|
|
7200
|
+
B.Parser = Ze;
|
|
7201
|
+
B.parser = Ze.parse;
|
|
7202
|
+
B.Renderer = Wi;
|
|
7203
|
+
B.TextRenderer = Co;
|
|
7204
|
+
B.Lexer = Je;
|
|
7205
|
+
B.lexer = Je.lex;
|
|
7206
|
+
B.Tokenizer = Hi;
|
|
7207
|
+
B.Hooks = zn;
|
|
7208
|
+
B.parse = B;
|
|
7209
|
+
B.options;
|
|
7210
|
+
B.setOptions;
|
|
7211
|
+
B.use;
|
|
7212
|
+
B.walkTokens;
|
|
7213
|
+
B.parseInline;
|
|
7214
7214
|
Ze.parse;
|
|
7215
7215
|
Je.lex;
|
|
7216
7216
|
function Ga(t, e) {
|
|
@@ -7469,7 +7469,7 @@ function Kl() {
|
|
|
7469
7469
|
const C = z({}, [...ns, ...jr, ..._r, ...Sr, ...is]);
|
|
7470
7470
|
let T = null;
|
|
7471
7471
|
const Be = z({}, [...rs, ...Cr, ...os, ..._i]);
|
|
7472
|
-
let
|
|
7472
|
+
let Q = Object.seal(dn(null, {
|
|
7473
7473
|
tagNameCheck: {
|
|
7474
7474
|
writable: !0,
|
|
7475
7475
|
configurable: !1,
|
|
@@ -7583,7 +7583,7 @@ function Kl() {
|
|
|
7583
7583
|
transform: ce
|
|
7584
7584
|
}), Ne = be(h, "USE_PROFILES") ? h.USE_PROFILES && typeof h.USE_PROFILES == "object" ? Re(h.USE_PROFILES) : h.USE_PROFILES : !1, Le = h.ALLOW_ARIA_ATTR !== !1, Jt = h.ALLOW_DATA_ATTR !== !1, di = h.ALLOW_UNKNOWN_PROTOCOLS || !1, hi = h.ALLOW_SELF_CLOSE_IN_ATTR !== !1, it = h.SAFE_FOR_TEMPLATES || !1, Dt = h.SAFE_FOR_XML !== !1, xt = h.WHOLE_DOCUMENT || !1, St = h.RETURN_DOM || !1, Xt = h.RETURN_DOM_FRAGMENT || !1, en = h.RETURN_TRUSTED_TYPE || !1, Zt = h.FORCE_BODY || !1, F = h.SANITIZE_DOM !== !1, L = h.SANITIZE_NAMED_PROPS || !1, Ye = h.KEEP_CONTENT !== !1, ue = h.IN_PLACE || !1, ve = wm(h.ALLOWED_URI_REGEXP) ? h.ALLOWED_URI_REGEXP : as, tn = typeof h.NAMESPACE == "string" ? h.NAMESPACE : rt, or = be(h, "MATHML_TEXT_INTEGRATION_POINTS") && h.MATHML_TEXT_INTEGRATION_POINTS && typeof h.MATHML_TEXT_INTEGRATION_POINTS == "object" ? Re(h.MATHML_TEXT_INTEGRATION_POINTS) : z({}, No), ar = be(h, "HTML_INTEGRATION_POINTS") && h.HTML_INTEGRATION_POINTS && typeof h.HTML_INTEGRATION_POINTS == "object" ? Re(h.HTML_INTEGRATION_POINTS) : z({}, Po);
|
|
7585
7585
|
const g = be(h, "CUSTOM_ELEMENT_HANDLING") && h.CUSTOM_ELEMENT_HANDLING && typeof h.CUSTOM_ELEMENT_HANDLING == "object" ? Re(h.CUSTOM_ELEMENT_HANDLING) : dn(null);
|
|
7586
|
-
if (
|
|
7586
|
+
if (Q = dn(null), be(g, "tagNameCheck") && Mo(g.tagNameCheck) && (Q.tagNameCheck = g.tagNameCheck), be(g, "attributeNameCheck") && Mo(g.attributeNameCheck) && (Q.attributeNameCheck = g.attributeNameCheck), be(g, "allowCustomizedBuiltInElements") && typeof g.allowCustomizedBuiltInElements == "boolean" && (Q.allowCustomizedBuiltInElements = g.allowCustomizedBuiltInElements), ke(Q), it && (Jt = !1), Xt && (St = !0), Ne && (H = z({}, is), T = dn(null), Ne.html === !0 && (z(H, ns), z(T, rs)), Ne.svg === !0 && (z(H, jr), z(T, Cr), z(T, _i)), Ne.svgFilters === !0 && (z(H, _r), z(T, Cr), z(T, _i)), Ne.mathMl === !0 && (z(H, Sr), z(T, os), z(T, _i))), Te.tagCheck = null, Te.attributeCheck = null, be(h, "ADD_TAGS") && (typeof h.ADD_TAGS == "function" ? Te.tagCheck = h.ADD_TAGS : Nt(h.ADD_TAGS) && (H === C && (H = Re(H)), z(H, h.ADD_TAGS, ce))), be(h, "ADD_ATTR") && (typeof h.ADD_ATTR == "function" ? Te.attributeCheck = h.ADD_ATTR : Nt(h.ADD_ATTR) && (T === Be && (T = Re(T)), z(T, h.ADD_ATTR, ce))), be(h, "ADD_URI_SAFE_ATTR") && Nt(h.ADD_URI_SAFE_ATTR) && z(nr, h.ADD_URI_SAFE_ATTR, ce), be(h, "FORBID_CONTENTS") && Nt(h.FORBID_CONTENTS) && (Ve === In && (Ve = Re(Ve)), z(Ve, h.FORBID_CONTENTS, ce)), be(h, "ADD_FORBID_CONTENTS") && Nt(h.ADD_FORBID_CONTENTS) && (Ve === In && (Ve = Re(Ve)), z(Ve, h.ADD_FORBID_CONTENTS, ce)), Ye && (H["#text"] = !0), xt && z(H, ["html", "head", "body"]), H.table && (z(H, ["tbody"]), delete gt.tbody), h.TRUSTED_TYPES_POLICY) {
|
|
7587
7587
|
if (typeof h.TRUSTED_TYPES_POLICY.createHTML != "function")
|
|
7588
7588
|
throw Ft('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
|
|
7589
7589
|
if (typeof h.TRUSTED_TYPES_POLICY.createScriptURL != "function")
|
|
@@ -7790,7 +7790,7 @@ function Kl() {
|
|
|
7790
7790
|
const _c = function(h, g) {
|
|
7791
7791
|
return !!(Dt && h.hasChildNodes() && !An(h.firstElementChild) && ye(ss, h.textContent) && ye(ss, h.innerHTML) || Dt && h.namespaceURI === rt && g === "style" && An(h.firstElementChild) || h.nodeType === at.processingInstruction || Dt && h.nodeType === at.comment && ye(Pm, h.data));
|
|
7792
7792
|
}, Sc = function(h, g) {
|
|
7793
|
-
if (!gt[g] && Fo(g) && (
|
|
7793
|
+
if (!gt[g] && Fo(g) && (Q.tagNameCheck instanceof RegExp && ye(Q.tagNameCheck, g) || Q.tagNameCheck instanceof Function && Q.tagNameCheck(g)))
|
|
7794
7794
|
return !1;
|
|
7795
7795
|
if (Ye && !Ve[g]) {
|
|
7796
7796
|
const w = y(h), _ = b(h);
|
|
@@ -7835,9 +7835,9 @@ function Kl() {
|
|
|
7835
7835
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
7836
7836
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7837
7837
|
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
7838
|
-
!(Fo(h) && (
|
|
7838
|
+
!(Fo(h) && (Q.tagNameCheck instanceof RegExp && ye(Q.tagNameCheck, h) || Q.tagNameCheck instanceof Function && Q.tagNameCheck(h)) && (Q.attributeNameCheck instanceof RegExp && ye(Q.attributeNameCheck, g) || Q.attributeNameCheck instanceof Function && Q.attributeNameCheck(g, h)) || // Alternative, second condition checks if it's an `is`-attribute, AND
|
|
7839
7839
|
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7840
|
-
g === "is" &&
|
|
7840
|
+
g === "is" && Q.allowCustomizedBuiltInElements && (Q.tagNameCheck instanceof RegExp && ye(Q.tagNameCheck, w) || Q.tagNameCheck instanceof Function && Q.tagNameCheck(w)))
|
|
7841
7841
|
) return !1;
|
|
7842
7842
|
}
|
|
7843
7843
|
return !0;
|
|
@@ -8029,27 +8029,52 @@ function Kl() {
|
|
|
8029
8029
|
}, e;
|
|
8030
8030
|
}
|
|
8031
8031
|
var Dm = Kl();
|
|
8032
|
-
|
|
8032
|
+
function zm(t) {
|
|
8033
|
+
return t.trim().split(/\n\s*-{3,}\s*\n/).map((e) => {
|
|
8034
|
+
const [n = "", ...i] = e.trim().split(`
|
|
8035
|
+
`);
|
|
8036
|
+
return {
|
|
8037
|
+
title: n.replace(/^\*+|\*+$/g, "").trim(),
|
|
8038
|
+
body: i.join(`
|
|
8039
|
+
`).trim()
|
|
8040
|
+
};
|
|
8041
|
+
}).filter((e) => (e.title !== "" || e.body !== "") && !/^-{3,}$/.test(e.title));
|
|
8042
|
+
}
|
|
8043
|
+
function $m(t) {
|
|
8044
|
+
const e = zm(t);
|
|
8045
|
+
return e.length === 0 ? "" : `<div class="jex-card-grid">${e.map((n) => {
|
|
8046
|
+
const i = n.title ? `<div class="jex-card-title">${B.parseInline(n.title)}</div>` : "", r = n.body ? B.parse(n.body) : "";
|
|
8047
|
+
return `<div class="jex-card">${i}${r}</div>`;
|
|
8048
|
+
}).join("")}</div>`;
|
|
8049
|
+
}
|
|
8050
|
+
B.setOptions({
|
|
8033
8051
|
breaks: !0,
|
|
8034
8052
|
gfm: !0
|
|
8035
8053
|
});
|
|
8054
|
+
B.use({
|
|
8055
|
+
renderer: {
|
|
8056
|
+
code(t) {
|
|
8057
|
+
return t.lang === "cards" && t.raw.trimEnd().endsWith("```") ? $m(t.text) : !1;
|
|
8058
|
+
}
|
|
8059
|
+
}
|
|
8060
|
+
});
|
|
8036
8061
|
const Hn = typeof window < "u" ? Dm : null;
|
|
8037
8062
|
Hn && typeof Hn.addHook == "function" && Hn.addHook("afterSanitizeAttributes", (t) => {
|
|
8038
8063
|
t.tagName === "A" && t.hasAttribute("href") && (t.setAttribute("target", "_blank"), t.setAttribute("rel", "noopener noreferrer"));
|
|
8039
8064
|
});
|
|
8040
|
-
function
|
|
8065
|
+
function Um(t) {
|
|
8041
8066
|
return t.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
8042
8067
|
}
|
|
8043
|
-
function
|
|
8068
|
+
function Fm(t) {
|
|
8044
8069
|
if (!t)
|
|
8045
8070
|
return "";
|
|
8046
8071
|
if (!Hn)
|
|
8047
|
-
return
|
|
8048
|
-
const e =
|
|
8072
|
+
return Um(t);
|
|
8073
|
+
const e = B.parse(t), n = typeof e == "string" ? e : "";
|
|
8049
8074
|
return Hn.sanitize(n);
|
|
8050
8075
|
}
|
|
8051
|
-
function
|
|
8052
|
-
const e = me(() =>
|
|
8076
|
+
function Bm({ text: t }) {
|
|
8077
|
+
const e = me(() => Fm(t), [t]);
|
|
8053
8078
|
return /* @__PURE__ */ s("div", { class: "jex-md", dangerouslySetInnerHTML: { __html: e } });
|
|
8054
8079
|
}
|
|
8055
8080
|
function Gl({ onQuote: t }) {
|
|
@@ -8066,10 +8091,10 @@ function Gl({ onQuote: t }) {
|
|
|
8066
8091
|
}
|
|
8067
8092
|
);
|
|
8068
8093
|
}
|
|
8069
|
-
function
|
|
8094
|
+
function Vm(t, e, n) {
|
|
8070
8095
|
return t.role === "user" ? n : t.authorName ?? e ?? "";
|
|
8071
8096
|
}
|
|
8072
|
-
function
|
|
8097
|
+
function Qm({ authorLabel: t, content: e, onClick: n }) {
|
|
8073
8098
|
return /* @__PURE__ */ s("button", { type: "button", class: "jex-quoted-chip", onClick: n, children: [
|
|
8074
8099
|
/* @__PURE__ */ s(xo, { size: 11 }),
|
|
8075
8100
|
/* @__PURE__ */ s("span", { class: "jex-quoted-chip-text", children: [
|
|
@@ -8083,9 +8108,9 @@ function Bm({ authorLabel: t, content: e, onClick: n }) {
|
|
|
8083
8108
|
}
|
|
8084
8109
|
function Yl({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: i }) {
|
|
8085
8110
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-quoted-list", children: t.map((r) => /* @__PURE__ */ s(
|
|
8086
|
-
|
|
8111
|
+
Qm,
|
|
8087
8112
|
{
|
|
8088
|
-
authorLabel:
|
|
8113
|
+
authorLabel: Vm(r, e, n),
|
|
8089
8114
|
content: r.content,
|
|
8090
8115
|
onClick: i ? (o) => {
|
|
8091
8116
|
i(r.id, o);
|
|
@@ -8094,7 +8119,7 @@ function Yl({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: i }) {
|
|
|
8094
8119
|
r.id
|
|
8095
8120
|
)) });
|
|
8096
8121
|
}
|
|
8097
|
-
function
|
|
8122
|
+
function Hm(t) {
|
|
8098
8123
|
const e = t.trim().split(/\s+/).filter(Boolean);
|
|
8099
8124
|
return e.length === 0 ? "?" : e.map((n) => n[0]).join("").slice(0, 2).toUpperCase();
|
|
8100
8125
|
}
|
|
@@ -8105,7 +8130,7 @@ function ln({ text: t, streaming: e, error: n, authorId: i, authorName: r, autho
|
|
|
8105
8130
|
].filter(Boolean).join(" ");
|
|
8106
8131
|
return /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: [
|
|
8107
8132
|
/* @__PURE__ */ s("div", { class: "jex-message-head", children: [
|
|
8108
|
-
/* @__PURE__ */ s("div", { class: `jex-avatar ${m ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: m && o && !x ? /* @__PURE__ */ s("img", { src: o, alt: r ?? "", class: "jex-avatar-img", onError: b }) : m ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children:
|
|
8133
|
+
/* @__PURE__ */ s("div", { class: `jex-avatar ${m ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: m && o && !x ? /* @__PURE__ */ s("img", { src: o, alt: r ?? "", class: "jex-avatar-img", onError: b }) : m ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children: Hm(r ?? "") }) : a && !x ? /* @__PURE__ */ s("img", { src: a, alt: "", class: "jex-avatar-img", onError: b }) : /* @__PURE__ */ s(Xi, { size: 14 }) }),
|
|
8109
8134
|
y && /* @__PURE__ */ s("span", { class: "jex-message-author", children: y })
|
|
8110
8135
|
] }),
|
|
8111
8136
|
/* @__PURE__ */ s("div", { class: k, id: u, children: [
|
|
@@ -8118,13 +8143,13 @@ function ln({ text: t, streaming: e, error: n, authorId: i, authorName: r, autho
|
|
|
8118
8143
|
onQuotedClick: f
|
|
8119
8144
|
}
|
|
8120
8145
|
),
|
|
8121
|
-
/* @__PURE__ */ s(
|
|
8146
|
+
/* @__PURE__ */ s(Bm, { text: t }),
|
|
8122
8147
|
e && /* @__PURE__ */ s("span", { class: "jex-streaming-cursor" }),
|
|
8123
8148
|
c && /* @__PURE__ */ s(Gl, { onQuote: c })
|
|
8124
8149
|
] })
|
|
8125
8150
|
] });
|
|
8126
8151
|
}
|
|
8127
|
-
function
|
|
8152
|
+
function Wm({ questions: t, disabled: e, onPick: n }) {
|
|
8128
8153
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-starter-chips", children: t.map((i) => /* @__PURE__ */ s(
|
|
8129
8154
|
"button",
|
|
8130
8155
|
{
|
|
@@ -8139,7 +8164,7 @@ function Qm({ questions: t, disabled: e, onPick: n }) {
|
|
|
8139
8164
|
i
|
|
8140
8165
|
)) });
|
|
8141
8166
|
}
|
|
8142
|
-
function
|
|
8167
|
+
function Km(t, e) {
|
|
8143
8168
|
const n = [
|
|
8144
8169
|
...new Set(
|
|
8145
8170
|
e.flatMap((c) => c.split(/\s+/)).filter((c) => c.length > 1)
|
|
@@ -8153,7 +8178,7 @@ function Hm(t, e) {
|
|
|
8153
8178
|
l.index > a && o.push(t.slice(a, l.index)), o.push(/* @__PURE__ */ s("span", { class: "jex-mention", children: l[0] }, l.index)), a = l.index + l[0].length;
|
|
8154
8179
|
return a < t.length && o.push(t.slice(a)), o;
|
|
8155
8180
|
}
|
|
8156
|
-
function
|
|
8181
|
+
function Gm({ text: t, id: e, onQuote: n, botName: i, quoted: r, onQuotedClick: o, agentNames: a }) {
|
|
8157
8182
|
const l = R();
|
|
8158
8183
|
return /* @__PURE__ */ s("div", { class: "jex-message user", id: e, children: [
|
|
8159
8184
|
/* @__PURE__ */ s(
|
|
@@ -8165,7 +8190,7 @@ function Wm({ text: t, id: e, onQuote: n, botName: i, quoted: r, onQuotedClick:
|
|
|
8165
8190
|
onQuotedClick: o
|
|
8166
8191
|
}
|
|
8167
8192
|
),
|
|
8168
|
-
|
|
8193
|
+
Km(t, a ?? []),
|
|
8169
8194
|
n && /* @__PURE__ */ s(Gl, { onQuote: n })
|
|
8170
8195
|
] });
|
|
8171
8196
|
}
|
|
@@ -8180,7 +8205,7 @@ function Zl() {
|
|
|
8180
8205
|
});
|
|
8181
8206
|
};
|
|
8182
8207
|
}
|
|
8183
|
-
function
|
|
8208
|
+
function Ym({ message: t, sessionId: e, visitorId: n, waitingSetAt: i }) {
|
|
8184
8209
|
const r = R();
|
|
8185
8210
|
return t.formData ? /* @__PURE__ */ s("div", { class: "jex-inline-form-submitted", children: [
|
|
8186
8211
|
/* @__PURE__ */ s("span", { class: "jex-inline-form-check", children: "β" }),
|
|
@@ -8193,7 +8218,7 @@ function Km({ message: t, sessionId: e, visitorId: n, waitingSetAt: i }) {
|
|
|
8193
8218
|
] })
|
|
8194
8219
|
] })
|
|
8195
8220
|
] }) : /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: /* @__PURE__ */ s(
|
|
8196
|
-
|
|
8221
|
+
Jm,
|
|
8197
8222
|
{
|
|
8198
8223
|
messageId: t._id,
|
|
8199
8224
|
sessionId: e,
|
|
@@ -8202,7 +8227,7 @@ function Km({ message: t, sessionId: e, visitorId: n, waitingSetAt: i }) {
|
|
|
8202
8227
|
}
|
|
8203
8228
|
) });
|
|
8204
8229
|
}
|
|
8205
|
-
function
|
|
8230
|
+
function Jm({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: i }) {
|
|
8206
8231
|
const r = R(), [o, a] = $(""), [l, c] = $(""), [u, p] = $(!1), f = li.value, d = /^https?:\/\//i.test(f) ? f : si, m = Jl(), x = Zl();
|
|
8207
8232
|
async function j(b) {
|
|
8208
8233
|
if (b.preventDefault(), !u) {
|
|
@@ -8275,29 +8300,29 @@ function Gm({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: i }) {
|
|
|
8275
8300
|
] })
|
|
8276
8301
|
] });
|
|
8277
8302
|
}
|
|
8278
|
-
function
|
|
8303
|
+
function Zm() {
|
|
8279
8304
|
return Kt(Ce.functions.magicline.public.submitForm);
|
|
8280
8305
|
}
|
|
8281
|
-
function
|
|
8306
|
+
function Xm() {
|
|
8282
8307
|
return oi(Ce.functions.magicline.actions.getTrialConfig);
|
|
8283
8308
|
}
|
|
8284
|
-
function
|
|
8309
|
+
function ef() {
|
|
8285
8310
|
return oi(Ce.functions.magicline.actions.listTrialSlots);
|
|
8286
8311
|
}
|
|
8287
|
-
function
|
|
8312
|
+
function tf() {
|
|
8288
8313
|
return oi(Ce.functions.magicline.actions.getRateBundles);
|
|
8289
8314
|
}
|
|
8290
8315
|
function Xl() {
|
|
8291
8316
|
return oi(Ce.functions.magicline.actions.getContractPreview);
|
|
8292
8317
|
}
|
|
8293
|
-
function
|
|
8318
|
+
function nf() {
|
|
8294
8319
|
return oi(Ce.functions.magicline.actions.submitContractCreation);
|
|
8295
8320
|
}
|
|
8296
|
-
const To = { en: ho, de: vl },
|
|
8321
|
+
const To = { en: ho, de: vl }, rf = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
8297
8322
|
function ec(t) {
|
|
8298
|
-
return
|
|
8323
|
+
return rf.test(t.trim());
|
|
8299
8324
|
}
|
|
8300
|
-
function
|
|
8325
|
+
function of(t, e = /* @__PURE__ */ new Date()) {
|
|
8301
8326
|
const n = t.trim();
|
|
8302
8327
|
if (n === "")
|
|
8303
8328
|
return null;
|
|
@@ -8319,7 +8344,7 @@ function nc() {
|
|
|
8319
8344
|
const t = li.value;
|
|
8320
8345
|
return /^https?:\/\//i.test(t) ? t : si;
|
|
8321
8346
|
}
|
|
8322
|
-
const
|
|
8347
|
+
const af = {
|
|
8323
8348
|
DE: 22,
|
|
8324
8349
|
AT: 20,
|
|
8325
8350
|
CH: 21,
|
|
@@ -8335,16 +8360,16 @@ const rf = {
|
|
|
8335
8360
|
DK: 18,
|
|
8336
8361
|
FI: 18,
|
|
8337
8362
|
PT: 25
|
|
8338
|
-
},
|
|
8363
|
+
}, sf = 15, lf = 34;
|
|
8339
8364
|
function ic(t) {
|
|
8340
8365
|
return t.replace(/\s+/g, "").toUpperCase();
|
|
8341
8366
|
}
|
|
8342
|
-
function
|
|
8343
|
-
const e = ic(t), n = e.slice(0, 2), i =
|
|
8367
|
+
function cf(t) {
|
|
8368
|
+
const e = ic(t), n = e.slice(0, 2), i = af[n];
|
|
8344
8369
|
if (i !== void 0) {
|
|
8345
8370
|
if (e.length !== i)
|
|
8346
8371
|
return !1;
|
|
8347
|
-
} else if (e.length <
|
|
8372
|
+
} else if (e.length < sf || e.length > lf)
|
|
8348
8373
|
return !1;
|
|
8349
8374
|
const r = e.slice(4) + e.slice(0, 4);
|
|
8350
8375
|
let o = "";
|
|
@@ -8364,7 +8389,7 @@ function sf(t) {
|
|
|
8364
8389
|
}
|
|
8365
8390
|
return a === 1;
|
|
8366
8391
|
}
|
|
8367
|
-
function
|
|
8392
|
+
function uf(t) {
|
|
8368
8393
|
const e = ic(t);
|
|
8369
8394
|
if (e.length <= 8)
|
|
8370
8395
|
return e;
|
|
@@ -8394,7 +8419,7 @@ function Ki(t, e, n) {
|
|
|
8394
8419
|
const [o, a] = r[n];
|
|
8395
8420
|
return `${t} ${i ? a : o}`;
|
|
8396
8421
|
}
|
|
8397
|
-
function
|
|
8422
|
+
function df(t, e) {
|
|
8398
8423
|
const n = t.trim();
|
|
8399
8424
|
if (n === "")
|
|
8400
8425
|
return "β";
|
|
@@ -8418,7 +8443,7 @@ function Io(t, e, n) {
|
|
|
8418
8443
|
}[r];
|
|
8419
8444
|
return o === void 0 ? `${t} ${e.toLowerCase()}` : o.replace("{n}", String(t));
|
|
8420
8445
|
}
|
|
8421
|
-
function
|
|
8446
|
+
function hf(t, e, n, i, r) {
|
|
8422
8447
|
const o = To[r], a = Xe(t, e, r);
|
|
8423
8448
|
switch (n) {
|
|
8424
8449
|
case "TERM_BASED":
|
|
@@ -8435,19 +8460,19 @@ function uf(t, e, n, i, r) {
|
|
|
8435
8460
|
return a;
|
|
8436
8461
|
}
|
|
8437
8462
|
}
|
|
8438
|
-
function
|
|
8463
|
+
function pf(t, e, n, i) {
|
|
8439
8464
|
return e === "PERCENTAGE" ? `-${t}%` : `-${Xe(t, n, i)}`;
|
|
8440
8465
|
}
|
|
8441
|
-
const
|
|
8466
|
+
const mf = {
|
|
8442
8467
|
startpaket: "magiclineFeeStarterPackage",
|
|
8443
8468
|
"starter package": "magiclineFeeStarterPackage",
|
|
8444
8469
|
trainerpauschale: "magiclineFeeTrainerFee"
|
|
8445
8470
|
};
|
|
8446
8471
|
function rc(t, e) {
|
|
8447
|
-
const n = t.trim().toLowerCase(), i =
|
|
8472
|
+
const n = t.trim().toLowerCase(), i = mf[n];
|
|
8448
8473
|
return i !== void 0 ? e[i] : t;
|
|
8449
8474
|
}
|
|
8450
|
-
function
|
|
8475
|
+
function ff(t, e, n) {
|
|
8451
8476
|
const i = To[n];
|
|
8452
8477
|
if (t === "NONE")
|
|
8453
8478
|
return i.magiclineRenewalNone;
|
|
@@ -8457,7 +8482,7 @@ function pf(t, e, n) {
|
|
|
8457
8482
|
}
|
|
8458
8483
|
return "";
|
|
8459
8484
|
}
|
|
8460
|
-
const oc = ["MALE", "FEMALE", "UNISEX"],
|
|
8485
|
+
const oc = ["MALE", "FEMALE", "UNISEX"], gf = [
|
|
8461
8486
|
{ code: "DE", label: "Germany / Deutschland" },
|
|
8462
8487
|
{ code: "AT", label: "Austria / Γsterreich" },
|
|
8463
8488
|
{ code: "CH", label: "Switzerland / Schweiz" },
|
|
@@ -8474,11 +8499,11 @@ const oc = ["MALE", "FEMALE", "UNISEX"], mf = [
|
|
|
8474
8499
|
{ code: "GB", label: "United Kingdom" },
|
|
8475
8500
|
{ code: "US", label: "United States" }
|
|
8476
8501
|
];
|
|
8477
|
-
function
|
|
8502
|
+
function xf(t, e) {
|
|
8478
8503
|
const n = [];
|
|
8479
8504
|
return e && n.push("trainer"), n.push("slot"), n.push("personal"), (t.address.visible || t.zip.visible) && n.push("address"), n.push("confirm"), n;
|
|
8480
8505
|
}
|
|
8481
|
-
const
|
|
8506
|
+
const bf = {
|
|
8482
8507
|
firstName: "",
|
|
8483
8508
|
lastName: "",
|
|
8484
8509
|
email: "",
|
|
@@ -8495,7 +8520,7 @@ const gf = {
|
|
|
8495
8520
|
consent: !1,
|
|
8496
8521
|
trainerRequired: !0
|
|
8497
8522
|
};
|
|
8498
|
-
function
|
|
8523
|
+
function vf(t, e) {
|
|
8499
8524
|
switch (e.type) {
|
|
8500
8525
|
case "set":
|
|
8501
8526
|
return { ...t, [e.key]: e.value };
|
|
@@ -8507,11 +8532,11 @@ function xf(t, e) {
|
|
|
8507
8532
|
return t;
|
|
8508
8533
|
}
|
|
8509
8534
|
}
|
|
8510
|
-
function
|
|
8535
|
+
function yf({
|
|
8511
8536
|
sessionId: t,
|
|
8512
8537
|
visitorId: e
|
|
8513
8538
|
}) {
|
|
8514
|
-
const n =
|
|
8539
|
+
const n = Xm(), i = ef(), [r, o] = De(vf, bf), [a, l] = De(
|
|
8515
8540
|
(y, k) => k,
|
|
8516
8541
|
{ phase: "loading" }
|
|
8517
8542
|
), [c, u] = De(
|
|
@@ -8580,22 +8605,22 @@ function bf({
|
|
|
8580
8605
|
refetchSlots: x
|
|
8581
8606
|
};
|
|
8582
8607
|
}
|
|
8583
|
-
function
|
|
8608
|
+
function wf({
|
|
8584
8609
|
formMessageId: t,
|
|
8585
8610
|
sessionId: e,
|
|
8586
8611
|
visitorId: n,
|
|
8587
8612
|
slotUnavailable: i = !1,
|
|
8588
8613
|
retryPending: r = !1
|
|
8589
8614
|
}) {
|
|
8590
|
-
const o = R(), a =
|
|
8615
|
+
const o = R(), a = Zm(), { fields: l, setField: c, setTrainerRequired: u, configState: p, slotsState: f, refetchSlots: d } = yf({ sessionId: e, visitorId: n });
|
|
8591
8616
|
return p.phase === "loading" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8592
8617
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
|
|
8593
8618
|
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: o.magiclineConfigLoading })
|
|
8594
8619
|
] }) : p.phase === "error" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8595
8620
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
|
|
8596
|
-
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children:
|
|
8621
|
+
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children: Rf(p.code, p.backendMessage, o) })
|
|
8597
8622
|
] }) : /* @__PURE__ */ s(
|
|
8598
|
-
|
|
8623
|
+
kf,
|
|
8599
8624
|
{
|
|
8600
8625
|
formMessageId: t,
|
|
8601
8626
|
sessionId: e,
|
|
@@ -8612,7 +8637,7 @@ function vf({
|
|
|
8612
8637
|
}
|
|
8613
8638
|
);
|
|
8614
8639
|
}
|
|
8615
|
-
function
|
|
8640
|
+
function kf({
|
|
8616
8641
|
formMessageId: t,
|
|
8617
8642
|
sessionId: e,
|
|
8618
8643
|
visitorId: n,
|
|
@@ -8627,7 +8652,7 @@ function yf({
|
|
|
8627
8652
|
submitForm: f
|
|
8628
8653
|
}) {
|
|
8629
8654
|
const d = R(), { plan: m, minimumAge: x, bookingWithoutTrainerAllowed: j, studioZoneId: b } = o, y = me(
|
|
8630
|
-
() =>
|
|
8655
|
+
() => xf(m, j),
|
|
8631
8656
|
[m, j]
|
|
8632
8657
|
), k = i ? Math.max(y.indexOf("slot"), 0) : 0, [I, v] = $(k), [N, A] = $({}), [M, X] = $(!1), [ne, O] = $(null), ae = me(() => nc(), []), xe = Math.min(I, y.length - 1), S = y[xe], se = xe === y.length - 1, tt = xe === 0;
|
|
8633
8658
|
function Ke(ie) {
|
|
@@ -8636,7 +8661,7 @@ function yf({
|
|
|
8636
8661
|
return a.slotId === "" && (D.slotId = d.magiclineSlotRequiredError), D;
|
|
8637
8662
|
if (ie === "personal") {
|
|
8638
8663
|
if (a.firstName.trim() === "" && (D.firstName = d.magiclineRequiredError), a.lastName.trim() === "" && (D.lastName = d.magiclineRequiredError), m.email.visible && m.email.required && a.email.trim() === "" && (D.email = d.magiclineRequiredError), a.email.trim() !== "" && !ec(a.email) && (D.email = d.magiclineEmailError), m.phone.visible && m.phone.required && a.phone.trim() === "" && (D.phone = d.magiclineRequiredError), m.gender.visible && m.gender.required && a.gender === "" && (D.gender = d.magiclineRequiredError), m.dateOfBirth.visible && (m.dateOfBirth.required && a.birthDate.trim() === "" && (D.birthDate = d.magiclineRequiredError), a.birthDate.trim() !== "")) {
|
|
8639
|
-
const Ee =
|
|
8664
|
+
const Ee = of(a.birthDate);
|
|
8640
8665
|
Ee !== null && Ee < 0 ? D.birthDate = d.magiclineRequiredError : x > 0 && Ee !== null && Ee < x && (D.birthDate = d.magiclineMinAgeError.replace("{age}", String(x)));
|
|
8641
8666
|
}
|
|
8642
8667
|
return D;
|
|
@@ -8664,7 +8689,7 @@ function yf({
|
|
|
8664
8689
|
}
|
|
8665
8690
|
A({}), O(null), X(!0);
|
|
8666
8691
|
try {
|
|
8667
|
-
const D =
|
|
8692
|
+
const D = Af(m, a);
|
|
8668
8693
|
await f({
|
|
8669
8694
|
sessionId: e,
|
|
8670
8695
|
visitorId: n,
|
|
@@ -8679,7 +8704,7 @@ function yf({
|
|
|
8679
8704
|
function Ot() {
|
|
8680
8705
|
se ? ft() : nt();
|
|
8681
8706
|
}
|
|
8682
|
-
const K =
|
|
8707
|
+
const K = If(S, d), Ue = `jex-ml-consent-${t}`;
|
|
8683
8708
|
return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8684
8709
|
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
|
|
8685
8710
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: d.magiclineTrialTitle }),
|
|
@@ -8697,7 +8722,7 @@ function yf({
|
|
|
8697
8722
|
] }),
|
|
8698
8723
|
/* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": K, children: [
|
|
8699
8724
|
S === "trainer" ? /* @__PURE__ */ s(
|
|
8700
|
-
|
|
8725
|
+
jf,
|
|
8701
8726
|
{
|
|
8702
8727
|
formMessageId: t,
|
|
8703
8728
|
trainerRequired: a.trainerRequired,
|
|
@@ -8706,7 +8731,7 @@ function yf({
|
|
|
8706
8731
|
}
|
|
8707
8732
|
) : null,
|
|
8708
8733
|
S === "slot" ? /* @__PURE__ */ s(
|
|
8709
|
-
|
|
8734
|
+
_f,
|
|
8710
8735
|
{
|
|
8711
8736
|
slotsState: u,
|
|
8712
8737
|
slotId: a.slotId,
|
|
@@ -8722,7 +8747,7 @@ function yf({
|
|
|
8722
8747
|
}
|
|
8723
8748
|
) : null,
|
|
8724
8749
|
S === "personal" ? /* @__PURE__ */ s(
|
|
8725
|
-
|
|
8750
|
+
Sf,
|
|
8726
8751
|
{
|
|
8727
8752
|
plan: m,
|
|
8728
8753
|
fields: a,
|
|
@@ -8732,7 +8757,7 @@ function yf({
|
|
|
8732
8757
|
}
|
|
8733
8758
|
) : null,
|
|
8734
8759
|
S === "address" ? /* @__PURE__ */ s(
|
|
8735
|
-
|
|
8760
|
+
Cf,
|
|
8736
8761
|
{
|
|
8737
8762
|
plan: m,
|
|
8738
8763
|
fields: a,
|
|
@@ -8742,7 +8767,7 @@ function yf({
|
|
|
8742
8767
|
}
|
|
8743
8768
|
) : null,
|
|
8744
8769
|
S === "confirm" ? /* @__PURE__ */ s(
|
|
8745
|
-
|
|
8770
|
+
Tf,
|
|
8746
8771
|
{
|
|
8747
8772
|
consentId: Ue,
|
|
8748
8773
|
privacyUrl: ae,
|
|
@@ -8779,7 +8804,7 @@ function yf({
|
|
|
8779
8804
|
] })
|
|
8780
8805
|
] });
|
|
8781
8806
|
}
|
|
8782
|
-
function
|
|
8807
|
+
function jf({ formMessageId: t, trainerRequired: e, disabled: n, onChange: i }) {
|
|
8783
8808
|
const r = R(), o = `jex-ml-trainer-${t}`;
|
|
8784
8809
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-radio-group", role: "radiogroup", "aria-label": r.magiclineStepTrainer, children: [
|
|
8785
8810
|
/* @__PURE__ */ s(
|
|
@@ -8826,7 +8851,7 @@ function wf({ formMessageId: t, trainerRequired: e, disabled: n, onChange: i })
|
|
|
8826
8851
|
)
|
|
8827
8852
|
] });
|
|
8828
8853
|
}
|
|
8829
|
-
function
|
|
8854
|
+
function _f({
|
|
8830
8855
|
slotsState: t,
|
|
8831
8856
|
slotId: e,
|
|
8832
8857
|
studioZoneId: n,
|
|
@@ -8879,7 +8904,7 @@ function kf({
|
|
|
8879
8904
|
a !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: a }) : null
|
|
8880
8905
|
] });
|
|
8881
8906
|
}
|
|
8882
|
-
function
|
|
8907
|
+
function Sf({ plan: t, fields: e, errors: n, disabled: i, setField: r }) {
|
|
8883
8908
|
const o = R(), a = me(() => tc(), []);
|
|
8884
8909
|
return /* @__PURE__ */ s(Z, { children: [
|
|
8885
8910
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -8974,12 +8999,12 @@ function jf({ plan: t, fields: e, errors: n, disabled: i, setField: r }) {
|
|
|
8974
8999
|
onChange: (l) => {
|
|
8975
9000
|
r("gender", l);
|
|
8976
9001
|
},
|
|
8977
|
-
options: oc.map((l) => ({ value: l, label:
|
|
9002
|
+
options: oc.map((l) => ({ value: l, label: Ef(l, o) }))
|
|
8978
9003
|
}
|
|
8979
9004
|
) : null
|
|
8980
9005
|
] });
|
|
8981
9006
|
}
|
|
8982
|
-
function
|
|
9007
|
+
function Cf({ plan: t, fields: e, errors: n, disabled: i, setField: r }) {
|
|
8983
9008
|
const o = R();
|
|
8984
9009
|
return /* @__PURE__ */ s(Z, { children: [
|
|
8985
9010
|
t.address.visible ? /* @__PURE__ */ s(Z, { children: [
|
|
@@ -9039,7 +9064,7 @@ function _f({ plan: t, fields: e, errors: n, disabled: i, setField: r }) {
|
|
|
9039
9064
|
onChange: (a) => {
|
|
9040
9065
|
r("country", a);
|
|
9041
9066
|
},
|
|
9042
|
-
options:
|
|
9067
|
+
options: gf.map((a) => ({ value: a.code, label: a.label }))
|
|
9043
9068
|
}
|
|
9044
9069
|
)
|
|
9045
9070
|
] }) : null,
|
|
@@ -9059,7 +9084,7 @@ function _f({ plan: t, fields: e, errors: n, disabled: i, setField: r }) {
|
|
|
9059
9084
|
) : null
|
|
9060
9085
|
] });
|
|
9061
9086
|
}
|
|
9062
|
-
function
|
|
9087
|
+
function Tf({
|
|
9063
9088
|
consentId: t,
|
|
9064
9089
|
privacyUrl: e,
|
|
9065
9090
|
studioZoneId: n,
|
|
@@ -9188,7 +9213,7 @@ function ac({
|
|
|
9188
9213
|
function He(t, e, n) {
|
|
9189
9214
|
return e ? t : t + n.magiclineOptionalSuffix;
|
|
9190
9215
|
}
|
|
9191
|
-
function
|
|
9216
|
+
function If(t, e) {
|
|
9192
9217
|
switch (t) {
|
|
9193
9218
|
case "trainer":
|
|
9194
9219
|
return e.magiclineStepTrainer;
|
|
@@ -9204,10 +9229,10 @@ function Cf(t, e) {
|
|
|
9204
9229
|
return "";
|
|
9205
9230
|
}
|
|
9206
9231
|
}
|
|
9207
|
-
function
|
|
9232
|
+
function Rf(t, e, n) {
|
|
9208
9233
|
return e.trim() !== "" ? e : t === "unsupported" ? n.magiclineConfigUnsupported : t === "inconsistent" ? n.magiclineConfigInconsistent : n.magiclineConfigUnavailable;
|
|
9209
9234
|
}
|
|
9210
|
-
function
|
|
9235
|
+
function Af(t, e) {
|
|
9211
9236
|
const n = {
|
|
9212
9237
|
firstname: e.firstName.trim(),
|
|
9213
9238
|
lastname: e.lastName.trim(),
|
|
@@ -9217,7 +9242,7 @@ function If(t, e) {
|
|
|
9217
9242
|
};
|
|
9218
9243
|
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;
|
|
9219
9244
|
}
|
|
9220
|
-
function
|
|
9245
|
+
function Ef(t, e) {
|
|
9221
9246
|
return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
|
|
9222
9247
|
}
|
|
9223
9248
|
function sc(t, e, n) {
|
|
@@ -9246,7 +9271,7 @@ function sc(t, e, n) {
|
|
|
9246
9271
|
});
|
|
9247
9272
|
}
|
|
9248
9273
|
}
|
|
9249
|
-
const
|
|
9274
|
+
const Nf = {
|
|
9250
9275
|
termId: null,
|
|
9251
9276
|
selectedModuleIds: [],
|
|
9252
9277
|
acknowledgedBlocks: {},
|
|
@@ -9274,7 +9299,7 @@ const Af = {
|
|
|
9274
9299
|
sepa: !1
|
|
9275
9300
|
}
|
|
9276
9301
|
};
|
|
9277
|
-
function
|
|
9302
|
+
function Pf(t, e) {
|
|
9278
9303
|
switch (e.type) {
|
|
9279
9304
|
case "setTermId":
|
|
9280
9305
|
return t.termId === e.termId ? t : {
|
|
@@ -9336,14 +9361,14 @@ const cs = {
|
|
|
9336
9361
|
voucherStatus: "idle",
|
|
9337
9362
|
voucherRequestId: 0,
|
|
9338
9363
|
voucherUnavailable: !1
|
|
9339
|
-
},
|
|
9340
|
-
function
|
|
9364
|
+
}, Mf = "voucher:";
|
|
9365
|
+
function qf(t) {
|
|
9341
9366
|
const e = {};
|
|
9342
9367
|
for (const n of Object.keys(t))
|
|
9343
|
-
n.startsWith(
|
|
9368
|
+
n.startsWith(Mf) || (e[n] = t[n]);
|
|
9344
9369
|
return e;
|
|
9345
9370
|
}
|
|
9346
|
-
function
|
|
9371
|
+
function Of(t, e) {
|
|
9347
9372
|
switch (e.type) {
|
|
9348
9373
|
case "SET_VOUCHER_DRAFT": {
|
|
9349
9374
|
const n = t.appliedVoucher !== null || t.voucherStatus === "applied";
|
|
@@ -9396,10 +9421,10 @@ function Mf(t, e) {
|
|
|
9396
9421
|
return t;
|
|
9397
9422
|
}
|
|
9398
9423
|
}
|
|
9399
|
-
function
|
|
9424
|
+
function Lf(t, e) {
|
|
9400
9425
|
switch (e.type) {
|
|
9401
9426
|
case "dropVoucherAcks": {
|
|
9402
|
-
const n =
|
|
9427
|
+
const n = qf(t.acknowledgedBlocks);
|
|
9403
9428
|
return Object.keys(n).length === Object.keys(t.acknowledgedBlocks).length ? t : { ...t, acknowledgedBlocks: n };
|
|
9404
9429
|
}
|
|
9405
9430
|
case "seedVoucherAcks": {
|
|
@@ -9411,14 +9436,14 @@ function qf(t, e) {
|
|
|
9411
9436
|
return { ...t, acknowledgedBlocks: n };
|
|
9412
9437
|
}
|
|
9413
9438
|
default:
|
|
9414
|
-
return
|
|
9439
|
+
return Pf(t, e);
|
|
9415
9440
|
}
|
|
9416
9441
|
}
|
|
9417
|
-
function
|
|
9442
|
+
function Df({
|
|
9418
9443
|
sessionId: t,
|
|
9419
9444
|
visitorId: e
|
|
9420
9445
|
}) {
|
|
9421
|
-
const n =
|
|
9446
|
+
const n = tf(), i = Xl(), [r, o] = De(Lf, Nf), [a, l] = De(Of, cs), [c, u] = De(
|
|
9422
9447
|
(C, T) => T,
|
|
9423
9448
|
{ phase: "loading" }
|
|
9424
9449
|
), p = ze(null), [f, d] = De(
|
|
@@ -9481,7 +9506,7 @@ function Of({
|
|
|
9481
9506
|
for (const T of Ue.textBlocks)
|
|
9482
9507
|
T.isConfirmationRequired && C.add(T.ackKey);
|
|
9483
9508
|
for (const T of ie) {
|
|
9484
|
-
const Be = Ue.optionalModules.find((
|
|
9509
|
+
const Be = Ue.optionalModules.find((Q) => Q.id === T);
|
|
9485
9510
|
Be?.consent && C.add(Be.consent.ackKey);
|
|
9486
9511
|
}
|
|
9487
9512
|
if (Ee !== null)
|
|
@@ -9522,11 +9547,11 @@ function Of({
|
|
|
9522
9547
|
let T = !1;
|
|
9523
9548
|
const Be = p.current;
|
|
9524
9549
|
m(Be !== null ? { phase: "reloading", pricing: Be } : { phase: "loading" });
|
|
9525
|
-
const
|
|
9550
|
+
const Q = C.defaultContractStartDate ?? "", gt = {
|
|
9526
9551
|
sessionId: t,
|
|
9527
9552
|
visitorId: e,
|
|
9528
9553
|
termId: C.termId,
|
|
9529
|
-
startDate:
|
|
9554
|
+
startDate: Q,
|
|
9530
9555
|
fields: {
|
|
9531
9556
|
firstname: r.personal.firstName.trim(),
|
|
9532
9557
|
lastname: r.personal.lastName.trim(),
|
|
@@ -9612,17 +9637,17 @@ function Of({
|
|
|
9612
9637
|
clearVoucher: _t
|
|
9613
9638
|
};
|
|
9614
9639
|
}
|
|
9615
|
-
function
|
|
9640
|
+
function zf(t) {
|
|
9616
9641
|
return t !== null && t.optionalModules.length > 0 ? ["offer", "upgrades", "personal", "address", "payment", "review"] : ["offer", "personal", "address", "payment", "review"];
|
|
9617
9642
|
}
|
|
9618
|
-
function
|
|
9643
|
+
function $f({
|
|
9619
9644
|
formMessageId: t,
|
|
9620
9645
|
sessionId: e,
|
|
9621
9646
|
visitorId: n,
|
|
9622
9647
|
projectId: i,
|
|
9623
9648
|
formStatus: r
|
|
9624
9649
|
}) {
|
|
9625
|
-
const o = R(), a = mt.value, l =
|
|
9650
|
+
const o = R(), a = mt.value, l = nf(), c = Xl(), u = Df({ sessionId: e, visitorId: n }), {
|
|
9626
9651
|
fields: p,
|
|
9627
9652
|
offersState: f,
|
|
9628
9653
|
previewState: d,
|
|
@@ -9653,7 +9678,7 @@ function Df({
|
|
|
9653
9678
|
commitVoucherApplied: K,
|
|
9654
9679
|
markVoucherInvalid: Ue,
|
|
9655
9680
|
markVoucherDisabled: ie
|
|
9656
|
-
} = u, [D, Ee] = $(0), [Ge, Lt] = $({}), [ge, Fe] = $(!1), [ve, H] = $(null), [C, T] = $(null), [Be,
|
|
9681
|
+
} = u, [D, Ee] = $(0), [Ge, Lt] = $({}), [ge, Fe] = $(!1), [ve, H] = $(null), [C, T] = $(null), [Be, Q] = $(null), gt = me(() => nc(), []);
|
|
9657
9682
|
if (ve !== null && ve.status === "succeeded")
|
|
9658
9683
|
return /* @__PURE__ */ s(us, { customerNumber: ve.customerNumber });
|
|
9659
9684
|
if (ve !== null && ve.status === "failed" && !ve.retryable) {
|
|
@@ -9664,7 +9689,7 @@ function Df({
|
|
|
9664
9689
|
return /* @__PURE__ */ s(us, { customerNumber: null });
|
|
9665
9690
|
if (ve === null && !ge && r === "failed")
|
|
9666
9691
|
return /* @__PURE__ */ s(ds, { message: o.magiclineFailedDetail });
|
|
9667
|
-
const J = me(() =>
|
|
9692
|
+
const J = me(() => zf(m), [m]), Te = Math.min(D, J.length - 1), Le = J[Te], Jt = Te === J.length - 1, di = Te === 0;
|
|
9668
9693
|
function hi(F) {
|
|
9669
9694
|
const L = {};
|
|
9670
9695
|
if (F === "offer")
|
|
@@ -9688,7 +9713,7 @@ function Df({
|
|
|
9688
9713
|
const le = p.address;
|
|
9689
9714
|
return le.street.trim() === "" && (L.street = o.magiclineRequiredError), le.houseNumber.trim() === "" && (L.houseNumber = o.magiclineRequiredError), le.zipCode.trim() === "" && (L.zipCode = o.magiclineRequiredError), le.city.trim() === "" && (L.city = o.magiclineRequiredError), L;
|
|
9690
9715
|
}
|
|
9691
|
-
return F === "payment" && (p.payment.accountHolder.trim() === "" && (L.accountHolder = o.magiclineRequiredError),
|
|
9716
|
+
return F === "payment" && (p.payment.accountHolder.trim() === "" && (L.accountHolder = o.magiclineRequiredError), cf(p.payment.iban) || (L.iban = o.magiclineIbanInvalidError), p.consents.privacy || (L.privacy = o.magiclineConsentError), p.consents.sepa || (L.sepa = o.magiclineConsentError)), L;
|
|
9692
9717
|
}
|
|
9693
9718
|
function it() {
|
|
9694
9719
|
const F = hi(Le);
|
|
@@ -9780,9 +9805,9 @@ function Df({
|
|
|
9780
9805
|
if (d.phase !== "ready" || m === null || k.trim() === "")
|
|
9781
9806
|
return;
|
|
9782
9807
|
const F = k.trim(), L = Ot();
|
|
9783
|
-
|
|
9808
|
+
Q(null);
|
|
9784
9809
|
const le = (ue) => {
|
|
9785
|
-
Ue(), ft(""),
|
|
9810
|
+
Ue(), ft(""), Q(ue);
|
|
9786
9811
|
}, Ye = o.magiclineVoucherInvalid.replace("{code}", F);
|
|
9787
9812
|
try {
|
|
9788
9813
|
const ue = await c({
|
|
@@ -9834,7 +9859,7 @@ function Df({
|
|
|
9834
9859
|
});
|
|
9835
9860
|
} else
|
|
9836
9861
|
le(Ye);
|
|
9837
|
-
} else ue.status === "voucher_invalid" ? le(Ye) : ue.status === "voucher_disabled" ? (ie(), ft(""),
|
|
9862
|
+
} else ue.status === "voucher_invalid" ? le(Ye) : ue.status === "voucher_disabled" ? (ie(), ft(""), Q(o.magiclineVoucherDisabled)) : le(Ye);
|
|
9838
9863
|
} catch {
|
|
9839
9864
|
le(Ye);
|
|
9840
9865
|
}
|
|
@@ -9842,7 +9867,7 @@ function Df({
|
|
|
9842
9867
|
function Tn() {
|
|
9843
9868
|
Jt ? Sn() : it();
|
|
9844
9869
|
}
|
|
9845
|
-
const Zt =
|
|
9870
|
+
const Zt = Xf(Le, o), St = y === "applying" || k.trim() !== "" && k.trim() !== (v ?? ""), Xt = Le === "review" && (d.phase !== "ready" || !j || St), en = ge || Xt;
|
|
9846
9871
|
return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
9847
9872
|
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
|
|
9848
9873
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineContractTitle }),
|
|
@@ -9860,7 +9885,7 @@ function Df({
|
|
|
9860
9885
|
] }),
|
|
9861
9886
|
/* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": Zt, children: [
|
|
9862
9887
|
Le === "offer" ? /* @__PURE__ */ s(
|
|
9863
|
-
|
|
9888
|
+
Uf,
|
|
9864
9889
|
{
|
|
9865
9890
|
offersState: f,
|
|
9866
9891
|
selectedTermId: p.termId,
|
|
@@ -9872,7 +9897,7 @@ function Df({
|
|
|
9872
9897
|
}
|
|
9873
9898
|
) : null,
|
|
9874
9899
|
Le === "upgrades" && m !== null ? /* @__PURE__ */ s(
|
|
9875
|
-
|
|
9900
|
+
Vf,
|
|
9876
9901
|
{
|
|
9877
9902
|
modules: m.optionalModules,
|
|
9878
9903
|
selectedModuleIds: p.selectedModuleIds,
|
|
@@ -9885,7 +9910,7 @@ function Df({
|
|
|
9885
9910
|
}
|
|
9886
9911
|
) : null,
|
|
9887
9912
|
Le === "personal" ? /* @__PURE__ */ s(
|
|
9888
|
-
|
|
9913
|
+
Hf,
|
|
9889
9914
|
{
|
|
9890
9915
|
personal: p.personal,
|
|
9891
9916
|
errors: Ge,
|
|
@@ -9894,7 +9919,7 @@ function Df({
|
|
|
9894
9919
|
}
|
|
9895
9920
|
) : null,
|
|
9896
9921
|
Le === "address" ? /* @__PURE__ */ s(
|
|
9897
|
-
|
|
9922
|
+
Wf,
|
|
9898
9923
|
{
|
|
9899
9924
|
address: p.address,
|
|
9900
9925
|
errors: Ge,
|
|
@@ -9903,7 +9928,7 @@ function Df({
|
|
|
9903
9928
|
}
|
|
9904
9929
|
) : null,
|
|
9905
9930
|
Le === "payment" ? /* @__PURE__ */ s(
|
|
9906
|
-
|
|
9931
|
+
Kf,
|
|
9907
9932
|
{
|
|
9908
9933
|
formMessageId: t,
|
|
9909
9934
|
fields: p,
|
|
@@ -9916,7 +9941,7 @@ function Df({
|
|
|
9916
9941
|
}
|
|
9917
9942
|
) : null,
|
|
9918
9943
|
Le === "review" ? /* @__PURE__ */ s(
|
|
9919
|
-
|
|
9944
|
+
Gf,
|
|
9920
9945
|
{
|
|
9921
9946
|
fields: p,
|
|
9922
9947
|
term: m,
|
|
@@ -9985,7 +10010,7 @@ function ds({ message: t }) {
|
|
|
9985
10010
|
] })
|
|
9986
10011
|
] });
|
|
9987
10012
|
}
|
|
9988
|
-
function
|
|
10013
|
+
function Uf({
|
|
9989
10014
|
offersState: t,
|
|
9990
10015
|
selectedTermId: e,
|
|
9991
10016
|
widgetLocale: n,
|
|
@@ -10004,13 +10029,13 @@ function zf({
|
|
|
10004
10029
|
] });
|
|
10005
10030
|
if (t.phase === "empty")
|
|
10006
10031
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", "aria-live": "polite", children: l.magiclineNoOffers });
|
|
10007
|
-
const c =
|
|
10032
|
+
const c = Zf(t.terms);
|
|
10008
10033
|
return /* @__PURE__ */ s(Z, { children: [
|
|
10009
10034
|
/* @__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: [
|
|
10010
10035
|
/* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-name", children: u.bundleName }),
|
|
10011
10036
|
u.bundleDescription !== null ? /* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-desc", children: u.bundleDescription }) : null,
|
|
10012
10037
|
u.terms.map((p) => /* @__PURE__ */ s(
|
|
10013
|
-
|
|
10038
|
+
Ff,
|
|
10014
10039
|
{
|
|
10015
10040
|
term: p,
|
|
10016
10041
|
checked: e === p.termId,
|
|
@@ -10021,7 +10046,7 @@ function zf({
|
|
|
10021
10046
|
p.termId
|
|
10022
10047
|
)),
|
|
10023
10048
|
/* @__PURE__ */ s(
|
|
10024
|
-
|
|
10049
|
+
Bf,
|
|
10025
10050
|
{
|
|
10026
10051
|
subDescription: u.bundleSubDescription,
|
|
10027
10052
|
footnote: u.footnote
|
|
@@ -10031,7 +10056,7 @@ function zf({
|
|
|
10031
10056
|
r !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: r }) : null
|
|
10032
10057
|
] });
|
|
10033
10058
|
}
|
|
10034
|
-
function
|
|
10059
|
+
function Ff({ term: t, checked: e, widgetLocale: n, disabled: i, onSelect: r }) {
|
|
10035
10060
|
const o = R(), a = Ki(t.termValue, t.termUnit, n), l = Xe(t.price, t.currencyCode, n), c = t.flatFees.find((p) => p.isStarterPackage), u = t.flatFees.filter((p) => !p.isStarterPackage);
|
|
10036
10061
|
return /* @__PURE__ */ s(
|
|
10037
10062
|
"label",
|
|
@@ -10094,8 +10119,8 @@ function $f({ term: t, checked: e, widgetLocale: n, disabled: i, onSelect: r })
|
|
|
10094
10119
|
}
|
|
10095
10120
|
);
|
|
10096
10121
|
}
|
|
10097
|
-
function
|
|
10098
|
-
const n = R(), i =
|
|
10122
|
+
function Bf({ subDescription: t, footnote: e }) {
|
|
10123
|
+
const n = R(), i = Jf(t), r = e !== null && e.trim() !== "";
|
|
10099
10124
|
return i.length === 0 && !r ? null : /* @__PURE__ */ s("details", { class: "jex-magicline-bundle-details", children: [
|
|
10100
10125
|
/* @__PURE__ */ s("summary", { class: "jex-magicline-bundle-details-summary", children: n.magiclineDetails }),
|
|
10101
10126
|
/* @__PURE__ */ s("div", { class: "jex-magicline-bundle-details-body", children: [
|
|
@@ -10104,7 +10129,7 @@ function Uf({ subDescription: t, footnote: e }) {
|
|
|
10104
10129
|
] })
|
|
10105
10130
|
] });
|
|
10106
10131
|
}
|
|
10107
|
-
function
|
|
10132
|
+
function Vf({
|
|
10108
10133
|
modules: t,
|
|
10109
10134
|
selectedModuleIds: e,
|
|
10110
10135
|
acknowledgedBlocks: n,
|
|
@@ -10118,7 +10143,7 @@ function Ff({
|
|
|
10118
10143
|
return t.length === 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesNone }) : /* @__PURE__ */ s(Z, { children: [
|
|
10119
10144
|
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesIntro }),
|
|
10120
10145
|
/* @__PURE__ */ s("div", { class: "jex-magicline-upgrade-group", children: t.map((u) => /* @__PURE__ */ s(
|
|
10121
|
-
|
|
10146
|
+
Qf,
|
|
10122
10147
|
{
|
|
10123
10148
|
module: u,
|
|
10124
10149
|
selected: e.includes(u.id),
|
|
@@ -10133,7 +10158,7 @@ function Ff({
|
|
|
10133
10158
|
o !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: o }) : null
|
|
10134
10159
|
] });
|
|
10135
10160
|
}
|
|
10136
|
-
function
|
|
10161
|
+
function Qf({
|
|
10137
10162
|
module: t,
|
|
10138
10163
|
selected: e,
|
|
10139
10164
|
consentChecked: n,
|
|
@@ -10142,13 +10167,13 @@ function Bf({
|
|
|
10142
10167
|
onToggle: o,
|
|
10143
10168
|
onAck: a
|
|
10144
10169
|
}) {
|
|
10145
|
-
const l = R(), c =
|
|
10170
|
+
const l = R(), c = hf(
|
|
10146
10171
|
t.price,
|
|
10147
10172
|
t.currencyCode,
|
|
10148
10173
|
t.paymentFrequencyType,
|
|
10149
10174
|
t.recurringUnit,
|
|
10150
10175
|
i
|
|
10151
|
-
), u =
|
|
10176
|
+
), u = ff(t.extensionType, t.termExtension, i), p = t.termLabel !== null && t.termLabel !== "" ? t.termLabel : l.magiclineUpgradeOneTime, f = t.consent;
|
|
10152
10177
|
return /* @__PURE__ */ s("div", { class: e ? "jex-magicline-upgrade-card jex-magicline-upgrade-card-active" : "jex-magicline-upgrade-card", children: [
|
|
10153
10178
|
/* @__PURE__ */ s("label", { class: "jex-magicline-upgrade-head", children: [
|
|
10154
10179
|
/* @__PURE__ */ s(
|
|
@@ -10187,7 +10212,7 @@ function Bf({
|
|
|
10187
10212
|
) : null
|
|
10188
10213
|
] });
|
|
10189
10214
|
}
|
|
10190
|
-
function
|
|
10215
|
+
function Hf({ personal: t, errors: e, disabled: n, setPersonal: i }) {
|
|
10191
10216
|
const r = R(), o = me(() => tc(), []);
|
|
10192
10217
|
return /* @__PURE__ */ s(Z, { children: [
|
|
10193
10218
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -10256,7 +10281,7 @@ function Vf({ personal: t, errors: e, disabled: n, setPersonal: i }) {
|
|
|
10256
10281
|
e.dateOfBirth !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: e.dateOfBirth }) : null
|
|
10257
10282
|
] }),
|
|
10258
10283
|
/* @__PURE__ */ s(
|
|
10259
|
-
|
|
10284
|
+
Yf,
|
|
10260
10285
|
{
|
|
10261
10286
|
label: r.magiclineGender,
|
|
10262
10287
|
value: t.gender,
|
|
@@ -10267,7 +10292,7 @@ function Vf({ personal: t, errors: e, disabled: n, setPersonal: i }) {
|
|
|
10267
10292
|
onChange: (a) => {
|
|
10268
10293
|
i("gender", a);
|
|
10269
10294
|
},
|
|
10270
|
-
options: oc.map((a) => ({ value: a, label:
|
|
10295
|
+
options: oc.map((a) => ({ value: a, label: eg(a, r) }))
|
|
10271
10296
|
}
|
|
10272
10297
|
),
|
|
10273
10298
|
/* @__PURE__ */ s(
|
|
@@ -10287,7 +10312,7 @@ function Vf({ personal: t, errors: e, disabled: n, setPersonal: i }) {
|
|
|
10287
10312
|
)
|
|
10288
10313
|
] });
|
|
10289
10314
|
}
|
|
10290
|
-
function
|
|
10315
|
+
function Wf({ address: t, errors: e, disabled: n, setAddress: i }) {
|
|
10291
10316
|
const r = R();
|
|
10292
10317
|
return /* @__PURE__ */ s(Z, { children: [
|
|
10293
10318
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -10356,7 +10381,7 @@ function Qf({ address: t, errors: e, disabled: n, setAddress: i }) {
|
|
|
10356
10381
|
] })
|
|
10357
10382
|
] });
|
|
10358
10383
|
}
|
|
10359
|
-
function
|
|
10384
|
+
function Kf({
|
|
10360
10385
|
formMessageId: t,
|
|
10361
10386
|
fields: e,
|
|
10362
10387
|
errors: n,
|
|
@@ -10433,7 +10458,7 @@ function Hf({
|
|
|
10433
10458
|
n.sepa !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: n.sepa }) : null
|
|
10434
10459
|
] });
|
|
10435
10460
|
}
|
|
10436
|
-
function
|
|
10461
|
+
function Gf({
|
|
10437
10462
|
fields: t,
|
|
10438
10463
|
term: e,
|
|
10439
10464
|
previewState: n,
|
|
@@ -10491,7 +10516,7 @@ function Wf({
|
|
|
10491
10516
|
d !== null && d.voucherType === "DISCOUNT" ? /* @__PURE__ */ s("div", { class: "jex-magicline-summary-row jex-magicline-voucher-discount-row", children: [
|
|
10492
10517
|
/* @__PURE__ */ s("dt", { children: b.magiclineVoucherAppliedDiscount.replace(
|
|
10493
10518
|
"{discount}",
|
|
10494
|
-
|
|
10519
|
+
pf(
|
|
10495
10520
|
d.discountValue,
|
|
10496
10521
|
d.discountType,
|
|
10497
10522
|
y.currencyCode,
|
|
@@ -10528,7 +10553,7 @@ function Wf({
|
|
|
10528
10553
|
/* @__PURE__ */ s("dl", { class: "jex-magicline-summary jex-magicline-summary-section", children: [
|
|
10529
10554
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
10530
10555
|
/* @__PURE__ */ s("dt", { children: b.magiclineReviewStartsOn }),
|
|
10531
|
-
/* @__PURE__ */ s("dd", { children:
|
|
10556
|
+
/* @__PURE__ */ s("dd", { children: df(y.startDate, i) })
|
|
10532
10557
|
] }),
|
|
10533
10558
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
10534
10559
|
/* @__PURE__ */ s("dt", { children: b.magiclineSummaryName }),
|
|
@@ -10540,7 +10565,7 @@ function Wf({
|
|
|
10540
10565
|
] }),
|
|
10541
10566
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
10542
10567
|
/* @__PURE__ */ s("dt", { children: b.magiclineReviewPayment }),
|
|
10543
|
-
/* @__PURE__ */ s("dd", { children:
|
|
10568
|
+
/* @__PURE__ */ s("dd", { children: uf(t.payment.iban) })
|
|
10544
10569
|
] })
|
|
10545
10570
|
] }),
|
|
10546
10571
|
xe ? /* @__PURE__ */ s("div", { class: "jex-magicline-voucher-section", children: [
|
|
@@ -10719,7 +10744,7 @@ function dt({
|
|
|
10719
10744
|
a !== void 0 ? /* @__PURE__ */ s("span", { id: c, class: "jex-magicline-error", role: "alert", children: a }) : null
|
|
10720
10745
|
] });
|
|
10721
10746
|
}
|
|
10722
|
-
function
|
|
10747
|
+
function Yf({
|
|
10723
10748
|
label: t,
|
|
10724
10749
|
value: e,
|
|
10725
10750
|
required: n,
|
|
@@ -10751,11 +10776,11 @@ function Kf({
|
|
|
10751
10776
|
o !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: o }) : null
|
|
10752
10777
|
] });
|
|
10753
10778
|
}
|
|
10754
|
-
function
|
|
10779
|
+
function Jf(t) {
|
|
10755
10780
|
return t === null ? [] : t.split(`
|
|
10756
10781
|
`).map((e) => e.replace(/^\s*[-β’]\s*/, "").trim()).filter((e) => e !== "");
|
|
10757
10782
|
}
|
|
10758
|
-
function
|
|
10783
|
+
function Zf(t) {
|
|
10759
10784
|
const e = [], n = /* @__PURE__ */ new Map();
|
|
10760
10785
|
for (const i of t) {
|
|
10761
10786
|
let r = n.get(i.bundleId);
|
|
@@ -10770,7 +10795,7 @@ function Yf(t) {
|
|
|
10770
10795
|
}
|
|
10771
10796
|
return e;
|
|
10772
10797
|
}
|
|
10773
|
-
function
|
|
10798
|
+
function Xf(t, e) {
|
|
10774
10799
|
switch (t) {
|
|
10775
10800
|
case "offer":
|
|
10776
10801
|
return e.magiclineStepOffer;
|
|
@@ -10788,10 +10813,10 @@ function Jf(t, e) {
|
|
|
10788
10813
|
return "";
|
|
10789
10814
|
}
|
|
10790
10815
|
}
|
|
10791
|
-
function
|
|
10816
|
+
function eg(t, e) {
|
|
10792
10817
|
return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
|
|
10793
10818
|
}
|
|
10794
|
-
function
|
|
10819
|
+
function tg({ message: t, sessionId: e, visitorId: n }) {
|
|
10795
10820
|
const i = R(), r = t.magiclineForm, o = !!r && r.status === "open" && !!r.submissionId, a = Oi(
|
|
10796
10821
|
Ce.functions.magicline.public.getSubmissionStatus,
|
|
10797
10822
|
o && r?.submissionId ? { sessionId: e, visitorId: n, submissionId: r.submissionId } : "skip"
|
|
@@ -10800,7 +10825,7 @@ function Xf({ message: t, sessionId: e, visitorId: n }) {
|
|
|
10800
10825
|
return null;
|
|
10801
10826
|
if (r.action === "contractCreation")
|
|
10802
10827
|
return t.projectId ? /* @__PURE__ */ s(
|
|
10803
|
-
|
|
10828
|
+
$f,
|
|
10804
10829
|
{
|
|
10805
10830
|
formMessageId: t._id,
|
|
10806
10831
|
sessionId: e,
|
|
@@ -10829,7 +10854,7 @@ function Xf({ message: t, sessionId: e, visitorId: n }) {
|
|
|
10829
10854
|
return null;
|
|
10830
10855
|
const l = a != null && a.errorCode === "slot_unavailable", c = o && a === void 0;
|
|
10831
10856
|
return /* @__PURE__ */ s(
|
|
10832
|
-
|
|
10857
|
+
wf,
|
|
10833
10858
|
{
|
|
10834
10859
|
formMessageId: t._id,
|
|
10835
10860
|
sessionId: e,
|
|
@@ -10839,13 +10864,13 @@ function Xf({ message: t, sessionId: e, visitorId: n }) {
|
|
|
10839
10864
|
}
|
|
10840
10865
|
);
|
|
10841
10866
|
}
|
|
10842
|
-
const
|
|
10867
|
+
const ng = {
|
|
10843
10868
|
crawl: "π",
|
|
10844
10869
|
file: "π",
|
|
10845
10870
|
snippet: "π‘",
|
|
10846
10871
|
qa: "β"
|
|
10847
10872
|
};
|
|
10848
|
-
function
|
|
10873
|
+
function ig({ sources: t }) {
|
|
10849
10874
|
const e = R(), [n, i] = $(!1);
|
|
10850
10875
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-sources-row", children: [
|
|
10851
10876
|
/* @__PURE__ */ s(
|
|
@@ -10868,10 +10893,10 @@ function tg({ sources: t }) {
|
|
|
10868
10893
|
}
|
|
10869
10894
|
),
|
|
10870
10895
|
n ? /* @__PURE__ */ s("div", { class: "jex-sources-pills", children: t.map((r, o) => {
|
|
10871
|
-
const a = r.sourceType === "crawl", l =
|
|
10896
|
+
const a = r.sourceType === "crawl", l = rg(r), c = a && r.url ? `${r.title}
|
|
10872
10897
|
${r.url}` : r.title, u = /* @__PURE__ */ s(Z, { children: [
|
|
10873
10898
|
typeof r.id == "number" ? /* @__PURE__ */ s("span", { class: "jex-source-id", children: r.id }) : null,
|
|
10874
|
-
/* @__PURE__ */ s("span", { class: "jex-source-type", children:
|
|
10899
|
+
/* @__PURE__ */ s("span", { class: "jex-source-type", children: ng[r.sourceType] }),
|
|
10875
10900
|
/* @__PURE__ */ s("span", { class: "jex-source-label", children: l }),
|
|
10876
10901
|
/* @__PURE__ */ s("span", { class: "jex-source-score", children: [
|
|
10877
10902
|
"Β· ",
|
|
@@ -10893,7 +10918,7 @@ ${r.url}` : r.title, u = /* @__PURE__ */ s(Z, { children: [
|
|
|
10893
10918
|
}) }) : null
|
|
10894
10919
|
] });
|
|
10895
10920
|
}
|
|
10896
|
-
function
|
|
10921
|
+
function rg(t) {
|
|
10897
10922
|
if (t.sourceType === "crawl" && t.url)
|
|
10898
10923
|
try {
|
|
10899
10924
|
const e = new URL(t.url);
|
|
@@ -10902,25 +10927,25 @@ function ng(t) {
|
|
|
10902
10927
|
}
|
|
10903
10928
|
return t.title;
|
|
10904
10929
|
}
|
|
10905
|
-
function
|
|
10930
|
+
function og() {
|
|
10906
10931
|
return /* @__PURE__ */ s("div", { class: "jex-typing", children: [
|
|
10907
10932
|
/* @__PURE__ */ s("span", {}),
|
|
10908
10933
|
/* @__PURE__ */ s("span", {}),
|
|
10909
10934
|
/* @__PURE__ */ s("span", {})
|
|
10910
10935
|
] });
|
|
10911
10936
|
}
|
|
10912
|
-
const
|
|
10937
|
+
const ag = /\s?\[\d+\]/g;
|
|
10913
10938
|
function Ri(t) {
|
|
10914
|
-
return t.replace(
|
|
10939
|
+
return t.replace(ag, "");
|
|
10915
10940
|
}
|
|
10916
|
-
function
|
|
10941
|
+
function sg(t) {
|
|
10917
10942
|
return t?.at(-1)?._creationTime ?? 0;
|
|
10918
10943
|
}
|
|
10919
|
-
function
|
|
10944
|
+
function lg(t) {
|
|
10920
10945
|
return { id: t._id, content: Ri(t.content), role: t.role, authorName: t.authorName };
|
|
10921
10946
|
}
|
|
10922
10947
|
function ps(t, e) {
|
|
10923
|
-
return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((n) => e?.find((i) => i._id === n)).filter((n) => n !== void 0).map(
|
|
10948
|
+
return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((n) => e?.find((i) => i._id === n)).filter((n) => n !== void 0).map(lg);
|
|
10924
10949
|
}
|
|
10925
10950
|
function ms(t, e) {
|
|
10926
10951
|
const n = e.getRootNode().getElementById(`jex-msg-${t}`);
|
|
@@ -10928,7 +10953,7 @@ function ms(t, e) {
|
|
|
10928
10953
|
n.classList.remove("jex-msg-highlight");
|
|
10929
10954
|
}, 1500));
|
|
10930
10955
|
}
|
|
10931
|
-
function
|
|
10956
|
+
function cg(t) {
|
|
10932
10957
|
if (!t)
|
|
10933
10958
|
return [];
|
|
10934
10959
|
const e = /* @__PURE__ */ new Set();
|
|
@@ -10936,8 +10961,8 @@ function sg(t) {
|
|
|
10936
10961
|
n.authorId && n.authorName && e.add(n.authorName), n.noticeKind === "agent-joined" && n.noticeData?.agentName && e.add(n.noticeData.agentName);
|
|
10937
10962
|
return [...e];
|
|
10938
10963
|
}
|
|
10939
|
-
function
|
|
10940
|
-
const p = R(), f = ze(null), [d, m] = $(null), x =
|
|
10964
|
+
function ug({ conversations: t, greeting: e, botName: n, starterQuestions: i, onPickStarter: r, sessionNotFound: o, resumeFailed: a, onStartFresh: l, sessionId: c, visitorId: u }) {
|
|
10965
|
+
const p = R(), f = ze(null), [d, m] = $(null), x = sg(t), j = cg(t), b = Zl(), y = ze(null);
|
|
10941
10966
|
P(() => {
|
|
10942
10967
|
if (!u || !t)
|
|
10943
10968
|
return;
|
|
@@ -10950,7 +10975,7 @@ function lg({ conversations: t, greeting: e, botName: n, starterQuestions: i, on
|
|
|
10950
10975
|
return /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: [
|
|
10951
10976
|
/* @__PURE__ */ s(ln, { text: e, botName: n }),
|
|
10952
10977
|
I ? /* @__PURE__ */ s(
|
|
10953
|
-
|
|
10978
|
+
Wm,
|
|
10954
10979
|
{
|
|
10955
10980
|
questions: i,
|
|
10956
10981
|
disabled: Ii.value,
|
|
@@ -11002,9 +11027,9 @@ function lg({ conversations: t, greeting: e, botName: n, starterQuestions: i, on
|
|
|
11002
11027
|
children: p.escalationSkip
|
|
11003
11028
|
}
|
|
11004
11029
|
)
|
|
11005
|
-
] }, v._id) : /* @__PURE__ */ s(
|
|
11030
|
+
] }, v._id) : /* @__PURE__ */ s(Ym, { message: v, sessionId: c, visitorId: u, waitingSetAt: x }, v._id);
|
|
11006
11031
|
if (v.contentType === "magicline-form" && c && u)
|
|
11007
|
-
return /* @__PURE__ */ s(
|
|
11032
|
+
return /* @__PURE__ */ s(tg, { message: v, sessionId: c, visitorId: u }, v._id);
|
|
11008
11033
|
if (v.contentType === "escalation-confirm") {
|
|
11009
11034
|
const M = v.noticeKind === "escalation-confirmed" ? p.noticeEscalationConfirmed.replace("{name}", v.noticeData?.visitorName ?? "").replace("{email}", v.noticeData?.visitorEmail ?? "").replace("{ref}", v.noticeData?.visitorId ?? "") : v.content;
|
|
11010
11035
|
return /* @__PURE__ */ s(ln, { text: M, botName: n }, v._id);
|
|
@@ -11012,7 +11037,7 @@ function lg({ conversations: t, greeting: e, botName: n, starterQuestions: i, on
|
|
|
11012
11037
|
if (v.role === "user") {
|
|
11013
11038
|
const M = ps(v, t);
|
|
11014
11039
|
return /* @__PURE__ */ s(
|
|
11015
|
-
|
|
11040
|
+
Gm,
|
|
11016
11041
|
{
|
|
11017
11042
|
id: `jex-msg-${v._id}`,
|
|
11018
11043
|
text: v.content,
|
|
@@ -11035,7 +11060,7 @@ function lg({ conversations: t, greeting: e, botName: n, starterQuestions: i, on
|
|
|
11035
11060
|
authorImage: v.authorImage
|
|
11036
11061
|
};
|
|
11037
11062
|
if (v.status === "streaming" && v.content === "")
|
|
11038
|
-
return /* @__PURE__ */ s(
|
|
11063
|
+
return /* @__PURE__ */ s(og, {}, v._id);
|
|
11039
11064
|
if (v.status === "streaming")
|
|
11040
11065
|
return /* @__PURE__ */ s(ln, { id: `jex-msg-${v._id}`, text: Ri(v.content), streaming: !0, botName: n, ...N }, v._id);
|
|
11041
11066
|
if (v.status === "error")
|
|
@@ -11068,13 +11093,13 @@ function lg({ conversations: t, greeting: e, botName: n, starterQuestions: i, on
|
|
|
11068
11093
|
...N
|
|
11069
11094
|
}
|
|
11070
11095
|
),
|
|
11071
|
-
v.sources && v.sources.length > 0 ? /* @__PURE__ */ s(
|
|
11096
|
+
v.sources && v.sources.length > 0 ? /* @__PURE__ */ s(ig, { sources: v.sources }) : null
|
|
11072
11097
|
] }, v._id);
|
|
11073
11098
|
}),
|
|
11074
11099
|
/* @__PURE__ */ s("div", { ref: f })
|
|
11075
11100
|
] });
|
|
11076
11101
|
}
|
|
11077
|
-
function
|
|
11102
|
+
function dg() {
|
|
11078
11103
|
const t = R();
|
|
11079
11104
|
function e() {
|
|
11080
11105
|
const n = ei.peek();
|
|
@@ -11114,7 +11139,7 @@ function lc({ message: t }) {
|
|
|
11114
11139
|
t && /* @__PURE__ */ s("p", { class: "jex-loading-message", children: t })
|
|
11115
11140
|
] }) : null;
|
|
11116
11141
|
}
|
|
11117
|
-
function
|
|
11142
|
+
function hg({ sessionId: t, visitorId: e }) {
|
|
11118
11143
|
const n = Oi(
|
|
11119
11144
|
Ce.functions.chat.public.conversations.listBySession,
|
|
11120
11145
|
t && e ? { sessionId: t, visitorId: e } : "skip"
|
|
@@ -11129,7 +11154,7 @@ function ug({ sessionId: t, visitorId: e }) {
|
|
|
11129
11154
|
isStreaming: o
|
|
11130
11155
|
};
|
|
11131
11156
|
}
|
|
11132
|
-
function
|
|
11157
|
+
function pg(t) {
|
|
11133
11158
|
const e = R(), n = ze(null), i = ze(null), [r, o] = $(!1);
|
|
11134
11159
|
P(() => {
|
|
11135
11160
|
try {
|
|
@@ -11202,7 +11227,7 @@ function dg(t) {
|
|
|
11202
11227
|
};
|
|
11203
11228
|
}, []);
|
|
11204
11229
|
}
|
|
11205
|
-
function
|
|
11230
|
+
function mg({ sessionId: t, visitorId: e }) {
|
|
11206
11231
|
const n = Kt(Ce.functions.chat.public.visitorPresence.heartbeat);
|
|
11207
11232
|
P(() => {
|
|
11208
11233
|
if (!t || !e)
|
|
@@ -11223,11 +11248,11 @@ function hg({ sessionId: t, visitorId: e }) {
|
|
|
11223
11248
|
};
|
|
11224
11249
|
}, [t, e, n]);
|
|
11225
11250
|
}
|
|
11226
|
-
function
|
|
11251
|
+
function fg() {
|
|
11227
11252
|
return Kt(Ce.functions.chat.public.helpdesk.createEscalationRequest);
|
|
11228
11253
|
}
|
|
11229
11254
|
function cc({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: i }) {
|
|
11230
|
-
const r = R(), o =
|
|
11255
|
+
const r = R(), o = fg(), [a, l] = $(!1), [c, u] = $(null);
|
|
11231
11256
|
async function p() {
|
|
11232
11257
|
if (!a) {
|
|
11233
11258
|
l(!0), u(null);
|
|
@@ -11259,9 +11284,9 @@ function cc({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: i }) {
|
|
|
11259
11284
|
}
|
|
11260
11285
|
return { requestHuman: p, busy: a, error: c };
|
|
11261
11286
|
}
|
|
11262
|
-
function
|
|
11263
|
-
const f = R(), { conversations: d, sessionStatus: m, isLoading: x, isStreaming: j } =
|
|
11264
|
-
|
|
11287
|
+
function gg({ greeting: t, botName: e, starterQuestions: n, sessionId: i, visitorId: r, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: p }) {
|
|
11288
|
+
const f = R(), { conversations: d, sessionStatus: m, isLoading: x, isStreaming: j } = hg({ sessionId: i, visitorId: r });
|
|
11289
|
+
pg(d), mg({ sessionId: i, visitorId: r }), P(() => {
|
|
11265
11290
|
const v = ei.peek();
|
|
11266
11291
|
if (v === null || !d || d.length === 0)
|
|
11267
11292
|
return;
|
|
@@ -11286,7 +11311,7 @@ function mg({ greeting: t, botName: e, starterQuestions: n, sessionId: i, visito
|
|
|
11286
11311
|
r && mo(r);
|
|
11287
11312
|
}, [r]), c ? /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: /* @__PURE__ */ s("div", { class: "jex-session-notice", children: f.chatNoLongerAvailable }) }) : y === "resume" && (!i || x) ? /* @__PURE__ */ s(lc, { message: f.resumeConversation }) : /* @__PURE__ */ s(Z, { children: [
|
|
11288
11313
|
/* @__PURE__ */ s(
|
|
11289
|
-
|
|
11314
|
+
ug,
|
|
11290
11315
|
{
|
|
11291
11316
|
conversations: d,
|
|
11292
11317
|
greeting: t,
|
|
@@ -11302,7 +11327,7 @@ function mg({ greeting: t, botName: e, starterQuestions: n, sessionId: i, visito
|
|
|
11302
11327
|
visitorId: r
|
|
11303
11328
|
}
|
|
11304
11329
|
),
|
|
11305
|
-
ei.value !== null && /* @__PURE__ */ s(
|
|
11330
|
+
ei.value !== null && /* @__PURE__ */ s(dg, {}),
|
|
11306
11331
|
I && /* @__PURE__ */ s("div", { class: "jex-session-error-notice", role: "alert", style: { margin: "8px 16px 0" }, children: I }),
|
|
11307
11332
|
/* @__PURE__ */ s(
|
|
11308
11333
|
xp,
|
|
@@ -11327,7 +11352,7 @@ function uc(t) {
|
|
|
11327
11352
|
function dc(t) {
|
|
11328
11353
|
return t?.anyOnline ? "online" : t?.anyAway ? "away" : "offline";
|
|
11329
11354
|
}
|
|
11330
|
-
function
|
|
11355
|
+
function xg({ formMessageId: t, sessionId: e, visitorId: n, orgSlug: i }) {
|
|
11331
11356
|
const r = R(), o = li.value, a = /^https?:\/\//i.test(o) ? o : si, [l, c] = $(""), [u, p] = $(""), f = uc(i), d = f && !f.anyOnline ? r.escalationOfflineSubtitle : r.escalationSubtitle, m = Jl(), [x, j] = $(!1), [b, y] = $(null);
|
|
11332
11357
|
async function k(I) {
|
|
11333
11358
|
I.preventDefault(), j(!0), y(null);
|
|
@@ -11417,7 +11442,7 @@ function fs({ sessionId: t, visitorId: e, ensureSession: n, availability: i }) {
|
|
|
11417
11442
|
l && /* @__PURE__ */ s("div", { class: "jex-handoff-error", role: "alert", children: l })
|
|
11418
11443
|
] });
|
|
11419
11444
|
}
|
|
11420
|
-
async function
|
|
11445
|
+
async function bg() {
|
|
11421
11446
|
const t = gl.value;
|
|
11422
11447
|
if (!t)
|
|
11423
11448
|
return pe.warn("[JexityChat] Bootstrap refresh skipped β inputs missing"), { ok: !1, reason: "no-inputs" };
|
|
@@ -11433,7 +11458,7 @@ function gs(t) {
|
|
|
11433
11458
|
function hc(t) {
|
|
11434
11459
|
return t instanceof Pi ? t.data?.code === "UNAUTHORIZED_ORIGIN" : !1;
|
|
11435
11460
|
}
|
|
11436
|
-
function
|
|
11461
|
+
function vg(t = 1e4) {
|
|
11437
11462
|
return Mt.value ? Promise.resolve(Mt.value) : new Promise((e) => {
|
|
11438
11463
|
let n = !1;
|
|
11439
11464
|
const i = (a) => {
|
|
@@ -11445,9 +11470,9 @@ function xg(t = 1e4) {
|
|
|
11445
11470
|
});
|
|
11446
11471
|
});
|
|
11447
11472
|
}
|
|
11448
|
-
function
|
|
11473
|
+
function yg(t, e) {
|
|
11449
11474
|
const n = ze(null), i = pn(!1), r = pn(!1), o = pn(!1), a = pn(null), l = Kt(Ce.functions.chat.public.sessions.createOrResume), c = async (m) => {
|
|
11450
|
-
const x = await
|
|
11475
|
+
const x = await vg();
|
|
11451
11476
|
if (!x)
|
|
11452
11477
|
return pe.warn("[JexityChat] No bootstrap token after 10s β session creation blocked."), un.value = "no-token", null;
|
|
11453
11478
|
const j = (k) => ({
|
|
@@ -11467,7 +11492,7 @@ function bg(t, e) {
|
|
|
11467
11492
|
} catch (k) {
|
|
11468
11493
|
if (!hc(k))
|
|
11469
11494
|
throw k;
|
|
11470
|
-
const I = await
|
|
11495
|
+
const I = await bg();
|
|
11471
11496
|
if (!I.ok)
|
|
11472
11497
|
return un.value = I.reason === "rate_limited" ? "network" : "unauthorized", null;
|
|
11473
11498
|
b = await l(j(I.token));
|
|
@@ -11522,7 +11547,7 @@ function bg(t, e) {
|
|
|
11522
11547
|
resetSession: p
|
|
11523
11548
|
};
|
|
11524
11549
|
}
|
|
11525
|
-
function
|
|
11550
|
+
function wg({ botName: t, availability: e, onResetSession: n }) {
|
|
11526
11551
|
const i = R(), [r, o] = $(""), a = e?.anyOnline === !0, l = dc(e);
|
|
11527
11552
|
function c() {
|
|
11528
11553
|
ki(), mn.value = "escalate", n(), Ra(), wt({ id: "chat" });
|
|
@@ -11616,7 +11641,7 @@ function vg({ botName: t, availability: e, onResetSession: n }) {
|
|
|
11616
11641
|
] })
|
|
11617
11642
|
] });
|
|
11618
11643
|
}
|
|
11619
|
-
function
|
|
11644
|
+
function kg({ title: t }) {
|
|
11620
11645
|
const e = R();
|
|
11621
11646
|
return /* @__PURE__ */ s("div", { class: "jex-selection", children: [
|
|
11622
11647
|
/* @__PURE__ */ s("h2", { class: "jex-selection-title", children: e.howCanWeHelp }),
|
|
@@ -11648,7 +11673,7 @@ function yg({ title: t }) {
|
|
|
11648
11673
|
] })
|
|
11649
11674
|
] });
|
|
11650
11675
|
}
|
|
11651
|
-
function
|
|
11676
|
+
function jg() {
|
|
11652
11677
|
const t = R(), [e, n] = $(""), [i, r] = $(""), [o, a] = $("");
|
|
11653
11678
|
async function l(c) {
|
|
11654
11679
|
c.preventDefault(), Br({ id: "loading", message: t.submittingTicket }), await new Promise((p) => {
|
|
@@ -11704,7 +11729,7 @@ function wg() {
|
|
|
11704
11729
|
] })
|
|
11705
11730
|
] });
|
|
11706
11731
|
}
|
|
11707
|
-
function
|
|
11732
|
+
function _g({ ticketRef: t }) {
|
|
11708
11733
|
const e = R();
|
|
11709
11734
|
return /* @__PURE__ */ s("div", { class: "jex-confirmation", children: [
|
|
11710
11735
|
/* @__PURE__ */ s("div", { class: "jex-confirmation-icon", "aria-hidden": "true", children: "β" }),
|
|
@@ -11724,7 +11749,7 @@ function kg({ ticketRef: t }) {
|
|
|
11724
11749
|
)
|
|
11725
11750
|
] });
|
|
11726
11751
|
}
|
|
11727
|
-
function
|
|
11752
|
+
function Sg({ message: t, onRetry: e, onBack: n }) {
|
|
11728
11753
|
const i = R();
|
|
11729
11754
|
return /* @__PURE__ */ s("div", { class: "jex-overlay jex-error", children: [
|
|
11730
11755
|
/* @__PURE__ */ s("p", { class: "jex-error-message", children: t }),
|
|
@@ -11739,11 +11764,11 @@ function xs({ greeting: t, starterQuestions: e, title: n, botName: i, orgSlug: r
|
|
|
11739
11764
|
(k) => k.id === "confirmation"
|
|
11740
11765
|
);
|
|
11741
11766
|
return /* @__PURE__ */ s("div", { class: "jex-screen-container", children: [
|
|
11742
|
-
b.id === "home" && /* @__PURE__ */ s(
|
|
11743
|
-
b.id === "selection" && /* @__PURE__ */ s(
|
|
11744
|
-
b.id === "form" && /* @__PURE__ */ s(
|
|
11767
|
+
b.id === "home" && /* @__PURE__ */ s(wg, { botName: i, availability: o, onResetSession: x }),
|
|
11768
|
+
b.id === "selection" && /* @__PURE__ */ s(kg, { title: n }),
|
|
11769
|
+
b.id === "form" && /* @__PURE__ */ s(jg, {}),
|
|
11745
11770
|
b.id === "escalation-form" && /* @__PURE__ */ s(
|
|
11746
|
-
|
|
11771
|
+
xg,
|
|
11747
11772
|
{
|
|
11748
11773
|
formMessageId: b.formMessageId,
|
|
11749
11774
|
sessionId: b.sessionId,
|
|
@@ -11752,9 +11777,9 @@ function xs({ greeting: t, starterQuestions: e, title: n, botName: i, orgSlug: r
|
|
|
11752
11777
|
waitingSetAt: b.waitingSetAt
|
|
11753
11778
|
}
|
|
11754
11779
|
),
|
|
11755
|
-
b.id === "confirmation" && y && /* @__PURE__ */ s(
|
|
11780
|
+
b.id === "confirmation" && y && /* @__PURE__ */ s(_g, { ticketRef: y.ref }),
|
|
11756
11781
|
b.id === "chat" && /* @__PURE__ */ s(
|
|
11757
|
-
|
|
11782
|
+
gg,
|
|
11758
11783
|
{
|
|
11759
11784
|
greeting: t,
|
|
11760
11785
|
botName: i,
|
|
@@ -11771,7 +11796,7 @@ function xs({ greeting: t, starterQuestions: e, title: n, botName: i, orgSlug: r
|
|
|
11771
11796
|
),
|
|
11772
11797
|
b.id === "loading" && /* @__PURE__ */ s(lc, { message: b.message }),
|
|
11773
11798
|
b.id === "error" && /* @__PURE__ */ s(
|
|
11774
|
-
|
|
11799
|
+
Sg,
|
|
11775
11800
|
{
|
|
11776
11801
|
message: b.message,
|
|
11777
11802
|
onRetry: () => Br({ id: "loading" }),
|
|
@@ -11780,7 +11805,7 @@ function xs({ greeting: t, starterQuestions: e, title: n, botName: i, orgSlug: r
|
|
|
11780
11805
|
)
|
|
11781
11806
|
] });
|
|
11782
11807
|
}
|
|
11783
|
-
function
|
|
11808
|
+
function Cg({ options: t }) {
|
|
11784
11809
|
return uh({
|
|
11785
11810
|
orgSlug: t.orgSlug,
|
|
11786
11811
|
projSlug: t.projSlug,
|
|
@@ -11788,14 +11813,14 @@ function _g({ options: t }) {
|
|
|
11788
11813
|
convexUrl: t.convexUrl,
|
|
11789
11814
|
preAllowedUrls: t.allowedUrls ?? [],
|
|
11790
11815
|
preExcludedPaths: t.excludePaths
|
|
11791
|
-
}), ph() ? /* @__PURE__ */ s(
|
|
11816
|
+
}), ph() ? /* @__PURE__ */ s(Tg, { options: t }) : null;
|
|
11792
11817
|
}
|
|
11793
|
-
function
|
|
11818
|
+
function Tg({ options: t }) {
|
|
11794
11819
|
const e = lh(t.orgSlug, t.projSlug, t.convexUrl);
|
|
11795
11820
|
bh(t.parentOrigin), P(() => (Sh(), Th(), () => {
|
|
11796
11821
|
Fr.value = !1;
|
|
11797
11822
|
}), []);
|
|
11798
|
-
const { sessionId: n, visitorId: i, isLoading: r, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: p } =
|
|
11823
|
+
const { sessionId: n, visitorId: i, isLoading: r, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: p } = yg(t.orgSlug, t.projSlug), f = uc(t.orgSlug), d = rh(t, e.config), m = Et.value, x = Fr.value, j = e.config !== null || m !== void 0 || e.settled, b = e.config !== null ? d.sessionTimeoutMs : m !== void 0 ? m : d.sessionTimeoutMs;
|
|
11799
11824
|
P(() => {
|
|
11800
11825
|
mt.value = yl(d.locale);
|
|
11801
11826
|
}, [d.locale]), P(() => {
|
|
@@ -11927,34 +11952,34 @@ function Sg({ options: t }) {
|
|
|
11927
11952
|
}
|
|
11928
11953
|
);
|
|
11929
11954
|
}
|
|
11930
|
-
const Cg = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: "Inter", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;animation:jexFadeIn .4s ease both}.jex-home-hero:disabled{cursor:default;opacity:.7}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--jex-dot-color, #9ca3af);border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}.jex-home-status-dot--online{--jex-dot-color: #10b981}.jex-home-status-dot--away{--jex-dot-color: #fbbf24}.jex-home-status-dot--offline{--jex-dot-color: #9ca3af}@keyframes jexPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--jex-dot-color, #9ca3af) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jex-dot-color, #9ca3af) 0%,transparent)}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-quote-btn{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--jex-border-window);border-radius:50%;background:var(--jex-bg-window);color:var(--jex-text-muted, #6b7280);box-shadow:0 1px 4px #0000001f;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity .12s,transform .12s,background .15s,color .15s}.jex-quote-btn:hover{background:var(--jex-bg-msg-bot);color:var(--jex-primary, #115A62);transform:scale(1)}.jex-quote-btn:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}@media(hover:hover){.jex-message:hover .jex-quote-btn{opacity:1;transform:scale(1)}}@media(hover:none){.jex-quote-btn{opacity:1;transform:scale(1)}}.jex-message.user .jex-mention{font-weight:700;background:#ffffff38;border-radius:4px;padding:0 3px}.jex-quoted-chip{display:flex;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding-bottom:6px;border:none;border-bottom:1px solid var(--jex-border-window);background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.8;text-align:left;cursor:pointer}.jex-quoted-chip:hover{opacity:1}.jex-quoted-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-quoted-chip-author{font-weight:600}.jex-quoted-list{display:flex;flex-direction:column}.jex-quoted-list .jex-quoted-chip{margin-bottom:3px;padding-bottom:3px}.jex-quoted-list .jex-quoted-chip:last-child{margin-bottom:6px;padding-bottom:6px}.jex-msg-highlight{outline:2px solid var(--jex-primary, #115A62);outline-offset:2px;transition:outline-color .2s}.jex-reply-preview{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);font-size:12px;color:var(--jex-text-muted)}.jex-reply-preview-icon{flex:0 0 auto;color:var(--jex-primary)}.jex-reply-preview-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-reply-preview-author{font-weight:600;color:var(--jex-text-main)}.jex-reply-preview-cancel{flex:0 0 auto;display:inline-flex;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted);cursor:pointer}.jex-reply-preview-cancel:hover{color:var(--jex-text-main);background:#0000000f}.jex-message{position:relative;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);margin:0 0 8px;padding:4px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:"β";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-starter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.jex-starter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--jex-bg-window);border:1px solid var(--jex-border-input);color:var(--jex-primary);text-align:left;font-size:13.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.jex-starter-chip:hover:not(:disabled){background:color-mix(in srgb,var(--jex-primary) 8%,var(--jex-bg-window));border-color:var(--jex-primary)}.jex-starter-chip:disabled{opacity:.5;cursor:default}.jex-presence-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px var(--jex-bg-header, #115A62)}.jex-presence-dot--online{background:#10b981}.jex-presence-dot--away{background:#fbbf24}.jex-presence-dot--offline{background:#9ca3af}@keyframes jex-ripple-expand{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.jex-waiting-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 12px 8px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem)}.jex-waiting-indicator{position:relative;flex-shrink:0;width:20px;height:20px;margin-top:2px;display:flex;align-items:center;justify-content:center}.jex-waiting-dot{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--jex-primary, #115A62)}.jex-waiting-ripple{position:absolute;inset:0;width:8px;height:8px;margin:auto;border-radius:50%;background:var(--jex-primary, #115A62);animation:jex-ripple-expand 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.jex-waiting-ripple{animation:none}}.jex-waiting-body{display:flex;flex-direction:column;gap:4px;min-width:0}.jex-waiting-title{font-weight:600;font-size:14px;color:var(--jex-text-main, #0f172a);line-height:1.3}.jex-waiting-subtitle{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4}.jex-waiting-leave-email{margin-top:6px;padding:0;border:none;background:transparent;color:var(--jex-primary, #115A62);font-size:12px;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.jex-waiting-leave-email:hover{opacity:.8}`;
|
|
11931
|
-
function
|
|
11955
|
+
const Ig = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: "Inter", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;animation:jexFadeIn .4s ease both}.jex-home-hero:disabled{cursor:default;opacity:.7}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--jex-dot-color, #9ca3af);border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}.jex-home-status-dot--online{--jex-dot-color: #10b981}.jex-home-status-dot--away{--jex-dot-color: #fbbf24}.jex-home-status-dot--offline{--jex-dot-color: #9ca3af}@keyframes jexPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--jex-dot-color, #9ca3af) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jex-dot-color, #9ca3af) 0%,transparent)}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-quote-btn{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--jex-border-window);border-radius:50%;background:var(--jex-bg-window);color:var(--jex-text-muted, #6b7280);box-shadow:0 1px 4px #0000001f;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity .12s,transform .12s,background .15s,color .15s}.jex-quote-btn:hover{background:var(--jex-bg-msg-bot);color:var(--jex-primary, #115A62);transform:scale(1)}.jex-quote-btn:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}@media(hover:hover){.jex-message:hover .jex-quote-btn{opacity:1;transform:scale(1)}}@media(hover:none){.jex-quote-btn{opacity:1;transform:scale(1)}}.jex-message.user .jex-mention{font-weight:700;background:#ffffff38;border-radius:4px;padding:0 3px}.jex-quoted-chip{display:flex;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding-bottom:6px;border:none;border-bottom:1px solid var(--jex-border-window);background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.8;text-align:left;cursor:pointer}.jex-quoted-chip:hover{opacity:1}.jex-quoted-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-quoted-chip-author{font-weight:600}.jex-quoted-list{display:flex;flex-direction:column}.jex-quoted-list .jex-quoted-chip{margin-bottom:3px;padding-bottom:3px}.jex-quoted-list .jex-quoted-chip:last-child{margin-bottom:6px;padding-bottom:6px}.jex-msg-highlight{outline:2px solid var(--jex-primary, #115A62);outline-offset:2px;transition:outline-color .2s}.jex-reply-preview{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);font-size:12px;color:var(--jex-text-muted)}.jex-reply-preview-icon{flex:0 0 auto;color:var(--jex-primary)}.jex-reply-preview-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-reply-preview-author{font-weight:600;color:var(--jex-text-main)}.jex-reply-preview-cancel{flex:0 0 auto;display:inline-flex;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted);cursor:pointer}.jex-reply-preview-cancel:hover{color:var(--jex-text-main);background:#0000000f}.jex-message{position:relative;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);background:color-mix(in srgb,currentColor 6%,transparent);border-radius:0 8px 8px 0;margin:0 0 8px;padding:6px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.jex-md table{width:100%;border-collapse:collapse;margin:0 0 8px;font-size:.95em}.jex-md table:last-child{margin-bottom:0}.jex-md th,.jex-md td{text-align:left;padding:6px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}.jex-md th{font-weight:600;border-bottom-width:2px}.jex-md tr:last-child td{border-bottom:none}.jex-md tbody tr:nth-child(2n) td{background:color-mix(in srgb,currentColor 5%,transparent)}.jex-md .jex-card-grid{display:flex;flex-direction:column;gap:8px;margin:0 0 8px}.jex-md .jex-card-grid:last-child{margin-bottom:0}.jex-md .jex-card{border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);border-radius:10px;padding:10px 12px}.jex-md .jex-card-title{font-weight:700;margin-bottom:4px}.jex-md .jex-card>: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}`;
|
|
11956
|
+
function Rg(t) {
|
|
11932
11957
|
const e = document.createElement("style");
|
|
11933
|
-
e.textContent =
|
|
11958
|
+
e.textContent = Ig, t.appendChild(e);
|
|
11934
11959
|
}
|
|
11935
|
-
const
|
|
11960
|
+
const Ag = "https://festive-mouse-978.eu-west-1.convex.cloud";
|
|
11936
11961
|
let Tr = null;
|
|
11937
|
-
function
|
|
11938
|
-
const e = t ??
|
|
11962
|
+
function Eg(t) {
|
|
11963
|
+
const e = t ?? Ag;
|
|
11939
11964
|
if (!e)
|
|
11940
11965
|
throw new Error("[jexity] No Convex URL β set VITE_CONVEX_URL at build time or data-convex-url on the script tag");
|
|
11941
11966
|
return Tr || (Tr = new zd(nh(e))), Tr;
|
|
11942
11967
|
}
|
|
11943
|
-
function
|
|
11968
|
+
function Ng(t, e) {
|
|
11944
11969
|
const n = t.shadowRoot ?? t.attachShadow({ mode: "open" });
|
|
11945
11970
|
for (; n.firstChild; )
|
|
11946
11971
|
n.removeChild(n.firstChild);
|
|
11947
|
-
|
|
11972
|
+
Rg(n), Ui.value = e.source, Mt.value = e.bootstrapToken, Oe.value = [{ id: "home" }], e.mode === "embedded" && (t.classList.add("jex-mode-embedded"), oe.value = !0);
|
|
11948
11973
|
const i = document.createElement("div");
|
|
11949
11974
|
return e.mode === "embedded" && (i.style.cssText = "width:100%;height:100%"), n.appendChild(i), Qt(
|
|
11950
|
-
/* @__PURE__ */ s(Ud, { client:
|
|
11975
|
+
/* @__PURE__ */ s(Ud, { client: Eg(e.convexUrl), children: /* @__PURE__ */ s(Cg, { options: e }) }),
|
|
11951
11976
|
i
|
|
11952
11977
|
), function() {
|
|
11953
11978
|
Qt(null, i), oe.value = !1, Ui.value = void 0, Mt.value = void 0, Oe.value = [{ id: "home" }];
|
|
11954
11979
|
};
|
|
11955
11980
|
}
|
|
11956
|
-
function
|
|
11957
|
-
const i =
|
|
11981
|
+
function Pg(t, e, n) {
|
|
11982
|
+
const i = Ng(t, e), r = /* @__PURE__ */ new Set(), o = oe.subscribe((a) => {
|
|
11958
11983
|
for (const l of r)
|
|
11959
11984
|
l(a);
|
|
11960
11985
|
});
|
|
@@ -11982,21 +12007,21 @@ function Eg(t, e, n) {
|
|
|
11982
12007
|
};
|
|
11983
12008
|
}
|
|
11984
12009
|
let qn = null;
|
|
11985
|
-
function
|
|
12010
|
+
function Mg(t) {
|
|
11986
12011
|
qn && qn.shutdown();
|
|
11987
12012
|
let e;
|
|
11988
12013
|
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));
|
|
11989
|
-
const n =
|
|
12014
|
+
const n = Pg(e, t, () => {
|
|
11990
12015
|
t.container || e.remove(), qn === n && (qn = null);
|
|
11991
12016
|
});
|
|
11992
12017
|
return qn = n, n;
|
|
11993
12018
|
}
|
|
11994
|
-
const
|
|
12019
|
+
const qg = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11995
12020
|
__proto__: null,
|
|
11996
|
-
JexityChat:
|
|
12021
|
+
JexityChat: Mg
|
|
11997
12022
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
11998
12023
|
export {
|
|
11999
|
-
|
|
12000
|
-
|
|
12024
|
+
Lg as JexityChatProvider,
|
|
12025
|
+
Dg as useJexityChat
|
|
12001
12026
|
};
|
|
12002
12027
|
//# sourceMappingURL=react.mjs.map
|