@evelan/jexity-widget 0.21.6 β 0.22.0-canary.58
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 +291 -266
- package/dist/index.mjs.map +1 -1
- package/dist/react.mjs +273 -248
- 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 +9 -7
- package/dist/widget.js.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -119,7 +119,7 @@ function Wo(t) {
|
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
function no(t, e, n, r, i, o, a, l, c, u) {
|
|
122
|
-
var h, m, d, p, x, k, b, v, w, R, y, E, N, L,
|
|
122
|
+
var h, m, d, p, x, k, b, v, w, R, y, E, N, L, Q, de, F = e.type;
|
|
123
123
|
if (e.constructor !== void 0) return null;
|
|
124
124
|
128 & n.__u && (c = !!(32 & n.__u), o = [l = e.__e = n.__e]), (h = P.__b) && h(e);
|
|
125
125
|
e: if (typeof F == "function") {
|
|
@@ -141,7 +141,7 @@ function no(t, e, n, r, i, o, a, l, c, u) {
|
|
|
141
141
|
else do
|
|
142
142
|
d.__d = !1, N && N(e), h = d.render(d.props, d.state, d.context), d.state = d.__s;
|
|
143
143
|
while (d.__d && ++L < 25);
|
|
144
|
-
d.state = d.__s, d.getChildContext != null && (r = ft(ft({}, r), d.getChildContext())), R && !p && d.getSnapshotBeforeUpdate != null && (b = d.getSnapshotBeforeUpdate(x, k)),
|
|
144
|
+
d.state = d.__s, d.getChildContext != null && (r = ft(ft({}, r), d.getChildContext())), R && !p && d.getSnapshotBeforeUpdate != null && (b = d.getSnapshotBeforeUpdate(x, k)), Q = h != null && h.type === ee && h.key == null ? Cs(h.props.children) : h, l = js(t, nr(Q) ? Q : [Q], e, n, r, i, o, a, l, c, u), d.base = e.__e, e.__u &= -161, d.__h.length && a.push(d), v && (d.__E = d.__ = null);
|
|
145
145
|
} catch (J) {
|
|
146
146
|
if (a.length = m, e.__v = null, c || o != null) if (J.then) {
|
|
147
147
|
for (e.__u |= c ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling;
|
|
@@ -4070,7 +4070,7 @@ Object.defineProperty(Se.prototype, "value", { get: function() {
|
|
|
4070
4070
|
}
|
|
4071
4071
|
}
|
|
4072
4072
|
} });
|
|
4073
|
-
function
|
|
4073
|
+
function W(t, e) {
|
|
4074
4074
|
return new Se(t, e);
|
|
4075
4075
|
}
|
|
4076
4076
|
function al(t) {
|
|
@@ -4298,7 +4298,7 @@ _n("diffed", function(t, e) {
|
|
|
4298
4298
|
t(e);
|
|
4299
4299
|
});
|
|
4300
4300
|
function Hd(t, e, n, r) {
|
|
4301
|
-
var i = e in t && t.ownerSVGElement === void 0, o =
|
|
4301
|
+
var i = e in t && t.ownerSVGElement === void 0, o = W(n);
|
|
4302
4302
|
return { o: function(a, l) {
|
|
4303
4303
|
o.value = a, r = l;
|
|
4304
4304
|
}, d: ar(function() {
|
|
@@ -4352,7 +4352,7 @@ rt.prototype.shouldComponentUpdate = function(t, e) {
|
|
|
4352
4352
|
};
|
|
4353
4353
|
function fn(t, e) {
|
|
4354
4354
|
return ge(function() {
|
|
4355
|
-
return
|
|
4355
|
+
return W(t, e);
|
|
4356
4356
|
}, []);
|
|
4357
4357
|
}
|
|
4358
4358
|
var Wd = function(t) {
|
|
@@ -4368,7 +4368,7 @@ function Qd() {
|
|
|
4368
4368
|
function fl() {
|
|
4369
4369
|
dl.push(this) === 1 && (P.requestAnimationFrame || Wd)(Qd);
|
|
4370
4370
|
}
|
|
4371
|
-
const ae =
|
|
4371
|
+
const ae = W(!1), Br = W(void 0), sr = "https://jexitychat.de/privacy", lr = W(sr), uo = W("chip"), Lt = W(void 0), zi = W([]), Bi = W([]), pl = W(null);
|
|
4372
4372
|
function Gd(t) {
|
|
4373
4373
|
return t.replace(/\.convex\.site\b/, ".convex.cloud");
|
|
4374
4374
|
}
|
|
@@ -4456,7 +4456,7 @@ function eh(t, e, n) {
|
|
|
4456
4456
|
});
|
|
4457
4457
|
return O(() => {
|
|
4458
4458
|
i({ config: null, settled: !1 });
|
|
4459
|
-
const o = n ?? "https://
|
|
4459
|
+
const o = n ?? "https://tame-spider-109.eu-west-1.convex.cloud", a = o ? ml(o) : void 0;
|
|
4460
4460
|
if (!a || !t) {
|
|
4461
4461
|
i({ config: null, settled: !0 });
|
|
4462
4462
|
return;
|
|
@@ -4530,7 +4530,7 @@ function nh({
|
|
|
4530
4530
|
preExcludedPaths: o
|
|
4531
4531
|
}) {
|
|
4532
4532
|
O(() => {
|
|
4533
|
-
const a = r ?? "https://
|
|
4533
|
+
const a = r ?? "https://tame-spider-109.eu-west-1.convex.cloud", l = a ? ml(a) : void 0;
|
|
4534
4534
|
if (!l || !t)
|
|
4535
4535
|
return;
|
|
4536
4536
|
if (pl.value = { orgSlug: t, projSlug: e, siteUrl: l }, n) {
|
|
@@ -5095,7 +5095,7 @@ Verwenden Sie sie, um diese Unterhaltung auf jedem GerΓ€t fortzusetzen.`,
|
|
|
5095
5095
|
}, ah = [
|
|
5096
5096
|
{ value: "de", label: "Deutsch", flag: "π©πͺ" },
|
|
5097
5097
|
{ value: "en", label: "English", flag: "π¬π§" }
|
|
5098
|
-
], sh = "de", lh = "jex-locale", xt =
|
|
5098
|
+
], sh = "de", lh = "jex-locale", xt = W("de"), ch = { en: ho, de: xl };
|
|
5099
5099
|
function I() {
|
|
5100
5100
|
return ch[xt.value] ?? ho;
|
|
5101
5101
|
}
|
|
@@ -5136,7 +5136,7 @@ function uh(t) {
|
|
|
5136
5136
|
};
|
|
5137
5137
|
}, [t]);
|
|
5138
5138
|
}
|
|
5139
|
-
const yl = "jex-session-history", vl = yl, wl = 1440 * 60 * 1e3, Ce =
|
|
5139
|
+
const yl = "jex-session-history", vl = yl, wl = 1440 * 60 * 1e3, Ce = W([]), Be = W(null), Nt = W(void 0), Fi = W(!1), fo = qi(() => Ce.value.length > 0), pn = W(null), dh = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", hh = 6;
|
|
5140
5140
|
function fh() {
|
|
5141
5141
|
let t = "";
|
|
5142
5142
|
const e = new Uint8Array(1);
|
|
@@ -5215,14 +5215,14 @@ function po(t) {
|
|
|
5215
5215
|
);
|
|
5216
5216
|
Ce.value = n, cr(n);
|
|
5217
5217
|
}
|
|
5218
|
-
const $e =
|
|
5218
|
+
const $e = W(_l());
|
|
5219
5219
|
function _l() {
|
|
5220
5220
|
return fo.value ? [{ id: "home" }] : [{ id: "home" }, { id: "chat" }];
|
|
5221
5221
|
}
|
|
5222
5222
|
function yh() {
|
|
5223
5223
|
$e.value = _l();
|
|
5224
5224
|
}
|
|
5225
|
-
const vh =
|
|
5225
|
+
const vh = W("screen");
|
|
5226
5226
|
function jt(t) {
|
|
5227
5227
|
$e.value = [...$e.value, t];
|
|
5228
5228
|
}
|
|
@@ -5232,7 +5232,7 @@ function mo() {
|
|
|
5232
5232
|
function Ui(t) {
|
|
5233
5233
|
$e.value = [...$e.value.slice(0, -1), t];
|
|
5234
5234
|
}
|
|
5235
|
-
const wh = 6e4, Zn =
|
|
5235
|
+
const wh = 6e4, Zn = W(!1), Vi = W(!1), Hi = /* @__PURE__ */ new Set();
|
|
5236
5236
|
function kh(t) {
|
|
5237
5237
|
return Hi.add(t), () => {
|
|
5238
5238
|
Hi.delete(t);
|
|
@@ -5429,7 +5429,7 @@ function Mh({ radius: t = "full", iconOption: e = "chat", label: n }) {
|
|
|
5429
5429
|
}
|
|
5430
5430
|
);
|
|
5431
5431
|
}
|
|
5432
|
-
const Ur =
|
|
5432
|
+
const Ur = W(!1);
|
|
5433
5433
|
function Oh(t, e) {
|
|
5434
5434
|
return e ? `jex-proactive-dismissed:${t}:${e}` : `jex-proactive-dismissed:${t}`;
|
|
5435
5435
|
}
|
|
@@ -5491,7 +5491,7 @@ function Dh({ title: t, message: e, guardKey: n }) {
|
|
|
5491
5491
|
}
|
|
5492
5492
|
);
|
|
5493
5493
|
}
|
|
5494
|
-
const mn =
|
|
5494
|
+
const mn = W(""), Dn = W(0), vn = W(null);
|
|
5495
5495
|
function Qi(t) {
|
|
5496
5496
|
vn.value = t, t && (Dn.value += 1);
|
|
5497
5497
|
}
|
|
@@ -5500,7 +5500,7 @@ function Tl(t) {
|
|
|
5500
5500
|
const e = t.replace(/\s+/g, " ").trim();
|
|
5501
5501
|
return e.length > Ma ? `${e.slice(0, Ma)}β¦` : e;
|
|
5502
5502
|
}
|
|
5503
|
-
const Jn =
|
|
5503
|
+
const Jn = W(null), Oa = W(Date.now()), Ar = W(!1), go = W(!1), Xn = W(!1), Vr = W(null);
|
|
5504
5504
|
function Cl() {
|
|
5505
5505
|
return uo.value === "explicit" && !go.value;
|
|
5506
5506
|
}
|
|
@@ -5513,7 +5513,7 @@ function qh() {
|
|
|
5513
5513
|
function La() {
|
|
5514
5514
|
go.value = !1, Xn.value = !1, Vr.value = null;
|
|
5515
5515
|
}
|
|
5516
|
-
const Tt =
|
|
5516
|
+
const Tt = W([]), zh = 4, Bh = 8 * 1024 * 1024;
|
|
5517
5517
|
function Fh() {
|
|
5518
5518
|
return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 11)}`;
|
|
5519
5519
|
}
|
|
@@ -5644,7 +5644,7 @@ function Zh() {
|
|
|
5644
5644
|
const t = I(), { isActive: e, remainingSeconds: n } = Yh();
|
|
5645
5645
|
return e ? /* @__PURE__ */ s("div", { class: "jex-rate-limit-notice", role: "status", "aria-live": "polite", children: t.errorRateLimited.replace("{seconds}", String(n)) }) : null;
|
|
5646
5646
|
}
|
|
5647
|
-
const un =
|
|
5647
|
+
const un = W(null), er = W(null);
|
|
5648
5648
|
function Pl() {
|
|
5649
5649
|
er.value = null;
|
|
5650
5650
|
}
|
|
@@ -7132,35 +7132,35 @@ Please report this to https://github.com/markedjs/marked.`, t) {
|
|
|
7132
7132
|
};
|
|
7133
7133
|
}
|
|
7134
7134
|
}, Qt = new Zf();
|
|
7135
|
-
function
|
|
7135
|
+
function H(t, e) {
|
|
7136
7136
|
return Qt.parse(t, e);
|
|
7137
7137
|
}
|
|
7138
|
-
|
|
7139
|
-
return Qt.setOptions(t),
|
|
7138
|
+
H.options = H.setOptions = function(t) {
|
|
7139
|
+
return Qt.setOptions(t), H.defaults = Qt.defaults, Ml(H.defaults), H;
|
|
7140
7140
|
};
|
|
7141
|
-
|
|
7142
|
-
|
|
7143
|
-
|
|
7144
|
-
return Qt.use(...t),
|
|
7141
|
+
H.getDefaults = bo;
|
|
7142
|
+
H.defaults = Yt;
|
|
7143
|
+
H.use = function(...t) {
|
|
7144
|
+
return Qt.use(...t), H.defaults = Qt.defaults, Ml(H.defaults), H;
|
|
7145
7145
|
};
|
|
7146
|
-
|
|
7146
|
+
H.walkTokens = function(t, e) {
|
|
7147
7147
|
return Qt.walkTokens(t, e);
|
|
7148
7148
|
};
|
|
7149
|
-
|
|
7150
|
-
|
|
7151
|
-
|
|
7152
|
-
|
|
7153
|
-
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
|
|
7157
|
-
|
|
7158
|
-
|
|
7159
|
-
|
|
7160
|
-
|
|
7161
|
-
|
|
7162
|
-
|
|
7163
|
-
|
|
7149
|
+
H.parseInline = Qt.parseInline;
|
|
7150
|
+
H.Parser = tt;
|
|
7151
|
+
H.parser = tt.parse;
|
|
7152
|
+
H.Renderer = Qr;
|
|
7153
|
+
H.TextRenderer = To;
|
|
7154
|
+
H.Lexer = et;
|
|
7155
|
+
H.lexer = et.lex;
|
|
7156
|
+
H.Tokenizer = Wr;
|
|
7157
|
+
H.Hooks = qn;
|
|
7158
|
+
H.parse = H;
|
|
7159
|
+
H.options;
|
|
7160
|
+
H.setOptions;
|
|
7161
|
+
H.use;
|
|
7162
|
+
H.walkTokens;
|
|
7163
|
+
H.parseInline;
|
|
7164
7164
|
tt.parse;
|
|
7165
7165
|
et.lex;
|
|
7166
7166
|
function Ga(t, e) {
|
|
@@ -7391,7 +7391,7 @@ function Wl() {
|
|
|
7391
7391
|
const j = n.createElement("template");
|
|
7392
7392
|
j.content && j.content.ownerDocument && (n = j.content.ownerDocument);
|
|
7393
7393
|
}
|
|
7394
|
-
let N, L = "",
|
|
7394
|
+
let N, L = "", Q, de = !1, F = 0;
|
|
7395
7395
|
const J = function() {
|
|
7396
7396
|
if (F > 0)
|
|
7397
7397
|
throw Ft('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');
|
|
@@ -7410,7 +7410,7 @@ function Wl() {
|
|
|
7410
7410
|
F--;
|
|
7411
7411
|
}
|
|
7412
7412
|
}, se = function() {
|
|
7413
|
-
return de || (
|
|
7413
|
+
return de || (Q = Ep(m, i), de = !0), Q;
|
|
7414
7414
|
}, it = n, Ye = it.implementation, ot = it.createNodeIterator, Ct = it.createDocumentFragment, bt = it.getElementsByTagName, Dt = r.importNode;
|
|
7415
7415
|
let Z = ss();
|
|
7416
7416
|
e.isSupported = typeof Vl == "function" && typeof v == "function" && Ye && Ye.createHTMLDocument !== void 0;
|
|
@@ -7419,7 +7419,7 @@ function Wl() {
|
|
|
7419
7419
|
const T = q({}, [...ts, ..._i, ...ji, ...Si, ...ns]);
|
|
7420
7420
|
let C = null;
|
|
7421
7421
|
const Ve = q({}, [...rs, ...Ti, ...is, ...jr]);
|
|
7422
|
-
let
|
|
7422
|
+
let G = Object.seal(dn(null, {
|
|
7423
7423
|
tagNameCheck: {
|
|
7424
7424
|
writable: !0,
|
|
7425
7425
|
configurable: !1,
|
|
@@ -7533,7 +7533,7 @@ function Wl() {
|
|
|
7533
7533
|
transform: ce
|
|
7534
7534
|
}), Me = ve(f, "USE_PROFILES") ? f.USE_PROFILES && typeof f.USE_PROFILES == "object" ? Ie(f.USE_PROFILES) : f.USE_PROFILES : !1, De = f.ALLOW_ARIA_ATTR !== !1, Zt = f.ALLOW_DATA_ATTR !== !1, dr = f.ALLOW_UNKNOWN_PROTOCOLS || !1, hr = f.ALLOW_SELF_CLOSE_IN_ATTR !== !1, at = f.SAFE_FOR_TEMPLATES || !1, zt = f.SAFE_FOR_XML !== !1, vt = f.WHOLE_DOCUMENT || !1, At = f.RETURN_DOM || !1, Xt = f.RETURN_DOM_FRAGMENT || !1, en = f.RETURN_TRUSTED_TYPE || !1, Jt = f.FORCE_BODY || !1, U = f.SANITIZE_DOM !== !1, $ = f.SANITIZE_NAMED_PROPS || !1, Je = f.KEEP_CONTENT !== !1, ue = f.IN_PLACE || !1, we = pp(f.ALLOWED_URI_REGEXP) ? f.ALLOWED_URI_REGEXP : os, tn = typeof f.NAMESPACE == "string" ? f.NAMESPACE : st, oi = ve(f, "MATHML_TEXT_INTEGRATION_POINTS") && f.MATHML_TEXT_INTEGRATION_POINTS && typeof f.MATHML_TEXT_INTEGRATION_POINTS == "object" ? Ie(f.MATHML_TEXT_INTEGRATION_POINTS) : q({}, Po), ai = ve(f, "HTML_INTEGRATION_POINTS") && f.HTML_INTEGRATION_POINTS && typeof f.HTML_INTEGRATION_POINTS == "object" ? Ie(f.HTML_INTEGRATION_POINTS) : q({}, No);
|
|
7535
7535
|
const g = ve(f, "CUSTOM_ELEMENT_HANDLING") && f.CUSTOM_ELEMENT_HANDLING && typeof f.CUSTOM_ELEMENT_HANDLING == "object" ? Ie(f.CUSTOM_ELEMENT_HANDLING) : dn(null);
|
|
7536
|
-
if (
|
|
7536
|
+
if (G = dn(null), ve(g, "tagNameCheck") && Mo(g.tagNameCheck) && (G.tagNameCheck = g.tagNameCheck), ve(g, "attributeNameCheck") && Mo(g.attributeNameCheck) && (G.attributeNameCheck = g.attributeNameCheck), ve(g, "allowCustomizedBuiltInElements") && typeof g.allowCustomizedBuiltInElements == "boolean" && (G.allowCustomizedBuiltInElements = g.allowCustomizedBuiltInElements), je(G), at && (Zt = !1), Xt && (At = !0), Me && (K = q({}, ns), C = dn(null), Me.html === !0 && (q(K, ts), q(C, rs)), Me.svg === !0 && (q(K, _i), q(C, Ti), q(C, jr)), Me.svgFilters === !0 && (q(K, ji), q(C, Ti), q(C, jr)), Me.mathMl === !0 && (q(K, Si), q(C, is), q(C, jr))), Re.tagCheck = null, Re.attributeCheck = null, ve(f, "ADD_TAGS") && (typeof f.ADD_TAGS == "function" ? Re.tagCheck = f.ADD_TAGS : Mt(f.ADD_TAGS) && (K === T && (K = Ie(K)), q(K, f.ADD_TAGS, ce))), ve(f, "ADD_ATTR") && (typeof f.ADD_ATTR == "function" ? Re.attributeCheck = f.ADD_ATTR : Mt(f.ADD_ATTR) && (C === Ve && (C = Ie(C)), q(C, f.ADD_ATTR, ce))), ve(f, "ADD_URI_SAFE_ATTR") && Mt(f.ADD_URI_SAFE_ATTR) && q(ni, f.ADD_URI_SAFE_ATTR, ce), ve(f, "FORBID_CONTENTS") && Mt(f.FORBID_CONTENTS) && (He === An && (He = Ie(He)), q(He, f.FORBID_CONTENTS, ce)), ve(f, "ADD_FORBID_CONTENTS") && Mt(f.ADD_FORBID_CONTENTS) && (He === An && (He = Ie(He)), q(He, f.ADD_FORBID_CONTENTS, ce)), Je && (K["#text"] = !0), vt && q(K, ["html", "head", "body"]), K.table && (q(K, ["tbody"]), delete yt.tbody), f.TRUSTED_TYPES_POLICY) {
|
|
7537
7537
|
if (typeof f.TRUSTED_TYPES_POLICY.createHTML != "function")
|
|
7538
7538
|
throw Ft('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
|
|
7539
7539
|
if (typeof f.TRUSTED_TYPES_POLICY.createScriptURL != "function")
|
|
@@ -7740,7 +7740,7 @@ function Wl() {
|
|
|
7740
7740
|
const kc = function(f, g) {
|
|
7741
7741
|
return !!(zt && f.hasChildNodes() && !En(f.firstElementChild) && ke(as, f.textContent) && ke(as, f.innerHTML) || zt && f.namespaceURI === st && g === "style" && En(f.firstElementChild) || f.nodeType === ct.processingInstruction || zt && f.nodeType === ct.comment && ke(Tp, f.data));
|
|
7742
7742
|
}, _c = function(f, g) {
|
|
7743
|
-
if (!yt[g] && Fo(g) && (
|
|
7743
|
+
if (!yt[g] && Fo(g) && (G.tagNameCheck instanceof RegExp && ke(G.tagNameCheck, g) || G.tagNameCheck instanceof Function && G.tagNameCheck(g)))
|
|
7744
7744
|
return !1;
|
|
7745
7745
|
if (Je && !He[g]) {
|
|
7746
7746
|
const _ = v(f), A = b(f);
|
|
@@ -7794,9 +7794,9 @@ function Wl() {
|
|
|
7794
7794
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
7795
7795
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7796
7796
|
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
7797
|
-
!(Fo(f) && (
|
|
7797
|
+
!(Fo(f) && (G.tagNameCheck instanceof RegExp && ke(G.tagNameCheck, f) || G.tagNameCheck instanceof Function && G.tagNameCheck(f)) && (G.attributeNameCheck instanceof RegExp && ke(G.attributeNameCheck, g) || G.attributeNameCheck instanceof Function && G.attributeNameCheck(g, f)) || // Alternative, second condition checks if it's an `is`-attribute, AND
|
|
7798
7798
|
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
7799
|
-
g === "is" &&
|
|
7799
|
+
g === "is" && G.allowCustomizedBuiltInElements && (G.tagNameCheck instanceof RegExp && ke(G.tagNameCheck, _) || G.tagNameCheck instanceof Function && G.tagNameCheck(_)))
|
|
7800
7800
|
) return !1;
|
|
7801
7801
|
}
|
|
7802
7802
|
}
|
|
@@ -7967,7 +7967,7 @@ function Wl() {
|
|
|
7967
7967
|
let j = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
7968
7968
|
si(j), Sn = !0, Tn = K, Cn = C;
|
|
7969
7969
|
}, e.clearConfig = function() {
|
|
7970
|
-
nn = null, Sn = !1, Tn = null, Cn = null, N =
|
|
7970
|
+
nn = null, Sn = !1, Tn = null, Cn = null, N = Q, L = "";
|
|
7971
7971
|
}, e.isValidAttribute = function(j, f, g) {
|
|
7972
7972
|
nn || si({});
|
|
7973
7973
|
const _ = ce(j), A = ce(f);
|
|
@@ -7989,27 +7989,52 @@ function Wl() {
|
|
|
7989
7989
|
}, e;
|
|
7990
7990
|
}
|
|
7991
7991
|
var Ip = Wl();
|
|
7992
|
-
|
|
7992
|
+
function Pp(t) {
|
|
7993
|
+
return t.trim().split(/\n\s*-{3,}\s*\n/).map((e) => {
|
|
7994
|
+
const [n = "", ...r] = e.trim().split(`
|
|
7995
|
+
`);
|
|
7996
|
+
return {
|
|
7997
|
+
title: n.replace(/^\*+|\*+$/g, "").trim(),
|
|
7998
|
+
body: r.join(`
|
|
7999
|
+
`).trim()
|
|
8000
|
+
};
|
|
8001
|
+
}).filter((e) => (e.title !== "" || e.body !== "") && !/^-{3,}$/.test(e.title));
|
|
8002
|
+
}
|
|
8003
|
+
function Np(t) {
|
|
8004
|
+
const e = Pp(t);
|
|
8005
|
+
return e.length === 0 ? "" : `<div class="jex-card-grid">${e.map((r) => {
|
|
8006
|
+
const i = r.title ? `<div class="jex-card-title">${H.parseInline(r.title)}</div>` : "", o = r.body ? H.parse(r.body) : "";
|
|
8007
|
+
return `<div class="jex-card">${i}${o}</div>`;
|
|
8008
|
+
}).join("")}</div>`;
|
|
8009
|
+
}
|
|
8010
|
+
H.setOptions({
|
|
7993
8011
|
breaks: !0,
|
|
7994
8012
|
gfm: !0
|
|
7995
8013
|
});
|
|
8014
|
+
H.use({
|
|
8015
|
+
renderer: {
|
|
8016
|
+
code(t) {
|
|
8017
|
+
return t.lang === "cards" && t.raw.trimEnd().endsWith("```") ? Np(t.text) : !1;
|
|
8018
|
+
}
|
|
8019
|
+
}
|
|
8020
|
+
});
|
|
7996
8021
|
const Wn = typeof window < "u" ? Ip : null;
|
|
7997
8022
|
Wn && typeof Wn.addHook == "function" && Wn.addHook("afterSanitizeAttributes", (t) => {
|
|
7998
8023
|
t.tagName === "A" && t.hasAttribute("href") && (t.setAttribute("target", "_blank"), t.setAttribute("rel", "noopener noreferrer"));
|
|
7999
8024
|
});
|
|
8000
|
-
function
|
|
8025
|
+
function Mp(t) {
|
|
8001
8026
|
return t.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
8002
8027
|
}
|
|
8003
|
-
function
|
|
8028
|
+
function Op(t) {
|
|
8004
8029
|
if (!t)
|
|
8005
8030
|
return "";
|
|
8006
8031
|
if (!Wn)
|
|
8007
|
-
return
|
|
8008
|
-
const e =
|
|
8032
|
+
return Mp(t);
|
|
8033
|
+
const e = H.parse(t), n = typeof e == "string" ? e : "";
|
|
8009
8034
|
return Wn.sanitize(n);
|
|
8010
8035
|
}
|
|
8011
|
-
function
|
|
8012
|
-
const e = ge(() =>
|
|
8036
|
+
function Lp({ text: t }) {
|
|
8037
|
+
const e = ge(() => Op(t), [t]);
|
|
8013
8038
|
return /* @__PURE__ */ s("div", { class: "jex-md", dangerouslySetInnerHTML: { __html: e } });
|
|
8014
8039
|
}
|
|
8015
8040
|
function Ql({ onQuote: t }) {
|
|
@@ -8026,10 +8051,10 @@ function Ql({ onQuote: t }) {
|
|
|
8026
8051
|
}
|
|
8027
8052
|
);
|
|
8028
8053
|
}
|
|
8029
|
-
function
|
|
8054
|
+
function $p(t, e, n) {
|
|
8030
8055
|
return t.role === "user" ? n : t.authorName ?? e ?? "";
|
|
8031
8056
|
}
|
|
8032
|
-
function
|
|
8057
|
+
function Dp({ authorLabel: t, content: e, onClick: n }) {
|
|
8033
8058
|
return /* @__PURE__ */ s("button", { type: "button", class: "jex-quoted-chip", onClick: n, children: [
|
|
8034
8059
|
/* @__PURE__ */ s(xo, { size: 11 }),
|
|
8035
8060
|
/* @__PURE__ */ s("span", { class: "jex-quoted-chip-text", children: [
|
|
@@ -8043,9 +8068,9 @@ function Lp({ authorLabel: t, content: e, onClick: n }) {
|
|
|
8043
8068
|
}
|
|
8044
8069
|
function Gl({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: r }) {
|
|
8045
8070
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-quoted-list", children: t.map((i) => /* @__PURE__ */ s(
|
|
8046
|
-
|
|
8071
|
+
Dp,
|
|
8047
8072
|
{
|
|
8048
|
-
authorLabel:
|
|
8073
|
+
authorLabel: $p(i, e, n),
|
|
8049
8074
|
content: i.content,
|
|
8050
8075
|
onClick: r ? (o) => {
|
|
8051
8076
|
r(i.id, o);
|
|
@@ -8054,7 +8079,7 @@ function Gl({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: r }) {
|
|
|
8054
8079
|
i.id
|
|
8055
8080
|
)) });
|
|
8056
8081
|
}
|
|
8057
|
-
function
|
|
8082
|
+
function qp(t) {
|
|
8058
8083
|
const e = t.trim().split(/\s+/).filter(Boolean);
|
|
8059
8084
|
return e.length === 0 ? "?" : e.map((n) => n[0]).join("").slice(0, 2).toUpperCase();
|
|
8060
8085
|
}
|
|
@@ -8065,7 +8090,7 @@ function ln({ text: t, streaming: e, error: n, authorId: r, authorName: i, autho
|
|
|
8065
8090
|
].filter(Boolean).join(" ");
|
|
8066
8091
|
return /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: [
|
|
8067
8092
|
/* @__PURE__ */ s("div", { class: "jex-message-head", children: [
|
|
8068
|
-
/* @__PURE__ */ s("div", { class: `jex-avatar ${p ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: p && o && !x ? /* @__PURE__ */ s("img", { src: o, alt: i ?? "", class: "jex-avatar-img", onError: b }) : p ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children:
|
|
8093
|
+
/* @__PURE__ */ s("div", { class: `jex-avatar ${p ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: p && o && !x ? /* @__PURE__ */ s("img", { src: o, alt: i ?? "", class: "jex-avatar-img", onError: b }) : p ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children: qp(i ?? "") }) : a && !x ? /* @__PURE__ */ s("img", { src: a, alt: "", class: "jex-avatar-img", onError: b }) : /* @__PURE__ */ s(Xr, { size: 14 }) }),
|
|
8069
8094
|
v && /* @__PURE__ */ s("span", { class: "jex-message-author", children: v })
|
|
8070
8095
|
] }),
|
|
8071
8096
|
/* @__PURE__ */ s("div", { class: w, id: u, children: [
|
|
@@ -8078,13 +8103,13 @@ function ln({ text: t, streaming: e, error: n, authorId: r, authorName: i, autho
|
|
|
8078
8103
|
onQuotedClick: m
|
|
8079
8104
|
}
|
|
8080
8105
|
),
|
|
8081
|
-
/* @__PURE__ */ s(
|
|
8106
|
+
/* @__PURE__ */ s(Lp, { text: t }),
|
|
8082
8107
|
e && /* @__PURE__ */ s("span", { class: "jex-streaming-cursor" }),
|
|
8083
8108
|
c && /* @__PURE__ */ s(Ql, { onQuote: c })
|
|
8084
8109
|
] })
|
|
8085
8110
|
] });
|
|
8086
8111
|
}
|
|
8087
|
-
function
|
|
8112
|
+
function zp({ questions: t, disabled: e, onPick: n }) {
|
|
8088
8113
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-starter-chips", children: t.map((r) => /* @__PURE__ */ s(
|
|
8089
8114
|
"button",
|
|
8090
8115
|
{
|
|
@@ -8099,7 +8124,7 @@ function Dp({ questions: t, disabled: e, onPick: n }) {
|
|
|
8099
8124
|
r
|
|
8100
8125
|
)) });
|
|
8101
8126
|
}
|
|
8102
|
-
function
|
|
8127
|
+
function Bp(t, e) {
|
|
8103
8128
|
const n = [
|
|
8104
8129
|
...new Set(
|
|
8105
8130
|
e.flatMap((c) => c.split(/\s+/)).filter((c) => c.length > 1)
|
|
@@ -8113,7 +8138,7 @@ function qp(t, e) {
|
|
|
8113
8138
|
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;
|
|
8114
8139
|
return a < t.length && o.push(t.slice(a)), o;
|
|
8115
8140
|
}
|
|
8116
|
-
function
|
|
8141
|
+
function Fp({ text: t, id: e, onQuote: n, botName: r, quoted: i, onQuotedClick: o, agentNames: a }) {
|
|
8117
8142
|
const l = I();
|
|
8118
8143
|
return /* @__PURE__ */ s("div", { class: "jex-message user", id: e, children: [
|
|
8119
8144
|
/* @__PURE__ */ s(
|
|
@@ -8125,7 +8150,7 @@ function zp({ text: t, id: e, onQuote: n, botName: r, quoted: i, onQuotedClick:
|
|
|
8125
8150
|
onQuotedClick: o
|
|
8126
8151
|
}
|
|
8127
8152
|
),
|
|
8128
|
-
|
|
8153
|
+
Bp(t, a ?? []),
|
|
8129
8154
|
n && /* @__PURE__ */ s(Ql, { onQuote: n })
|
|
8130
8155
|
] });
|
|
8131
8156
|
}
|
|
@@ -8140,7 +8165,7 @@ function Yl() {
|
|
|
8140
8165
|
});
|
|
8141
8166
|
};
|
|
8142
8167
|
}
|
|
8143
|
-
function
|
|
8168
|
+
function Up({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
8144
8169
|
const i = I();
|
|
8145
8170
|
return t.formData ? /* @__PURE__ */ s("div", { class: "jex-inline-form-submitted", children: [
|
|
8146
8171
|
/* @__PURE__ */ s("span", { class: "jex-inline-form-check", children: "β" }),
|
|
@@ -8153,7 +8178,7 @@ function Bp({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
|
8153
8178
|
] })
|
|
8154
8179
|
] })
|
|
8155
8180
|
] }) : /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: /* @__PURE__ */ s(
|
|
8156
|
-
|
|
8181
|
+
Vp,
|
|
8157
8182
|
{
|
|
8158
8183
|
messageId: t._id,
|
|
8159
8184
|
sessionId: e,
|
|
@@ -8162,7 +8187,7 @@ function Bp({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
|
8162
8187
|
}
|
|
8163
8188
|
) });
|
|
8164
8189
|
}
|
|
8165
|
-
function
|
|
8190
|
+
function Vp({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
8166
8191
|
const i = I(), [o, a] = z(""), [l, c] = z(""), [u, h] = z(!1), m = lr.value, d = /^https?:\/\//i.test(m) ? m : sr, p = Kl(), x = Yl();
|
|
8167
8192
|
async function k(b) {
|
|
8168
8193
|
if (b.preventDefault(), !u) {
|
|
@@ -8235,29 +8260,29 @@ function Fp({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
|
|
|
8235
8260
|
] })
|
|
8236
8261
|
] });
|
|
8237
8262
|
}
|
|
8238
|
-
function
|
|
8263
|
+
function Hp() {
|
|
8239
8264
|
return Gt(Ae.functions.magicline.public.submitForm);
|
|
8240
8265
|
}
|
|
8241
|
-
function
|
|
8266
|
+
function Wp() {
|
|
8242
8267
|
return or(Ae.functions.magicline.actions.getTrialConfig);
|
|
8243
8268
|
}
|
|
8244
|
-
function
|
|
8269
|
+
function Qp() {
|
|
8245
8270
|
return or(Ae.functions.magicline.actions.listTrialSlots);
|
|
8246
8271
|
}
|
|
8247
|
-
function
|
|
8272
|
+
function Gp() {
|
|
8248
8273
|
return or(Ae.functions.magicline.actions.getRateBundles);
|
|
8249
8274
|
}
|
|
8250
8275
|
function Zl() {
|
|
8251
8276
|
return or(Ae.functions.magicline.actions.getContractPreview);
|
|
8252
8277
|
}
|
|
8253
|
-
function
|
|
8278
|
+
function Kp() {
|
|
8254
8279
|
return or(Ae.functions.magicline.actions.submitContractCreation);
|
|
8255
8280
|
}
|
|
8256
|
-
const Co = { en: ho, de: xl },
|
|
8281
|
+
const Co = { en: ho, de: xl }, Yp = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
8257
8282
|
function Jl(t) {
|
|
8258
|
-
return
|
|
8283
|
+
return Yp.test(t.trim());
|
|
8259
8284
|
}
|
|
8260
|
-
function
|
|
8285
|
+
function Zp(t, e = /* @__PURE__ */ new Date()) {
|
|
8261
8286
|
const n = t.trim();
|
|
8262
8287
|
if (n === "")
|
|
8263
8288
|
return null;
|
|
@@ -8279,7 +8304,7 @@ function ec() {
|
|
|
8279
8304
|
const t = lr.value;
|
|
8280
8305
|
return /^https?:\/\//i.test(t) ? t : sr;
|
|
8281
8306
|
}
|
|
8282
|
-
const
|
|
8307
|
+
const Jp = {
|
|
8283
8308
|
DE: 22,
|
|
8284
8309
|
AT: 20,
|
|
8285
8310
|
CH: 21,
|
|
@@ -8295,16 +8320,16 @@ const Yp = {
|
|
|
8295
8320
|
DK: 18,
|
|
8296
8321
|
FI: 18,
|
|
8297
8322
|
PT: 25
|
|
8298
|
-
},
|
|
8323
|
+
}, Xp = 15, em = 34;
|
|
8299
8324
|
function tc(t) {
|
|
8300
8325
|
return t.replace(/\s+/g, "").toUpperCase();
|
|
8301
8326
|
}
|
|
8302
|
-
function
|
|
8303
|
-
const e = tc(t), n = e.slice(0, 2), r =
|
|
8327
|
+
function tm(t) {
|
|
8328
|
+
const e = tc(t), n = e.slice(0, 2), r = Jp[n];
|
|
8304
8329
|
if (r !== void 0) {
|
|
8305
8330
|
if (e.length !== r)
|
|
8306
8331
|
return !1;
|
|
8307
|
-
} else if (e.length <
|
|
8332
|
+
} else if (e.length < Xp || e.length > em)
|
|
8308
8333
|
return !1;
|
|
8309
8334
|
const i = e.slice(4) + e.slice(0, 4);
|
|
8310
8335
|
let o = "";
|
|
@@ -8324,7 +8349,7 @@ function Xp(t) {
|
|
|
8324
8349
|
}
|
|
8325
8350
|
return a === 1;
|
|
8326
8351
|
}
|
|
8327
|
-
function
|
|
8352
|
+
function nm(t) {
|
|
8328
8353
|
const e = tc(t);
|
|
8329
8354
|
if (e.length <= 8)
|
|
8330
8355
|
return e;
|
|
@@ -8354,7 +8379,7 @@ function Gr(t, e, n) {
|
|
|
8354
8379
|
const [a, l] = o[n];
|
|
8355
8380
|
return `${t} ${r ? l : a}`;
|
|
8356
8381
|
}
|
|
8357
|
-
function
|
|
8382
|
+
function rm(t, e) {
|
|
8358
8383
|
const n = t.trim();
|
|
8359
8384
|
if (n === "")
|
|
8360
8385
|
return "β";
|
|
@@ -8378,7 +8403,7 @@ function Ao(t, e, n) {
|
|
|
8378
8403
|
}[i];
|
|
8379
8404
|
return a === void 0 ? `${t} ${e.toLowerCase()}` : a.replace("{n}", String(t));
|
|
8380
8405
|
}
|
|
8381
|
-
function
|
|
8406
|
+
function im(t, e, n, r, i) {
|
|
8382
8407
|
const o = Co[i], a = nt(t, e, i);
|
|
8383
8408
|
switch (n) {
|
|
8384
8409
|
case "TERM_BASED":
|
|
@@ -8395,19 +8420,19 @@ function nm(t, e, n, r, i) {
|
|
|
8395
8420
|
return a;
|
|
8396
8421
|
}
|
|
8397
8422
|
}
|
|
8398
|
-
function
|
|
8423
|
+
function om(t, e, n, r) {
|
|
8399
8424
|
return e === "PERCENTAGE" ? `-${t}%` : `-${nt(t, n, r)}`;
|
|
8400
8425
|
}
|
|
8401
|
-
const
|
|
8426
|
+
const am = {
|
|
8402
8427
|
startpaket: "magiclineFeeStarterPackage",
|
|
8403
8428
|
"starter package": "magiclineFeeStarterPackage",
|
|
8404
8429
|
trainerpauschale: "magiclineFeeTrainerFee"
|
|
8405
8430
|
};
|
|
8406
8431
|
function nc(t, e) {
|
|
8407
|
-
const n = t.trim().toLowerCase(), r =
|
|
8432
|
+
const n = t.trim().toLowerCase(), r = am[n];
|
|
8408
8433
|
return r !== void 0 ? e[r] : t;
|
|
8409
8434
|
}
|
|
8410
|
-
function
|
|
8435
|
+
function sm(t, e, n) {
|
|
8411
8436
|
const r = Co[n];
|
|
8412
8437
|
if (t === "NONE")
|
|
8413
8438
|
return r.magiclineRenewalNone;
|
|
@@ -8417,7 +8442,7 @@ function om(t, e, n) {
|
|
|
8417
8442
|
}
|
|
8418
8443
|
return "";
|
|
8419
8444
|
}
|
|
8420
|
-
const rc = ["MALE", "FEMALE", "UNISEX"],
|
|
8445
|
+
const rc = ["MALE", "FEMALE", "UNISEX"], lm = [
|
|
8421
8446
|
{ code: "DE", label: "Germany / Deutschland" },
|
|
8422
8447
|
{ code: "AT", label: "Austria / Γsterreich" },
|
|
8423
8448
|
{ code: "CH", label: "Switzerland / Schweiz" },
|
|
@@ -8434,11 +8459,11 @@ const rc = ["MALE", "FEMALE", "UNISEX"], am = [
|
|
|
8434
8459
|
{ code: "GB", label: "United Kingdom" },
|
|
8435
8460
|
{ code: "US", label: "United States" }
|
|
8436
8461
|
];
|
|
8437
|
-
function
|
|
8462
|
+
function cm(t, e) {
|
|
8438
8463
|
const n = [];
|
|
8439
8464
|
return e && n.push("trainer"), n.push("slot"), n.push("personal"), (t.address.visible || t.zip.visible) && n.push("address"), n.push("confirm"), n;
|
|
8440
8465
|
}
|
|
8441
|
-
const
|
|
8466
|
+
const um = {
|
|
8442
8467
|
firstName: "",
|
|
8443
8468
|
lastName: "",
|
|
8444
8469
|
email: "",
|
|
@@ -8455,7 +8480,7 @@ const lm = {
|
|
|
8455
8480
|
consent: !1,
|
|
8456
8481
|
trainerRequired: !0
|
|
8457
8482
|
};
|
|
8458
|
-
function
|
|
8483
|
+
function dm(t, e) {
|
|
8459
8484
|
switch (e.type) {
|
|
8460
8485
|
case "set":
|
|
8461
8486
|
return { ...t, [e.key]: e.value };
|
|
@@ -8467,11 +8492,11 @@ function cm(t, e) {
|
|
|
8467
8492
|
return t;
|
|
8468
8493
|
}
|
|
8469
8494
|
}
|
|
8470
|
-
function
|
|
8495
|
+
function hm({
|
|
8471
8496
|
sessionId: t,
|
|
8472
8497
|
visitorId: e
|
|
8473
8498
|
}) {
|
|
8474
|
-
const n =
|
|
8499
|
+
const n = Wp(), r = Qp(), [i, o] = qe(dm, um), [a, l] = qe(
|
|
8475
8500
|
(v, w) => w,
|
|
8476
8501
|
{ phase: "loading" }
|
|
8477
8502
|
), [c, u] = qe(
|
|
@@ -8540,22 +8565,22 @@ function um({
|
|
|
8540
8565
|
refetchSlots: x
|
|
8541
8566
|
};
|
|
8542
8567
|
}
|
|
8543
|
-
function
|
|
8568
|
+
function fm({
|
|
8544
8569
|
formMessageId: t,
|
|
8545
8570
|
sessionId: e,
|
|
8546
8571
|
visitorId: n,
|
|
8547
8572
|
slotUnavailable: r = !1,
|
|
8548
8573
|
retryPending: i = !1
|
|
8549
8574
|
}) {
|
|
8550
|
-
const o = I(), a =
|
|
8575
|
+
const o = I(), a = Hp(), { fields: l, setField: c, setTrainerRequired: u, configState: h, slotsState: m, refetchSlots: d } = hm({ sessionId: e, visitorId: n });
|
|
8551
8576
|
return h.phase === "loading" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8552
8577
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
|
|
8553
8578
|
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: o.magiclineConfigLoading })
|
|
8554
8579
|
] }) : h.phase === "error" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8555
8580
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
|
|
8556
|
-
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children:
|
|
8581
|
+
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children: wm(h.code, h.backendMessage, o) })
|
|
8557
8582
|
] }) : /* @__PURE__ */ s(
|
|
8558
|
-
|
|
8583
|
+
pm,
|
|
8559
8584
|
{
|
|
8560
8585
|
formMessageId: t,
|
|
8561
8586
|
sessionId: e,
|
|
@@ -8572,7 +8597,7 @@ function dm({
|
|
|
8572
8597
|
}
|
|
8573
8598
|
);
|
|
8574
8599
|
}
|
|
8575
|
-
function
|
|
8600
|
+
function pm({
|
|
8576
8601
|
formMessageId: t,
|
|
8577
8602
|
sessionId: e,
|
|
8578
8603
|
visitorId: n,
|
|
@@ -8587,16 +8612,16 @@ function hm({
|
|
|
8587
8612
|
submitForm: m
|
|
8588
8613
|
}) {
|
|
8589
8614
|
const d = I(), { plan: p, minimumAge: x, bookingWithoutTrainerAllowed: k, studioZoneId: b } = o, v = ge(
|
|
8590
|
-
() =>
|
|
8615
|
+
() => cm(p, k),
|
|
8591
8616
|
[p, k]
|
|
8592
|
-
), w = r ? Math.max(v.indexOf("slot"), 0) : 0, [R, y] = z(w), [E, N] = z({}), [L,
|
|
8617
|
+
), w = r ? Math.max(v.indexOf("slot"), 0) : 0, [R, y] = z(w), [E, N] = z({}), [L, Q] = z(!1), [de, F] = z(null), J = ge(() => ec(), []), re = Math.min(R, v.length - 1), S = v[re], se = re === v.length - 1, it = re === 0;
|
|
8593
8618
|
function Ye(ie) {
|
|
8594
8619
|
const D = {};
|
|
8595
8620
|
if (ie === "slot")
|
|
8596
8621
|
return a.slotId === "" && (D.slotId = d.magiclineSlotRequiredError), D;
|
|
8597
8622
|
if (ie === "personal") {
|
|
8598
8623
|
if (a.firstName.trim() === "" && (D.firstName = d.magiclineRequiredError), a.lastName.trim() === "" && (D.lastName = d.magiclineRequiredError), p.email.visible && p.email.required && a.email.trim() === "" && (D.email = d.magiclineRequiredError), a.email.trim() !== "" && !Jl(a.email) && (D.email = d.magiclineEmailError), p.phone.visible && p.phone.required && a.phone.trim() === "" && (D.phone = d.magiclineRequiredError), p.gender.visible && p.gender.required && a.gender === "" && (D.gender = d.magiclineRequiredError), p.dateOfBirth.visible && (p.dateOfBirth.required && a.birthDate.trim() === "" && (D.birthDate = d.magiclineRequiredError), a.birthDate.trim() !== "")) {
|
|
8599
|
-
const Ne =
|
|
8624
|
+
const Ne = Zp(a.birthDate);
|
|
8600
8625
|
Ne !== null && Ne < 0 ? D.birthDate = d.magiclineRequiredError : x > 0 && Ne !== null && Ne < x && (D.birthDate = d.magiclineMinAgeError.replace("{age}", String(x)));
|
|
8601
8626
|
}
|
|
8602
8627
|
return D;
|
|
@@ -8622,9 +8647,9 @@ function hm({
|
|
|
8622
8647
|
N(ie);
|
|
8623
8648
|
return;
|
|
8624
8649
|
}
|
|
8625
|
-
N({}), F(null),
|
|
8650
|
+
N({}), F(null), Q(!0);
|
|
8626
8651
|
try {
|
|
8627
|
-
const D =
|
|
8652
|
+
const D = km(p, a);
|
|
8628
8653
|
await m({
|
|
8629
8654
|
sessionId: e,
|
|
8630
8655
|
visitorId: n,
|
|
@@ -8633,13 +8658,13 @@ function hm({
|
|
|
8633
8658
|
fields: D
|
|
8634
8659
|
});
|
|
8635
8660
|
} catch (D) {
|
|
8636
|
-
me.error("[TrialSessionBookingForm] Submit failed:", D), F(d.magiclineFailedDetail),
|
|
8661
|
+
me.error("[TrialSessionBookingForm] Submit failed:", D), F(d.magiclineFailedDetail), Q(!1);
|
|
8637
8662
|
}
|
|
8638
8663
|
}
|
|
8639
8664
|
function Dt() {
|
|
8640
8665
|
se ? bt() : ot();
|
|
8641
8666
|
}
|
|
8642
|
-
const Z =
|
|
8667
|
+
const Z = vm(S, d), Fe = `jex-ml-consent-${t}`;
|
|
8643
8668
|
return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
8644
8669
|
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
|
|
8645
8670
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: d.magiclineTrialTitle }),
|
|
@@ -8657,7 +8682,7 @@ function hm({
|
|
|
8657
8682
|
] }),
|
|
8658
8683
|
/* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": Z, children: [
|
|
8659
8684
|
S === "trainer" ? /* @__PURE__ */ s(
|
|
8660
|
-
|
|
8685
|
+
mm,
|
|
8661
8686
|
{
|
|
8662
8687
|
formMessageId: t,
|
|
8663
8688
|
trainerRequired: a.trainerRequired,
|
|
@@ -8666,7 +8691,7 @@ function hm({
|
|
|
8666
8691
|
}
|
|
8667
8692
|
) : null,
|
|
8668
8693
|
S === "slot" ? /* @__PURE__ */ s(
|
|
8669
|
-
|
|
8694
|
+
gm,
|
|
8670
8695
|
{
|
|
8671
8696
|
slotsState: u,
|
|
8672
8697
|
slotId: a.slotId,
|
|
@@ -8682,7 +8707,7 @@ function hm({
|
|
|
8682
8707
|
}
|
|
8683
8708
|
) : null,
|
|
8684
8709
|
S === "personal" ? /* @__PURE__ */ s(
|
|
8685
|
-
|
|
8710
|
+
xm,
|
|
8686
8711
|
{
|
|
8687
8712
|
plan: p,
|
|
8688
8713
|
fields: a,
|
|
@@ -8692,7 +8717,7 @@ function hm({
|
|
|
8692
8717
|
}
|
|
8693
8718
|
) : null,
|
|
8694
8719
|
S === "address" ? /* @__PURE__ */ s(
|
|
8695
|
-
|
|
8720
|
+
bm,
|
|
8696
8721
|
{
|
|
8697
8722
|
plan: p,
|
|
8698
8723
|
fields: a,
|
|
@@ -8702,7 +8727,7 @@ function hm({
|
|
|
8702
8727
|
}
|
|
8703
8728
|
) : null,
|
|
8704
8729
|
S === "confirm" ? /* @__PURE__ */ s(
|
|
8705
|
-
|
|
8730
|
+
ym,
|
|
8706
8731
|
{
|
|
8707
8732
|
consentId: Fe,
|
|
8708
8733
|
privacyUrl: J,
|
|
@@ -8739,7 +8764,7 @@ function hm({
|
|
|
8739
8764
|
] })
|
|
8740
8765
|
] });
|
|
8741
8766
|
}
|
|
8742
|
-
function
|
|
8767
|
+
function mm({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r }) {
|
|
8743
8768
|
const i = I(), o = `jex-ml-trainer-${t}`;
|
|
8744
8769
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-radio-group", role: "radiogroup", "aria-label": i.magiclineStepTrainer, children: [
|
|
8745
8770
|
/* @__PURE__ */ s(
|
|
@@ -8786,7 +8811,7 @@ function fm({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r })
|
|
|
8786
8811
|
)
|
|
8787
8812
|
] });
|
|
8788
8813
|
}
|
|
8789
|
-
function
|
|
8814
|
+
function gm({
|
|
8790
8815
|
slotsState: t,
|
|
8791
8816
|
slotId: e,
|
|
8792
8817
|
studioZoneId: n,
|
|
@@ -8839,7 +8864,7 @@ function pm({
|
|
|
8839
8864
|
a !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: a }) : null
|
|
8840
8865
|
] });
|
|
8841
8866
|
}
|
|
8842
|
-
function
|
|
8867
|
+
function xm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
8843
8868
|
const o = I(), a = ge(() => Xl(), []);
|
|
8844
8869
|
return /* @__PURE__ */ s(ee, { children: [
|
|
8845
8870
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -8934,12 +8959,12 @@ function mm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
8934
8959
|
onChange: (l) => {
|
|
8935
8960
|
i("gender", l);
|
|
8936
8961
|
},
|
|
8937
|
-
options: rc.map((l) => ({ value: l, label:
|
|
8962
|
+
options: rc.map((l) => ({ value: l, label: _m(l, o) }))
|
|
8938
8963
|
}
|
|
8939
8964
|
) : null
|
|
8940
8965
|
] });
|
|
8941
8966
|
}
|
|
8942
|
-
function
|
|
8967
|
+
function bm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
8943
8968
|
const o = I();
|
|
8944
8969
|
return /* @__PURE__ */ s(ee, { children: [
|
|
8945
8970
|
t.address.visible ? /* @__PURE__ */ s(ee, { children: [
|
|
@@ -8999,7 +9024,7 @@ function gm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
8999
9024
|
onChange: (a) => {
|
|
9000
9025
|
i("country", a);
|
|
9001
9026
|
},
|
|
9002
|
-
options:
|
|
9027
|
+
options: lm.map((a) => ({ value: a.code, label: a.label }))
|
|
9003
9028
|
}
|
|
9004
9029
|
)
|
|
9005
9030
|
] }) : null,
|
|
@@ -9019,7 +9044,7 @@ function gm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
|
|
|
9019
9044
|
) : null
|
|
9020
9045
|
] });
|
|
9021
9046
|
}
|
|
9022
|
-
function
|
|
9047
|
+
function ym({
|
|
9023
9048
|
consentId: t,
|
|
9024
9049
|
privacyUrl: e,
|
|
9025
9050
|
studioZoneId: n,
|
|
@@ -9148,7 +9173,7 @@ function ic({
|
|
|
9148
9173
|
function Ge(t, e, n) {
|
|
9149
9174
|
return e ? t : t + n.magiclineOptionalSuffix;
|
|
9150
9175
|
}
|
|
9151
|
-
function
|
|
9176
|
+
function vm(t, e) {
|
|
9152
9177
|
switch (t) {
|
|
9153
9178
|
case "trainer":
|
|
9154
9179
|
return e.magiclineStepTrainer;
|
|
@@ -9164,10 +9189,10 @@ function bm(t, e) {
|
|
|
9164
9189
|
return "";
|
|
9165
9190
|
}
|
|
9166
9191
|
}
|
|
9167
|
-
function
|
|
9192
|
+
function wm(t, e, n) {
|
|
9168
9193
|
return e.trim() !== "" ? e : t === "unsupported" ? n.magiclineConfigUnsupported : t === "inconsistent" ? n.magiclineConfigInconsistent : n.magiclineConfigUnavailable;
|
|
9169
9194
|
}
|
|
9170
|
-
function
|
|
9195
|
+
function km(t, e) {
|
|
9171
9196
|
const n = {
|
|
9172
9197
|
firstname: e.firstName.trim(),
|
|
9173
9198
|
lastname: e.lastName.trim(),
|
|
@@ -9177,7 +9202,7 @@ function vm(t, e) {
|
|
|
9177
9202
|
};
|
|
9178
9203
|
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;
|
|
9179
9204
|
}
|
|
9180
|
-
function
|
|
9205
|
+
function _m(t, e) {
|
|
9181
9206
|
return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
|
|
9182
9207
|
}
|
|
9183
9208
|
function oc(t, e, n) {
|
|
@@ -9206,7 +9231,7 @@ function oc(t, e, n) {
|
|
|
9206
9231
|
});
|
|
9207
9232
|
}
|
|
9208
9233
|
}
|
|
9209
|
-
const
|
|
9234
|
+
const jm = {
|
|
9210
9235
|
termId: null,
|
|
9211
9236
|
selectedModuleIds: [],
|
|
9212
9237
|
acknowledgedBlocks: {},
|
|
@@ -9234,7 +9259,7 @@ const km = {
|
|
|
9234
9259
|
sepa: !1
|
|
9235
9260
|
}
|
|
9236
9261
|
};
|
|
9237
|
-
function
|
|
9262
|
+
function Sm(t, e) {
|
|
9238
9263
|
switch (e.type) {
|
|
9239
9264
|
case "setTermId":
|
|
9240
9265
|
return t.termId === e.termId ? t : {
|
|
@@ -9296,14 +9321,14 @@ const ls = {
|
|
|
9296
9321
|
voucherStatus: "idle",
|
|
9297
9322
|
voucherRequestId: 0,
|
|
9298
9323
|
voucherUnavailable: !1
|
|
9299
|
-
},
|
|
9300
|
-
function
|
|
9324
|
+
}, Tm = "voucher:";
|
|
9325
|
+
function Cm(t) {
|
|
9301
9326
|
const e = {};
|
|
9302
9327
|
for (const n of Object.keys(t))
|
|
9303
|
-
n.startsWith(
|
|
9328
|
+
n.startsWith(Tm) || (e[n] = t[n]);
|
|
9304
9329
|
return e;
|
|
9305
9330
|
}
|
|
9306
|
-
function
|
|
9331
|
+
function Am(t, e) {
|
|
9307
9332
|
switch (e.type) {
|
|
9308
9333
|
case "SET_VOUCHER_DRAFT": {
|
|
9309
9334
|
const n = t.appliedVoucher !== null || t.voucherStatus === "applied";
|
|
@@ -9356,10 +9381,10 @@ function Tm(t, e) {
|
|
|
9356
9381
|
return t;
|
|
9357
9382
|
}
|
|
9358
9383
|
}
|
|
9359
|
-
function
|
|
9384
|
+
function Rm(t, e) {
|
|
9360
9385
|
switch (e.type) {
|
|
9361
9386
|
case "dropVoucherAcks": {
|
|
9362
|
-
const n =
|
|
9387
|
+
const n = Cm(t.acknowledgedBlocks);
|
|
9363
9388
|
return Object.keys(n).length === Object.keys(t.acknowledgedBlocks).length ? t : { ...t, acknowledgedBlocks: n };
|
|
9364
9389
|
}
|
|
9365
9390
|
case "seedVoucherAcks": {
|
|
@@ -9371,14 +9396,14 @@ function Cm(t, e) {
|
|
|
9371
9396
|
return { ...t, acknowledgedBlocks: n };
|
|
9372
9397
|
}
|
|
9373
9398
|
default:
|
|
9374
|
-
return
|
|
9399
|
+
return Sm(t, e);
|
|
9375
9400
|
}
|
|
9376
9401
|
}
|
|
9377
|
-
function
|
|
9402
|
+
function Em({
|
|
9378
9403
|
sessionId: t,
|
|
9379
9404
|
visitorId: e
|
|
9380
9405
|
}) {
|
|
9381
|
-
const n =
|
|
9406
|
+
const n = Gp(), r = Zl(), [i, o] = qe(Rm, jm), [a, l] = qe(Am, ls), [c, u] = qe(
|
|
9382
9407
|
(T, C) => C,
|
|
9383
9408
|
{ phase: "loading" }
|
|
9384
9409
|
), h = ze(null), [m, d] = qe(
|
|
@@ -9398,7 +9423,7 @@ function Am({
|
|
|
9398
9423
|
o({ type: "setBlockAck", ackKey: T, value: C });
|
|
9399
9424
|
}, []), L = Y((T) => {
|
|
9400
9425
|
o({ type: "setAccountHolder", value: T });
|
|
9401
|
-
}, []),
|
|
9426
|
+
}, []), Q = Y((T) => {
|
|
9402
9427
|
o({ type: "setIban", value: T });
|
|
9403
9428
|
}, []), de = Y((T, C) => {
|
|
9404
9429
|
o({ type: "setConsent", key: T, value: C });
|
|
@@ -9441,7 +9466,7 @@ function Am({
|
|
|
9441
9466
|
for (const C of Fe.textBlocks)
|
|
9442
9467
|
C.isConfirmationRequired && T.add(C.ackKey);
|
|
9443
9468
|
for (const C of ie) {
|
|
9444
|
-
const Ve = Fe.optionalModules.find((
|
|
9469
|
+
const Ve = Fe.optionalModules.find((G) => G.id === C);
|
|
9445
9470
|
Ve?.consent && T.add(Ve.consent.ackKey);
|
|
9446
9471
|
}
|
|
9447
9472
|
if (Ne !== null)
|
|
@@ -9482,11 +9507,11 @@ function Am({
|
|
|
9482
9507
|
let C = !1;
|
|
9483
9508
|
const Ve = h.current;
|
|
9484
9509
|
p(Ve !== null ? { phase: "reloading", pricing: Ve } : { phase: "loading" });
|
|
9485
|
-
const
|
|
9510
|
+
const G = T.defaultContractStartDate ?? "", yt = {
|
|
9486
9511
|
sessionId: t,
|
|
9487
9512
|
visitorId: e,
|
|
9488
9513
|
termId: T.termId,
|
|
9489
|
-
startDate:
|
|
9514
|
+
startDate: G,
|
|
9490
9515
|
fields: {
|
|
9491
9516
|
firstname: i.personal.firstName.trim(),
|
|
9492
9517
|
lastname: i.personal.lastName.trim(),
|
|
@@ -9556,7 +9581,7 @@ function Am({
|
|
|
9556
9581
|
toggleModule: E,
|
|
9557
9582
|
setBlockAck: N,
|
|
9558
9583
|
setAccountHolder: L,
|
|
9559
|
-
setIban:
|
|
9584
|
+
setIban: Q,
|
|
9560
9585
|
setConsent: de,
|
|
9561
9586
|
clearIban: F,
|
|
9562
9587
|
clearTermId: J,
|
|
@@ -9572,17 +9597,17 @@ function Am({
|
|
|
9572
9597
|
clearVoucher: Ct
|
|
9573
9598
|
};
|
|
9574
9599
|
}
|
|
9575
|
-
function
|
|
9600
|
+
function Im(t) {
|
|
9576
9601
|
return t !== null && t.optionalModules.length > 0 ? ["offer", "upgrades", "personal", "address", "payment", "review"] : ["offer", "personal", "address", "payment", "review"];
|
|
9577
9602
|
}
|
|
9578
|
-
function
|
|
9603
|
+
function Pm({
|
|
9579
9604
|
formMessageId: t,
|
|
9580
9605
|
sessionId: e,
|
|
9581
9606
|
visitorId: n,
|
|
9582
9607
|
projectId: r,
|
|
9583
9608
|
formStatus: i
|
|
9584
9609
|
}) {
|
|
9585
|
-
const o = I(), a = xt.value, l =
|
|
9610
|
+
const o = I(), a = xt.value, l = Kp(), c = Zl(), u = Em({ sessionId: e, visitorId: n }), {
|
|
9586
9611
|
fields: h,
|
|
9587
9612
|
offersState: m,
|
|
9588
9613
|
previewState: d,
|
|
@@ -9597,7 +9622,7 @@ function Em({
|
|
|
9597
9622
|
voucherUnavailable: E,
|
|
9598
9623
|
setTermId: N,
|
|
9599
9624
|
setPersonal: L,
|
|
9600
|
-
setAddress:
|
|
9625
|
+
setAddress: Q,
|
|
9601
9626
|
toggleModule: de,
|
|
9602
9627
|
setBlockAck: F,
|
|
9603
9628
|
setAccountHolder: J,
|
|
@@ -9613,7 +9638,7 @@ function Em({
|
|
|
9613
9638
|
commitVoucherApplied: Z,
|
|
9614
9639
|
markVoucherInvalid: Fe,
|
|
9615
9640
|
markVoucherDisabled: ie
|
|
9616
|
-
} = u, [D, Ne] = z(0), [Ze, qt] = z({}), [be, Ue] = z(!1), [we, K] = z(null), [T, C] = z(null), [Ve,
|
|
9641
|
+
} = u, [D, Ne] = z(0), [Ze, qt] = z({}), [be, Ue] = z(!1), [we, K] = z(null), [T, C] = z(null), [Ve, G] = z(null), yt = ge(() => ec(), []);
|
|
9617
9642
|
if (we !== null && we.status === "succeeded")
|
|
9618
9643
|
return /* @__PURE__ */ s(cs, { customerNumber: we.customerNumber });
|
|
9619
9644
|
if (we !== null && we.status === "failed" && !we.retryable) {
|
|
@@ -9624,7 +9649,7 @@ function Em({
|
|
|
9624
9649
|
return /* @__PURE__ */ s(cs, { customerNumber: null });
|
|
9625
9650
|
if (we === null && !be && i === "failed")
|
|
9626
9651
|
return /* @__PURE__ */ s(us, { message: o.magiclineFailedDetail });
|
|
9627
|
-
const X = ge(() =>
|
|
9652
|
+
const X = ge(() => Im(p), [p]), Re = Math.min(D, X.length - 1), De = X[Re], Zt = Re === X.length - 1, dr = Re === 0;
|
|
9628
9653
|
function hr(U) {
|
|
9629
9654
|
const $ = {};
|
|
9630
9655
|
if (U === "offer")
|
|
@@ -9648,7 +9673,7 @@ function Em({
|
|
|
9648
9673
|
const le = h.address;
|
|
9649
9674
|
return le.street.trim() === "" && ($.street = o.magiclineRequiredError), le.houseNumber.trim() === "" && ($.houseNumber = o.magiclineRequiredError), le.zipCode.trim() === "" && ($.zipCode = o.magiclineRequiredError), le.city.trim() === "" && ($.city = o.magiclineRequiredError), $;
|
|
9650
9675
|
}
|
|
9651
|
-
return U === "payment" && (h.payment.accountHolder.trim() === "" && ($.accountHolder = o.magiclineRequiredError),
|
|
9676
|
+
return U === "payment" && (h.payment.accountHolder.trim() === "" && ($.accountHolder = o.magiclineRequiredError), tm(h.payment.iban) || ($.iban = o.magiclineIbanInvalidError), h.consents.privacy || ($.privacy = o.magiclineConsentError), h.consents.sepa || ($.sepa = o.magiclineConsentError)), $;
|
|
9652
9677
|
}
|
|
9653
9678
|
function at() {
|
|
9654
9679
|
const U = hr(De);
|
|
@@ -9740,9 +9765,9 @@ function Em({
|
|
|
9740
9765
|
if (d.phase !== "ready" || p === null || w.trim() === "")
|
|
9741
9766
|
return;
|
|
9742
9767
|
const U = w.trim(), $ = Dt();
|
|
9743
|
-
|
|
9768
|
+
G(null);
|
|
9744
9769
|
const le = (ue) => {
|
|
9745
|
-
Fe(), bt(""),
|
|
9770
|
+
Fe(), bt(""), G(ue);
|
|
9746
9771
|
}, Je = o.magiclineVoucherInvalid.replace("{code}", U);
|
|
9747
9772
|
try {
|
|
9748
9773
|
const ue = await c({
|
|
@@ -9794,7 +9819,7 @@ function Em({
|
|
|
9794
9819
|
});
|
|
9795
9820
|
} else
|
|
9796
9821
|
le(Je);
|
|
9797
|
-
} else ue.status === "voucher_invalid" ? le(Je) : ue.status === "voucher_disabled" ? (ie(), bt(""),
|
|
9822
|
+
} else ue.status === "voucher_invalid" ? le(Je) : ue.status === "voucher_disabled" ? (ie(), bt(""), G(o.magiclineVoucherDisabled)) : le(Je);
|
|
9798
9823
|
} catch {
|
|
9799
9824
|
le(Je);
|
|
9800
9825
|
}
|
|
@@ -9802,7 +9827,7 @@ function Em({
|
|
|
9802
9827
|
function Cn() {
|
|
9803
9828
|
Zt ? Sn() : at();
|
|
9804
9829
|
}
|
|
9805
|
-
const Jt =
|
|
9830
|
+
const Jt = Hm(De, o), At = v === "applying" || w.trim() !== "" && w.trim() !== (y ?? ""), Xt = De === "review" && (d.phase !== "ready" || !k || At), en = be || Xt;
|
|
9806
9831
|
return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
|
|
9807
9832
|
/* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
|
|
9808
9833
|
/* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineContractTitle }),
|
|
@@ -9820,7 +9845,7 @@ function Em({
|
|
|
9820
9845
|
] }),
|
|
9821
9846
|
/* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": Jt, children: [
|
|
9822
9847
|
De === "offer" ? /* @__PURE__ */ s(
|
|
9823
|
-
|
|
9848
|
+
Nm,
|
|
9824
9849
|
{
|
|
9825
9850
|
offersState: m,
|
|
9826
9851
|
selectedTermId: h.termId,
|
|
@@ -9832,7 +9857,7 @@ function Em({
|
|
|
9832
9857
|
}
|
|
9833
9858
|
) : null,
|
|
9834
9859
|
De === "upgrades" && p !== null ? /* @__PURE__ */ s(
|
|
9835
|
-
|
|
9860
|
+
Lm,
|
|
9836
9861
|
{
|
|
9837
9862
|
modules: p.optionalModules,
|
|
9838
9863
|
selectedModuleIds: h.selectedModuleIds,
|
|
@@ -9845,7 +9870,7 @@ function Em({
|
|
|
9845
9870
|
}
|
|
9846
9871
|
) : null,
|
|
9847
9872
|
De === "personal" ? /* @__PURE__ */ s(
|
|
9848
|
-
|
|
9873
|
+
Dm,
|
|
9849
9874
|
{
|
|
9850
9875
|
personal: h.personal,
|
|
9851
9876
|
errors: Ze,
|
|
@@ -9854,16 +9879,16 @@ function Em({
|
|
|
9854
9879
|
}
|
|
9855
9880
|
) : null,
|
|
9856
9881
|
De === "address" ? /* @__PURE__ */ s(
|
|
9857
|
-
|
|
9882
|
+
qm,
|
|
9858
9883
|
{
|
|
9859
9884
|
address: h.address,
|
|
9860
9885
|
errors: Ze,
|
|
9861
9886
|
disabled: be,
|
|
9862
|
-
setAddress:
|
|
9887
|
+
setAddress: Q
|
|
9863
9888
|
}
|
|
9864
9889
|
) : null,
|
|
9865
9890
|
De === "payment" ? /* @__PURE__ */ s(
|
|
9866
|
-
|
|
9891
|
+
zm,
|
|
9867
9892
|
{
|
|
9868
9893
|
formMessageId: t,
|
|
9869
9894
|
fields: h,
|
|
@@ -9876,7 +9901,7 @@ function Em({
|
|
|
9876
9901
|
}
|
|
9877
9902
|
) : null,
|
|
9878
9903
|
De === "review" ? /* @__PURE__ */ s(
|
|
9879
|
-
|
|
9904
|
+
Bm,
|
|
9880
9905
|
{
|
|
9881
9906
|
fields: h,
|
|
9882
9907
|
term: p,
|
|
@@ -9945,7 +9970,7 @@ function us({ message: t }) {
|
|
|
9945
9970
|
] })
|
|
9946
9971
|
] });
|
|
9947
9972
|
}
|
|
9948
|
-
function
|
|
9973
|
+
function Nm({
|
|
9949
9974
|
offersState: t,
|
|
9950
9975
|
selectedTermId: e,
|
|
9951
9976
|
widgetLocale: n,
|
|
@@ -9964,13 +9989,13 @@ function Im({
|
|
|
9964
9989
|
] });
|
|
9965
9990
|
if (t.phase === "empty")
|
|
9966
9991
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", "aria-live": "polite", children: l.magiclineNoOffers });
|
|
9967
|
-
const c =
|
|
9992
|
+
const c = Vm(t.terms);
|
|
9968
9993
|
return /* @__PURE__ */ s(ee, { children: [
|
|
9969
9994
|
/* @__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: [
|
|
9970
9995
|
/* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-name", children: u.bundleName }),
|
|
9971
9996
|
u.bundleDescription !== null ? /* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-desc", children: u.bundleDescription }) : null,
|
|
9972
9997
|
u.terms.map((h) => /* @__PURE__ */ s(
|
|
9973
|
-
|
|
9998
|
+
Mm,
|
|
9974
9999
|
{
|
|
9975
10000
|
term: h,
|
|
9976
10001
|
checked: e === h.termId,
|
|
@@ -9981,7 +10006,7 @@ function Im({
|
|
|
9981
10006
|
h.termId
|
|
9982
10007
|
)),
|
|
9983
10008
|
/* @__PURE__ */ s(
|
|
9984
|
-
|
|
10009
|
+
Om,
|
|
9985
10010
|
{
|
|
9986
10011
|
subDescription: u.bundleSubDescription,
|
|
9987
10012
|
footnote: u.footnote
|
|
@@ -9991,7 +10016,7 @@ function Im({
|
|
|
9991
10016
|
i !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: i }) : null
|
|
9992
10017
|
] });
|
|
9993
10018
|
}
|
|
9994
|
-
function
|
|
10019
|
+
function Mm({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i }) {
|
|
9995
10020
|
const o = I(), a = Gr(t.termValue, t.termUnit, n), l = nt(t.price, t.currencyCode, n), c = t.flatFees.find((h) => h.isStarterPackage), u = t.flatFees.filter((h) => !h.isStarterPackage);
|
|
9996
10021
|
return /* @__PURE__ */ s(
|
|
9997
10022
|
"label",
|
|
@@ -10054,8 +10079,8 @@ function Pm({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i })
|
|
|
10054
10079
|
}
|
|
10055
10080
|
);
|
|
10056
10081
|
}
|
|
10057
|
-
function
|
|
10058
|
-
const n = I(), r =
|
|
10082
|
+
function Om({ subDescription: t, footnote: e }) {
|
|
10083
|
+
const n = I(), r = Um(t), i = e !== null && e.trim() !== "";
|
|
10059
10084
|
return r.length === 0 && !i ? null : /* @__PURE__ */ s("details", { class: "jex-magicline-bundle-details", children: [
|
|
10060
10085
|
/* @__PURE__ */ s("summary", { class: "jex-magicline-bundle-details-summary", children: n.magiclineDetails }),
|
|
10061
10086
|
/* @__PURE__ */ s("div", { class: "jex-magicline-bundle-details-body", children: [
|
|
@@ -10064,7 +10089,7 @@ function Nm({ subDescription: t, footnote: e }) {
|
|
|
10064
10089
|
] })
|
|
10065
10090
|
] });
|
|
10066
10091
|
}
|
|
10067
|
-
function
|
|
10092
|
+
function Lm({
|
|
10068
10093
|
modules: t,
|
|
10069
10094
|
selectedModuleIds: e,
|
|
10070
10095
|
acknowledgedBlocks: n,
|
|
@@ -10078,7 +10103,7 @@ function Mm({
|
|
|
10078
10103
|
return t.length === 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesNone }) : /* @__PURE__ */ s(ee, { children: [
|
|
10079
10104
|
/* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesIntro }),
|
|
10080
10105
|
/* @__PURE__ */ s("div", { class: "jex-magicline-upgrade-group", children: t.map((u) => /* @__PURE__ */ s(
|
|
10081
|
-
|
|
10106
|
+
$m,
|
|
10082
10107
|
{
|
|
10083
10108
|
module: u,
|
|
10084
10109
|
selected: e.includes(u.id),
|
|
@@ -10093,7 +10118,7 @@ function Mm({
|
|
|
10093
10118
|
o !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: o }) : null
|
|
10094
10119
|
] });
|
|
10095
10120
|
}
|
|
10096
|
-
function
|
|
10121
|
+
function $m({
|
|
10097
10122
|
module: t,
|
|
10098
10123
|
selected: e,
|
|
10099
10124
|
consentChecked: n,
|
|
@@ -10102,13 +10127,13 @@ function Om({
|
|
|
10102
10127
|
onToggle: o,
|
|
10103
10128
|
onAck: a
|
|
10104
10129
|
}) {
|
|
10105
|
-
const l = I(), c =
|
|
10130
|
+
const l = I(), c = im(
|
|
10106
10131
|
t.price,
|
|
10107
10132
|
t.currencyCode,
|
|
10108
10133
|
t.paymentFrequencyType,
|
|
10109
10134
|
t.recurringUnit,
|
|
10110
10135
|
r
|
|
10111
|
-
), u =
|
|
10136
|
+
), u = sm(t.extensionType, t.termExtension, r), h = t.termLabel !== null && t.termLabel !== "" ? t.termLabel : l.magiclineUpgradeOneTime, m = t.consent;
|
|
10112
10137
|
return /* @__PURE__ */ s("div", { class: e ? "jex-magicline-upgrade-card jex-magicline-upgrade-card-active" : "jex-magicline-upgrade-card", children: [
|
|
10113
10138
|
/* @__PURE__ */ s("label", { class: "jex-magicline-upgrade-head", children: [
|
|
10114
10139
|
/* @__PURE__ */ s(
|
|
@@ -10147,7 +10172,7 @@ function Om({
|
|
|
10147
10172
|
) : null
|
|
10148
10173
|
] });
|
|
10149
10174
|
}
|
|
10150
|
-
function
|
|
10175
|
+
function Dm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
10151
10176
|
const i = I(), o = ge(() => Xl(), []);
|
|
10152
10177
|
return /* @__PURE__ */ s(ee, { children: [
|
|
10153
10178
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -10216,7 +10241,7 @@ function Lm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
|
10216
10241
|
e.dateOfBirth !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: e.dateOfBirth }) : null
|
|
10217
10242
|
] }),
|
|
10218
10243
|
/* @__PURE__ */ s(
|
|
10219
|
-
|
|
10244
|
+
Fm,
|
|
10220
10245
|
{
|
|
10221
10246
|
label: i.magiclineGender,
|
|
10222
10247
|
value: t.gender,
|
|
@@ -10227,7 +10252,7 @@ function Lm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
|
10227
10252
|
onChange: (a) => {
|
|
10228
10253
|
r("gender", a);
|
|
10229
10254
|
},
|
|
10230
|
-
options: rc.map((a) => ({ value: a, label:
|
|
10255
|
+
options: rc.map((a) => ({ value: a, label: Wm(a, i) }))
|
|
10231
10256
|
}
|
|
10232
10257
|
),
|
|
10233
10258
|
/* @__PURE__ */ s(
|
|
@@ -10247,7 +10272,7 @@ function Lm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
|
|
|
10247
10272
|
)
|
|
10248
10273
|
] });
|
|
10249
10274
|
}
|
|
10250
|
-
function
|
|
10275
|
+
function qm({ address: t, errors: e, disabled: n, setAddress: r }) {
|
|
10251
10276
|
const i = I();
|
|
10252
10277
|
return /* @__PURE__ */ s(ee, { children: [
|
|
10253
10278
|
/* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
|
|
@@ -10316,7 +10341,7 @@ function $m({ address: t, errors: e, disabled: n, setAddress: r }) {
|
|
|
10316
10341
|
] })
|
|
10317
10342
|
] });
|
|
10318
10343
|
}
|
|
10319
|
-
function
|
|
10344
|
+
function zm({
|
|
10320
10345
|
formMessageId: t,
|
|
10321
10346
|
fields: e,
|
|
10322
10347
|
errors: n,
|
|
@@ -10393,7 +10418,7 @@ function Dm({
|
|
|
10393
10418
|
n.sepa !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: n.sepa }) : null
|
|
10394
10419
|
] });
|
|
10395
10420
|
}
|
|
10396
|
-
function
|
|
10421
|
+
function Bm({
|
|
10397
10422
|
fields: t,
|
|
10398
10423
|
term: e,
|
|
10399
10424
|
previewState: n,
|
|
@@ -10423,7 +10448,7 @@ function qm({
|
|
|
10423
10448
|
`${E.street} ${E.houseNumber}`.trim(),
|
|
10424
10449
|
`${E.zipCode} ${E.city}`.trim(),
|
|
10425
10450
|
b.magiclineCountryStatic
|
|
10426
|
-
].filter((S) => S !== "").join(", "), L = e !== null ? `${e.bundleName} Β· ${Gr(e.termValue, e.termUnit, r)}` : "β",
|
|
10451
|
+
].filter((S) => S !== "").join(", "), L = e !== null ? `${e.bundleName} Β· ${Gr(e.termValue, e.termUnit, r)}` : "β", Q = e !== null ? e.textBlocks.filter((S) => S.isConfirmationRequired) : [], de = e !== null ? e.textBlocks.filter((S) => !S.isConfirmationRequired) : [], F = e !== null ? e.optionalModules.filter((S) => t.selectedModuleIds.includes(S.id) && S.consent !== null).map((S) => ({ module: S, consent: S.consent })) : [], J = d !== null ? d.textBlocks.filter((S) => S.ackKey.startsWith("voucher:")) : [], re = c && !u;
|
|
10427
10452
|
return /* @__PURE__ */ s("div", { class: "jex-magicline-review-wrap", children: [
|
|
10428
10453
|
/* @__PURE__ */ s(
|
|
10429
10454
|
"div",
|
|
@@ -10451,7 +10476,7 @@ function qm({
|
|
|
10451
10476
|
d !== null && d.voucherType === "DISCOUNT" ? /* @__PURE__ */ s("div", { class: "jex-magicline-summary-row jex-magicline-voucher-discount-row", children: [
|
|
10452
10477
|
/* @__PURE__ */ s("dt", { children: b.magiclineVoucherAppliedDiscount.replace(
|
|
10453
10478
|
"{discount}",
|
|
10454
|
-
|
|
10479
|
+
om(
|
|
10455
10480
|
d.discountValue,
|
|
10456
10481
|
d.discountType,
|
|
10457
10482
|
v.currencyCode,
|
|
@@ -10488,7 +10513,7 @@ function qm({
|
|
|
10488
10513
|
/* @__PURE__ */ s("dl", { class: "jex-magicline-summary jex-magicline-summary-section", children: [
|
|
10489
10514
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
10490
10515
|
/* @__PURE__ */ s("dt", { children: b.magiclineReviewStartsOn }),
|
|
10491
|
-
/* @__PURE__ */ s("dd", { children:
|
|
10516
|
+
/* @__PURE__ */ s("dd", { children: rm(v.startDate, r) })
|
|
10492
10517
|
] }),
|
|
10493
10518
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
10494
10519
|
/* @__PURE__ */ s("dt", { children: b.magiclineSummaryName }),
|
|
@@ -10500,7 +10525,7 @@ function qm({
|
|
|
10500
10525
|
] }),
|
|
10501
10526
|
/* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
|
|
10502
10527
|
/* @__PURE__ */ s("dt", { children: b.magiclineReviewPayment }),
|
|
10503
|
-
/* @__PURE__ */ s("dd", { children:
|
|
10528
|
+
/* @__PURE__ */ s("dd", { children: nm(t.payment.iban) })
|
|
10504
10529
|
] })
|
|
10505
10530
|
] }),
|
|
10506
10531
|
re ? /* @__PURE__ */ s("div", { class: "jex-magicline-voucher-section", children: [
|
|
@@ -10545,12 +10570,12 @@ function qm({
|
|
|
10545
10570
|
se.ackKey
|
|
10546
10571
|
))
|
|
10547
10572
|
] }) : null,
|
|
10548
|
-
|
|
10549
|
-
|
|
10573
|
+
Q.length > 0 || de.length > 0 || J.length > 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-terms", role: "group", "aria-label": b.magiclineReviewTerms, children: [
|
|
10574
|
+
Q.length > 0 || J.length > 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-terms-prompt", children: [
|
|
10550
10575
|
b.magiclineConfirmPrompt,
|
|
10551
10576
|
/* @__PURE__ */ s("span", { class: "jex-magicline-required-pill", children: b.magiclineRequired })
|
|
10552
10577
|
] }) : null,
|
|
10553
|
-
|
|
10578
|
+
Q.map((S) => /* @__PURE__ */ s(
|
|
10554
10579
|
Xi,
|
|
10555
10580
|
{
|
|
10556
10581
|
ackKey: S.ackKey,
|
|
@@ -10679,7 +10704,7 @@ function pt({
|
|
|
10679
10704
|
a !== void 0 ? /* @__PURE__ */ s("span", { id: c, class: "jex-magicline-error", role: "alert", children: a }) : null
|
|
10680
10705
|
] });
|
|
10681
10706
|
}
|
|
10682
|
-
function
|
|
10707
|
+
function Fm({
|
|
10683
10708
|
label: t,
|
|
10684
10709
|
value: e,
|
|
10685
10710
|
required: n,
|
|
@@ -10711,11 +10736,11 @@ function zm({
|
|
|
10711
10736
|
o !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: o }) : null
|
|
10712
10737
|
] });
|
|
10713
10738
|
}
|
|
10714
|
-
function
|
|
10739
|
+
function Um(t) {
|
|
10715
10740
|
return t === null ? [] : t.split(`
|
|
10716
10741
|
`).map((e) => e.replace(/^\s*[-β’]\s*/, "").trim()).filter((e) => e !== "");
|
|
10717
10742
|
}
|
|
10718
|
-
function
|
|
10743
|
+
function Vm(t) {
|
|
10719
10744
|
const e = [], n = /* @__PURE__ */ new Map();
|
|
10720
10745
|
for (const r of t) {
|
|
10721
10746
|
let i = n.get(r.bundleId);
|
|
@@ -10730,7 +10755,7 @@ function Fm(t) {
|
|
|
10730
10755
|
}
|
|
10731
10756
|
return e;
|
|
10732
10757
|
}
|
|
10733
|
-
function
|
|
10758
|
+
function Hm(t, e) {
|
|
10734
10759
|
switch (t) {
|
|
10735
10760
|
case "offer":
|
|
10736
10761
|
return e.magiclineStepOffer;
|
|
@@ -10748,10 +10773,10 @@ function Um(t, e) {
|
|
|
10748
10773
|
return "";
|
|
10749
10774
|
}
|
|
10750
10775
|
}
|
|
10751
|
-
function
|
|
10776
|
+
function Wm(t, e) {
|
|
10752
10777
|
return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
|
|
10753
10778
|
}
|
|
10754
|
-
function
|
|
10779
|
+
function Qm({ message: t, sessionId: e, visitorId: n }) {
|
|
10755
10780
|
const r = I(), i = t.magiclineForm, o = !!i && i.status === "open" && !!i.submissionId, a = Lr(
|
|
10756
10781
|
Ae.functions.magicline.public.getSubmissionStatus,
|
|
10757
10782
|
o && i?.submissionId ? { sessionId: e, visitorId: n, submissionId: i.submissionId } : "skip"
|
|
@@ -10760,7 +10785,7 @@ function Hm({ message: t, sessionId: e, visitorId: n }) {
|
|
|
10760
10785
|
return null;
|
|
10761
10786
|
if (i.action === "contractCreation")
|
|
10762
10787
|
return t.projectId ? /* @__PURE__ */ s(
|
|
10763
|
-
|
|
10788
|
+
Pm,
|
|
10764
10789
|
{
|
|
10765
10790
|
formMessageId: t._id,
|
|
10766
10791
|
sessionId: e,
|
|
@@ -10789,7 +10814,7 @@ function Hm({ message: t, sessionId: e, visitorId: n }) {
|
|
|
10789
10814
|
return null;
|
|
10790
10815
|
const l = a != null && a.errorCode === "slot_unavailable", c = o && a === void 0;
|
|
10791
10816
|
return /* @__PURE__ */ s(
|
|
10792
|
-
|
|
10817
|
+
fm,
|
|
10793
10818
|
{
|
|
10794
10819
|
formMessageId: t._id,
|
|
10795
10820
|
sessionId: e,
|
|
@@ -10799,13 +10824,13 @@ function Hm({ message: t, sessionId: e, visitorId: n }) {
|
|
|
10799
10824
|
}
|
|
10800
10825
|
);
|
|
10801
10826
|
}
|
|
10802
|
-
const
|
|
10827
|
+
const Gm = {
|
|
10803
10828
|
crawl: "π",
|
|
10804
10829
|
file: "π",
|
|
10805
10830
|
snippet: "π‘",
|
|
10806
10831
|
qa: "β"
|
|
10807
10832
|
};
|
|
10808
|
-
function
|
|
10833
|
+
function Km({ sources: t }) {
|
|
10809
10834
|
const e = I(), [n, r] = z(!1);
|
|
10810
10835
|
return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-sources-row", children: [
|
|
10811
10836
|
/* @__PURE__ */ s(
|
|
@@ -10828,10 +10853,10 @@ function Qm({ sources: t }) {
|
|
|
10828
10853
|
}
|
|
10829
10854
|
),
|
|
10830
10855
|
n ? /* @__PURE__ */ s("div", { class: "jex-sources-pills", children: t.map((i, o) => {
|
|
10831
|
-
const a = i.sourceType === "crawl", l =
|
|
10856
|
+
const a = i.sourceType === "crawl", l = Ym(i), c = a && i.url ? `${i.title}
|
|
10832
10857
|
${i.url}` : i.title, u = /* @__PURE__ */ s(ee, { children: [
|
|
10833
10858
|
typeof i.id == "number" ? /* @__PURE__ */ s("span", { class: "jex-source-id", children: i.id }) : null,
|
|
10834
|
-
/* @__PURE__ */ s("span", { class: "jex-source-type", children:
|
|
10859
|
+
/* @__PURE__ */ s("span", { class: "jex-source-type", children: Gm[i.sourceType] }),
|
|
10835
10860
|
/* @__PURE__ */ s("span", { class: "jex-source-label", children: l }),
|
|
10836
10861
|
/* @__PURE__ */ s("span", { class: "jex-source-score", children: [
|
|
10837
10862
|
"Β· ",
|
|
@@ -10853,7 +10878,7 @@ ${i.url}` : i.title, u = /* @__PURE__ */ s(ee, { children: [
|
|
|
10853
10878
|
}) }) : null
|
|
10854
10879
|
] });
|
|
10855
10880
|
}
|
|
10856
|
-
function
|
|
10881
|
+
function Ym(t) {
|
|
10857
10882
|
if (t.sourceType === "crawl" && t.url)
|
|
10858
10883
|
try {
|
|
10859
10884
|
const e = new URL(t.url);
|
|
@@ -10862,25 +10887,25 @@ function Gm(t) {
|
|
|
10862
10887
|
}
|
|
10863
10888
|
return t.title;
|
|
10864
10889
|
}
|
|
10865
|
-
function
|
|
10890
|
+
function Zm() {
|
|
10866
10891
|
return /* @__PURE__ */ s("div", { class: "jex-typing", children: [
|
|
10867
10892
|
/* @__PURE__ */ s("span", {}),
|
|
10868
10893
|
/* @__PURE__ */ s("span", {}),
|
|
10869
10894
|
/* @__PURE__ */ s("span", {})
|
|
10870
10895
|
] });
|
|
10871
10896
|
}
|
|
10872
|
-
const
|
|
10897
|
+
const Jm = /\s?\[\d+\]/g;
|
|
10873
10898
|
function Rr(t) {
|
|
10874
|
-
return t.replace(
|
|
10899
|
+
return t.replace(Jm, "");
|
|
10875
10900
|
}
|
|
10876
|
-
function
|
|
10901
|
+
function Xm(t) {
|
|
10877
10902
|
return t?.at(-1)?._creationTime ?? 0;
|
|
10878
10903
|
}
|
|
10879
|
-
function
|
|
10904
|
+
function eg(t) {
|
|
10880
10905
|
return { id: t._id, content: Rr(t.content), role: t.role, authorName: t.authorName };
|
|
10881
10906
|
}
|
|
10882
10907
|
function hs(t, e) {
|
|
10883
|
-
return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((r) => e?.find((i) => i._id === r)).filter((r) => r !== void 0).map(
|
|
10908
|
+
return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((r) => e?.find((i) => i._id === r)).filter((r) => r !== void 0).map(eg);
|
|
10884
10909
|
}
|
|
10885
10910
|
function fs(t, e) {
|
|
10886
10911
|
const r = e.getRootNode().getElementById(`jex-msg-${t}`);
|
|
@@ -10888,7 +10913,7 @@ function fs(t, e) {
|
|
|
10888
10913
|
r.classList.remove("jex-msg-highlight");
|
|
10889
10914
|
}, 1500));
|
|
10890
10915
|
}
|
|
10891
|
-
function
|
|
10916
|
+
function tg(t) {
|
|
10892
10917
|
if (!t)
|
|
10893
10918
|
return [];
|
|
10894
10919
|
const e = /* @__PURE__ */ new Set();
|
|
@@ -10896,8 +10921,8 @@ function Xm(t) {
|
|
|
10896
10921
|
n.authorId && n.authorName && e.add(n.authorName), n.noticeKind === "agent-joined" && n.noticeData?.agentName && e.add(n.noticeData.agentName);
|
|
10897
10922
|
return [...e];
|
|
10898
10923
|
}
|
|
10899
|
-
function
|
|
10900
|
-
const h = I(), m = ze(null), [d, p] = z(null), x =
|
|
10924
|
+
function ng({ conversations: t, greeting: e, botName: n, starterQuestions: r, onPickStarter: i, sessionNotFound: o, resumeFailed: a, onStartFresh: l, sessionId: c, visitorId: u }) {
|
|
10925
|
+
const h = I(), m = ze(null), [d, p] = z(null), x = Xm(t), k = tg(t), b = Yl(), v = ze(null);
|
|
10901
10926
|
O(() => {
|
|
10902
10927
|
if (!u || !t)
|
|
10903
10928
|
return;
|
|
@@ -10910,7 +10935,7 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10910
10935
|
return /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: [
|
|
10911
10936
|
/* @__PURE__ */ s(ln, { text: e, botName: n }),
|
|
10912
10937
|
R ? /* @__PURE__ */ s(
|
|
10913
|
-
|
|
10938
|
+
zp,
|
|
10914
10939
|
{
|
|
10915
10940
|
questions: r,
|
|
10916
10941
|
disabled: Ar.value,
|
|
@@ -10962,9 +10987,9 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10962
10987
|
children: h.escalationSkip
|
|
10963
10988
|
}
|
|
10964
10989
|
)
|
|
10965
|
-
] }, y._id) : /* @__PURE__ */ s(
|
|
10990
|
+
] }, y._id) : /* @__PURE__ */ s(Up, { message: y, sessionId: c, visitorId: u, waitingSetAt: x }, y._id);
|
|
10966
10991
|
if (y.contentType === "magicline-form" && c && u)
|
|
10967
|
-
return /* @__PURE__ */ s(
|
|
10992
|
+
return /* @__PURE__ */ s(Qm, { message: y, sessionId: c, visitorId: u }, y._id);
|
|
10968
10993
|
if (y.contentType === "escalation-confirm") {
|
|
10969
10994
|
const L = y.noticeKind === "escalation-confirmed" ? h.noticeEscalationConfirmed.replace("{name}", y.noticeData?.visitorName ?? "").replace("{email}", y.noticeData?.visitorEmail ?? "").replace("{ref}", y.noticeData?.visitorId ?? "") : y.content;
|
|
10970
10995
|
return /* @__PURE__ */ s(ln, { text: L, botName: n }, y._id);
|
|
@@ -10972,7 +10997,7 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10972
10997
|
if (y.role === "user") {
|
|
10973
10998
|
const L = hs(y, t);
|
|
10974
10999
|
return /* @__PURE__ */ s(
|
|
10975
|
-
|
|
11000
|
+
Fp,
|
|
10976
11001
|
{
|
|
10977
11002
|
id: `jex-msg-${y._id}`,
|
|
10978
11003
|
text: y.content,
|
|
@@ -10981,8 +11006,8 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10981
11006
|
Qi({ id: y._id, content: y.content, role: "user" });
|
|
10982
11007
|
},
|
|
10983
11008
|
quoted: L,
|
|
10984
|
-
onQuotedClick: (
|
|
10985
|
-
fs(
|
|
11009
|
+
onQuotedClick: (Q, de) => {
|
|
11010
|
+
fs(Q, de.currentTarget);
|
|
10986
11011
|
},
|
|
10987
11012
|
agentNames: k
|
|
10988
11013
|
},
|
|
@@ -10995,7 +11020,7 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
10995
11020
|
authorImage: y.authorImage
|
|
10996
11021
|
};
|
|
10997
11022
|
if (y.status === "streaming" && y.content === "")
|
|
10998
|
-
return /* @__PURE__ */ s(
|
|
11023
|
+
return /* @__PURE__ */ s(Zm, {}, y._id);
|
|
10999
11024
|
if (y.status === "streaming")
|
|
11000
11025
|
return /* @__PURE__ */ s(ln, { id: `jex-msg-${y._id}`, text: Rr(y.content), streaming: !0, botName: n, ...E }, y._id);
|
|
11001
11026
|
if (y.status === "error")
|
|
@@ -11022,19 +11047,19 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
|
|
|
11022
11047
|
Qi({ id: y._id, content: Rr(y.content), role: "assistant", authorName: y.authorName });
|
|
11023
11048
|
},
|
|
11024
11049
|
quoted: N,
|
|
11025
|
-
onQuotedClick: (L,
|
|
11026
|
-
fs(L,
|
|
11050
|
+
onQuotedClick: (L, Q) => {
|
|
11051
|
+
fs(L, Q.currentTarget);
|
|
11027
11052
|
},
|
|
11028
11053
|
...E
|
|
11029
11054
|
}
|
|
11030
11055
|
),
|
|
11031
|
-
y.sources && y.sources.length > 0 ? /* @__PURE__ */ s(
|
|
11056
|
+
y.sources && y.sources.length > 0 ? /* @__PURE__ */ s(Km, { sources: y.sources }) : null
|
|
11032
11057
|
] }, y._id);
|
|
11033
11058
|
}),
|
|
11034
11059
|
/* @__PURE__ */ s("div", { ref: m })
|
|
11035
11060
|
] });
|
|
11036
11061
|
}
|
|
11037
|
-
function
|
|
11062
|
+
function rg() {
|
|
11038
11063
|
const t = I();
|
|
11039
11064
|
function e() {
|
|
11040
11065
|
const n = er.peek();
|
|
@@ -11074,7 +11099,7 @@ function ac({ message: t }) {
|
|
|
11074
11099
|
t && /* @__PURE__ */ s("p", { class: "jex-loading-message", children: t })
|
|
11075
11100
|
] }) : null;
|
|
11076
11101
|
}
|
|
11077
|
-
function
|
|
11102
|
+
function ig({ sessionId: t, visitorId: e }) {
|
|
11078
11103
|
const n = Lr(
|
|
11079
11104
|
Ae.functions.chat.public.conversations.listBySession,
|
|
11080
11105
|
t && e ? { sessionId: t, visitorId: e } : "skip"
|
|
@@ -11089,7 +11114,7 @@ function ng({ sessionId: t, visitorId: e }) {
|
|
|
11089
11114
|
isStreaming: o
|
|
11090
11115
|
};
|
|
11091
11116
|
}
|
|
11092
|
-
function
|
|
11117
|
+
function og(t) {
|
|
11093
11118
|
const e = I(), n = ze(null), r = ze(null), [i, o] = z(!1);
|
|
11094
11119
|
O(() => {
|
|
11095
11120
|
try {
|
|
@@ -11162,7 +11187,7 @@ function rg(t) {
|
|
|
11162
11187
|
};
|
|
11163
11188
|
}, []);
|
|
11164
11189
|
}
|
|
11165
|
-
function
|
|
11190
|
+
function ag({ sessionId: t, visitorId: e }) {
|
|
11166
11191
|
const n = Gt(Ae.functions.chat.public.visitorPresence.heartbeat);
|
|
11167
11192
|
O(() => {
|
|
11168
11193
|
if (!t || !e)
|
|
@@ -11183,11 +11208,11 @@ function ig({ sessionId: t, visitorId: e }) {
|
|
|
11183
11208
|
};
|
|
11184
11209
|
}, [t, e, n]);
|
|
11185
11210
|
}
|
|
11186
|
-
function
|
|
11211
|
+
function sg() {
|
|
11187
11212
|
return Gt(Ae.functions.chat.public.helpdesk.createEscalationRequest);
|
|
11188
11213
|
}
|
|
11189
11214
|
function sc({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {
|
|
11190
|
-
const i = I(), o =
|
|
11215
|
+
const i = I(), o = sg(), [a, l] = z(!1), [c, u] = z(null);
|
|
11191
11216
|
async function h() {
|
|
11192
11217
|
if (!a) {
|
|
11193
11218
|
l(!0), u(null);
|
|
@@ -11219,15 +11244,15 @@ function sc({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {
|
|
|
11219
11244
|
}
|
|
11220
11245
|
return { requestHuman: h, busy: a, error: c };
|
|
11221
11246
|
}
|
|
11222
|
-
function
|
|
11223
|
-
const m = I(), { conversations: d, sessionStatus: p, isLoading: x, isStreaming: k } =
|
|
11224
|
-
|
|
11247
|
+
function lg({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: h }) {
|
|
11248
|
+
const m = I(), { conversations: d, sessionStatus: p, isLoading: x, isStreaming: k } = ig({ sessionId: r, visitorId: i });
|
|
11249
|
+
og(d), ag({ sessionId: r, visitorId: i }), O(() => {
|
|
11225
11250
|
const E = er.peek();
|
|
11226
11251
|
if (E === null || !d || d.length === 0)
|
|
11227
11252
|
return;
|
|
11228
11253
|
const { waitingSetAt: N } = E;
|
|
11229
11254
|
d.some(
|
|
11230
|
-
(
|
|
11255
|
+
(Q) => Q._creationTime > N && (Q.noticeKind === "agent-joined" || !!Q.authorId)
|
|
11231
11256
|
) && Pl();
|
|
11232
11257
|
}, [d]);
|
|
11233
11258
|
const b = Il({ sessionId: r, visitorId: i, ensureSession: u }), v = ze(
|
|
@@ -11246,7 +11271,7 @@ function ag({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
|
|
|
11246
11271
|
i && po(i);
|
|
11247
11272
|
}, [i]), c ? /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: /* @__PURE__ */ s("div", { class: "jex-session-notice", children: m.chatNoLongerAvailable }) }) : v === "resume" && (!r || x) ? /* @__PURE__ */ s(ac, { message: m.resumeConversation }) : /* @__PURE__ */ s(ee, { children: [
|
|
11248
11273
|
/* @__PURE__ */ s(
|
|
11249
|
-
|
|
11274
|
+
ng,
|
|
11250
11275
|
{
|
|
11251
11276
|
conversations: d,
|
|
11252
11277
|
greeting: t,
|
|
@@ -11262,7 +11287,7 @@ function ag({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
|
|
|
11262
11287
|
visitorId: i
|
|
11263
11288
|
}
|
|
11264
11289
|
),
|
|
11265
|
-
er.value !== null && /* @__PURE__ */ s(
|
|
11290
|
+
er.value !== null && /* @__PURE__ */ s(rg, {}),
|
|
11266
11291
|
R && /* @__PURE__ */ s("div", { class: "jex-session-error-notice", role: "alert", style: { margin: "8px 16px 0" }, children: R }),
|
|
11267
11292
|
/* @__PURE__ */ s(
|
|
11268
11293
|
uf,
|
|
@@ -11287,7 +11312,7 @@ function lc(t) {
|
|
|
11287
11312
|
function cc(t) {
|
|
11288
11313
|
return t?.anyOnline ? "online" : t?.anyAway ? "away" : "offline";
|
|
11289
11314
|
}
|
|
11290
|
-
function
|
|
11315
|
+
function cg({ formMessageId: t, sessionId: e, visitorId: n, orgSlug: r }) {
|
|
11291
11316
|
const i = I(), o = lr.value, a = /^https?:\/\//i.test(o) ? o : sr, [l, c] = z(""), [u, h] = z(""), m = lc(r), d = m && !m.anyOnline ? i.escalationOfflineSubtitle : i.escalationSubtitle, p = Kl(), [x, k] = z(!1), [b, v] = z(null);
|
|
11292
11317
|
async function w(R) {
|
|
11293
11318
|
R.preventDefault(), k(!0), v(null);
|
|
@@ -11377,7 +11402,7 @@ function ps({ sessionId: t, visitorId: e, ensureSession: n, availability: r }) {
|
|
|
11377
11402
|
l && /* @__PURE__ */ s("div", { class: "jex-handoff-error", role: "alert", children: l })
|
|
11378
11403
|
] });
|
|
11379
11404
|
}
|
|
11380
|
-
async function
|
|
11405
|
+
async function ug() {
|
|
11381
11406
|
const t = pl.value;
|
|
11382
11407
|
if (!t)
|
|
11383
11408
|
return me.warn("[JexityChat] Bootstrap refresh skipped β inputs missing"), { ok: !1, reason: "no-inputs" };
|
|
@@ -11393,7 +11418,7 @@ function ms(t) {
|
|
|
11393
11418
|
function uc(t) {
|
|
11394
11419
|
return t instanceof Nr ? t.data?.code === "UNAUTHORIZED_ORIGIN" : !1;
|
|
11395
11420
|
}
|
|
11396
|
-
function
|
|
11421
|
+
function dg(t = 1e4) {
|
|
11397
11422
|
return Lt.value ? Promise.resolve(Lt.value) : new Promise((e) => {
|
|
11398
11423
|
let n = !1;
|
|
11399
11424
|
const r = (a) => {
|
|
@@ -11405,9 +11430,9 @@ function cg(t = 1e4) {
|
|
|
11405
11430
|
});
|
|
11406
11431
|
});
|
|
11407
11432
|
}
|
|
11408
|
-
function
|
|
11433
|
+
function hg(t, e) {
|
|
11409
11434
|
const n = ze(null), r = fn(!1), i = fn(!1), o = fn(!1), a = fn(null), l = Gt(Ae.functions.chat.public.sessions.createOrResume), c = async (p) => {
|
|
11410
|
-
const x = await
|
|
11435
|
+
const x = await dg();
|
|
11411
11436
|
if (!x)
|
|
11412
11437
|
return me.warn("[JexityChat] No bootstrap token after 10s β session creation blocked."), un.value = "no-token", null;
|
|
11413
11438
|
const k = (w) => ({
|
|
@@ -11427,7 +11452,7 @@ function ug(t, e) {
|
|
|
11427
11452
|
} catch (w) {
|
|
11428
11453
|
if (!uc(w))
|
|
11429
11454
|
throw w;
|
|
11430
|
-
const R = await
|
|
11455
|
+
const R = await ug();
|
|
11431
11456
|
if (!R.ok)
|
|
11432
11457
|
return un.value = R.reason === "rate_limited" ? "network" : "unauthorized", null;
|
|
11433
11458
|
b = await l(k(R.token));
|
|
@@ -11482,7 +11507,7 @@ function ug(t, e) {
|
|
|
11482
11507
|
resetSession: h
|
|
11483
11508
|
};
|
|
11484
11509
|
}
|
|
11485
|
-
function
|
|
11510
|
+
function fg({ botName: t, availability: e, onResetSession: n }) {
|
|
11486
11511
|
const r = I(), [i, o] = z(""), a = e?.anyOnline === !0, l = cc(e);
|
|
11487
11512
|
function c() {
|
|
11488
11513
|
kr(), pn.value = "escalate", n(), Aa(), jt({ id: "chat" });
|
|
@@ -11576,7 +11601,7 @@ function dg({ botName: t, availability: e, onResetSession: n }) {
|
|
|
11576
11601
|
] })
|
|
11577
11602
|
] });
|
|
11578
11603
|
}
|
|
11579
|
-
function
|
|
11604
|
+
function pg({ title: t }) {
|
|
11580
11605
|
const e = I();
|
|
11581
11606
|
return /* @__PURE__ */ s("div", { class: "jex-selection", children: [
|
|
11582
11607
|
/* @__PURE__ */ s("h2", { class: "jex-selection-title", children: e.howCanWeHelp }),
|
|
@@ -11608,7 +11633,7 @@ function hg({ title: t }) {
|
|
|
11608
11633
|
] })
|
|
11609
11634
|
] });
|
|
11610
11635
|
}
|
|
11611
|
-
function
|
|
11636
|
+
function mg() {
|
|
11612
11637
|
const t = I(), [e, n] = z(""), [r, i] = z(""), [o, a] = z("");
|
|
11613
11638
|
async function l(c) {
|
|
11614
11639
|
c.preventDefault(), Ui({ id: "loading", message: t.submittingTicket }), await new Promise((h) => {
|
|
@@ -11664,7 +11689,7 @@ function fg() {
|
|
|
11664
11689
|
] })
|
|
11665
11690
|
] });
|
|
11666
11691
|
}
|
|
11667
|
-
function
|
|
11692
|
+
function gg({ ticketRef: t }) {
|
|
11668
11693
|
const e = I();
|
|
11669
11694
|
return /* @__PURE__ */ s("div", { class: "jex-confirmation", children: [
|
|
11670
11695
|
/* @__PURE__ */ s("div", { class: "jex-confirmation-icon", "aria-hidden": "true", children: "β" }),
|
|
@@ -11684,7 +11709,7 @@ function pg({ ticketRef: t }) {
|
|
|
11684
11709
|
)
|
|
11685
11710
|
] });
|
|
11686
11711
|
}
|
|
11687
|
-
function
|
|
11712
|
+
function xg({ message: t, onRetry: e, onBack: n }) {
|
|
11688
11713
|
const r = I();
|
|
11689
11714
|
return /* @__PURE__ */ s("div", { class: "jex-overlay jex-error", children: [
|
|
11690
11715
|
/* @__PURE__ */ s("p", { class: "jex-error-message", children: t }),
|
|
@@ -11699,11 +11724,11 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
11699
11724
|
(w) => w.id === "confirmation"
|
|
11700
11725
|
);
|
|
11701
11726
|
return /* @__PURE__ */ s("div", { class: "jex-screen-container", children: [
|
|
11702
|
-
b.id === "home" && /* @__PURE__ */ s(
|
|
11703
|
-
b.id === "selection" && /* @__PURE__ */ s(
|
|
11704
|
-
b.id === "form" && /* @__PURE__ */ s(
|
|
11727
|
+
b.id === "home" && /* @__PURE__ */ s(fg, { botName: r, availability: o, onResetSession: x }),
|
|
11728
|
+
b.id === "selection" && /* @__PURE__ */ s(pg, { title: n }),
|
|
11729
|
+
b.id === "form" && /* @__PURE__ */ s(mg, {}),
|
|
11705
11730
|
b.id === "escalation-form" && /* @__PURE__ */ s(
|
|
11706
|
-
|
|
11731
|
+
cg,
|
|
11707
11732
|
{
|
|
11708
11733
|
formMessageId: b.formMessageId,
|
|
11709
11734
|
sessionId: b.sessionId,
|
|
@@ -11712,9 +11737,9 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
11712
11737
|
waitingSetAt: b.waitingSetAt
|
|
11713
11738
|
}
|
|
11714
11739
|
),
|
|
11715
|
-
b.id === "confirmation" && v && /* @__PURE__ */ s(
|
|
11740
|
+
b.id === "confirmation" && v && /* @__PURE__ */ s(gg, { ticketRef: v.ref }),
|
|
11716
11741
|
b.id === "chat" && /* @__PURE__ */ s(
|
|
11717
|
-
|
|
11742
|
+
lg,
|
|
11718
11743
|
{
|
|
11719
11744
|
greeting: t,
|
|
11720
11745
|
botName: r,
|
|
@@ -11731,7 +11756,7 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
11731
11756
|
),
|
|
11732
11757
|
b.id === "loading" && /* @__PURE__ */ s(ac, { message: b.message }),
|
|
11733
11758
|
b.id === "error" && /* @__PURE__ */ s(
|
|
11734
|
-
|
|
11759
|
+
xg,
|
|
11735
11760
|
{
|
|
11736
11761
|
message: b.message,
|
|
11737
11762
|
onRetry: () => Ui({ id: "loading" }),
|
|
@@ -11740,7 +11765,7 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
|
|
|
11740
11765
|
)
|
|
11741
11766
|
] });
|
|
11742
11767
|
}
|
|
11743
|
-
function
|
|
11768
|
+
function bg({ options: t }) {
|
|
11744
11769
|
return nh({
|
|
11745
11770
|
orgSlug: t.orgSlug,
|
|
11746
11771
|
projSlug: t.projSlug,
|
|
@@ -11748,14 +11773,14 @@ function gg({ options: t }) {
|
|
|
11748
11773
|
convexUrl: t.convexUrl,
|
|
11749
11774
|
preAllowedUrls: t.allowedUrls ?? [],
|
|
11750
11775
|
preExcludedPaths: t.excludePaths
|
|
11751
|
-
}), oh() ? /* @__PURE__ */ s(
|
|
11776
|
+
}), oh() ? /* @__PURE__ */ s(yg, { options: t }) : null;
|
|
11752
11777
|
}
|
|
11753
|
-
function
|
|
11778
|
+
function yg({ options: t }) {
|
|
11754
11779
|
const e = eh(t.orgSlug, t.projSlug, t.convexUrl);
|
|
11755
11780
|
uh(t.parentOrigin), O(() => (xh(), yh(), () => {
|
|
11756
11781
|
Fi.value = !1;
|
|
11757
11782
|
}), []);
|
|
11758
|
-
const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: h } =
|
|
11783
|
+
const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: h } = hg(t.orgSlug, t.projSlug), m = lc(t.orgSlug), d = Yd(t, e.config), p = Nt.value, x = Fi.value, k = e.config !== null || p !== void 0 || e.settled, b = e.config !== null ? d.sessionTimeoutMs : p !== void 0 ? p : d.sessionTimeoutMs;
|
|
11759
11784
|
O(() => {
|
|
11760
11785
|
xt.value = bl(d.locale);
|
|
11761
11786
|
}, [d.locale]), O(() => {
|
|
@@ -11790,9 +11815,9 @@ function xg({ options: t }) {
|
|
|
11790
11815
|
borderRadius: d.borderRadius,
|
|
11791
11816
|
windowWidth: d.windowWidth,
|
|
11792
11817
|
windowHeight: d.windowHeight
|
|
11793
|
-
}), y = d.mode === "embedded", E = $e.value, L = E[E.length - 1]?.id === "chat",
|
|
11818
|
+
}), y = d.mode === "embedded", E = $e.value, L = E[E.length - 1]?.id === "chat", Q = e.config !== null || y || !!t.parentOrigin, de = Q ? R : { ...R, visibility: "hidden" }, F = Oh(t.orgSlug, t.projSlug);
|
|
11794
11819
|
return O(() => {
|
|
11795
|
-
if (y || !
|
|
11820
|
+
if (y || !Q || d.proactiveMode === "off" || Na(F))
|
|
11796
11821
|
return;
|
|
11797
11822
|
const J = window.setTimeout(() => {
|
|
11798
11823
|
const re = $h({
|
|
@@ -11806,7 +11831,7 @@ function xg({ options: t }) {
|
|
|
11806
11831
|
return () => {
|
|
11807
11832
|
window.clearTimeout(J);
|
|
11808
11833
|
};
|
|
11809
|
-
}, [y,
|
|
11834
|
+
}, [y, Q, d.proactiveMode, d.proactiveDelaySeconds, F]), /* @__PURE__ */ s(
|
|
11810
11835
|
"div",
|
|
11811
11836
|
{
|
|
11812
11837
|
class: `jex-widget ${w}`.trim(),
|
|
@@ -11887,34 +11912,34 @@ function xg({ options: t }) {
|
|
|
11887
11912
|
}
|
|
11888
11913
|
);
|
|
11889
11914
|
}
|
|
11890
|
-
const bg = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: "Inter", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;animation:jexFadeIn .4s ease both}.jex-home-hero:disabled{cursor:default;opacity:.7}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--jex-dot-color, #9ca3af);border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}.jex-home-status-dot--online{--jex-dot-color: #10b981}.jex-home-status-dot--away{--jex-dot-color: #fbbf24}.jex-home-status-dot--offline{--jex-dot-color: #9ca3af}@keyframes jexPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--jex-dot-color, #9ca3af) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jex-dot-color, #9ca3af) 0%,transparent)}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-quote-btn{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--jex-border-window);border-radius:50%;background:var(--jex-bg-window);color:var(--jex-text-muted, #6b7280);box-shadow:0 1px 4px #0000001f;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity .12s,transform .12s,background .15s,color .15s}.jex-quote-btn:hover{background:var(--jex-bg-msg-bot);color:var(--jex-primary, #115A62);transform:scale(1)}.jex-quote-btn:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}@media(hover:hover){.jex-message:hover .jex-quote-btn{opacity:1;transform:scale(1)}}@media(hover:none){.jex-quote-btn{opacity:1;transform:scale(1)}}.jex-message.user .jex-mention{font-weight:700;background:#ffffff38;border-radius:4px;padding:0 3px}.jex-quoted-chip{display:flex;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding-bottom:6px;border:none;border-bottom:1px solid var(--jex-border-window);background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.8;text-align:left;cursor:pointer}.jex-quoted-chip:hover{opacity:1}.jex-quoted-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-quoted-chip-author{font-weight:600}.jex-quoted-list{display:flex;flex-direction:column}.jex-quoted-list .jex-quoted-chip{margin-bottom:3px;padding-bottom:3px}.jex-quoted-list .jex-quoted-chip:last-child{margin-bottom:6px;padding-bottom:6px}.jex-msg-highlight{outline:2px solid var(--jex-primary, #115A62);outline-offset:2px;transition:outline-color .2s}.jex-reply-preview{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);font-size:12px;color:var(--jex-text-muted)}.jex-reply-preview-icon{flex:0 0 auto;color:var(--jex-primary)}.jex-reply-preview-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-reply-preview-author{font-weight:600;color:var(--jex-text-main)}.jex-reply-preview-cancel{flex:0 0 auto;display:inline-flex;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted);cursor:pointer}.jex-reply-preview-cancel:hover{color:var(--jex-text-main);background:#0000000f}.jex-message{position:relative;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);margin:0 0 8px;padding:4px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:"β";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-starter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.jex-starter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--jex-bg-window);border:1px solid var(--jex-border-input);color:var(--jex-primary);text-align:left;font-size:13.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.jex-starter-chip:hover:not(:disabled){background:color-mix(in srgb,var(--jex-primary) 8%,var(--jex-bg-window));border-color:var(--jex-primary)}.jex-starter-chip:disabled{opacity:.5;cursor:default}.jex-presence-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px var(--jex-bg-header, #115A62)}.jex-presence-dot--online{background:#10b981}.jex-presence-dot--away{background:#fbbf24}.jex-presence-dot--offline{background:#9ca3af}@keyframes jex-ripple-expand{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.jex-waiting-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 12px 8px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem)}.jex-waiting-indicator{position:relative;flex-shrink:0;width:20px;height:20px;margin-top:2px;display:flex;align-items:center;justify-content:center}.jex-waiting-dot{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--jex-primary, #115A62)}.jex-waiting-ripple{position:absolute;inset:0;width:8px;height:8px;margin:auto;border-radius:50%;background:var(--jex-primary, #115A62);animation:jex-ripple-expand 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.jex-waiting-ripple{animation:none}}.jex-waiting-body{display:flex;flex-direction:column;gap:4px;min-width:0}.jex-waiting-title{font-weight:600;font-size:14px;color:var(--jex-text-main, #0f172a);line-height:1.3}.jex-waiting-subtitle{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4}.jex-waiting-leave-email{margin-top:6px;padding:0;border:none;background:transparent;color:var(--jex-primary, #115A62);font-size:12px;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.jex-waiting-leave-email:hover{opacity:.8}`;
|
|
11891
|
-
function
|
|
11915
|
+
const vg = `.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}`;
|
|
11916
|
+
function wg(t) {
|
|
11892
11917
|
const e = document.createElement("style");
|
|
11893
|
-
e.textContent =
|
|
11918
|
+
e.textContent = vg, t.appendChild(e);
|
|
11894
11919
|
}
|
|
11895
|
-
const
|
|
11920
|
+
const kg = "https://tame-spider-109.eu-west-1.convex.cloud";
|
|
11896
11921
|
let Ci = null;
|
|
11897
|
-
function
|
|
11898
|
-
const e = t ??
|
|
11922
|
+
function _g(t) {
|
|
11923
|
+
const e = t ?? kg;
|
|
11899
11924
|
if (!e)
|
|
11900
11925
|
throw new Error("[jexity] No Convex URL β set VITE_CONVEX_URL at build time or data-convex-url on the script tag");
|
|
11901
11926
|
return Ci || (Ci = new Id(Gd(e))), Ci;
|
|
11902
11927
|
}
|
|
11903
|
-
function
|
|
11928
|
+
function jg(t, e) {
|
|
11904
11929
|
const n = t.shadowRoot ?? t.attachShadow({ mode: "open" });
|
|
11905
11930
|
for (; n.firstChild; )
|
|
11906
11931
|
n.removeChild(n.firstChild);
|
|
11907
|
-
|
|
11932
|
+
wg(n), Br.value = e.source, Lt.value = e.bootstrapToken, $e.value = [{ id: "home" }], e.mode === "embedded" && (t.classList.add("jex-mode-embedded"), ae.value = !0);
|
|
11908
11933
|
const r = document.createElement("div");
|
|
11909
11934
|
return e.mode === "embedded" && (r.style.cssText = "width:100%;height:100%"), n.appendChild(r), Ht(
|
|
11910
|
-
/* @__PURE__ */ s(Nd, { client:
|
|
11935
|
+
/* @__PURE__ */ s(Nd, { client: _g(e.convexUrl), children: /* @__PURE__ */ s(bg, { options: e }) }),
|
|
11911
11936
|
r
|
|
11912
11937
|
), function() {
|
|
11913
11938
|
Ht(null, r), ae.value = !1, Br.value = void 0, Lt.value = void 0, $e.value = [{ id: "home" }];
|
|
11914
11939
|
};
|
|
11915
11940
|
}
|
|
11916
|
-
function
|
|
11917
|
-
const r =
|
|
11941
|
+
function Sg(t, e, n) {
|
|
11942
|
+
const r = jg(t, e), i = /* @__PURE__ */ new Set(), o = ae.subscribe((l) => {
|
|
11918
11943
|
for (const c of i)
|
|
11919
11944
|
c(l);
|
|
11920
11945
|
});
|
|
@@ -11942,16 +11967,16 @@ function _g(t, e, n) {
|
|
|
11942
11967
|
};
|
|
11943
11968
|
}
|
|
11944
11969
|
let On = null;
|
|
11945
|
-
function
|
|
11970
|
+
function Tg(t) {
|
|
11946
11971
|
On && On.shutdown();
|
|
11947
11972
|
let e;
|
|
11948
11973
|
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));
|
|
11949
|
-
const n =
|
|
11974
|
+
const n = Sg(e, t, () => {
|
|
11950
11975
|
t.container || e.remove(), On === n && (On = null);
|
|
11951
11976
|
});
|
|
11952
11977
|
return On = n, n;
|
|
11953
11978
|
}
|
|
11954
11979
|
export {
|
|
11955
|
-
|
|
11980
|
+
Tg as JexityChat
|
|
11956
11981
|
};
|
|
11957
11982
|
//# sourceMappingURL=index.mjs.map
|