@gengage/assistant-fe 0.5.2 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{api-paths-HBfd3rta.js → api-paths-5v4fJh3b.js} +1 -1
- package/dist/assistant-fe.css +1 -1
- package/dist/chat-runtime.js +1 -1
- package/dist/chat.iife.js +10 -10
- package/dist/chat.js +1 -1
- package/dist/{common-C_qmksoI.js → common-jTnp0FYs.js} +1 -1
- package/dist/common.js +5 -5
- package/dist/{connection-warning-BvPwMY8A.js → connection-warning-BlkNv3zB.js} +1 -1
- package/dist/{fastIntent-nyosR4rE.js → fastIntent-CWB807V4.js} +1 -1
- package/dist/index.js +10 -10
- package/dist/native.iife.js +6 -6
- package/dist/qna-runtime.js +1 -1
- package/dist/qna.css +1 -1
- package/dist/qna.iife.js +1 -1
- package/dist/qna.js +1 -1
- package/dist/{runtime-y339ccTq.js → runtime-BD5Aes4y.js} +330 -292
- package/dist/{runtime-Rp4C5hl9.js → runtime-Bupw3CaJ.js} +3 -3
- package/dist/{runtime-CYG0iBGe.js → runtime-DDIRZNa4.js} +80 -80
- package/dist/{simbut-COq7dQRk.js → simbut-DNxmYY0Q.js} +1 -1
- package/dist/simbut.css +1 -1
- package/dist/simbut.iife.js +1 -1
- package/dist/simbut.js +1 -1
- package/dist/{simrel-FETpOe2f.js → simrel-DlmYAGVD.js} +112 -101
- package/dist/simrel-runtime.js +1 -1
- package/dist/simrel.css +2 -2
- package/dist/simrel.iife.js +5 -5
- package/dist/simrel.js +2 -2
- package/dist/{widget-base-BcrlFdYt.js → widget-base-DTsBXrHi.js} +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as x, h as Q, p as R, r as N, t as H } from "./api-paths-
|
|
1
|
+
import { d as x, h as Q, p as R, r as N, t as H } from "./api-paths-5v4fJh3b.js";
|
|
2
2
|
import { A as O, D as U, E as j, a as q, v as M } from "./context-BBuSsXZ9.js";
|
|
3
|
-
import { o as F, t as W } from "./widget-base-
|
|
3
|
+
import { o as F, t as W } from "./widget-base-DTsBXrHi.js";
|
|
4
4
|
import { t as A } from "./locale-CfqNifrU.js";
|
|
5
|
-
import { n as D } from "./connection-warning-
|
|
5
|
+
import { n as D } from "./connection-warning-BlkNv3zB.js";
|
|
6
6
|
async function z(e, t, n) {
|
|
7
7
|
const o = H("launcher_action", t), i = {
|
|
8
8
|
uiSpecs: [],
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as x, d as L, h as j, i as q, p as F, r as I, t as N } from "./api-paths-
|
|
1
|
+
import { a as x, d as L, h as j, i as q, p as F, r as I, t as N } from "./api-paths-5v4fJh3b.js";
|
|
2
2
|
import { A as z, E as S, N as D, a as k, l as H, v as $ } from "./context-BBuSsXZ9.js";
|
|
3
|
-
import { o as W, t as J } from "./widget-base-
|
|
3
|
+
import { o as W, t as J } from "./widget-base-DTsBXrHi.js";
|
|
4
4
|
import { t as K } from "./locale-CfqNifrU.js";
|
|
5
5
|
import { a as Q, n as V, r as Y, t as A } from "./price-formatter-xI3g9Cd4.js";
|
|
6
|
-
import { n as X } from "./connection-warning-
|
|
6
|
+
import { n as X } from "./connection-warning-BlkNv3zB.js";
|
|
7
7
|
function R(e) {
|
|
8
8
|
const t = [];
|
|
9
9
|
for (const n of Object.values(e)) if (n.type === "ProductCard" && n.props) {
|
|
@@ -17,23 +17,23 @@ function M(e) {
|
|
|
17
17
|
return t.includes("application/x-ndjson") || t.includes("text/event-stream");
|
|
18
18
|
}
|
|
19
19
|
async function Z(e, t) {
|
|
20
|
-
const n = [], r = { onEvent: (
|
|
21
|
-
const
|
|
22
|
-
!
|
|
20
|
+
const n = [], r = { onEvent: (s) => {
|
|
21
|
+
const i = I(s);
|
|
22
|
+
!i || i.type !== "ui_spec" || n.push(...R(i.spec.elements));
|
|
23
23
|
} };
|
|
24
24
|
return t !== void 0 && (r.signal = t), await L(e, r), n;
|
|
25
25
|
}
|
|
26
26
|
async function ee(e, t, n) {
|
|
27
|
-
const r = N("similar_products", t),
|
|
27
|
+
const r = N("similar_products", t), s = {
|
|
28
28
|
method: "POST",
|
|
29
29
|
headers: { "Content-Type": "application/json" },
|
|
30
30
|
body: JSON.stringify(e)
|
|
31
31
|
};
|
|
32
|
-
n !== void 0 && (
|
|
33
|
-
const
|
|
34
|
-
if (!
|
|
35
|
-
if (M(
|
|
36
|
-
const a = await
|
|
32
|
+
n !== void 0 && (s.signal = n);
|
|
33
|
+
const i = await fetch(r, s);
|
|
34
|
+
if (!i.ok) throw new Error(`HTTP ${i.status}: ${i.statusText}`);
|
|
35
|
+
if (M(i)) return Z(i, n);
|
|
36
|
+
const a = await i.text();
|
|
37
37
|
if (!a) throw new Error("Empty response body from similar_products endpoint");
|
|
38
38
|
try {
|
|
39
39
|
return x(JSON.parse(a));
|
|
@@ -44,8 +44,8 @@ async function ee(e, t, n) {
|
|
|
44
44
|
async function te(e, t) {
|
|
45
45
|
const n = [];
|
|
46
46
|
let r = null;
|
|
47
|
-
const
|
|
48
|
-
const a = I(
|
|
47
|
+
const s = { onEvent: (i) => {
|
|
48
|
+
const a = I(i);
|
|
49
49
|
if (a) {
|
|
50
50
|
if (a.type === "metadata" && a.meta) {
|
|
51
51
|
const d = a.meta.group_name;
|
|
@@ -61,19 +61,19 @@ async function te(e, t) {
|
|
|
61
61
|
a.type === "ui_spec" && r && r.products.push(...R(a.spec.elements));
|
|
62
62
|
}
|
|
63
63
|
} };
|
|
64
|
-
return t !== void 0 && (
|
|
64
|
+
return t !== void 0 && (s.signal = t), await L(e, s), n;
|
|
65
65
|
}
|
|
66
66
|
async function ne(e, t, n) {
|
|
67
|
-
const r = N("product_groupings", t),
|
|
67
|
+
const r = N("product_groupings", t), s = {
|
|
68
68
|
method: "POST",
|
|
69
69
|
headers: { "Content-Type": "application/json" },
|
|
70
70
|
body: JSON.stringify(e)
|
|
71
71
|
};
|
|
72
|
-
n !== void 0 && (
|
|
73
|
-
const
|
|
74
|
-
if (!
|
|
75
|
-
if (M(
|
|
76
|
-
const a = await
|
|
72
|
+
n !== void 0 && (s.signal = n);
|
|
73
|
+
const i = await fetch(r, s);
|
|
74
|
+
if (!i.ok) throw new Error(`HTTP ${i.status}: ${i.statusText}`);
|
|
75
|
+
if (M(i)) return te(i, n);
|
|
76
|
+
const a = await i.text();
|
|
77
77
|
if (!a) return [];
|
|
78
78
|
try {
|
|
79
79
|
return q(JSON.parse(a));
|
|
@@ -82,7 +82,7 @@ async function ne(e, t, n) {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
function U(e) {
|
|
85
|
-
const { product: t, index: n, discountType: r, onClick:
|
|
85
|
+
const { product: t, index: n, discountType: r, onClick: s, onAddToCart: i, renderCard: a } = e, d = e.i18n, m = e.pricing;
|
|
86
86
|
if (e.renderCardElement) {
|
|
87
87
|
const o = e.renderCardElement(t, n);
|
|
88
88
|
if (o) return o;
|
|
@@ -90,7 +90,7 @@ function U(e) {
|
|
|
90
90
|
if (a) {
|
|
91
91
|
const o = document.createElement("div");
|
|
92
92
|
return o.className = "gengage-simrel-card gengage-simrel-card--custom gds-card gds-product-card gds-card-interactive", o.dataset.gengagePart = "simrel-product-card", o.innerHTML = D(a(t, n)), o.addEventListener("click", (c) => {
|
|
93
|
-
c.target.closest(".gengage-simrel-atc") || c.target.closest(".gengage-chat-product-card-atc") ||
|
|
93
|
+
c.target.closest(".gengage-simrel-atc") || c.target.closest(".gengage-chat-product-card-atc") || s(t);
|
|
94
94
|
}), o;
|
|
95
95
|
}
|
|
96
96
|
const l = document.createElement("article");
|
|
@@ -120,9 +120,9 @@ function U(e) {
|
|
|
120
120
|
u.appendChild(o);
|
|
121
121
|
}
|
|
122
122
|
const y = document.createElement("div");
|
|
123
|
-
if (y.className = "gengage-simrel-card-price gengage-chat-product-card-price", t.originalPrice && t.originalPrice !== t.price && (r === "strike-through" || !r)) {
|
|
123
|
+
if (y.className = "gengage-simrel-card-price gengage-chat-product-card-price", t.originalPrice && t.originalPrice !== t.price && (r === "strike-through" || r === "inline" || !r)) {
|
|
124
124
|
const o = document.createElement("span");
|
|
125
|
-
o.className = "gengage-simrel-card-price-original gengage-chat-product-card-original-price", o.textContent = A(t.originalPrice, m), y.appendChild(o);
|
|
125
|
+
o.className = ["gengage-simrel-card-price-original", "gengage-chat-product-card-original-price"].join(" "), r === "inline" && o.classList.add("gengage-simrel-card-price-original--inline"), o.textContent = A(t.originalPrice, m), y.appendChild(o);
|
|
126
126
|
}
|
|
127
127
|
if (t.price && parseFloat(t.price) > 0) {
|
|
128
128
|
const o = document.createElement("span");
|
|
@@ -131,14 +131,14 @@ function U(e) {
|
|
|
131
131
|
u.appendChild(y), l.appendChild(u);
|
|
132
132
|
const f = document.createElement("button");
|
|
133
133
|
if (f.className = "gengage-simrel-card-cta gengage-chat-product-card-cta gds-btn gds-btn-secondary", f.type = "button", f.dataset.gengagePart = "simrel-product-card-cta", f.textContent = d?.ctaLabel ?? "View", f.addEventListener("click", (o) => {
|
|
134
|
-
o.preventDefault(), o.stopPropagation(),
|
|
134
|
+
o.preventDefault(), o.stopPropagation(), s(t);
|
|
135
135
|
}), l.appendChild(f), t.inStock === !1) {
|
|
136
136
|
const o = document.createElement("div");
|
|
137
137
|
o.className = "gengage-simrel-card-oos", o.textContent = d?.outOfStockLabel ?? "Out of Stock", l.appendChild(o);
|
|
138
138
|
} else if (t.cartCode) {
|
|
139
139
|
const o = document.createElement("button");
|
|
140
140
|
o.className = "gengage-simrel-atc gengage-simrel-atc-button gds-btn gds-btn-secondary", o.type = "button", o.textContent = d?.addToCartButton ?? "Add to Cart", o.addEventListener("click", (c) => {
|
|
141
|
-
c.preventDefault(), c.stopPropagation(),
|
|
141
|
+
c.preventDefault(), c.stopPropagation(), i({
|
|
142
142
|
sku: t.sku,
|
|
143
143
|
quantity: 1,
|
|
144
144
|
cartCode: t.cartCode
|
|
@@ -146,7 +146,7 @@ function U(e) {
|
|
|
146
146
|
}), l.appendChild(o);
|
|
147
147
|
}
|
|
148
148
|
return l.addEventListener("click", (o) => {
|
|
149
|
-
o.target.closest(".gengage-simrel-atc") || o.target.closest(".gengage-chat-product-card-atc") || o.target.closest(".gengage-chat-product-card-cta") ||
|
|
149
|
+
o.target.closest(".gengage-simrel-atc") || o.target.closest(".gengage-chat-product-card-atc") || o.target.closest(".gengage-chat-product-card-cta") || s(t);
|
|
150
150
|
}), l;
|
|
151
151
|
}
|
|
152
152
|
function w(e) {
|
|
@@ -160,8 +160,8 @@ function w(e) {
|
|
|
160
160
|
onAddToCart: e.onAddToCart
|
|
161
161
|
};
|
|
162
162
|
e.i18n !== void 0 && (r.i18n = e.i18n), e.discountType !== void 0 && (r.discountType = e.discountType), e.renderCard !== void 0 && (r.renderCard = e.renderCard), e.renderCardElement !== void 0 && (r.renderCardElement = e.renderCardElement);
|
|
163
|
-
const
|
|
164
|
-
t.appendChild(
|
|
163
|
+
const s = U(r);
|
|
164
|
+
t.appendChild(s);
|
|
165
165
|
}
|
|
166
166
|
return e.products.length === 0 && (t.style.display = "none", t.dataset.empty = "true"), t;
|
|
167
167
|
}
|
|
@@ -172,7 +172,7 @@ function ie(e) {
|
|
|
172
172
|
return n.style.display = "none", n.dataset.empty = "true", n;
|
|
173
173
|
const r = document.createElement("div");
|
|
174
174
|
r.className = "gengage-simrel-tabs gds-toolbar", r.dataset.gengagePart = "simrel-tab-bar", r.setAttribute("role", "tablist");
|
|
175
|
-
const
|
|
175
|
+
const s = [], i = [];
|
|
176
176
|
let a = 0;
|
|
177
177
|
const d = (c) => {
|
|
178
178
|
const b = {
|
|
@@ -190,27 +190,27 @@ function ie(e) {
|
|
|
190
190
|
});
|
|
191
191
|
}
|
|
192
192
|
a = c;
|
|
193
|
-
for (let p = 0; p <
|
|
193
|
+
for (let p = 0; p < s.length; p++) {
|
|
194
194
|
const v = p === c;
|
|
195
|
-
|
|
195
|
+
s[p].classList.toggle("gengage-simrel-tab--active", v), s[p].setAttribute("aria-selected", String(v)), s[p].tabIndex = v ? 0 : -1;
|
|
196
196
|
}
|
|
197
|
-
const T = e.groups[c], _ =
|
|
197
|
+
const T = e.groups[c], _ = i[c];
|
|
198
198
|
_.innerHTML = "";
|
|
199
199
|
const C = w(d(T));
|
|
200
200
|
_.appendChild(C);
|
|
201
|
-
for (let p = 0; p <
|
|
201
|
+
for (let p = 0; p < i.length; p++) {
|
|
202
202
|
const v = p === c;
|
|
203
|
-
|
|
203
|
+
i[p].style.display = v ? "" : "none", i[p].tabIndex = v ? 0 : -1;
|
|
204
204
|
}
|
|
205
205
|
};
|
|
206
206
|
for (let c = 0; c < e.groups.length; c++) {
|
|
207
207
|
const b = e.groups[c], T = `gengage-simrel-tab-${t}-${c}`, _ = `gengage-simrel-panel-${t}-${c}`, C = document.createElement("button");
|
|
208
208
|
C.className = "gengage-simrel-tab gds-tab", C.type = "button", C.dataset.gengagePart = "simrel-tab", C.id = T, C.textContent = b.name, C.setAttribute("role", "tab"), C.setAttribute("aria-controls", _), C.setAttribute("aria-selected", String(c === 0)), C.tabIndex = c === 0 ? 0 : -1, c === 0 && C.classList.add("gengage-simrel-tab--active"), C.addEventListener("click", () => m(c, !0)), C.addEventListener("keydown", (v) => {
|
|
209
209
|
let E = -1;
|
|
210
|
-
v.key === "ArrowRight" || v.key === "ArrowDown" ? E = (c + 1) % e.groups.length : v.key === "ArrowLeft" || v.key === "ArrowUp" ? E = (c - 1 + e.groups.length) % e.groups.length : v.key === "Home" ? E = 0 : v.key === "End" && (E = e.groups.length - 1), E >= 0 && (v.preventDefault(), m(E, !0),
|
|
211
|
-
}),
|
|
210
|
+
v.key === "ArrowRight" || v.key === "ArrowDown" ? E = (c + 1) % e.groups.length : v.key === "ArrowLeft" || v.key === "ArrowUp" ? E = (c - 1 + e.groups.length) % e.groups.length : v.key === "Home" ? E = 0 : v.key === "End" && (E = e.groups.length - 1), E >= 0 && (v.preventDefault(), m(E, !0), s[E].focus());
|
|
211
|
+
}), s.push(C), r.appendChild(C);
|
|
212
212
|
const p = document.createElement("div");
|
|
213
|
-
p.className = "gengage-simrel-tab-panel", p.dataset.gengagePart = "simrel-tab-panel", p.id = _, p.setAttribute("role", "tabpanel"), p.setAttribute("aria-labelledby", T), p.tabIndex = c === 0 ? 0 : -1, c !== 0 && (p.style.display = "none"),
|
|
213
|
+
p.className = "gengage-simrel-tab-panel", p.dataset.gengagePart = "simrel-tab-panel", p.id = _, p.setAttribute("role", "tabpanel"), p.setAttribute("aria-labelledby", T), p.tabIndex = c === 0 ? 0 : -1, c !== 0 && (p.style.display = "none"), i.push(p);
|
|
214
214
|
}
|
|
215
215
|
const l = document.createElement("button");
|
|
216
216
|
l.type = "button", l.className = "gengage-simrel-tabs-arrow gengage-simrel-tabs-arrow--left", l.setAttribute("aria-label", e.i18n?.scrollTabsLeft ?? "Scroll tabs left"), l.innerHTML = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg>';
|
|
@@ -235,9 +235,9 @@ function ie(e) {
|
|
|
235
235
|
r.addEventListener("scroll", h, { passive: !0 }), typeof ResizeObserver < "u" && new ResizeObserver(h).observe(r), l.style.display = "none", g.style.display = "none", requestAnimationFrame(h);
|
|
236
236
|
const y = document.createElement("div");
|
|
237
237
|
y.className = "gengage-simrel-tabs-wrapper", y.appendChild(l), y.appendChild(r), y.appendChild(g), n.appendChild(y);
|
|
238
|
-
const f =
|
|
238
|
+
const f = i[0], o = w(d(e.groups[0]));
|
|
239
239
|
f.appendChild(o);
|
|
240
|
-
for (const c of
|
|
240
|
+
for (const c of i) n.appendChild(c);
|
|
241
241
|
return n;
|
|
242
242
|
}
|
|
243
243
|
function P(e) {
|
|
@@ -250,10 +250,10 @@ function P(e) {
|
|
|
250
250
|
url: t.url
|
|
251
251
|
}, r = t.imageUrl;
|
|
252
252
|
typeof r == "string" && (n.imageUrl = r);
|
|
253
|
-
const
|
|
254
|
-
typeof
|
|
255
|
-
const
|
|
256
|
-
typeof
|
|
253
|
+
const s = t.price;
|
|
254
|
+
typeof s == "string" && (n.price = s);
|
|
255
|
+
const i = t.originalPrice;
|
|
256
|
+
typeof i == "string" && (n.originalPrice = i);
|
|
257
257
|
const a = t.discountPercent;
|
|
258
258
|
typeof a == "number" && (n.discountPercent = a);
|
|
259
259
|
const d = t.brand;
|
|
@@ -273,19 +273,19 @@ function se(e) {
|
|
|
273
273
|
if (!e || typeof e != "object") return null;
|
|
274
274
|
const t = e, n = t.title, r = t.type;
|
|
275
275
|
if (typeof n != "string" || typeof r != "string") return null;
|
|
276
|
-
const
|
|
276
|
+
const s = {
|
|
277
277
|
title: n,
|
|
278
278
|
type: r
|
|
279
279
|
};
|
|
280
|
-
return t.payload !== void 0 && (
|
|
280
|
+
return t.payload !== void 0 && (s.payload = t.payload), s;
|
|
281
281
|
}
|
|
282
282
|
var G = {
|
|
283
283
|
ProductGrid: ({ element: e, renderElement: t, context: n }) => {
|
|
284
284
|
const r = document.createElement("div");
|
|
285
285
|
r.className = "gengage-simrel-grid", r.setAttribute("role", "list");
|
|
286
|
-
const
|
|
287
|
-
let
|
|
288
|
-
typeof
|
|
286
|
+
const s = e.props?.columns;
|
|
287
|
+
let i;
|
|
288
|
+
typeof s == "number" && Number.isFinite(s) && s > 0 ? i = Math.floor(s) : typeof n.gridColumns == "number" && Number.isFinite(n.gridColumns) && n.gridColumns > 0 && (i = Math.floor(n.gridColumns)), i !== void 0 && r.style.setProperty("--gengage-simrel-columns", String(i));
|
|
289
289
|
for (const a of e.children ?? []) {
|
|
290
290
|
const d = t(a);
|
|
291
291
|
d && r.appendChild(d);
|
|
@@ -299,9 +299,9 @@ var G = {
|
|
|
299
299
|
ProductCard: ({ element: e, context: t }) => {
|
|
300
300
|
const n = P(e.props?.product ?? e.props);
|
|
301
301
|
if (!n) return null;
|
|
302
|
-
const r = e.props?.index,
|
|
302
|
+
const r = e.props?.index, s = typeof r == "number" && Number.isFinite(r) ? r : 0, i = e.props?.discountType, a = i === "strike-through" || i === "badge" || i === "inline" ? i : t.discountType, d = {
|
|
303
303
|
product: n,
|
|
304
|
-
index:
|
|
304
|
+
index: s,
|
|
305
305
|
onClick: t.onClick,
|
|
306
306
|
onAddToCart: t.onAddToCart,
|
|
307
307
|
i18n: t.i18n
|
|
@@ -327,13 +327,13 @@ var G = {
|
|
|
327
327
|
};
|
|
328
328
|
typeof d.highlight == "string" && (l.highlight = d.highlight), r.push(l);
|
|
329
329
|
}
|
|
330
|
-
const
|
|
330
|
+
const s = {
|
|
331
331
|
groups: r,
|
|
332
332
|
onClick: t.onClick,
|
|
333
333
|
onAddToCart: t.onAddToCart,
|
|
334
334
|
i18n: t.i18n
|
|
335
|
-
},
|
|
336
|
-
return typeof
|
|
335
|
+
}, i = e.props?.columns;
|
|
336
|
+
return typeof i == "number" && Number.isFinite(i) && i > 0 ? s.columns = Math.floor(i) : typeof t.gridColumns == "number" && Number.isFinite(t.gridColumns) && t.gridColumns > 0 && (s.columns = Math.floor(t.gridColumns)), t.discountType !== void 0 && (s.discountType = t.discountType), t.renderCard !== void 0 && (s.renderCard = t.renderCard), t.renderCardElement !== void 0 && (s.renderCardElement = t.renderCardElement), t.onGroupingActivate !== void 0 && (s.onGroupingActivate = t.onGroupingActivate), ie(s);
|
|
337
337
|
},
|
|
338
338
|
EmptyState: ({ element: e, context: t }) => {
|
|
339
339
|
const n = document.createElement("div");
|
|
@@ -344,25 +344,25 @@ var G = {
|
|
|
344
344
|
AddToCartButton: ({ element: e, context: t }) => {
|
|
345
345
|
const n = e.props?.sku, r = e.props?.cartCode;
|
|
346
346
|
if (typeof n != "string" || typeof r != "string") return null;
|
|
347
|
-
const
|
|
348
|
-
|
|
349
|
-
const
|
|
350
|
-
return
|
|
347
|
+
const s = document.createElement("button");
|
|
348
|
+
s.className = "gengage-simrel-atc gengage-chat-product-card-cta", s.type = "button";
|
|
349
|
+
const i = e.props?.label;
|
|
350
|
+
return s.textContent = typeof i == "string" ? i : t.i18n.addToCartButton, s.addEventListener("click", (a) => {
|
|
351
351
|
a.preventDefault(), a.stopPropagation(), t.onAddToCart({
|
|
352
352
|
sku: n,
|
|
353
353
|
quantity: 1,
|
|
354
354
|
cartCode: r
|
|
355
355
|
});
|
|
356
|
-
}),
|
|
356
|
+
}), s;
|
|
357
357
|
},
|
|
358
358
|
QuickActions: ({ element: e, context: t }) => {
|
|
359
359
|
const n = document.createElement("div");
|
|
360
360
|
n.className = "gengage-simrel-quick-actions";
|
|
361
361
|
const r = e.props?.actions;
|
|
362
362
|
if (!Array.isArray(r) || !t.onAction) return n;
|
|
363
|
-
for (const
|
|
364
|
-
if (!
|
|
365
|
-
const
|
|
363
|
+
for (const s of r) {
|
|
364
|
+
if (!s || typeof s != "object") continue;
|
|
365
|
+
const i = s, a = i.label, d = se(i.action);
|
|
366
366
|
if (typeof a != "string" || !d) continue;
|
|
367
367
|
const m = document.createElement("button");
|
|
368
368
|
m.className = "gengage-simrel-quick-action", m.type = "button", m.textContent = a, m.addEventListener("click", (l) => {
|
|
@@ -375,8 +375,8 @@ var G = {
|
|
|
375
375
|
if (!e.children || e.children.length === 0) return null;
|
|
376
376
|
const n = document.createElement("div");
|
|
377
377
|
for (const r of e.children) {
|
|
378
|
-
const
|
|
379
|
-
|
|
378
|
+
const s = t(r);
|
|
379
|
+
s && n.appendChild(s);
|
|
380
380
|
}
|
|
381
381
|
return n;
|
|
382
382
|
};
|
|
@@ -514,15 +514,15 @@ var pe = class extends J {
|
|
|
514
514
|
this._abortController = t;
|
|
515
515
|
const n = t.signal;
|
|
516
516
|
let r = !1;
|
|
517
|
-
const
|
|
517
|
+
const s = setTimeout(() => {
|
|
518
518
|
r = !0, t.abort();
|
|
519
519
|
}, this._resolveRequestTimeoutMs());
|
|
520
|
-
if (n.addEventListener("abort", () => clearTimeout(
|
|
520
|
+
if (n.addEventListener("abort", () => clearTimeout(s), { once: !0 }), !this._contentEl) return;
|
|
521
521
|
this._contentEl.innerHTML = "", this._contentEl.style.display = "";
|
|
522
|
-
const
|
|
523
|
-
|
|
522
|
+
const i = document.createElement("div");
|
|
523
|
+
i.className = "gengage-simrel-loading", i.dataset.gengagePart = "simrel-loading";
|
|
524
524
|
const a = document.createElement("div");
|
|
525
|
-
a.className = "gengage-simrel-spinner", a.dataset.gengagePart = "simrel-loading-spinner",
|
|
525
|
+
a.className = "gengage-simrel-spinner", a.dataset.gengagePart = "simrel-loading-spinner", i.appendChild(a), this._contentEl.appendChild(i);
|
|
526
526
|
const d = { middlewareUrl: this.config.middlewareUrl }, m = X({
|
|
527
527
|
source: "simrel",
|
|
528
528
|
locale: this.config.locale
|
|
@@ -582,7 +582,7 @@ var pe = class extends J {
|
|
|
582
582
|
}), u.appendChild(y), this._contentEl.appendChild(u);
|
|
583
583
|
}
|
|
584
584
|
} finally {
|
|
585
|
-
clearTimeout(
|
|
585
|
+
clearTimeout(s), m();
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
588
|
_clampGridColumns(e) {
|
|
@@ -618,28 +618,28 @@ var pe = class extends J {
|
|
|
618
618
|
return n !== void 0 && (t.gridColumns = n), t;
|
|
619
619
|
}
|
|
620
620
|
_renderUISpec(e) {
|
|
621
|
-
const t = this._resolveUISpecRegistry(), n = this._buildRenderContext(), r = this.config.renderer?.unknownRenderer ?? O,
|
|
622
|
-
return
|
|
621
|
+
const t = this._resolveUISpecRegistry(), n = this._buildRenderContext(), r = this.config.renderer?.unknownRenderer ?? O, s = (a, d) => ae(a, d, t, r), i = this.config.renderer?.renderUISpec;
|
|
622
|
+
return i ? i(e, n, {
|
|
623
623
|
registry: t,
|
|
624
624
|
unknownRenderer: r,
|
|
625
|
-
defaultRender:
|
|
626
|
-
}) :
|
|
625
|
+
defaultRender: s
|
|
626
|
+
}) : s(e, n);
|
|
627
627
|
}
|
|
628
628
|
_buildProductsSpec(e) {
|
|
629
629
|
const t = {}, n = [];
|
|
630
|
-
for (let
|
|
631
|
-
const a = e[
|
|
630
|
+
for (let i = 0; i < e.length; i++) {
|
|
631
|
+
const a = e[i], d = `product-${i}`;
|
|
632
632
|
n.push(d), t[d] = {
|
|
633
633
|
type: "ProductCard",
|
|
634
634
|
props: {
|
|
635
635
|
product: a,
|
|
636
|
-
index:
|
|
636
|
+
index: i,
|
|
637
637
|
discountType: this.config.discountType
|
|
638
638
|
}
|
|
639
639
|
};
|
|
640
640
|
}
|
|
641
|
-
const r = { layout: "grid" },
|
|
642
|
-
return
|
|
641
|
+
const r = { layout: "grid" }, s = this._clampGridColumns(this.config.gridColumns);
|
|
642
|
+
return s !== void 0 && (r.columns = s), t.root = {
|
|
643
643
|
type: "ProductGrid",
|
|
644
644
|
props: r,
|
|
645
645
|
children: n
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A as m, D as h, _ as u, j as f, v as p } from "./context-BBuSsXZ9.js";
|
|
2
|
-
import { t as b } from "./widget-base-
|
|
2
|
+
import { t as b } from "./widget-base-DTsBXrHi.js";
|
|
3
3
|
import { t as y } from "./locale-CfqNifrU.js";
|
|
4
4
|
var g = { findSimilarLabel: "Benzerlerini Bul" }, _ = { findSimilarLabel: "Find Similar" };
|
|
5
5
|
function S(t, n) {
|
package/dist/simbut.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:8px 14px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.5}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}.gengage-simbut-root{box-sizing:border-box;pointer-events:none;font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px);margin:0;padding:0;overflow:visible}.gengage-simbut-root .gengage-chat-find-similar-pill{z-index:5;border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-pill,var(--gengage-qna-pill-radius,999px));background:var(--ds-button-primary-bg);min-height:32px;color:var(--ds-button-primary-fg);letter-spacing:.01em;white-space:nowrap;cursor:pointer;opacity:1;pointer-events:auto;box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.25;transition:filter .14s,transform .12s,opacity .2s,box-shadow .14s;display:inline-flex;position:absolute;top:8px;right:8px}.gengage-simbut-root .gengage-chat-find-similar-pill:not(:disabled):hover{background:var(--ds-button-primary-bg-hover);box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-simbut-root .gengage-chat-find-similar-pill:not(:disabled):active{filter:brightness(.98);transform:translateY(0)scale(.988)}.gengage-simbut-root .gengage-chat-find-similar-pill:focus-visible{outline:2px solid var(--client-primary);outline-offset:2px}.gengage-simbut-root .gengage-chat-find-similar-pill:disabled{opacity:.5;cursor:not-allowed;filter:none;box-shadow:none;transform:none}.gengage-simbut-root--inline-card{pointer-events:auto;width:100%;overflow:visible}.gengage-simbut-inline-card{box-sizing:border-box;align-items:start;gap:var(--gengage-simbut-inline-gap,16px);min-height:var(--gengage-simbut-inline-min-height,0);margin:var(--gengage-simbut-inline-margin,30px 0 0);padding:var(--gengage-simbut-inline-padding,20px 24px);border:var(--gengage-simbut-inline-border,0);border-radius:var(--gengage-simbut-inline-radius,6px);background:var(--gengage-simbut-inline-bg,#f6f6f6);color:var(--gengage-simbut-inline-color,var(--text-primary,#242424));pointer-events:auto;grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative;overflow:visible}.gengage-simbut-inline-copy{min-width:0;padding-right:var(--gengage-simbut-inline-copy-padding-right,100px)}.gengage-simbut-inline-title{margin:var(--gengage-simbut-inline-title-margin,0 0 8px);color:var(--gengage-simbut-inline-title-color,var(--text-primary,#000));font-family:inherit;font-size:var(--gengage-simbut-inline-title-font-size,20px);font-weight:var(--gengage-simbut-inline-title-font-weight,700);line-height:var(--gengage-simbut-inline-title-line-height,1.25);letter-spacing:0}.gengage-simbut-inline-description{margin:var(--gengage-simbut-inline-description-margin,0);max-width:var(--gengage-simbut-inline-description-max-width,560px);color:var(--gengage-simbut-inline-description-color,var(--text-secondary,#4b5563));font-family:inherit;font-size:var(--gengage-simbut-inline-description-font-size,14px);font-weight:var(--gengage-simbut-inline-description-font-weight,400);line-height:var(--gengage-simbut-inline-description-line-height,1.45);letter-spacing:0}.gengage-simbut-inline-action{min-width:0;margin-top:var(--gengage-simbut-inline-action-margin-top,16px);grid-column:1}.gengage-simbut-inline-image{right:var(--gengage-simbut-inline-image-right,0);bottom:var(--gengage-simbut-inline-image-bottom,-5px);width:var(--gengage-simbut-inline-image-width,180px);max-width:var(--gengage-simbut-inline-image-max-width,42%);height:var(--gengage-simbut-inline-image-height,180px);object-fit:contain;pointer-events:none;position:absolute}.gengage-simbut-root--inline-card .gengage-chat-find-similar-pill{z-index:1;width:var(--gengage-simbut-inline-button-width,200px);max-width:100%;min-height:var(--gengage-simbut-inline-button-min-height,44px);padding:var(--gengage-simbut-inline-button-padding,0 20px);border:var(--gengage-simbut-inline-button-border,0);border-radius:var(--gengage-simbut-inline-button-radius,25px);background:var(--gengage-simbut-inline-button-bg,var(--ds-button-primary-bg));color:var(--gengage-simbut-inline-button-fg,var(--ds-button-primary-fg));font-size:var(--gengage-simbut-inline-button-font-size,12px);font-weight:var(--gengage-simbut-inline-button-font-weight,700);letter-spacing:0;box-shadow:var(--gengage-simbut-inline-button-shadow,none);position:static;inset:auto}.gengage-simbut-root--inline-card .gengage-chat-find-similar-pill:not(:disabled):hover{background:var(--gengage-simbut-inline-button-bg-hover,var(--ds-button-primary-bg-hover));box-shadow:var(--gengage-simbut-inline-button-shadow-hover,none)}@media (width<=1025px){.gengage-simbut-inline-card{padding:var(--gengage-simbut-inline-padding-compact,20px 18px)}.gengage-simbut-inline-copy{padding-right:var(--gengage-simbut-inline-copy-padding-right-compact,78px)}.gengage-simbut-inline-image{width:var(--gengage-simbut-inline-image-width-compact,140px);height:var(--gengage-simbut-inline-image-height-compact,140px)}.gengage-simbut-root--inline-card .gengage-chat-find-similar-pill{width:var(--gengage-simbut-inline-button-width-compact,150px)}}@media (prefers-reduced-motion:reduce){.gengage-simbut-inline-card,.gengage-simbut-root--inline-card .gengage-chat-find-similar-pill{transition:none!important;transform:none!important}}
|
|
1
|
+
:where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;min-height:44px;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:0 16px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;min-height:48px;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;align-self:center;font-size:13px;line-height:1.35;display:block}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;min-height:20px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}.gengage-simbut-root{box-sizing:border-box;pointer-events:none;font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px);margin:0;padding:0;overflow:visible}.gengage-simbut-root .gengage-chat-find-similar-pill{z-index:5;border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-pill,var(--gengage-qna-pill-radius,999px));background:var(--ds-button-primary-bg);min-height:32px;color:var(--ds-button-primary-fg);letter-spacing:.01em;white-space:nowrap;cursor:pointer;opacity:1;pointer-events:auto;box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.25;transition:filter .14s,transform .12s,opacity .2s,box-shadow .14s;display:inline-flex;position:absolute;top:8px;right:8px}.gengage-simbut-root .gengage-chat-find-similar-pill:not(:disabled):hover{background:var(--ds-button-primary-bg-hover);box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-simbut-root .gengage-chat-find-similar-pill:not(:disabled):active{filter:brightness(.98);transform:translateY(0)scale(.988)}.gengage-simbut-root .gengage-chat-find-similar-pill:focus-visible{outline:2px solid var(--client-primary);outline-offset:2px}.gengage-simbut-root .gengage-chat-find-similar-pill:disabled{opacity:.5;cursor:not-allowed;filter:none;box-shadow:none;transform:none}.gengage-simbut-root--inline-card{pointer-events:auto;width:100%;overflow:visible}.gengage-simbut-inline-card{box-sizing:border-box;align-items:start;gap:var(--gengage-simbut-inline-gap,16px);min-height:var(--gengage-simbut-inline-min-height,0);margin:var(--gengage-simbut-inline-margin,30px 0 0);padding:var(--gengage-simbut-inline-padding,20px 24px);border:var(--gengage-simbut-inline-border,0);border-radius:var(--gengage-simbut-inline-radius,6px);background:var(--gengage-simbut-inline-bg,#f6f6f6);color:var(--gengage-simbut-inline-color,var(--text-primary,#242424));pointer-events:auto;grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative;overflow:visible}.gengage-simbut-inline-copy{min-width:0;padding-right:var(--gengage-simbut-inline-copy-padding-right,100px)}.gengage-simbut-inline-title{margin:var(--gengage-simbut-inline-title-margin,0 0 8px);color:var(--gengage-simbut-inline-title-color,var(--text-primary,#000));font-family:inherit;font-size:var(--gengage-simbut-inline-title-font-size,20px);font-weight:var(--gengage-simbut-inline-title-font-weight,700);line-height:var(--gengage-simbut-inline-title-line-height,1.25);letter-spacing:0}.gengage-simbut-inline-description{margin:var(--gengage-simbut-inline-description-margin,0);max-width:var(--gengage-simbut-inline-description-max-width,560px);color:var(--gengage-simbut-inline-description-color,var(--text-secondary,#4b5563));font-family:inherit;font-size:var(--gengage-simbut-inline-description-font-size,14px);font-weight:var(--gengage-simbut-inline-description-font-weight,400);line-height:var(--gengage-simbut-inline-description-line-height,1.45);letter-spacing:0}.gengage-simbut-inline-action{min-width:0;margin-top:var(--gengage-simbut-inline-action-margin-top,16px);grid-column:1}.gengage-simbut-inline-image{right:var(--gengage-simbut-inline-image-right,0);bottom:var(--gengage-simbut-inline-image-bottom,-5px);width:var(--gengage-simbut-inline-image-width,180px);max-width:var(--gengage-simbut-inline-image-max-width,42%);height:var(--gengage-simbut-inline-image-height,180px);object-fit:contain;pointer-events:none;position:absolute}.gengage-simbut-root--inline-card .gengage-chat-find-similar-pill{z-index:1;width:var(--gengage-simbut-inline-button-width,200px);max-width:100%;min-height:var(--gengage-simbut-inline-button-min-height,44px);padding:var(--gengage-simbut-inline-button-padding,0 20px);border:var(--gengage-simbut-inline-button-border,0);border-radius:var(--gengage-simbut-inline-button-radius,25px);background:var(--gengage-simbut-inline-button-bg,var(--ds-button-primary-bg));color:var(--gengage-simbut-inline-button-fg,var(--ds-button-primary-fg));font-size:var(--gengage-simbut-inline-button-font-size,12px);font-weight:var(--gengage-simbut-inline-button-font-weight,700);letter-spacing:0;box-shadow:var(--gengage-simbut-inline-button-shadow,none);position:static;inset:auto}.gengage-simbut-root--inline-card .gengage-chat-find-similar-pill:not(:disabled):hover{background:var(--gengage-simbut-inline-button-bg-hover,var(--ds-button-primary-bg-hover));box-shadow:var(--gengage-simbut-inline-button-shadow-hover,none)}@media (width<=1025px){.gengage-simbut-inline-card{padding:var(--gengage-simbut-inline-padding-compact,20px 18px)}.gengage-simbut-inline-copy{padding-right:var(--gengage-simbut-inline-copy-padding-right-compact,78px)}.gengage-simbut-inline-image{width:var(--gengage-simbut-inline-image-width-compact,140px);height:var(--gengage-simbut-inline-image-height-compact,140px)}.gengage-simbut-root--inline-card .gengage-chat-find-similar-pill{width:var(--gengage-simbut-inline-button-width-compact,150px)}}@media (prefers-reduced-motion:reduce){.gengage-simbut-inline-card,.gengage-simbut-root--inline-card .gengage-chat-find-similar-pill{transition:none!important;transform:none!important}}
|
package/dist/simbut.iife.js
CHANGED
|
@@ -44,4 +44,4 @@
|
|
|
44
44
|
transform: translateY(0);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
`,document.head.appendChild(e)}var f=null;function Y(){if(f!==null)return f;try{f=localStorage.getItem("gengage:debug")==="1"}catch{f=!1}return f}function S(e,t,i){if(!Y())return;const n=[`[gengage:${e}]`,t];i!==void 0&&n.push(i),console.debug(...n)}var j=("0.5.
|
|
47
|
+
`,document.head.appendChild(e)}var f=null;function Y(){if(f!==null)return f;try{f=localStorage.getItem("gengage:debug")==="1"}catch{f=!1}return f}function S(e,t,i){if(!Y())return;const n=[`[gengage:${e}]`,t];i!==void 0&&n.push(i),console.debug(...n)}var j=("0.5.4".trim(),"0.5.4".trim()),J=("iife-build".trim(),"iife-build".trim());function K(){if(typeof window>"u")return;const e=window;e.__gengageSdkRuntimeInfoLogged||(e.__gengageSdkRuntimeInfoLogged=!0,console.info(`[gengage] @gengage/assistant-fe v${j} (${J})`))}var Q=class{constructor(){this.isVisible=!1,this.isInitialised=!1,this._handlers=new Map,this._cleanups=[],this._ownsRoot=!1,this._destroying=!1}async init(e){if(this.isInitialised){console.warn("[gengage] Widget already initialised. Call update() instead.");return}const t=U(e.theme);K(),this.config={...e,theme:t,session:N(e.session)},this.root=this._resolveMount(e.mountTarget),this._applyTheme(t),O();const i=x("gengage:context:update",n=>this.update(n));this._cleanups.push(i),S("lifecycle",`${this.constructor.name}.init`,{accountId:e.accountId,sku:e.pageContext?.sku});try{await this.onInit(this.config)}catch(n){throw this.destroy(),n}this._destroying||(this.isInitialised=!0,S("lifecycle",`${this.constructor.name} ready`),this.emit("ready"))}update(e){this.isInitialised&&(this.config.pageContext?this.config={...this.config,pageContext:{...this.config.pageContext,...e}}:e.pageType!==void 0&&(this.config={...this.config,pageContext:e}),this.onUpdate(e),this.emit("context-update",this.config.pageContext))}show(){this.isVisible||(this.isVisible=!0,this.root.style.display="",this.onShow(),this.emit("show"))}hide(){this.isVisible&&(this.isVisible=!1,this.root.style.display="none",this.onHide(),this.emit("hide"))}destroy(){this._destroying||(this._destroying=!0,this.emit("destroy"),this._cleanups.forEach(e=>e()),this._cleanups.length=0,this._handlers.clear(),this.onDestroy(),this._cleanupRoot(),this.isInitialised=!1)}_cleanupRoot(){this._ownsRoot?this.root.remove():this.root.innerHTML=""}on(e,t){return this._handlers.has(e)||this._handlers.set(e,new Set),this._handlers.get(e).add(t),()=>this._handlers.get(e)?.delete(t)}emit(e,...t){this._handlers.get(e)?.forEach(i=>i(...t))}addCleanup(e){this._cleanups.push(e)}_resolveMount(e){if(e instanceof HTMLElement)return e;if(typeof e=="string"){const i=document.querySelector(e);if(!i)throw new Error(`[gengage] Mount target not found: "${e}"`);return i}const t=document.createElement("div");return t.dataset.gengageWidget=this.constructor.name.toLowerCase(),document.body.insertBefore(t,document.body.firstChild),this._ownsRoot=!0,t}_applyTheme(e){if(e){for(const[t,i]of Object.entries(e))if(i!==void 0){const n=t.startsWith("--")?t:`--gengage-${X(t)}`;this.root.style.setProperty(n,i)}}}};function X(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function Z(e){const t=e?.trim();return t||"tr"}var C={findSimilarLabel:"Benzerlerini Bul"},ee={findSimilarLabel:"Find Similar"};function te(e,t){return t?.findSimilarLabel?t.findSimilarLabel:(e??"tr").toLowerCase().startsWith("en")?ee.findSimilarLabel:C.findSimilarLabel}function h(e){const t=typeof e.sku=="string"&&e.sku.length>0?e.sku:void 0,i=typeof e.pageContext?.sku=="string"&&e.pageContext.sku.length>0?e.pageContext.sku:void 0;return t??i}var E=class extends Q{constructor(...e){super(...e),this._button=null,this._inlineFrame=null,this._label=C.findSimilarLabel}async onInit(e){this._label=te(e.locale,e.i18n);const t=e.layout??"overlay";this.root.classList.add("gengage-simbut-root"),this.root.classList.toggle("gengage-simbut-root--overlay",t==="overlay"),this.root.classList.toggle("gengage-simbut-root--inline-card",t==="inline-card"),t==="overlay"&&window.getComputedStyle(this.root).position==="static"&&(this.root.style.position="relative");const i=document.createElement("button");i.type="button",i.className="gengage-chat-find-similar-pill",i.lang=Z(e.locale),i.textContent=this._label,this._button=i;const n=()=>{i.disabled=!(h(this.config)&&(this.config.onFindSimilar||this.config.chat))};if(i.addEventListener("click",r=>{r.stopPropagation();const s=h(this.config);if(!s)return;const o=this.config.imageUrl,g=typeof o=="string"&&L(o)?o:void 0;if(F(this._label,"findSimilar"),R(s),this.config.onFindSimilar){this.config.onFindSimilar(g?{sku:s,imageUrl:g}:{sku:s});return}const u=this.config.chat;if(!u)return;const a={title:this._label,type:"findSimilar",payload:{sku:s}};u.openWithAction(a,{sku:s})}),t==="inline-card"){const r=this._createInlineCard(e,i);this._inlineFrame=r,this.root.appendChild(r)}else this.root.appendChild(i);n(),k("simbut")}_createInlineCard(e,t){const i=e.inlineCard,n=typeof i?.title=="string"?i.title.trim():"",r=typeof i?.description=="string"?i.description.trim():"",s=typeof i?.imageUrl=="string"?i.imageUrl.trim():"",o=document.createElement("section");o.className="gengage-simbut-inline-card",o.dataset.gengagePart="simbut-inline-card";const g=document.createElement("div");if(g.className="gengage-simbut-inline-copy",g.dataset.gengagePart="simbut-inline-copy",n){const a=document.createElement("h4");a.className="gengage-simbut-inline-title",a.dataset.gengagePart="simbut-inline-title",a.textContent=n,g.appendChild(a)}if(r){const a=document.createElement("p");a.className="gengage-simbut-inline-description",a.dataset.gengagePart="simbut-inline-description",a.textContent=r,g.appendChild(a)}g.children.length>0&&o.appendChild(g);const u=document.createElement("div");if(u.className="gengage-simbut-inline-action",u.dataset.gengagePart="simbut-inline-action",u.appendChild(t),o.appendChild(u),s&&I(s)){const a=document.createElement("img");a.className="gengage-simbut-inline-image",a.dataset.gengagePart="simbut-inline-image",a.src=s,a.alt=typeof i?.imageAlt=="string"?i.imageAlt:"",a.loading="lazy",a.addEventListener("error",()=>{a.style.display="none"},{once:!0}),o.appendChild(a)}return o}onUpdate(e){if(!this._button)return;const t=!!h(this.config)&&(!!this.config.onFindSimilar||!!this.config.chat);this._button.disabled=!t}hide(){this.isVisible&&(this.isVisible=!1,this._inlineFrame&&(this._inlineFrame.style.display="none"),this._button&&(this._button.style.display="none"),this.onHide(),this.emit("hide"))}show(){this.isVisible||(this.isVisible=!0,this._inlineFrame&&(this._inlineFrame.style.display=""),this._button&&(this._button.style.display=""),this.onShow(),this.emit("show"))}_cleanupRoot(){}onShow(){}onHide(){}onDestroy(){this._inlineFrame?.remove(),this._inlineFrame=null,this._button?.remove(),this._button=null}setChat(e){if(this.config.chat=e,this._button){const t=!!h(this.config)&&(!!this.config.onFindSimilar||!!this.config.chat);this._button.disabled=!t}}};function ie(){return new E}m.GengageSimBut=E,m.createSimButWidget=ie})(this.Gengage=this.Gengage||{});
|
package/dist/simbut.js
CHANGED