@ronak27/superwise-chatbot-package 1.0.2 → 1.0.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/react-chatbot.es.js
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
import
|
|
2
|
-
var
|
|
1
|
+
import ie, { memo as ne, useState as C, useEffect as N, useRef as ee, useMemo as le, useCallback as J } from "react";
|
|
2
|
+
var Z = { exports: {} }, B = {};
|
|
3
3
|
var te;
|
|
4
|
-
function
|
|
5
|
-
if (te) return
|
|
4
|
+
function ce() {
|
|
5
|
+
if (te) return B;
|
|
6
6
|
te = 1;
|
|
7
|
-
var
|
|
8
|
-
function w(x,
|
|
9
|
-
var
|
|
10
|
-
if (f !== void 0 && (
|
|
7
|
+
var s = /* @__PURE__ */ Symbol.for("react.transitional.element"), i = /* @__PURE__ */ Symbol.for("react.fragment");
|
|
8
|
+
function w(x, n, f) {
|
|
9
|
+
var p = null;
|
|
10
|
+
if (f !== void 0 && (p = "" + f), n.key !== void 0 && (p = "" + n.key), "key" in n) {
|
|
11
11
|
f = {};
|
|
12
|
-
for (var l in
|
|
13
|
-
l !== "key" && (f[l] =
|
|
14
|
-
} else f =
|
|
15
|
-
return
|
|
16
|
-
$$typeof:
|
|
12
|
+
for (var l in n)
|
|
13
|
+
l !== "key" && (f[l] = n[l]);
|
|
14
|
+
} else f = n;
|
|
15
|
+
return n = f.ref, {
|
|
16
|
+
$$typeof: s,
|
|
17
17
|
type: x,
|
|
18
|
-
key:
|
|
19
|
-
ref:
|
|
18
|
+
key: p,
|
|
19
|
+
ref: n !== void 0 ? n : null,
|
|
20
20
|
props: f
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
return
|
|
23
|
+
return B.Fragment = i, B.jsx = w, B.jsxs = w, B;
|
|
24
24
|
}
|
|
25
|
-
var
|
|
25
|
+
var z = {};
|
|
26
26
|
var re;
|
|
27
|
-
function
|
|
27
|
+
function de() {
|
|
28
28
|
return re || (re = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
29
|
-
function
|
|
29
|
+
function s(e) {
|
|
30
30
|
if (e == null) return null;
|
|
31
31
|
if (typeof e == "function")
|
|
32
|
-
return e.$$typeof ===
|
|
32
|
+
return e.$$typeof === q ? null : e.displayName || e.name || null;
|
|
33
33
|
if (typeof e == "string") return e;
|
|
34
34
|
switch (e) {
|
|
35
|
-
case
|
|
35
|
+
case S:
|
|
36
36
|
return "Fragment";
|
|
37
|
-
case
|
|
37
|
+
case X:
|
|
38
38
|
return "Profiler";
|
|
39
|
-
case
|
|
39
|
+
case O:
|
|
40
40
|
return "StrictMode";
|
|
41
|
-
case
|
|
41
|
+
case _:
|
|
42
42
|
return "Suspense";
|
|
43
43
|
case V:
|
|
44
44
|
return "SuspenseList";
|
|
45
|
-
case
|
|
45
|
+
case $:
|
|
46
46
|
return "Activity";
|
|
47
47
|
}
|
|
48
48
|
if (typeof e == "object")
|
|
49
49
|
switch (typeof e.tag == "number" && console.error(
|
|
50
50
|
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
51
51
|
), e.$$typeof) {
|
|
52
|
-
case
|
|
52
|
+
case P:
|
|
53
53
|
return "Portal";
|
|
54
|
-
case
|
|
54
|
+
case F:
|
|
55
55
|
return e.displayName || "Context";
|
|
56
|
-
case
|
|
56
|
+
case I:
|
|
57
57
|
return (e._context.displayName || "Context") + ".Consumer";
|
|
58
|
-
case
|
|
58
|
+
case U:
|
|
59
59
|
var r = e.render;
|
|
60
60
|
return e = e.displayName, e || (e = r.displayName || r.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
61
|
-
case
|
|
62
|
-
return r = e.displayName || null, r !== null ? r :
|
|
63
|
-
case
|
|
61
|
+
case T:
|
|
62
|
+
return r = e.displayName || null, r !== null ? r : s(e.type) || "Memo";
|
|
63
|
+
case R:
|
|
64
64
|
r = e._payload, e = e._init;
|
|
65
65
|
try {
|
|
66
|
-
return
|
|
66
|
+
return s(e(r));
|
|
67
67
|
} catch {
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -90,25 +90,25 @@ function ce() {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
function x(e) {
|
|
93
|
-
if (e ===
|
|
94
|
-
if (typeof e == "object" && e !== null && e.$$typeof ===
|
|
93
|
+
if (e === S) return "<>";
|
|
94
|
+
if (typeof e == "object" && e !== null && e.$$typeof === R)
|
|
95
95
|
return "<...>";
|
|
96
96
|
try {
|
|
97
|
-
var r =
|
|
97
|
+
var r = s(e);
|
|
98
98
|
return r ? "<" + r + ">" : "<...>";
|
|
99
99
|
} catch {
|
|
100
100
|
return "<...>";
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
function
|
|
104
|
-
var e =
|
|
103
|
+
function n() {
|
|
104
|
+
var e = H.A;
|
|
105
105
|
return e === null ? null : e.getOwner();
|
|
106
106
|
}
|
|
107
107
|
function f() {
|
|
108
108
|
return Error("react-stack-top-frame");
|
|
109
109
|
}
|
|
110
|
-
function
|
|
111
|
-
if (
|
|
110
|
+
function p(e) {
|
|
111
|
+
if (D.call(e, "key")) {
|
|
112
112
|
var r = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
113
113
|
if (r && r.isReactWarning) return !1;
|
|
114
114
|
}
|
|
@@ -116,7 +116,7 @@ function ce() {
|
|
|
116
116
|
}
|
|
117
117
|
function l(e, r) {
|
|
118
118
|
function d() {
|
|
119
|
-
|
|
119
|
+
K || (K = !0, console.error(
|
|
120
120
|
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
121
121
|
r
|
|
122
122
|
));
|
|
@@ -127,15 +127,15 @@ function ce() {
|
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
129
|
function c() {
|
|
130
|
-
var e =
|
|
131
|
-
return
|
|
130
|
+
var e = s(this.type);
|
|
131
|
+
return G[e] || (G[e] = !0, console.error(
|
|
132
132
|
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
133
133
|
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function u(e, r, d, g, v, M) {
|
|
136
136
|
var h = d.ref;
|
|
137
137
|
return e = {
|
|
138
|
-
$$typeof:
|
|
138
|
+
$$typeof: b,
|
|
139
139
|
type: e,
|
|
140
140
|
key: r,
|
|
141
141
|
props: d,
|
|
@@ -157,19 +157,19 @@ function ce() {
|
|
|
157
157
|
configurable: !1,
|
|
158
158
|
enumerable: !1,
|
|
159
159
|
writable: !0,
|
|
160
|
-
value:
|
|
160
|
+
value: v
|
|
161
161
|
}), Object.defineProperty(e, "_debugTask", {
|
|
162
162
|
configurable: !1,
|
|
163
163
|
enumerable: !1,
|
|
164
164
|
writable: !0,
|
|
165
|
-
value:
|
|
165
|
+
value: M
|
|
166
166
|
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
167
167
|
}
|
|
168
|
-
function
|
|
168
|
+
function m(e, r, d, g, v, M) {
|
|
169
169
|
var h = r.children;
|
|
170
170
|
if (h !== void 0)
|
|
171
171
|
if (g)
|
|
172
|
-
if (
|
|
172
|
+
if (Q(h)) {
|
|
173
173
|
for (g = 0; g < h.length; g++)
|
|
174
174
|
y(h[g]);
|
|
175
175
|
Object.freeze && Object.freeze(h);
|
|
@@ -178,12 +178,12 @@ function ce() {
|
|
|
178
178
|
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
179
179
|
);
|
|
180
180
|
else y(h);
|
|
181
|
-
if (
|
|
182
|
-
h =
|
|
183
|
-
var
|
|
184
|
-
return
|
|
181
|
+
if (D.call(r, "key")) {
|
|
182
|
+
h = s(e);
|
|
183
|
+
var k = Object.keys(r).filter(function(ae) {
|
|
184
|
+
return ae !== "key";
|
|
185
185
|
});
|
|
186
|
-
g = 0 <
|
|
186
|
+
g = 0 < k.length ? "{key: someKey, " + k.join(": ..., ") + ": ...}" : "{key: someKey}", o[h + g] || (k = 0 < k.length ? "{" + k.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
187
187
|
`A props object containing a "key" prop is being spread into JSX:
|
|
188
188
|
let props = %s;
|
|
189
189
|
<%s {...props} />
|
|
@@ -192,83 +192,83 @@ React keys must be passed directly to JSX without using spread:
|
|
|
192
192
|
<%s key={someKey} {...props} />`,
|
|
193
193
|
g,
|
|
194
194
|
h,
|
|
195
|
-
|
|
195
|
+
k,
|
|
196
196
|
h
|
|
197
197
|
), o[h + g] = !0);
|
|
198
198
|
}
|
|
199
|
-
if (h = null, d !== void 0 && (w(d), h = "" + d),
|
|
199
|
+
if (h = null, d !== void 0 && (w(d), h = "" + d), p(r) && (w(r.key), h = "" + r.key), "key" in r) {
|
|
200
200
|
d = {};
|
|
201
|
-
for (var
|
|
202
|
-
|
|
201
|
+
for (var L in r)
|
|
202
|
+
L !== "key" && (d[L] = r[L]);
|
|
203
203
|
} else d = r;
|
|
204
204
|
return h && l(
|
|
205
205
|
d,
|
|
206
206
|
typeof e == "function" ? e.displayName || e.name || "Unknown" : e
|
|
207
|
-
),
|
|
207
|
+
), u(
|
|
208
208
|
e,
|
|
209
209
|
h,
|
|
210
210
|
d,
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
211
|
+
n(),
|
|
212
|
+
v,
|
|
213
|
+
M
|
|
214
214
|
);
|
|
215
215
|
}
|
|
216
216
|
function y(e) {
|
|
217
|
-
|
|
217
|
+
E(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === R && (e._payload.status === "fulfilled" ? E(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
|
|
218
218
|
}
|
|
219
|
-
function
|
|
220
|
-
return typeof e == "object" && e !== null && e.$$typeof ===
|
|
219
|
+
function E(e) {
|
|
220
|
+
return typeof e == "object" && e !== null && e.$$typeof === b;
|
|
221
221
|
}
|
|
222
|
-
var
|
|
222
|
+
var A = ie, b = /* @__PURE__ */ Symbol.for("react.transitional.element"), P = /* @__PURE__ */ Symbol.for("react.portal"), S = /* @__PURE__ */ Symbol.for("react.fragment"), O = /* @__PURE__ */ Symbol.for("react.strict_mode"), X = /* @__PURE__ */ Symbol.for("react.profiler"), I = /* @__PURE__ */ Symbol.for("react.consumer"), F = /* @__PURE__ */ Symbol.for("react.context"), U = /* @__PURE__ */ Symbol.for("react.forward_ref"), _ = /* @__PURE__ */ Symbol.for("react.suspense"), V = /* @__PURE__ */ Symbol.for("react.suspense_list"), T = /* @__PURE__ */ Symbol.for("react.memo"), R = /* @__PURE__ */ Symbol.for("react.lazy"), $ = /* @__PURE__ */ Symbol.for("react.activity"), q = /* @__PURE__ */ Symbol.for("react.client.reference"), H = A.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, D = Object.prototype.hasOwnProperty, Q = Array.isArray, j = console.createTask ? console.createTask : function() {
|
|
223
223
|
return null;
|
|
224
224
|
};
|
|
225
|
-
|
|
225
|
+
A = {
|
|
226
226
|
react_stack_bottom_frame: function(e) {
|
|
227
227
|
return e();
|
|
228
228
|
}
|
|
229
229
|
};
|
|
230
|
-
var
|
|
231
|
-
|
|
230
|
+
var K, G = {}, W = A.react_stack_bottom_frame.bind(
|
|
231
|
+
A,
|
|
232
232
|
f
|
|
233
|
-
)(),
|
|
234
|
-
|
|
235
|
-
var g = 1e4 >
|
|
236
|
-
return
|
|
233
|
+
)(), Y = j(x(f)), o = {};
|
|
234
|
+
z.Fragment = S, z.jsx = function(e, r, d) {
|
|
235
|
+
var g = 1e4 > H.recentlyCreatedOwnerStacks++;
|
|
236
|
+
return m(
|
|
237
237
|
e,
|
|
238
238
|
r,
|
|
239
239
|
d,
|
|
240
240
|
!1,
|
|
241
|
-
g ? Error("react-stack-top-frame") :
|
|
242
|
-
g ?
|
|
241
|
+
g ? Error("react-stack-top-frame") : W,
|
|
242
|
+
g ? j(x(e)) : Y
|
|
243
243
|
);
|
|
244
|
-
},
|
|
245
|
-
var g = 1e4 >
|
|
246
|
-
return
|
|
244
|
+
}, z.jsxs = function(e, r, d) {
|
|
245
|
+
var g = 1e4 > H.recentlyCreatedOwnerStacks++;
|
|
246
|
+
return m(
|
|
247
247
|
e,
|
|
248
248
|
r,
|
|
249
249
|
d,
|
|
250
250
|
!0,
|
|
251
|
-
g ? Error("react-stack-top-frame") :
|
|
252
|
-
g ?
|
|
251
|
+
g ? Error("react-stack-top-frame") : W,
|
|
252
|
+
g ? j(x(e)) : Y
|
|
253
253
|
);
|
|
254
254
|
};
|
|
255
|
-
})()),
|
|
255
|
+
})()), z;
|
|
256
256
|
}
|
|
257
257
|
var oe;
|
|
258
|
-
function
|
|
259
|
-
return oe || (oe = 1, process.env.NODE_ENV === "production" ?
|
|
258
|
+
function pe() {
|
|
259
|
+
return oe || (oe = 1, process.env.NODE_ENV === "production" ? Z.exports = ce() : Z.exports = de()), Z.exports;
|
|
260
260
|
}
|
|
261
|
-
var t =
|
|
262
|
-
async function ue(
|
|
263
|
-
const f = "https://sage-api-ttyw-stage.superwise.ai/api/v1/chat",
|
|
261
|
+
var t = pe();
|
|
262
|
+
async function ue(s, i = [], w = [], x = "", n = "") {
|
|
263
|
+
const f = "https://sage-api-ttyw-stage.superwise.ai/api/v1/chat", p = Array.isArray(i) ? i.map((c) => ({
|
|
264
264
|
role: c.role,
|
|
265
265
|
message: c.content != null ? c.content : ""
|
|
266
266
|
})) : [], l = {
|
|
267
|
-
user_input:
|
|
268
|
-
chat_history:
|
|
267
|
+
user_input: s,
|
|
268
|
+
chat_history: p,
|
|
269
269
|
mql_df: Array.isArray(w) ? w : [],
|
|
270
270
|
agent_id: x,
|
|
271
|
-
discovery_agent_id:
|
|
271
|
+
discovery_agent_id: n,
|
|
272
272
|
utm_source: "Web",
|
|
273
273
|
utm_medium: "chatbot"
|
|
274
274
|
};
|
|
@@ -283,30 +283,30 @@ async function ue(n, i = [], w = [], x = "", s = "") {
|
|
|
283
283
|
body: JSON.stringify(l)
|
|
284
284
|
});
|
|
285
285
|
if (console.log("Response status:", c.status), console.log("Response headers:", c.headers), !c.ok) {
|
|
286
|
-
const
|
|
287
|
-
return console.error("API Error Response:",
|
|
286
|
+
const E = await c.text();
|
|
287
|
+
return console.error("API Error Response:", E), { reply: `❌ API Error ${c.status}: ${E}`, mqlDf: [] };
|
|
288
288
|
}
|
|
289
|
-
const
|
|
290
|
-
console.log("API Response Data:",
|
|
291
|
-
let
|
|
292
|
-
return
|
|
289
|
+
const u = await c.json();
|
|
290
|
+
console.log("API Response Data:", u);
|
|
291
|
+
let m = "⚠️ No reply from server.", y = [];
|
|
292
|
+
return u.chat_response ? m = u.chat_response : u.success && u.data?.chat_response ? m = u.data.chat_response : u.message && (m = u.message), u.mql_df ? y = u.mql_df : u.data?.mql_df && (y = u.data.mql_df), m.includes("Parameters:") && (m = m.split("Parameters:")[0].trim()), { reply: m, mqlDf: y };
|
|
293
293
|
} catch (c) {
|
|
294
294
|
return console.error("API call failed:", c), c.name === "TypeError" && c.message.includes("fetch") ? { reply: "⚠️ Network error. Please check your connection.", mqlDf: [] } : { reply: `⚠️ API request failed: ${c.message}`, mqlDf: [] };
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
|
-
async function me(
|
|
298
|
-
const x = "https://sage-api-ttyw-stage.superwise.ai/pdf",
|
|
297
|
+
async function me(s, i = null, w = []) {
|
|
298
|
+
const x = "https://sage-api-ttyw-stage.superwise.ai/pdf", n = Array.isArray(s) && s.length > 0 ? s[0] : i || {
|
|
299
299
|
name: "User",
|
|
300
300
|
email: "user@example.com",
|
|
301
301
|
summary: "Chat conversation summary"
|
|
302
302
|
}, f = Array.isArray(w) ? w.map((l) => ({
|
|
303
303
|
role: l.role,
|
|
304
304
|
message: l.content != null ? l.content : ""
|
|
305
|
-
})) : [],
|
|
306
|
-
lead_row:
|
|
305
|
+
})) : [], p = {
|
|
306
|
+
lead_row: n,
|
|
307
307
|
chat_history: f
|
|
308
308
|
};
|
|
309
|
-
console.log("Downloading PDF with payload:",
|
|
309
|
+
console.log("Downloading PDF with payload:", p);
|
|
310
310
|
try {
|
|
311
311
|
const l = await fetch(x, {
|
|
312
312
|
method: "POST",
|
|
@@ -314,14 +314,14 @@ async function me(n, i = null, w = []) {
|
|
|
314
314
|
"Content-Type": "application/json",
|
|
315
315
|
Accept: "application/pdf"
|
|
316
316
|
},
|
|
317
|
-
body: JSON.stringify(
|
|
317
|
+
body: JSON.stringify(p)
|
|
318
318
|
});
|
|
319
319
|
if (console.log("PDF Response status:", l.status), !l.ok) {
|
|
320
320
|
const y = await l.text();
|
|
321
321
|
throw console.error("PDF API Error Response:", y), new Error(`PDF API Error ${l.status}: ${y}`);
|
|
322
322
|
}
|
|
323
|
-
const c = await l.blob(),
|
|
324
|
-
return
|
|
323
|
+
const c = await l.blob(), u = window.URL.createObjectURL(c), m = document.createElement("a");
|
|
324
|
+
return m.href = u, m.download = `chatbot-report-${(/* @__PURE__ */ new Date()).toISOString().split("T")[0]}.pdf`, document.body.appendChild(m), m.click(), document.body.removeChild(m), window.URL.revokeObjectURL(u), !0;
|
|
325
325
|
} catch (l) {
|
|
326
326
|
throw console.error("PDF download failed:", l), l;
|
|
327
327
|
}
|
|
@@ -574,22 +574,22 @@ const a = {
|
|
|
574
574
|
fontWeight: "500",
|
|
575
575
|
margin: 0
|
|
576
576
|
}
|
|
577
|
-
};
|
|
578
|
-
function
|
|
579
|
-
return
|
|
577
|
+
}, se = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFT0lEQVR4Ab1YeYhVVRj/3fdmsdEYwamsRKMQqSgwoySMpmVQo5IZCtqIklZbyD+iTWIiMqQCqz+sIAULyhZbDCqoaLHCIktJa5pcKismyxnG2Zx37z3+vnPOnblz37l3rm8cPzjc8876Lb9vOc9D5VRgU62ANwAs4o/aj4C3vgdKdi7EESKPrSidz4FrFRlgU7xdyfdn4AG7rmjXjitpRp4BZvpAhzARWIakccwPTL/vDeB8u6eAcSAt7WVA3f/AJ3I57eJHjCRbNNcNbLsOmBY7Y8wkKtcSbgYekUsGiQ1lmhqt+ZaxncCbyfMqIS3RGqCRh/bSPGGYoZW0RhOGbIH0vwTujJ2dG1+akeXAlB6gLcs8Yc4xy1jJznWuBs6NaWwEea7+78Da6cD1IlnRqDi+TszlccCjSbragW+5rq1oAH3SycBZdcAM6/NhIWEie2bxP6JgCbCA4N9rlRCUMfcqcLa1vVwaOMCqPWoHsL4VaEAKzQHqtwKPxXAUOjSmtd4GLHUoh0ABJljQljI8p4eMHGu3ZIEzmit0Aj8FxpSpTD0PnFbG0KNAc4a3lAa1JTUdivvqtf8C79n4FLow9yHwVFISdKWc6Bubqxrigj+rYGyt9zVTWy3A8XZpJGEVTVY334wLlKqp0iv6qSmepZLny6Zuk25G0lK3hrREK4BZSGjmfaAlWrcBuCU+t5/atGlkeYzJamumMmwySK0s05CLRLwO4Jv76UVIeMEZwGIRV9qZwA3xuT6gX76M6j12yGfS9bcAD6bcGZYxpBwxgZPeS8CtcMwxLMzjoPJMfw5y0DLg2dHCdCHWGXDM+w/T9kjYvtl4Wj2B3kFV/M3+UXebnJUVfRXN3NcLtKs8DBUd9QuxsMO16UrgIvnSjht/AzZIf77mE1l3adoNfIE8DLmIov/lGmddcaN8GW2/JnA3Sn8ecA1yELHU7lXKUJAi8YnAefJ9jfHlR+AD6dczZSAHdY+ixaqsyenDtcwQXQVMpRRHS/824EnPeJ9cUnsvc9lKbZV0ugQ4RRanaSlTQ5N4ge0O7V+kz9SkqJLm2YSU9VDVxNiEUYjR8oLkWDjSuTKptlWHmWGGiJ+b5MsUvY2Z+uZ3qChibZMwNTcbR4VG5kuadlZSO9w7oWz1fSwFXMUVgfuZXeJZafZL/lkDXB3tfRq42O45IL8ZTH+R30T7Q/E7GD+WueqldcCqIa6jTuDQlgxMoYpXGdN5tMc0cjVJONtsvUtoN/Cd7dYwijZMtBg7Dphox3WFeDpLEjjqnjhVxTr9jnkpwvzbge13MGGuB/YQQ1Mnc2wtsC9a9By1tgs4ppoyvM2M8SuByyJtcp+ODOAwSkzeW6LiLHmJckGH5UdTWvnBiByQsT9iistLWuCs8kPGWH68WLZTnjg5CrTeu4ATcjAmVvUW0imo9u2WmSCtQCMGZ8NVX78CzI3KTleFN2gPYKW2rsURoyJaTAwxIq+ICZI8KyxZBpl+liQlQUxiHUV54bsMipeTqaCQsLmt8mTQo0vt/RP4YdB6FQWZcSpwTo3Ror7YS+yXgo92LDJib2IN1rRap8zs/wL0AfcwUHfZi0opZnS1ML0MDkLz7XxBl1PDd+UljRHGiAt54IBvLjvkh6IyDqFN9pWpraKzK/ojYujpu9U+pdOeNS7viR6YLFFebzQeN6andJy0aqUu3gN8bM0YqHTziFMoxqGdjw8/Ag7Lnw1OxphmZrJY3pXElwS+wGivn0F0QXzPeJNW+6fApcqCNWKK+eoJu8ZDBTgZyz9c0YUho/xC1soN//CJ/bJ+dJhxVEAHAcHcOo6kRyMOAAAAAElFTkSuQmCC", fe = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='190'%20height='42'%20viewBox='0%200%20190%2042'%20fill='none'%3e%3cpath%20d='M17.2253%2014.2603C17.155%2014.0259%2016.9441%2013.8618%2016.7097%2013.8618H14.6472C14.3894%2013.8618%2014.1785%2014.0259%2014.1316%2014.2603L10.7801%2027.5053C10.7332%2027.6694%2010.7801%2027.8335%2010.8739%2027.9741C10.9676%2028.1148%2011.1317%2028.1851%2011.2957%2028.1851H12.9363C13.1941%2028.1851%2013.4051%2027.9976%2013.4754%2027.7631L14.0613%2025.0673H17.3191L17.905%2027.7631C17.9519%2028.021%2018.1862%2028.1851%2018.444%2028.1851H20.0846C20.2487%2028.1851%2020.4128%2028.1148%2020.5065%2027.9741C20.6003%2027.8335%2020.6471%2027.6694%2020.6003%2027.5053L17.2488%2014.2603H17.2253ZM14.5769%2022.5824L15.655%2017.636L16.7566%2022.5824H14.5769Z'%20fill='%23FF0000'%3e%3c/path%3e%3cpath%20d='M23.8359%2013.8618H22.2656C21.9609%2013.8618%2021.7266%2014.0962%2021.7266%2014.401V27.6459C21.7266%2027.9507%2021.9609%2028.1851%2022.2656%2028.1851H23.8359C24.1406%2028.1851%2024.375%2027.9507%2024.375%2027.6459V14.401C24.375%2014.0962%2024.1406%2013.8618%2023.8359%2013.8618ZM22.2891%2014.0493C22.2422%2014.0493%2022.1953%2014.0493%2022.1484%2014.0728C22.1953%2014.0728%2022.2422%2014.0493%2022.2891%2014.0493Z'%20fill='%23FF0000'%3e%3c/path%3e%3cpath%20d='M36.1401%2029.4041L36.0932%2012.5256C36.0932%2011.3066%2035.4369%2010.1579%2034.3588%209.5484L19.7341%201.15601C18.6794%200.546507%2017.3669%200.546507%2016.2888%201.15601L1.71091%209.61872C0.65624%2010.2282%200%2011.3769%200%2012.5959L0.046874%2029.4744C0.046874%2030.6934%200.703114%2031.8421%201.78122%2032.4516L16.406%2040.844C17.4607%2041.4535%2018.7731%2041.4535%2019.8513%2040.844L34.4291%2032.3813C35.4838%2031.7718%2036.1401%2030.6231%2036.1401%2029.4041ZM11.9998%2031.5608C6.16397%2028.1851%204.17181%2020.7539%207.54676%2014.9167C10.8983%209.07955%2018.3513%207.08694%2024.1871%2010.4626C30.023%2013.8149%2032.0151%2021.2696%2028.6402%2027.1068C25.2887%2032.9439%2017.8357%2034.9365%2011.9998%2031.5608Z'%20fill='%23FF0000'%3e%3c/path%3e%3cpath%20d='M46.3593%2014.19C46.6171%2013.9087%2046.9218%2013.6977%2047.2734%2013.557C47.6249%2013.4164%2048.0468%2013.3461%2048.5155%2013.3461C48.9843%2013.3461%2049.6171%2013.4398%2050.0858%2013.6508C50.5546%2013.8618%2050.9295%2014.1665%2051.2342%2014.5416C51.3983%2014.7526%2051.5623%2014.987%2051.6795%2015.2683C51.8202%2015.5496%2051.9139%2015.8309%2051.9608%2016.1357L55.4295%2015.0574C55.1717%2014.1431%2054.8201%2013.3695%2054.3748%2012.7131C53.9295%2012.0567%2053.3904%2011.4941%2052.7576%2011.0487C52.1952%2010.6502%2051.5623%2010.3689%2050.8358%2010.1813C50.1327%209.99379%2049.3593%209.90002%2048.5624%209.90002C47.7655%209.90002%2046.5937%2010.0407%2045.7734%2010.3454C44.9765%2010.6502%2044.2734%2011.0956%2043.7109%2011.6816C43.125%2012.2443%2042.7031%2012.9241%2042.4219%2013.7211C42.1406%2014.5182%2042%2015.4324%2042%2016.4405C42%2017.4485%2042.1641%2018.5034%2042.5156%2019.277C42.8672%2020.0506%2043.3828%2020.707%2044.0859%2021.2461C44.789%2021.7853%2045.7031%2022.2776%2046.8515%2022.6761L48.8436%2023.4028C49.5702%2023.6842%2050.1561%2023.9655%2050.5546%2024.2702C50.953%2024.5515%2051.2342%2024.8797%2051.3983%2025.2314C51.5623%2025.583%2051.6327%2026.0284%2051.6327%2026.5676C51.6327%2027.1067%2051.5858%2027.4818%2051.4686%2027.8335C51.3749%2028.1851%2051.1874%2028.4899%2050.9764%2028.7712C50.742%2029.0759%2050.4374%2029.2869%2050.0624%2029.4275C49.7108%2029.5682%2049.2889%2029.6385%2048.8202%2029.6385C48.3515%2029.6385%2047.7187%2029.5448%2047.2734%2029.3338C46.8046%2029.1228%2046.4296%2028.818%2046.1249%2028.443C45.9374%2028.232%2045.7734%2027.9976%2045.6562%2027.6928C45.5156%2027.4115%2045.4453%2027.1067%2045.3749%2026.802L41.8594%2027.7866C42.0937%2028.7008%2042.4453%2029.4979%2042.8906%2030.2011C43.3594%2030.9044%2043.8984%2031.467%2044.5546%2031.9359C45.1406%2032.311%2045.7734%2032.5923%2046.4765%2032.8032C47.1796%2033.0142%2047.953%2033.108%2048.7499%2033.108C49.5468%2033.108%2050.742%2032.9439%2051.5389%2032.6626C52.3592%2032.3578%2053.0623%2031.9124%2053.6483%2031.3029C54.1873%2030.7169%2054.6092%2030.0136%2054.9139%2029.1931C55.2185%2028.3726%2055.3592%2027.4349%2055.3592%2026.3566C55.3592%2025.2782%2055.1951%2024.2702%2054.8435%2023.4966C54.492%2022.723%2053.9764%2022.0666%2053.2498%2021.5275C52.5233%2020.9883%2051.5858%2020.496%2050.3905%2020.0506L48.4218%2019.3239C47.6952%2019.0426%2047.1327%2018.7612%2046.7577%2018.4799C46.3593%2018.1752%2046.1015%2017.8704%2045.9609%2017.5188C45.8203%2017.1672%2045.7499%2016.7686%2045.7499%2016.2998C45.7499%2015.8309%2045.7968%2015.4324%2045.914%2015.0808C46.0077%2014.7292%2046.1718%2014.4478%2046.3593%2014.19Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M67.5233%2026.4504C67.5233%2027.1536%2067.4295%2027.7631%2067.242%2028.232C67.0545%2028.7008%2066.7499%2029.0525%2066.3046%2029.3103C65.8593%2029.5682%2065.2733%2029.6854%2064.5468%2029.6854C63.8202%2029.6854%2063.2109%2029.5682%2062.7656%2029.3103C62.3202%2029.0525%2062.0156%2028.7008%2061.8281%2028.232C61.6406%2027.7631%2061.5468%2027.1771%2061.5468%2026.4504V10.1579H57.8672V26.3332C57.8672%2027.6694%2058.1016%2028.8415%2058.5703%2029.8495C59.039%2030.8575%2059.7656%2031.6546%2060.75%2032.2406C61.7343%2032.8267%2063.0234%2033.108%2064.5702%2033.108C66.1171%2033.108%2067.3592%2032.8267%2068.367%2032.2406C69.3748%2031.6546%2070.1014%2030.8575%2070.5467%2029.8261C70.992%2028.7946%2071.2264%2027.6459%2071.2264%2026.3332V10.1579H67.5467V26.4504H67.5233Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M83.7186%2010.9549C82.7811%2010.4158%2081.5858%2010.1579%2080.1562%2010.1579H74.0859V32.8033H77.7656V24.9032H80.1093C81.5624%2024.9032%2082.7577%2024.6453%2083.6952%2024.1296C84.6327%2023.6138%2085.3358%2022.8168%2085.8045%2021.7385C86.2732%2020.6601%2086.5076%2019.2536%2086.5076%2017.5423C86.5076%2015.831%2086.2732%2014.4479%2085.8045%2013.3695C85.3358%2012.2912%2084.6327%2011.4941%2083.6952%2010.9549H83.7186ZM82.4999%2019.9099C82.2889%2020.4726%2081.9843%2020.8711%2081.5858%2021.1289C81.1874%2021.3868%2080.6718%2021.504%2080.0155%2021.504H77.7421V13.6274H80.0155C80.6718%2013.6274%2081.1874%2013.7446%2081.5858%2014.0025C81.9843%2014.2603%2082.2889%2014.6588%2082.4999%2015.2215C82.7108%2015.7841%2082.8046%2016.5577%2082.8046%2017.5423C82.8046%2018.5268%2082.7108%2019.3473%2082.4999%2019.9099Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M88.5938%2032.8267H99.7029V29.3807H92.2734V23.0043H98.4608V19.5817H92.2734V13.6274H99.7029V10.1813H88.5938V32.8267Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M111.797%2023.356C112.711%2022.8402%20113.437%2022.0666%20113.953%2021.0352C114.469%2020.0037%20114.726%2018.7144%20114.726%2017.1672C114.726%2015.62%20114.492%2014.2134%20114.023%2013.2054C113.555%2012.1739%20112.851%2011.4238%20111.961%2010.9315C111.047%2010.4392%20109.922%2010.2048%20108.586%2010.2048H102.023V32.8501H105.703V24.153H108.258L111.094%2032.8501H115.078L111.75%2023.4028C111.75%2023.4028%20111.797%2023.4028%20111.82%2023.3794L111.797%2023.356ZM105.68%2013.6274H108.422C108.961%2013.6274%20109.406%2013.7211%20109.805%2013.9321C110.18%2014.1431%20110.484%2014.4947%20110.695%2015.0105C110.906%2015.5028%20111%2016.2295%20111%2017.1437C111%2018.058%20110.906%2018.8081%20110.695%2019.3239C110.484%2019.8396%20110.203%2020.1912%20109.828%2020.4022C109.453%2020.6132%20109.008%2020.707%20108.469%2020.707H105.703V13.6508L105.68%2013.6274Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M132.234%2027.3412L129.047%2010.1813H125.508L122.344%2027.2474L119.086%2010.1813H115.148L120.328%2032.8267H124.148L127.289%2017.6595L130.406%2032.8267H134.226L139.382%2010.1813H135.492L132.234%2027.3412Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M144.773%2010.1813H141.094V32.8267H144.773V10.1813Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M151.851%2014.19C152.109%2013.9087%20152.414%2013.6977%20152.766%2013.557C153.117%2013.4164%20153.539%2013.3461%20154.008%2013.3461C154.476%2013.3461%20155.109%2013.4398%20155.578%2013.6508C156.047%2013.8618%20156.422%2014.1665%20156.726%2014.5416C156.89%2014.7526%20157.055%2014.987%20157.172%2015.2683C157.312%2015.5496%20157.406%2015.8309%20157.453%2016.1357L160.922%2015.0574C160.664%2014.1431%20160.312%2013.3695%20159.867%2012.7131C159.422%2012.0567%20158.883%2011.4941%20158.25%2011.0487C157.687%2010.6502%20157.055%2010.3689%20156.328%2010.1813C155.625%209.99379%20154.851%209.90002%20154.055%209.90002C153.258%209.90002%20152.086%2010.0407%20151.266%2010.3454C150.469%2010.6502%20149.766%2011.0956%20149.203%2011.6816C148.617%2012.2443%20148.195%2012.9241%20147.914%2013.7211C147.633%2014.5182%20147.492%2015.4324%20147.492%2016.4405C147.492%2017.4485%20147.656%2018.5034%20148.008%2019.277C148.359%2020.0506%20148.875%2020.707%20149.578%2021.2461C150.281%2021.7853%20151.195%2022.2776%20152.344%2022.6761L154.336%2023.4028C155.062%2023.6842%20155.648%2023.9655%20156.047%2024.2702C156.445%2024.5515%20156.726%2024.8797%20156.89%2025.2314C157.055%2025.583%20157.125%2026.0284%20157.125%2026.5676C157.125%2027.1067%20157.078%2027.4818%20156.961%2027.8335C156.867%2028.1851%20156.68%2028.4899%20156.469%2028.7712C156.234%2029.0759%20155.93%2029.2869%20155.555%2029.4275C155.203%2029.5682%20154.781%2029.6385%20154.312%2029.6385C153.844%2029.6385%20153.211%2029.5448%20152.766%2029.3338C152.297%2029.1228%20151.922%2028.818%20151.617%2028.443C151.43%2028.232%20151.266%2027.9976%20151.148%2027.6928C151.008%2027.4115%20150.914%2027.1067%20150.867%2026.802L147.352%2027.7866C147.586%2028.7008%20147.937%2029.4979%20148.383%2030.2011C148.852%2030.9044%20149.391%2031.467%20150.047%2031.9359C150.633%2032.311%20151.266%2032.5923%20151.969%2032.8032C152.672%2033.0142%20153.445%2033.108%20154.242%2033.108C155.039%2033.108%20156.234%2032.9439%20157.031%2032.6626C157.851%2032.3578%20158.555%2031.9124%20159.14%2031.3029C159.68%2030.7169%20160.101%2030.0136%20160.406%2029.1931C160.711%2028.3726%20160.851%2027.4349%20160.851%2026.3566C160.851%2025.2782%20160.687%2024.2702%20160.336%2023.4966C159.984%2022.723%20159.469%2022.0666%20158.742%2021.5275C158.015%2020.9883%20157.078%2020.496%20155.883%2020.0506L153.914%2019.3239C153.187%2019.0426%20152.625%2018.7612%20152.25%2018.4799C151.852%2018.1752%20151.594%2017.8704%20151.453%2017.5188C151.312%2017.1672%20151.242%2016.7686%20151.242%2016.2998C151.242%2015.8309%20151.289%2015.4324%20151.406%2015.0808C151.5%2014.7292%20151.664%2014.4478%20151.851%2014.19Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M174.633%2013.6274V10.1813H163.5V32.8267H174.633V29.3807H167.18V23.0043H173.367V19.5817H167.18V13.6274H174.633Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M179.316%2011.0956V10.1345H183.512V11.0956H181.918V15.8075H180.91V11.0956H179.316Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M184.168%2010.1345H185.41L186.676%2013.9321L187.941%2010.1345H189.184V15.8075H188.269V11.8223L187.098%2015.1511H186.254L185.082%2011.9161V15.831H184.168V10.1579V10.1345Z'%20fill='black'%3e%3c/path%3e%3c/svg%3e", he = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAykAAACuCAYAAAAyN0KXAAAACXBIWXMAAAsSAAALEgHS3X78AAAgAElEQVR4nO3d23XbuBYG4H9mnXfrVGBOBfZUEKQCeyqwpoJ4KohSQZwKQlcwTgUDVzByBaErOFIFOQ9bWJIVXUhg40b+31paSRwShCUKwMaNv/z48QN01gyAAXC9+fv15ud2508LIiIiIiIK9guDlJMMgHsANz2OXQN4ArAA0EXLERERERHRyDFIOewawAOAd57nP0KCm5VajoiIiIiIJuLX3BkozAxAC+Bf+AcoAHAHGU25D88SEREREdG0cCRl6x4yVetCOd1XAHNwzQoRERERUS8MUmTdSQvgMvJ1niHBShf5OkREREREVZvydK8GstD9H8QPUACZPvYdstZlluB6RERERERVmmKQMoNM6/qOfrt2afsArlchIiIiIjpqatO95pCRDO11J764XoWIiIiIaM9URlIMJBD4inICFECmmf0DyVuTNSdERERERIUYe5DithT+B2FbCsfG9SpERERERBtjDlIWkLUfd3mzMQjXqxARERHR5I1xTcotZEQixY5dMb1AghWbOR9EREREREmNKUhpIFO7Sp7W5eMbJFjpMueDiIiIiCiJMUz3mkFGTr5jfAEKINskf4dMX+N6FSIiIiIavdpHUuYoa0vh2NaQUZU2cz6IiIiIiKKpdSTFAFiivC2FY7uA/M5LyHtARERERDQ6tQUpDYAnyJbCV3mzktUV5D14Ap+vQkREREQjU8t0rxlkmtM9pjVy0tcnyLS3Ve6MEBERERGFqiFIGcuWwrFxvQoRERERjULJ072uIc8I+RsMUPpw61UsuF6FiIiIiCpWYpAyg4wG/Itxbikc2zvIepUWXK9CRERERBUqbbrXPeR5IFx3omMNmSrH9SpEREREVI1SghQD6fnntK44XiHBX5s3G0RERERE5+We7tVgu6UwA5R4LsH1KkRERERUiVxBygzSs/8dwE2mPEwR16sQERERUfFyTPeaQwIUjpzkxfUqRERERFSklEGKgQQn3LGrLFyvQkRERERFSRGkzCC99XexL0RBniG7qy1zZ4SIiIiIpi32mpQFgA4MUGrwDvJsmhYSWBIRERERZRFrJMWAWwrXzK1XWWTOBxERERFNkHaQ0kCCE647GYdXyBSwp9wZISIiIqLp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";
|
|
578
|
+
function ge(s) {
|
|
579
|
+
return s === "human" ? { ...a.message, ...a.messageSelf } : { ...a.message, ...a.messageOther };
|
|
580
580
|
}
|
|
581
|
-
const
|
|
582
|
-
const [
|
|
583
|
-
|
|
581
|
+
const we = ne(function({ text: i, speed: w = 10, onComplete: x }) {
|
|
582
|
+
const [n, f] = C(""), [p, l] = C(!1);
|
|
583
|
+
N(() => {
|
|
584
584
|
if (!i) return;
|
|
585
585
|
f(""), l(!1);
|
|
586
|
-
let
|
|
587
|
-
const
|
|
588
|
-
|
|
586
|
+
let u = 0;
|
|
587
|
+
const m = setInterval(() => {
|
|
588
|
+
u < i.length ? (f(i.slice(0, u + 1)), u++) : (l(!0), clearInterval(m), x && x());
|
|
589
589
|
}, w);
|
|
590
|
-
return () => clearInterval(
|
|
590
|
+
return () => clearInterval(m);
|
|
591
591
|
}, [i, w, x]);
|
|
592
|
-
const c = (
|
|
592
|
+
const c = (u) => u.replace(/\[bold\](.*?)\[\/bold\]/g, "<strong>$1</strong>").replace(/\*\*(.*?)\*\*/g, "<strong>$1</strong>").replace(/\*(.*?)\*/g, "<em>$1</em>").replace(/(?:^|\n)-\s+/g, `
|
|
593
593
|
• `).replace(/\n/g, "<br/>").replace(/(\d+\.\s)/g, "<br/>$1").replace(/(\*\s)/g, "<br/>$1");
|
|
594
594
|
return /* @__PURE__ */ t.jsx(
|
|
595
595
|
"div",
|
|
@@ -600,20 +600,20 @@ const fe = se(function({ text: i, speed: w = 10, onComplete: x }) {
|
|
|
600
600
|
wordBreak: "break-word"
|
|
601
601
|
},
|
|
602
602
|
dangerouslySetInnerHTML: {
|
|
603
|
-
__html: c(
|
|
603
|
+
__html: c(n) + (p ? "" : '<span class="typing-cursor">|</span>')
|
|
604
604
|
}
|
|
605
605
|
}
|
|
606
606
|
);
|
|
607
|
-
}),
|
|
608
|
-
const
|
|
609
|
-
return /* @__PURE__ */ t.jsxs("div", { className:
|
|
607
|
+
}), xe = ne(function({ msg: i, isTyping: w = !1, onTypingComplete: x }) {
|
|
608
|
+
const n = i.from === "human" ? "sw-ttyw-message self" : "sw-ttyw-message other";
|
|
609
|
+
return /* @__PURE__ */ t.jsxs("div", { className: n, style: ge(i.from), children: [
|
|
610
610
|
/* @__PURE__ */ t.jsx("div", { className: "message-avatar", style: a.messageAvatar, children: i.from === "human" ? /* @__PURE__ */ t.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "black", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
611
611
|
/* @__PURE__ */ t.jsx("path", { d: "M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21", fill: "black" }),
|
|
612
612
|
/* @__PURE__ */ t.jsx("circle", { cx: "12", cy: "7", r: "4", fill: "black" })
|
|
613
613
|
] }) : /* @__PURE__ */ t.jsx(
|
|
614
614
|
"img",
|
|
615
615
|
{
|
|
616
|
-
src:
|
|
616
|
+
src: se,
|
|
617
617
|
alt: "AI Avatar",
|
|
618
618
|
style: {
|
|
619
619
|
width: "20px",
|
|
@@ -623,7 +623,7 @@ const fe = se(function({ text: i, speed: w = 10, onComplete: x }) {
|
|
|
623
623
|
}
|
|
624
624
|
}
|
|
625
625
|
) }),
|
|
626
|
-
/* @__PURE__ */ t.jsx("div", { className: "message-content", style: a.messageContent, children: i.from === "ai" && w ? /* @__PURE__ */ t.jsx(
|
|
626
|
+
/* @__PURE__ */ t.jsx("div", { className: "message-content", style: a.messageContent, children: i.from === "ai" && w ? /* @__PURE__ */ t.jsx(we, { text: i.text, speed: 20, onComplete: x }) : /* @__PURE__ */ t.jsx(
|
|
627
627
|
"div",
|
|
628
628
|
{
|
|
629
629
|
style: {
|
|
@@ -639,21 +639,21 @@ const fe = se(function({ text: i, speed: w = 10, onComplete: x }) {
|
|
|
639
639
|
}
|
|
640
640
|
) })
|
|
641
641
|
] });
|
|
642
|
-
}),
|
|
643
|
-
const
|
|
644
|
-
return
|
|
645
|
-
},
|
|
646
|
-
const
|
|
647
|
-
`👋 ${
|
|
648
|
-
`👋 ${
|
|
649
|
-
`👋 ${
|
|
650
|
-
`👋 ${
|
|
651
|
-
`👋 ${
|
|
642
|
+
}), ye = () => {
|
|
643
|
+
const s = (/* @__PURE__ */ new Date()).getHours();
|
|
644
|
+
return s >= 5 && s < 12 ? "Good morning" : s >= 12 && s < 17 ? "Good afternoon" : (s >= 17 && s < 21, "Good evening");
|
|
645
|
+
}, Ce = () => {
|
|
646
|
+
const s = ye(), i = [
|
|
647
|
+
`👋 ${s}! Looking to explore Superwise?`,
|
|
648
|
+
`👋 ${s}! Ready to discover what Superwise can do for you?`,
|
|
649
|
+
`👋 ${s}! How can I help you with Superwise today?`,
|
|
650
|
+
`👋 ${s}! What brings you to Superwise?`,
|
|
651
|
+
`👋 ${s}! Let's explore Superwise together!`
|
|
652
652
|
];
|
|
653
653
|
return i[Math.floor(Math.random() * i.length)];
|
|
654
654
|
};
|
|
655
|
-
function
|
|
656
|
-
const [
|
|
655
|
+
function be({ title: s = "", agentId: i = "", discoveryAgentId: w = "", primaryColor: x = "" }) {
|
|
656
|
+
const [n, f] = C(() => {
|
|
657
657
|
try {
|
|
658
658
|
if (typeof window < "u" && window.localStorage) {
|
|
659
659
|
const o = window.localStorage.getItem("chatbot-messages");
|
|
@@ -662,7 +662,7 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
662
662
|
} catch {
|
|
663
663
|
}
|
|
664
664
|
return [];
|
|
665
|
-
}), [
|
|
665
|
+
}), [p, l] = C(() => {
|
|
666
666
|
try {
|
|
667
667
|
if (typeof window < "u" && window.localStorage) {
|
|
668
668
|
const o = window.localStorage.getItem("chatbot-mql_df");
|
|
@@ -671,7 +671,7 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
671
671
|
} catch {
|
|
672
672
|
}
|
|
673
673
|
return [];
|
|
674
|
-
}), [c,
|
|
674
|
+
}), [c, u] = C(""), [m, y] = C(!1), [E, A] = C(!1), [b, P] = C(!1), [S, O] = C(!1), [X, I] = C(/* @__PURE__ */ new Set()), [F, U] = C(!1), [_, V] = C(""), [T, R] = C(""), q = (() => {
|
|
675
675
|
if (x) return x;
|
|
676
676
|
if (typeof document < "u" && typeof window < "u") {
|
|
677
677
|
const o = document.querySelector("[data-chatbot-color]");
|
|
@@ -681,88 +681,88 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
681
681
|
if (r) return r;
|
|
682
682
|
}
|
|
683
683
|
return "#000";
|
|
684
|
-
})(),
|
|
685
|
-
|
|
686
|
-
|
|
684
|
+
})(), H = ee(null), D = ee(n), Q = le(() => n.map((o) => ({ role: o.from, content: o.text })), [n]), j = (o) => {
|
|
685
|
+
R(o), setTimeout(() => {
|
|
686
|
+
R("");
|
|
687
687
|
}, 4e3);
|
|
688
|
-
},
|
|
688
|
+
}, K = (o) => {
|
|
689
689
|
const e = o.length, r = o.trim();
|
|
690
|
-
return V(""),
|
|
690
|
+
return V(""), R(""), !r || e === 0 ? (j("Please enter a message before sending."), !1) : new RegExp(/(<([^>]+)>)/gi).test(r) ? (j("Please avoid using HTML tags or scripts in your message."), !1) : r.length < 2 ? (j("Please enter a meaningful question (at least 2 characters)."), !1) : r.length > 1e3 ? (j("Message is too long. Please keep it under 1000 characters."), !1) : (V(""), R(""), !0);
|
|
691
691
|
};
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
}, [
|
|
692
|
+
N(() => {
|
|
693
|
+
H.current?.scrollIntoView({ behavior: "smooth" });
|
|
694
|
+
}, [n, m]), N(() => {
|
|
695
695
|
try {
|
|
696
|
-
typeof window < "u" && window.localStorage && window.localStorage.setItem("chatbot-messages", JSON.stringify(
|
|
696
|
+
typeof window < "u" && window.localStorage && window.localStorage.setItem("chatbot-messages", JSON.stringify(n));
|
|
697
697
|
} catch {
|
|
698
698
|
}
|
|
699
|
-
}, [
|
|
699
|
+
}, [n]), N(() => {
|
|
700
700
|
try {
|
|
701
|
-
typeof window < "u" && window.localStorage && window.localStorage.setItem("chatbot-mql_df", JSON.stringify(
|
|
701
|
+
typeof window < "u" && window.localStorage && window.localStorage.setItem("chatbot-mql_df", JSON.stringify(p));
|
|
702
702
|
} catch {
|
|
703
703
|
}
|
|
704
|
-
}, [
|
|
705
|
-
|
|
706
|
-
}, [
|
|
707
|
-
if (
|
|
708
|
-
const e = { from: "ai", text:
|
|
709
|
-
f([e]),
|
|
704
|
+
}, [p]), N(() => {
|
|
705
|
+
D.current = n;
|
|
706
|
+
}, [n]), N(() => {
|
|
707
|
+
if (n.length === 0 && !F) {
|
|
708
|
+
const e = { from: "ai", text: Ce() };
|
|
709
|
+
f([e]), U(!0), I(/* @__PURE__ */ new Set([0]));
|
|
710
710
|
}
|
|
711
|
-
}, [
|
|
712
|
-
const
|
|
711
|
+
}, [n.length, F]);
|
|
712
|
+
const G = J(async () => {
|
|
713
713
|
const o = c.trim();
|
|
714
|
-
if (!o || !
|
|
714
|
+
if (!o || !K(c))
|
|
715
715
|
return;
|
|
716
|
-
const e = { from: "human", text: o }, d = [...
|
|
717
|
-
f(d),
|
|
718
|
-
const g = [...
|
|
719
|
-
if (typeof
|
|
720
|
-
const
|
|
716
|
+
const e = { from: "human", text: o }, d = [...D.current, e];
|
|
717
|
+
f(d), u(""), y(!0);
|
|
718
|
+
const g = [...Q, { role: "human", content: o }], v = await ue(o, g, p, i, w);
|
|
719
|
+
if (typeof v == "string") {
|
|
720
|
+
const M = { from: "ai", text: v };
|
|
721
721
|
f((h) => {
|
|
722
|
-
const
|
|
723
|
-
return
|
|
722
|
+
const k = [...h, M];
|
|
723
|
+
return I((L) => /* @__PURE__ */ new Set([...L, k.length - 1])), k;
|
|
724
724
|
});
|
|
725
725
|
} else {
|
|
726
|
-
const
|
|
726
|
+
const M = { from: "ai", text: v.reply };
|
|
727
727
|
f((h) => {
|
|
728
|
-
const
|
|
729
|
-
return
|
|
730
|
-
}),
|
|
728
|
+
const k = [...h, M];
|
|
729
|
+
return I((L) => /* @__PURE__ */ new Set([...L, k.length - 1])), k;
|
|
730
|
+
}), v.mqlDf && Array.isArray(v.mqlDf) && l(v.mqlDf);
|
|
731
731
|
}
|
|
732
732
|
y(!1);
|
|
733
|
-
}, [c, i, w,
|
|
734
|
-
f([]), l([]),
|
|
733
|
+
}, [c, i, w, p]), W = J(() => {
|
|
734
|
+
f([]), l([]), I(/* @__PURE__ */ new Set()), U(!1);
|
|
735
735
|
try {
|
|
736
736
|
typeof window < "u" && window.localStorage && (window.localStorage.removeItem("chatbot-messages"), window.localStorage.removeItem("chatbot-mql_df"));
|
|
737
737
|
} catch {
|
|
738
738
|
}
|
|
739
|
-
|
|
740
|
-
}, []),
|
|
741
|
-
if (!
|
|
739
|
+
A(!1);
|
|
740
|
+
}, []), Y = J(async () => {
|
|
741
|
+
if (!p || p.length === 0) {
|
|
742
742
|
console.warn("No mql_df data available for PDF download");
|
|
743
743
|
return;
|
|
744
744
|
}
|
|
745
745
|
try {
|
|
746
|
-
y(!0), console.log("mql_df data for lead extraction:",
|
|
746
|
+
y(!0), console.log("mql_df data for lead extraction:", p);
|
|
747
747
|
const o = {
|
|
748
|
-
name:
|
|
749
|
-
email:
|
|
750
|
-
summary: `Chat conversation with ${
|
|
748
|
+
name: p.find((e) => e.name)?.name || "Chat User",
|
|
749
|
+
email: p.find((e) => e.email)?.email || "user@example.com",
|
|
750
|
+
summary: `Chat conversation with ${n.length} messages. User asked: "${n.find((e) => e.from === "human")?.text || "No user messages"}"`
|
|
751
751
|
};
|
|
752
|
-
console.log("Extracted lead row:", o), await me(
|
|
752
|
+
console.log("Extracted lead row:", o), await me(p, o, Q), console.log("PDF downloaded successfully");
|
|
753
753
|
} catch (o) {
|
|
754
754
|
console.error("Failed to download PDF:", o);
|
|
755
755
|
} finally {
|
|
756
756
|
y(!1);
|
|
757
757
|
}
|
|
758
|
-
}, [
|
|
758
|
+
}, [p, n]);
|
|
759
759
|
return /* @__PURE__ */ t.jsx(t.Fragment, { children: /* @__PURE__ */ t.jsxs(
|
|
760
760
|
"div",
|
|
761
761
|
{
|
|
762
762
|
className: "sw-ttyw-chatbot",
|
|
763
763
|
style: {
|
|
764
|
-
...
|
|
765
|
-
"--swttyw-primary-color":
|
|
764
|
+
...b ? a.containerMinimized : S ? a.containerExpanded : a.container,
|
|
765
|
+
"--swttyw-primary-color": q,
|
|
766
766
|
"--swttyw-avatar-image": "url('')",
|
|
767
767
|
"--swttyw-user-avatar-image": "url('')",
|
|
768
768
|
"--swttyw-background-color": "#F7F7F7",
|
|
@@ -771,9 +771,9 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
771
771
|
"--swttyw-footer-font-size": "16px",
|
|
772
772
|
"--swttyw-user-background-image": "url('')"
|
|
773
773
|
},
|
|
774
|
-
onClick:
|
|
774
|
+
onClick: b ? () => P(!1) : void 0,
|
|
775
775
|
children: [
|
|
776
|
-
|
|
776
|
+
b ? (
|
|
777
777
|
/* Minimized State - Horizontal Button */
|
|
778
778
|
/* @__PURE__ */ t.jsxs("div", { style: a.minimizedContent, children: [
|
|
779
779
|
/* @__PURE__ */ t.jsxs("svg", { style: a.chatIcon, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
@@ -781,20 +781,20 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
781
781
|
/* @__PURE__ */ t.jsx("path", { d: "M8 9H16", stroke: "white", strokeWidth: "2", strokeLinecap: "round" }),
|
|
782
782
|
/* @__PURE__ */ t.jsx("path", { d: "M8 13H12", stroke: "white", strokeWidth: "2", strokeLinecap: "round" })
|
|
783
783
|
] }),
|
|
784
|
-
/* @__PURE__ */ t.jsx("div", { style: a.minimizedTitle, children:
|
|
784
|
+
/* @__PURE__ */ t.jsx("div", { style: a.minimizedTitle, children: s })
|
|
785
785
|
] })
|
|
786
786
|
) : (
|
|
787
787
|
/* Full State - Header with Controls */
|
|
788
788
|
/* @__PURE__ */ t.jsxs("div", { className: "sw-ttyw-chat-header", style: a.header, children: [
|
|
789
|
-
/* @__PURE__ */ t.jsx("div", { className: "sw-ttyw-name", style: a.name, children:
|
|
789
|
+
/* @__PURE__ */ t.jsx("div", { className: "sw-ttyw-name", style: a.name, children: s }),
|
|
790
790
|
/* @__PURE__ */ t.jsxs("div", { style: a.headerActions, children: [
|
|
791
791
|
/* @__PURE__ */ t.jsx(
|
|
792
792
|
"button",
|
|
793
793
|
{
|
|
794
|
-
onClick: () =>
|
|
794
|
+
onClick: () => O((o) => !o),
|
|
795
795
|
style: a.headerButton,
|
|
796
|
-
title:
|
|
797
|
-
children:
|
|
796
|
+
title: S ? "Shrink chat" : "Expand chat",
|
|
797
|
+
children: S ? /* @__PURE__ */ t.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
798
798
|
/* @__PURE__ */ t.jsx("path", { d: "M9 4V9H4", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
799
799
|
/* @__PURE__ */ t.jsx("path", { d: "M15 4V9H20", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
800
800
|
/* @__PURE__ */ t.jsx("path", { d: "M9 20V15H4", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
@@ -811,20 +811,20 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
811
811
|
"button",
|
|
812
812
|
{
|
|
813
813
|
onClick: () => {
|
|
814
|
-
|
|
814
|
+
b || O(!1), P(!b);
|
|
815
815
|
},
|
|
816
816
|
style: a.headerButton,
|
|
817
|
-
title:
|
|
817
|
+
title: b ? "Maximize chat" : "Minimize chat",
|
|
818
818
|
children: /* @__PURE__ */ t.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ t.jsx("path", { d: "M6 9H18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) })
|
|
819
819
|
}
|
|
820
820
|
),
|
|
821
|
-
|
|
821
|
+
p && p.length > 0 && /* @__PURE__ */ t.jsx(
|
|
822
822
|
"button",
|
|
823
823
|
{
|
|
824
|
-
onClick:
|
|
824
|
+
onClick: Y,
|
|
825
825
|
style: a.headerButton,
|
|
826
826
|
title: "Download PDF Report",
|
|
827
|
-
disabled:
|
|
827
|
+
disabled: m,
|
|
828
828
|
children: /* @__PURE__ */ t.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
829
829
|
/* @__PURE__ */ t.jsx("path", { d: "M21 15V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V15", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
830
830
|
/* @__PURE__ */ t.jsx("path", { d: "M7 10L12 15L17 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
@@ -835,7 +835,7 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
835
835
|
/* @__PURE__ */ t.jsx(
|
|
836
836
|
"button",
|
|
837
837
|
{
|
|
838
|
-
onClick: () =>
|
|
838
|
+
onClick: () => A(!0),
|
|
839
839
|
style: a.headerButton,
|
|
840
840
|
title: "Clear chat",
|
|
841
841
|
children: /* @__PURE__ */ t.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
@@ -849,9 +849,9 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
849
849
|
] })
|
|
850
850
|
] })
|
|
851
851
|
),
|
|
852
|
-
!
|
|
852
|
+
!b && /* @__PURE__ */ t.jsxs("div", { className: "sw-ttyw-chat-section", style: { flexGrow: 1, display: "flex", flexDirection: "column" }, children: [
|
|
853
853
|
/* @__PURE__ */ t.jsxs("div", { className: "sw-ttyw-messages", style: a.chatSection, children: [
|
|
854
|
-
|
|
854
|
+
n.length === 0 && !m && /* @__PURE__ */ t.jsx("div", { className: "sw-ttyw-empty-state", style: {
|
|
855
855
|
display: "flex",
|
|
856
856
|
flexDirection: "column",
|
|
857
857
|
alignItems: "center",
|
|
@@ -861,7 +861,7 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
861
861
|
}, children: /* @__PURE__ */ t.jsx(
|
|
862
862
|
"img",
|
|
863
863
|
{
|
|
864
|
-
src:
|
|
864
|
+
src: fe,
|
|
865
865
|
alt: "Superwise Logo",
|
|
866
866
|
style: {
|
|
867
867
|
width: "350px",
|
|
@@ -874,13 +874,13 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
874
874
|
}
|
|
875
875
|
}
|
|
876
876
|
) }),
|
|
877
|
-
|
|
878
|
-
|
|
877
|
+
n.map((o, e) => /* @__PURE__ */ t.jsx(
|
|
878
|
+
xe,
|
|
879
879
|
{
|
|
880
880
|
msg: o,
|
|
881
|
-
isTyping:
|
|
881
|
+
isTyping: X.has(e),
|
|
882
882
|
onTypingComplete: () => {
|
|
883
|
-
|
|
883
|
+
I((r) => {
|
|
884
884
|
const d = new Set(r);
|
|
885
885
|
return d.delete(e), d;
|
|
886
886
|
});
|
|
@@ -888,15 +888,15 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
888
888
|
},
|
|
889
889
|
e
|
|
890
890
|
)),
|
|
891
|
-
|
|
891
|
+
T && /* @__PURE__ */ t.jsxs("div", { className: "sw-ttyw-validation-message", children: [
|
|
892
892
|
/* @__PURE__ */ t.jsx("span", { className: "error-icon", children: "⚠️" }),
|
|
893
|
-
/* @__PURE__ */ t.jsx("span", { children:
|
|
893
|
+
/* @__PURE__ */ t.jsx("span", { children: T })
|
|
894
894
|
] }),
|
|
895
|
-
|
|
895
|
+
m && /* @__PURE__ */ t.jsxs("div", { className: "sw-ttyw-message other message-loading", style: { ...a.message, ...a.messageOther }, children: [
|
|
896
896
|
/* @__PURE__ */ t.jsx("div", { className: "message-avatar", style: a.messageAvatar, children: /* @__PURE__ */ t.jsx(
|
|
897
897
|
"img",
|
|
898
898
|
{
|
|
899
|
-
src:
|
|
899
|
+
src: se,
|
|
900
900
|
alt: "AI Avatar",
|
|
901
901
|
style: {
|
|
902
902
|
width: "20px",
|
|
@@ -912,7 +912,7 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
912
912
|
/* @__PURE__ */ t.jsx("div", { className: "typing typing-3" })
|
|
913
913
|
] })
|
|
914
914
|
] }),
|
|
915
|
-
/* @__PURE__ */ t.jsx("div", { ref:
|
|
915
|
+
/* @__PURE__ */ t.jsx("div", { ref: H })
|
|
916
916
|
] }),
|
|
917
917
|
/* @__PURE__ */ t.jsxs("div", { className: "sw-ttyw-chat-input-section", style: a.inputSection, children: [
|
|
918
918
|
/* @__PURE__ */ t.jsx(
|
|
@@ -922,11 +922,11 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
922
922
|
placeholder: "Please ask question here",
|
|
923
923
|
value: c,
|
|
924
924
|
onChange: (o) => {
|
|
925
|
-
|
|
925
|
+
u(o.target.value), T && R("");
|
|
926
926
|
},
|
|
927
927
|
maxLength: 1e3,
|
|
928
928
|
style: a.textarea,
|
|
929
|
-
onKeyDown: (o) => o.key === "Enter" && !o.shiftKey && (o.preventDefault(),
|
|
929
|
+
onKeyDown: (o) => o.key === "Enter" && !o.shiftKey && (o.preventDefault(), G())
|
|
930
930
|
}
|
|
931
931
|
),
|
|
932
932
|
/* @__PURE__ */ t.jsxs("div", { className: "sw-ttyw-chat-input-content", style: a.inputFooter, children: [
|
|
@@ -938,7 +938,7 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
938
938
|
"button",
|
|
939
939
|
{
|
|
940
940
|
id: "sw-ttyw-chat-send-message",
|
|
941
|
-
onClick:
|
|
941
|
+
onClick: G,
|
|
942
942
|
"aria-label": "Send message",
|
|
943
943
|
style: a.sendButton,
|
|
944
944
|
children: /* @__PURE__ */ t.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#000000", className: "cwv replaced-svg", children: [
|
|
@@ -950,7 +950,7 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
950
950
|
] })
|
|
951
951
|
] })
|
|
952
952
|
] }),
|
|
953
|
-
|
|
953
|
+
E && /* @__PURE__ */ t.jsxs("div", { className: "swttyw-modal swttyw-modal-clear-history", style: a.modalOverlay, children: [
|
|
954
954
|
/* @__PURE__ */ t.jsx("div", { className: "swtty-modal-header" }),
|
|
955
955
|
/* @__PURE__ */ t.jsxs("div", { className: "swtty-modal-body", style: a.modalBody, children: [
|
|
956
956
|
/* @__PURE__ */ t.jsx("div", { className: "swtty-content", children: "Are you sure you want to delete the chat history?" }),
|
|
@@ -961,7 +961,7 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
961
961
|
type: "button",
|
|
962
962
|
className: "swttyw-btn swttyw-btn-primary",
|
|
963
963
|
id: "swttyw-btn-clear-history-yes",
|
|
964
|
-
onClick:
|
|
964
|
+
onClick: W,
|
|
965
965
|
value: "Yes",
|
|
966
966
|
style: {
|
|
967
967
|
background: "var(--swttyw-primary-color)",
|
|
@@ -980,7 +980,7 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
980
980
|
type: "button",
|
|
981
981
|
className: "swttyw-btn swttyw-btn-primary-inverse",
|
|
982
982
|
id: "swttyw-btn-clear-history-no",
|
|
983
|
-
onClick: () =>
|
|
983
|
+
onClick: () => A(!1),
|
|
984
984
|
value: "No",
|
|
985
985
|
style: {
|
|
986
986
|
background: "transparent",
|
|
@@ -997,14 +997,14 @@ function ye({ title: n = "", agentId: i = "", discoveryAgentId: w = "", primaryC
|
|
|
997
997
|
] }),
|
|
998
998
|
/* @__PURE__ */ t.jsx("div", { className: "swtty-modal-footer" })
|
|
999
999
|
] }),
|
|
1000
|
-
!
|
|
1000
|
+
!b && /* @__PURE__ */ t.jsxs("div", { className: "sw-ttyw-chat-footer", style: a.footer, children: [
|
|
1001
1001
|
"Powered by ",
|
|
1002
|
-
/* @__PURE__ */ t.jsx("a", { href: "https://superwise.ai/", className: "ml-1", target: "_new", style: { marginLeft: "0.25rem", lineHeight: 0 }, children: /* @__PURE__ */ t.jsx("img", { src:
|
|
1002
|
+
/* @__PURE__ */ t.jsx("a", { href: "https://superwise.ai/", className: "ml-1", target: "_new", style: { marginLeft: "0.25rem", lineHeight: 0 }, children: /* @__PURE__ */ t.jsx("img", { src: he, alt: "SUPERWISE®", height: "20" }) })
|
|
1003
1003
|
] })
|
|
1004
1004
|
]
|
|
1005
1005
|
}
|
|
1006
1006
|
) });
|
|
1007
1007
|
}
|
|
1008
1008
|
export {
|
|
1009
|
-
|
|
1009
|
+
be as Chatbot
|
|
1010
1010
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(E,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],i):(E=typeof globalThis<"u"?globalThis:E||self,i(E.ReactChatbot={},E.React))})(this,(function(E,i){"use strict";var P={exports:{}},N={};var J;function oe(){if(J)return N;J=1;var a=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function x(y,n,h){var u=null;if(h!==void 0&&(u=""+h),n.key!==void 0&&(u=""+n.key),"key"in n){h={};for(var c in n)c!=="key"&&(h[c]=n[c])}else h=n;return n=h.ref,{$$typeof:a,type:y,key:u,ref:n!==void 0?n:null,props:h}}return N.Fragment=l,N.jsx=x,N.jsxs=x,N}var D={};var _;function ne(){return _||(_=1,process.env.NODE_ENV!=="production"&&(function(){function a(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===q?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case I:return"Fragment";case X:return"Profiler";case F:return"StrictMode";case te:return"Suspense";case Q:return"SuspenseList";case re:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case O:return"Portal";case U:return e.displayName||"Context";case M:return(e._context.displayName||"Context")+".Consumer";case V:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case G:return r=e.displayName||null,r!==null?r:a(e.type)||"Memo";case R:r=e._payload,e=e._init;try{return a(e(r))}catch{}}return null}function l(e){return""+e}function x(e){try{l(e);var r=!1}catch{r=!0}if(r){r=console;var p=r.error,w=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return p.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",w),l(e)}}function y(e){if(e===I)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===R)return"<...>";try{var r=a(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function n(){var e=T.A;return e===null?null:e.getOwner()}function h(){return Error("react-stack-top-frame")}function u(e){if(B.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function c(e,r){function p(){W||(W=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",r))}p.isReactWarning=!0,Object.defineProperty(e,"key",{get:p,configurable:!0})}function d(){var e=a(this.type);return z[e]||(z[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function f(e,r,p,w,v,L){var g=p.ref;return e={$$typeof:b,type:e,key:r,props:p,_owner:w},(g!==void 0?g:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:d}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:v}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:L}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function m(e,r,p,w,v,L){var g=r.children;if(g!==void 0)if(w)if(K(g)){for(w=0;w<g.length;w++)C(g[w]);Object.freeze&&Object.freeze(g)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else C(g);if(B.call(r,"key")){g=a(e);var k=Object.keys(r).filter(function(ge){return ge!=="key"});w=0<k.length?"{key: someKey, "+k.join(": ..., ")+": ...}":"{key: someKey}",o[g+w]||(k=0<k.length?"{"+k.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
2
|
let props = %s;
|
|
3
3
|
<%s {...props} />
|
|
4
4
|
React keys must be passed directly to JSX without using spread:
|
|
5
5
|
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,w,g,v,g),o[g+w]=!0)}if(g=null,u!==void 0&&(x(u),g=""+u),f(r)&&(x(r.key),g=""+r.key),"key"in r){u={};for(var P in r)P!=="key"&&(u[P]=r[P])}else u=r;return g&&c(u,typeof e=="function"?e.displayName||e.name||"Unknown":e),m(e,g,u,s(),j,M)}function b(e){E(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===S&&(e._payload.status==="fulfilled"?E(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function E(e){return typeof e=="object"&&e!==null&&e.$$typeof===k}var _=i,k=Symbol.for("react.transitional.element"),W=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),H=Symbol.for("react.strict_mode"),Z=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),V=Symbol.for("react.context"),B=Symbol.for("react.forward_ref"),ee=Symbol.for("react.suspense"),Y=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),te=Symbol.for("react.activity"),q=Symbol.for("react.client.reference"),I=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=Object.prototype.hasOwnProperty,U=Array.isArray,C=console.createTask?console.createTask:function(){return null};_={react_stack_bottom_frame:function(e){return e()}};var G,F={},J=_.react_stack_bottom_frame.bind(_,h)(),X=C(y(h)),o={};L.Fragment=T,L.jsx=function(e,r,u){var w=1e4>I.recentlyCreatedOwnerStacks++;return p(e,r,u,!1,w?Error("react-stack-top-frame"):J,w?C(y(e)):X)},L.jsxs=function(e,r,u){var w=1e4>I.recentlyCreatedOwnerStacks++;return p(e,r,u,!0,w?Error("react-stack-top-frame"):J,w?C(y(e)):X)}})()),L}var $;function se(){return $||($=1,process.env.NODE_ENV==="production"?z.exports=re():z.exports=oe()),z.exports}var t=se();async function ne(a,l=[],x=[],y="",s=""){const h="https://sage-api-ttyw-stage.superwise.ai/api/v1/chat",f=Array.isArray(l)?l.map(d=>({role:d.role,message:d.content!=null?d.content:""})):[],c={user_input:a,chat_history:f,mql_df:Array.isArray(x)?x:[],agent_id:y,discovery_agent_id:s,utm_source:"Web",utm_medium:"chatbot"};console.log("Sending payload:",c);try{const d=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(c)});if(console.log("Response status:",d.status),console.log("Response headers:",d.headers),!d.ok){const E=await d.text();return console.error("API Error Response:",E),{reply:`❌ API Error ${d.status}: ${E}`,mqlDf:[]}}const m=await d.json();console.log("API Response Data:",m);let p="⚠️ No reply from server.",b=[];return m.chat_response?p=m.chat_response:m.success&&m.data?.chat_response?p=m.data.chat_response:m.message&&(p=m.message),m.mql_df?b=m.mql_df:m.data?.mql_df&&(b=m.data.mql_df),p.includes("Parameters:")&&(p=p.split("Parameters:")[0].trim()),{reply:p,mqlDf:b}}catch(d){return console.error("API call failed:",d),d.name==="TypeError"&&d.message.includes("fetch")?{reply:"⚠️ Network error. Please check your connection.",mqlDf:[]}:{reply:`⚠️ API request failed: ${d.message}`,mqlDf:[]}}}async function ae(a,l=null,x=[]){const y="https://sage-api-ttyw-stage.superwise.ai/pdf",s=Array.isArray(a)&&a.length>0?a[0]:l||{name:"User",email:"user@example.com",summary:"Chat conversation summary"},h=Array.isArray(x)?x.map(c=>({role:c.role,message:c.content!=null?c.content:""})):[],f={lead_row:s,chat_history:h};console.log("Downloading PDF with payload:",f);try{const c=await fetch(y,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/pdf"},body:JSON.stringify(f)});if(console.log("PDF Response status:",c.status),!c.ok){const b=await c.text();throw console.error("PDF API Error Response:",b),new Error(`PDF API Error ${c.status}: ${b}`)}const d=await c.blob(),m=window.URL.createObjectURL(d),p=document.createElement("a");return p.href=m,p.download=`chatbot-report-${new Date().toISOString().split("T")[0]}.pdf`,document.body.appendChild(p),p.click(),document.body.removeChild(p),window.URL.revokeObjectURL(m),!0}catch(c){throw console.error("PDF download failed:",c),c}}const n={container:{position:"fixed",bottom:"0px",right:"20px",zIndex:999999,fontFamily:"'Inter', sans-serif",maxWidth:"400px",width:"80vw",maxHeight:"75vh",height:"75vh",display:"flex",flexDirection:"column",borderRadius:"1rem",background:"white",boxShadow:"0 0 8rem 0 rgba(0, 0, 0, 0.1), 0rem 2rem 4rem -3rem rgba(0, 0, 0, 0.5)",boxSizing:"border-box"},containerExpanded:{position:"fixed",top:"0px",left:"0px",zIndex:999999,fontFamily:"'Inter', sans-serif",width:"100vw",height:"100vh",display:"flex",flexDirection:"column",borderRadius:"0",background:"white",boxShadow:"0 0 8rem 0 rgba(0, 0, 0, 0.1), 0rem 2rem 4rem -3rem rgba(0, 0, 0, 0.5)",boxSizing:"border-box"},containerMinimized:{position:"fixed",bottom:"20px",right:"20px",zIndex:999999,fontFamily:"'Inter', sans-serif",width:"auto",minWidth:"250px",maxWidth:"350px",height:"auto",display:"flex",flexDirection:"row",borderRadius:"25px",background:"#000000",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",boxSizing:"border-box",padding:"12px 16px",alignItems:"center",cursor:"pointer"},header:{position:"relative",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px",background:"var(--swttyw-primary-color)",color:"#fff",borderRadius:"10px 10px 0 0",fontFamily:"'Inter', sans-serif",flexShrink:0,boxSizing:"border-box"},name:{fontWeight:500,fontSize:"var(--swttyw-header-font-size)",color:"#fff",flexGrow:1,marginBottom:"0.125rem",wordBreak:"break-all"},headerActions:{display:"flex",alignItems:"center",gap:"8px"},headerButton:{background:"transparent",border:"none",color:"#fff",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",width:"24px",height:"24px",textDecoration:"none",transition:"opacity 0.3s ease"},chatSection:{padding:"1rem",backgroundColor:"var(--swttyw-background-color)",flexGrow:1,overflowY:"auto",display:"flex",flexDirection:"column",boxShadow:"inset 0 2rem 2rem -2rem rgba(0, 0, 0, 0.05), inset 0 -2rem 2rem -2rem rgba(0, 0, 0, 0.05)",height:"calc(50vh - 200px)"},inputSection:{boxSizing:"border-box",flexBasis:"4rem",flexShrink:0,display:"flex",alignItems:"center",boxShadow:"0 0 1rem rgba(0, 0, 0, 0.1), 0rem 1rem 1rem -1rem rgba(0, 0, 0, 0.2)",margin:"0.50rem"},textarea:{border:"none",backgroundImage:"none",backgroundColor:"white",padding:"0.5rem 1rem",marginRight:"1rem",borderRadius:"10px",flexGrow:2,fontFamily:"'Inter', sans-serif",fontWeight:400,letterSpacing:"0.025em",resize:"none",fontSize:"16px",outline:"none"},inputFooter:{display:"flex",flexDirection:"column",justifyContent:"space-between",padding:"5px"},sendButton:{background:"transparent",border:"0px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:"#000000"},characterCount:{fontSize:"12px",color:"var(--swttyw-primary-color)",textAlign:"center"},modalOverlay:{position:"absolute",background:"#ffffffe8",height:"calc(100% - 85px)",width:"100%",top:"48px",display:"flex",justifyContent:"center",alignItems:"center"},modalBody:{textAlign:"center"},modalActions:{display:"flex",justifyContent:"center"},footer:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--swttyw-primary-color)",borderRadius:"0 0 10px 10px",paddingBottom:"6px",paddingTop:"6px",marginTop:"0px",color:"#f8f9fa",fontSize:"var(--swttyw-footer-font-size)",borderTop:"3px solid var(--swttyw-primary-color)",padding:"15px 0px",fontFamily:"'Inter', sans-serif"},message:{boxSizing:"border-box",padding:"0.5rem 1rem",margin:"1rem",background:"#FFF",borderRadius:"1.125rem 1.125rem 1.125rem 0",minHeight:"2.25rem",width:"fit-content",boxShadow:"0 0 2rem rgba(0, 0, 0, 0.075), 0rem 1rem 1rem -1rem rgba(0, 0, 0, 0.1)",fontSize:"15px",wordBreak:"break-word",fontFamily:"'Inter', sans-serif",display:"table",alignItems:"flex-start",gap:"8px",position:"relative"},messageSelf:{margin:"1rem 1rem 1rem auto",borderRadius:"1.125rem 1.125rem 0 1.125rem",background:"#000000",color:"white",position:"relative",maxWidth:"80%",fontSize:"var(--swttyw-body-font-size)",flexDirection:"row-reverse"},messageOther:{position:"relative",fontSize:"var(--swttyw-body-font-size)"},messageAvatar:{width:"24px",height:"24px",borderRadius:"50%",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",fontSize:"12px",fontWeight:"bold",position:"absolute",top:"5px"},messageContent:{flex:1,marginLeft:"32px",marginRight:"8px"},minimizedContent:{display:"flex",alignItems:"center",gap:"12px",color:"white",flex:1},chatIcon:{width:"20px",height:"20px",flexShrink:0},minimizedTitle:{color:"white",fontSize:"16px",fontWeight:"500",margin:0}};function ie(a){return a==="human"?{...n.message,...n.messageSelf}:{...n.message,...n.messageOther}}const le=i.memo(function({text:l,speed:x=10,onComplete:y}){const[s,h]=i.useState(""),[f,c]=i.useState(!1);i.useEffect(()=>{if(!l)return;h(""),c(!1);let m=0;const p=setInterval(()=>{m<l.length?(h(l.slice(0,m+1)),m++):(c(!0),clearInterval(p),y&&y())},x);return()=>clearInterval(p)},[l,x,y]);const d=m=>m.replace(/\[bold\](.*?)\[\/bold\]/g,"<strong>$1</strong>").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/(?:^|\n)-\s+/g,`
|
|
7
|
-
• `).replace(/\n/g,"<br/>").replace(/(\d+\.\s)/g,"<br/>$1").replace(/(\*\s)/g,"<br/>$1");return t.jsx("div",{style:{whiteSpace:"pre-wrap",lineHeight:"1.5",wordBreak:"break-word"},dangerouslySetInnerHTML:{__html:d(
|
|
8
|
-
• `).replace(/\n/g,"<br/>").replace(/(\d+\.\s)/g,"<br/>$1").replace(/(\*\s)/g,"<br/>$1")}})})]})}),de=()=>{const a=new Date().getHours();return a>=5&&a<12?"Good morning":a>=12&&a<17?"Good afternoon":(a>=17&&a<21,"Good evening")},ue=()=>{const a=de(),l=[`👋 ${a}! Looking to explore Superwise?`,`👋 ${a}! Ready to discover what Superwise can do for you?`,`👋 ${a}! How can I help you with Superwise today?`,`👋 ${a}! What brings you to Superwise?`,`👋 ${a}! Let's explore Superwise together!`];return l[Math.floor(Math.random()*l.length)]};function fe({title:a="",agentId:l="",discoveryAgentId:x="",primaryColor:y=""}){const[s,h]=i.useState(()=>{try{if(typeof window<"u"&&window.localStorage){const o=window.localStorage.getItem("chatbot-messages");return o?JSON.parse(o):[]}}catch{}return[]}),[f,c]=i.useState(()=>{try{if(typeof window<"u"&&window.localStorage){const o=window.localStorage.getItem("chatbot-mql_df");return o?JSON.parse(o):[]}}catch{}return[]}),[d,m]=i.useState(""),[p,b]=i.useState(!1),[E,_]=i.useState(!1),[k,W]=i.useState(!1),[T,H]=i.useState(!1),[Z,A]=i.useState(new Set),[V,B]=i.useState(!1),[ee,Y]=i.useState(""),[O,S]=i.useState(""),q=(()=>{if(y)return y;if(typeof document<"u"&&typeof window<"u"){const o=document.querySelector("[data-chatbot-color]");if(o)return o.getAttribute("data-chatbot-color")||"#000";const r=getComputedStyle(document.documentElement).getPropertyValue("--swttyw-primary-color").trim();if(r)return r}return"#000"})(),I=i.useRef(null),D=i.useRef(s),U=i.useMemo(()=>s.map(o=>({role:o.from,content:o.text})),[s]),C=o=>{S(o),setTimeout(()=>{S("")},4e3)},G=o=>{const e=o.length,r=o.trim();return Y(""),S(""),!r||e===0?(C("Please enter a message before sending."),!1):new RegExp(/(<([^>]+)>)/gi).test(r)?(C("Please avoid using HTML tags or scripts in your message."),!1):r.length<2?(C("Please enter a meaningful question (at least 2 characters)."),!1):r.length>1e3?(C("Message is too long. Please keep it under 1000 characters."),!1):(Y(""),S(""),!0)};i.useEffect(()=>{I.current?.scrollIntoView({behavior:"smooth"})},[s,p]),i.useEffect(()=>{try{typeof window<"u"&&window.localStorage&&window.localStorage.setItem("chatbot-messages",JSON.stringify(s))}catch{}},[s]),i.useEffect(()=>{try{typeof window<"u"&&window.localStorage&&window.localStorage.setItem("chatbot-mql_df",JSON.stringify(f))}catch{}},[f]),i.useEffect(()=>{D.current=s},[s]),i.useEffect(()=>{if(s.length===0&&!V){const e={from:"ai",text:ue()};h([e]),B(!0),A(new Set([0]))}},[s.length,V]);const F=i.useCallback(async()=>{const o=d.trim();if(!o||!G(d))return;const e={from:"human",text:o},u=[...D.current,e];h(u),m(""),b(!0);const w=[...U,{role:"human",content:o}],j=await ne(o,w,f,l,x);if(typeof j=="string"){const M={from:"ai",text:j};h(g=>{const v=[...g,M];return A(P=>new Set([...P,v.length-1])),v})}else{const M={from:"ai",text:j.reply};h(g=>{const v=[...g,M];return A(P=>new Set([...P,v.length-1])),v}),j.mqlDf&&Array.isArray(j.mqlDf)&&c(j.mqlDf)}b(!1)},[d,l,x,f]),J=i.useCallback(()=>{h([]),c([]),A(new Set),B(!1);try{typeof window<"u"&&window.localStorage&&(window.localStorage.removeItem("chatbot-messages"),window.localStorage.removeItem("chatbot-mql_df"))}catch{}_(!1)},[]),X=i.useCallback(async()=>{if(!f||f.length===0){console.warn("No mql_df data available for PDF download");return}try{b(!0),console.log("mql_df data for lead extraction:",f);const o={name:f.find(e=>e.name)?.name||"Chat User",email:f.find(e=>e.email)?.email||"user@example.com",summary:`Chat conversation with ${s.length} messages. User asked: "${s.find(e=>e.from==="human")?.text||"No user messages"}"`};console.log("Extracted lead row:",o),await ae(f,o,U),console.log("PDF downloaded successfully")}catch(o){console.error("Failed to download PDF:",o)}finally{b(!1)}},[f,s]);return t.jsx(t.Fragment,{children:t.jsxs("div",{className:"sw-ttyw-chatbot",style:{...k?n.containerMinimized:T?n.containerExpanded:n.container,"--swttyw-primary-color":q,"--swttyw-avatar-image":"url('')","--swttyw-user-avatar-image":"url('')","--swttyw-background-color":"#F7F7F7","--swttyw-header-font-size":"16px","--swttyw-body-font-size":"15px","--swttyw-footer-font-size":"16px","--swttyw-user-background-image":"url('')"},onClick:k?()=>W(!1):void 0,children:[k?t.jsxs("div",{style:n.minimizedContent,children:[t.jsxs("svg",{style:n.chatIcon,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M21 15C21 15.5304 20.7893 16.0391 20.4142 16.4142C20.0391 16.7893 19.5304 17 19 17H7L3 21V5C3 4.46957 3.21071 3.96086 3.58579 3.58579C3.96086 3.21071 4.46957 3 5 3H19C19.5304 3 20.0391 3.21071 20.4142 3.58579C20.7893 3.96086 21 4.46957 21 5V15Z",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M8 9H16",stroke:"white",strokeWidth:"2",strokeLinecap:"round"}),t.jsx("path",{d:"M8 13H12",stroke:"white",strokeWidth:"2",strokeLinecap:"round"})]}),t.jsx("div",{style:n.minimizedTitle,children:a})]}):t.jsxs("div",{className:"sw-ttyw-chat-header",style:n.header,children:[t.jsx("div",{className:"sw-ttyw-name",style:n.name,children:a}),t.jsxs("div",{style:n.headerActions,children:[t.jsx("button",{onClick:()=>H(o=>!o),style:n.headerButton,title:T?"Shrink chat":"Expand chat",children:T?t.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M9 4V9H4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M15 4V9H20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M9 20V15H4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M15 20V15H20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):t.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M4 9V4H9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M20 9V4H15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M4 15V20H9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M20 15V20H15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}),t.jsx("button",{onClick:()=>{k||H(!1),W(!k)},style:n.headerButton,title:k?"Maximize chat":"Minimize chat",children:t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:t.jsx("path",{d:"M6 9H18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}),f&&f.length>0&&t.jsx("button",{onClick:X,style:n.headerButton,title:"Download PDF Report",disabled:p,children:t.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M21 15V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M7 10L12 15L17 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M12 15V3",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}),t.jsx("button",{onClick:()=>_(!0),style:n.headerButton,title:"Clear chat",children:t.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M3 6H5H21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M10 11V17",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M14 11V17",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})]}),!k&&t.jsxs("div",{className:"sw-ttyw-chat-section",style:{flexGrow:1,display:"flex",flexDirection:"column"},children:[t.jsxs("div",{className:"sw-ttyw-messages",style:n.chatSection,children:[s.length===0&&!p&&t.jsx("div",{className:"sw-ttyw-empty-state",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",position:"relative"},children:t.jsx("img",{src:"/images/superwise-logo.svg",alt:"Superwise Logo",style:{width:"350px",height:"200px",opacity:.8,objectFit:"contain"},onError:o=>{console.log("Logo failed to load, using fallback"),o.target.style.display="none"}})}),s.map((o,e)=>t.jsx(ce,{msg:o,isTyping:Z.has(e),onTypingComplete:()=>{A(r=>{const u=new Set(r);return u.delete(e),u})}},e)),O&&t.jsxs("div",{className:"sw-ttyw-validation-message",children:[t.jsx("span",{className:"error-icon",children:"⚠️"}),t.jsx("span",{children:O})]}),p&&t.jsxs("div",{className:"sw-ttyw-message other message-loading",style:{...n.message,...n.messageOther},children:[t.jsx("div",{className:"message-avatar",style:n.messageAvatar,children:t.jsx("img",{src:"/images/avatars/default_avatar.png",alt:"AI Avatar",style:{width:"20px",height:"20px",borderRadius:"50%",objectFit:"cover"}})}),t.jsxs("div",{className:"message-content",style:n.messageContent,children:[t.jsx("div",{className:"typing typing-1"}),t.jsx("div",{className:"typing typing-2"}),t.jsx("div",{className:"typing typing-3"})]})]}),t.jsx("div",{ref:I})]}),t.jsxs("div",{className:"sw-ttyw-chat-input-section",style:n.inputSection,children:[t.jsx("textarea",{className:"sw-ttyw-input",placeholder:"Please ask question here",value:d,onChange:o=>{m(o.target.value),O&&S("")},maxLength:1e3,style:n.textarea,onKeyDown:o=>o.key==="Enter"&&!o.shiftKey&&(o.preventDefault(),F())}),t.jsxs("div",{className:"sw-ttyw-chat-input-content",style:n.inputFooter,children:[t.jsxs("small",{id:"sw-ttyw-chat-textbox-status",style:n.characterCount,children:[t.jsx("span",{children:d.length}),"/1000"]}),t.jsx("button",{id:"sw-ttyw-chat-send-message",onClick:F,"aria-label":"Send message",style:n.sendButton,children:t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000",className:"cwv replaced-svg",children:[t.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),t.jsx("path",{d:"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"})]})})]})]})]}),E&&t.jsxs("div",{className:"swttyw-modal swttyw-modal-clear-history",style:n.modalOverlay,children:[t.jsx("div",{className:"swtty-modal-header"}),t.jsxs("div",{className:"swtty-modal-body",style:n.modalBody,children:[t.jsx("div",{className:"swtty-content",children:"Are you sure you want to delete the chat history?"}),t.jsxs("div",{className:"swtty-action",style:n.modalActions,children:[t.jsx("input",{type:"button",className:"swttyw-btn swttyw-btn-primary",id:"swttyw-btn-clear-history-yes",onClick:J,value:"Yes",style:{background:"var(--swttyw-primary-color)",color:"white",border:"none",padding:"10px 20px",cursor:"pointer",borderRadius:"8px",margin:"10px 5px"}}),t.jsx("input",{type:"button",className:"swttyw-btn swttyw-btn-primary-inverse",id:"swttyw-btn-clear-history-no",onClick:()=>_(!1),value:"No",style:{background:"transparent",color:"var(--swttyw-primary-color)",border:"1px solid var(--swttyw-primary-color)",padding:"10px 20px",cursor:"pointer",borderRadius:"8px",margin:"10px 5px"}})]})]}),t.jsx("div",{className:"swtty-modal-footer"})]}),!k&&t.jsxs("div",{className:"sw-ttyw-chat-footer",style:n.footer,children:["Powered by ",t.jsx("a",{href:"https://superwise.ai/",className:"ml-1",target:"_new",style:{marginLeft:"0.25rem",lineHeight:0},children:t.jsx("img",{src:"/images/White%20-%20Logo_Superwise%20-%20Standard.png",alt:"SUPERWISE®",height:"20"})})]})]})})}R.Chatbot=fe,Object.defineProperty(R,Symbol.toStringTag,{value:"Module"})}));
|
|
6
|
+
<%s key={someKey} {...props} />`,w,g,k,g),o[g+w]=!0)}if(g=null,p!==void 0&&(x(p),g=""+p),u(r)&&(x(r.key),g=""+r.key),"key"in r){p={};for(var H in r)H!=="key"&&(p[H]=r[H])}else p=r;return g&&c(p,typeof e=="function"?e.displayName||e.name||"Unknown":e),f(e,g,p,n(),v,L)}function C(e){j(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===R&&(e._payload.status==="fulfilled"?j(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function j(e){return typeof e=="object"&&e!==null&&e.$$typeof===b}var A=i,b=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),I=Symbol.for("react.fragment"),F=Symbol.for("react.strict_mode"),X=Symbol.for("react.profiler"),M=Symbol.for("react.consumer"),U=Symbol.for("react.context"),V=Symbol.for("react.forward_ref"),te=Symbol.for("react.suspense"),Q=Symbol.for("react.suspense_list"),G=Symbol.for("react.memo"),R=Symbol.for("react.lazy"),re=Symbol.for("react.activity"),q=Symbol.for("react.client.reference"),T=A.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B=Object.prototype.hasOwnProperty,K=Array.isArray,S=console.createTask?console.createTask:function(){return null};A={react_stack_bottom_frame:function(e){return e()}};var W,z={},Y=A.react_stack_bottom_frame.bind(A,h)(),Z=S(y(h)),o={};D.Fragment=I,D.jsx=function(e,r,p){var w=1e4>T.recentlyCreatedOwnerStacks++;return m(e,r,p,!1,w?Error("react-stack-top-frame"):Y,w?S(y(e)):Z)},D.jsxs=function(e,r,p){var w=1e4>T.recentlyCreatedOwnerStacks++;return m(e,r,p,!0,w?Error("react-stack-top-frame"):Y,w?S(y(e)):Z)}})()),D}var $;function se(){return $||($=1,process.env.NODE_ENV==="production"?P.exports=oe():P.exports=ne()),P.exports}var t=se();async function ae(a,l=[],x=[],y="",n=""){const h="https://sage-api-ttyw-stage.superwise.ai/api/v1/chat",u=Array.isArray(l)?l.map(d=>({role:d.role,message:d.content!=null?d.content:""})):[],c={user_input:a,chat_history:u,mql_df:Array.isArray(x)?x:[],agent_id:y,discovery_agent_id:n,utm_source:"Web",utm_medium:"chatbot"};console.log("Sending payload:",c);try{const d=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(c)});if(console.log("Response status:",d.status),console.log("Response headers:",d.headers),!d.ok){const j=await d.text();return console.error("API Error Response:",j),{reply:`❌ API Error ${d.status}: ${j}`,mqlDf:[]}}const f=await d.json();console.log("API Response Data:",f);let m="⚠️ No reply from server.",C=[];return f.chat_response?m=f.chat_response:f.success&&f.data?.chat_response?m=f.data.chat_response:f.message&&(m=f.message),f.mql_df?C=f.mql_df:f.data?.mql_df&&(C=f.data.mql_df),m.includes("Parameters:")&&(m=m.split("Parameters:")[0].trim()),{reply:m,mqlDf:C}}catch(d){return console.error("API call failed:",d),d.name==="TypeError"&&d.message.includes("fetch")?{reply:"⚠️ Network error. Please check your connection.",mqlDf:[]}:{reply:`⚠️ API request failed: ${d.message}`,mqlDf:[]}}}async function ie(a,l=null,x=[]){const y="https://sage-api-ttyw-stage.superwise.ai/pdf",n=Array.isArray(a)&&a.length>0?a[0]:l||{name:"User",email:"user@example.com",summary:"Chat conversation summary"},h=Array.isArray(x)?x.map(c=>({role:c.role,message:c.content!=null?c.content:""})):[],u={lead_row:n,chat_history:h};console.log("Downloading PDF with payload:",u);try{const c=await fetch(y,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/pdf"},body:JSON.stringify(u)});if(console.log("PDF Response status:",c.status),!c.ok){const C=await c.text();throw console.error("PDF API Error Response:",C),new Error(`PDF API Error ${c.status}: ${C}`)}const d=await c.blob(),f=window.URL.createObjectURL(d),m=document.createElement("a");return m.href=f,m.download=`chatbot-report-${new Date().toISOString().split("T")[0]}.pdf`,document.body.appendChild(m),m.click(),document.body.removeChild(m),window.URL.revokeObjectURL(f),!0}catch(c){throw console.error("PDF download failed:",c),c}}const s={container:{position:"fixed",bottom:"0px",right:"20px",zIndex:999999,fontFamily:"'Inter', sans-serif",maxWidth:"400px",width:"80vw",maxHeight:"75vh",height:"75vh",display:"flex",flexDirection:"column",borderRadius:"1rem",background:"white",boxShadow:"0 0 8rem 0 rgba(0, 0, 0, 0.1), 0rem 2rem 4rem -3rem rgba(0, 0, 0, 0.5)",boxSizing:"border-box"},containerExpanded:{position:"fixed",top:"0px",left:"0px",zIndex:999999,fontFamily:"'Inter', sans-serif",width:"100vw",height:"100vh",display:"flex",flexDirection:"column",borderRadius:"0",background:"white",boxShadow:"0 0 8rem 0 rgba(0, 0, 0, 0.1), 0rem 2rem 4rem -3rem rgba(0, 0, 0, 0.5)",boxSizing:"border-box"},containerMinimized:{position:"fixed",bottom:"20px",right:"20px",zIndex:999999,fontFamily:"'Inter', sans-serif",width:"auto",minWidth:"250px",maxWidth:"350px",height:"auto",display:"flex",flexDirection:"row",borderRadius:"25px",background:"#000000",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",boxSizing:"border-box",padding:"12px 16px",alignItems:"center",cursor:"pointer"},header:{position:"relative",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px",background:"var(--swttyw-primary-color)",color:"#fff",borderRadius:"10px 10px 0 0",fontFamily:"'Inter', sans-serif",flexShrink:0,boxSizing:"border-box"},name:{fontWeight:500,fontSize:"var(--swttyw-header-font-size)",color:"#fff",flexGrow:1,marginBottom:"0.125rem",wordBreak:"break-all"},headerActions:{display:"flex",alignItems:"center",gap:"8px"},headerButton:{background:"transparent",border:"none",color:"#fff",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",width:"24px",height:"24px",textDecoration:"none",transition:"opacity 0.3s ease"},chatSection:{padding:"1rem",backgroundColor:"var(--swttyw-background-color)",flexGrow:1,overflowY:"auto",display:"flex",flexDirection:"column",boxShadow:"inset 0 2rem 2rem -2rem rgba(0, 0, 0, 0.05), inset 0 -2rem 2rem -2rem rgba(0, 0, 0, 0.05)",height:"calc(50vh - 200px)"},inputSection:{boxSizing:"border-box",flexBasis:"4rem",flexShrink:0,display:"flex",alignItems:"center",boxShadow:"0 0 1rem rgba(0, 0, 0, 0.1), 0rem 1rem 1rem -1rem rgba(0, 0, 0, 0.2)",margin:"0.50rem"},textarea:{border:"none",backgroundImage:"none",backgroundColor:"white",padding:"0.5rem 1rem",marginRight:"1rem",borderRadius:"10px",flexGrow:2,fontFamily:"'Inter', sans-serif",fontWeight:400,letterSpacing:"0.025em",resize:"none",fontSize:"16px",outline:"none"},inputFooter:{display:"flex",flexDirection:"column",justifyContent:"space-between",padding:"5px"},sendButton:{background:"transparent",border:"0px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:"#000000"},characterCount:{fontSize:"12px",color:"var(--swttyw-primary-color)",textAlign:"center"},modalOverlay:{position:"absolute",background:"#ffffffe8",height:"calc(100% - 85px)",width:"100%",top:"48px",display:"flex",justifyContent:"center",alignItems:"center"},modalBody:{textAlign:"center"},modalActions:{display:"flex",justifyContent:"center"},footer:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--swttyw-primary-color)",borderRadius:"0 0 10px 10px",paddingBottom:"6px",paddingTop:"6px",marginTop:"0px",color:"#f8f9fa",fontSize:"var(--swttyw-footer-font-size)",borderTop:"3px solid var(--swttyw-primary-color)",padding:"15px 0px",fontFamily:"'Inter', sans-serif"},message:{boxSizing:"border-box",padding:"0.5rem 1rem",margin:"1rem",background:"#FFF",borderRadius:"1.125rem 1.125rem 1.125rem 0",minHeight:"2.25rem",width:"fit-content",boxShadow:"0 0 2rem rgba(0, 0, 0, 0.075), 0rem 1rem 1rem -1rem rgba(0, 0, 0, 0.1)",fontSize:"15px",wordBreak:"break-word",fontFamily:"'Inter', sans-serif",display:"table",alignItems:"flex-start",gap:"8px",position:"relative"},messageSelf:{margin:"1rem 1rem 1rem auto",borderRadius:"1.125rem 1.125rem 0 1.125rem",background:"#000000",color:"white",position:"relative",maxWidth:"80%",fontSize:"var(--swttyw-body-font-size)",flexDirection:"row-reverse"},messageOther:{position:"relative",fontSize:"var(--swttyw-body-font-size)"},messageAvatar:{width:"24px",height:"24px",borderRadius:"50%",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",fontSize:"12px",fontWeight:"bold",position:"absolute",top:"5px"},messageContent:{flex:1,marginLeft:"32px",marginRight:"8px"},minimizedContent:{display:"flex",alignItems:"center",gap:"12px",color:"white",flex:1},chatIcon:{width:"20px",height:"20px",flexShrink:0},minimizedTitle:{color:"white",fontSize:"16px",fontWeight:"500",margin:0}},ee="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFT0lEQVR4Ab1YeYhVVRj/3fdmsdEYwamsRKMQqSgwoySMpmVQo5IZCtqIklZbyD+iTWIiMqQCqz+sIAULyhZbDCqoaLHCIktJa5pcKismyxnG2Zx37z3+vnPOnblz37l3rm8cPzjc8876Lb9vOc9D5VRgU62ANwAs4o/aj4C3vgdKdi7EESKPrSidz4FrFRlgU7xdyfdn4AG7rmjXjitpRp4BZvpAhzARWIakccwPTL/vDeB8u6eAcSAt7WVA3f/AJ3I57eJHjCRbNNcNbLsOmBY7Y8wkKtcSbgYekUsGiQ1lmhqt+ZaxncCbyfMqIS3RGqCRh/bSPGGYoZW0RhOGbIH0vwTujJ2dG1+akeXAlB6gLcs8Yc4xy1jJznWuBs6NaWwEea7+78Da6cD1IlnRqDi+TszlccCjSbragW+5rq1oAH3SycBZdcAM6/NhIWEie2bxP6JgCbCA4N9rlRCUMfcqcLa1vVwaOMCqPWoHsL4VaEAKzQHqtwKPxXAUOjSmtd4GLHUoh0ABJljQljI8p4eMHGu3ZIEzmit0Aj8FxpSpTD0PnFbG0KNAc4a3lAa1JTUdivvqtf8C79n4FLow9yHwVFISdKWc6Bubqxrigj+rYGyt9zVTWy3A8XZpJGEVTVY334wLlKqp0iv6qSmepZLny6Zuk25G0lK3hrREK4BZSGjmfaAlWrcBuCU+t5/atGlkeYzJamumMmwySK0s05CLRLwO4Jv76UVIeMEZwGIRV9qZwA3xuT6gX76M6j12yGfS9bcAD6bcGZYxpBwxgZPeS8CtcMwxLMzjoPJMfw5y0DLg2dHCdCHWGXDM+w/T9kjYvtl4Wj2B3kFV/M3+UXebnJUVfRXN3NcLtKs8DBUd9QuxsMO16UrgIvnSjht/AzZIf77mE1l3adoNfIE8DLmIov/lGmddcaN8GW2/JnA3Sn8ecA1yELHU7lXKUJAi8YnAefJ9jfHlR+AD6dczZSAHdY+ixaqsyenDtcwQXQVMpRRHS/824EnPeJ9cUnsvc9lKbZV0ugQ4RRanaSlTQ5N4ge0O7V+kz9SkqJLm2YSU9VDVxNiEUYjR8oLkWDjSuTKptlWHmWGGiJ+b5MsUvY2Z+uZ3qChibZMwNTcbR4VG5kuadlZSO9w7oWz1fSwFXMUVgfuZXeJZafZL/lkDXB3tfRq42O45IL8ZTH+R30T7Q/E7GD+WueqldcCqIa6jTuDQlgxMoYpXGdN5tMc0cjVJONtsvUtoN/Cd7dYwijZMtBg7Dphox3WFeDpLEjjqnjhVxTr9jnkpwvzbge13MGGuB/YQQ1Mnc2wtsC9a9By1tgs4ppoyvM2M8SuByyJtcp+ODOAwSkzeW6LiLHmJckGH5UdTWvnBiByQsT9iistLWuCs8kPGWH68WLZTnjg5CrTeu4ATcjAmVvUW0imo9u2WmSCtQCMGZ8NVX78CzI3KTleFN2gPYKW2rsURoyJaTAwxIq+ICZI8KyxZBpl+liQlQUxiHUV54bsMipeTqaCQsLmt8mTQo0vt/RP4YdB6FQWZcSpwTo3Ror7YS+yXgo92LDJib2IN1rRap8zs/wL0AfcwUHfZi0opZnS1ML0MDkLz7XxBl1PDd+UljRHGiAt54IBvLjvkh6IyDqFN9pWpraKzK/ojYujpu9U+pdOeNS7viR6YLFFebzQeN6andJy0aqUu3gN8bM0YqHTziFMoxqGdjw8/Ag7Lnw1OxphmZrJY3pXElwS+wGivn0F0QXzPeJNW+6fApcqCNWKK+eoJu8ZDBTgZyz9c0YUho/xC1soN//CJ/bJ+dJhxVEAHAcHcOo6kRyMOAAAAAElFTkSuQmCC",le="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='190'%20height='42'%20viewBox='0%200%20190%2042'%20fill='none'%3e%3cpath%20d='M17.2253%2014.2603C17.155%2014.0259%2016.9441%2013.8618%2016.7097%2013.8618H14.6472C14.3894%2013.8618%2014.1785%2014.0259%2014.1316%2014.2603L10.7801%2027.5053C10.7332%2027.6694%2010.7801%2027.8335%2010.8739%2027.9741C10.9676%2028.1148%2011.1317%2028.1851%2011.2957%2028.1851H12.9363C13.1941%2028.1851%2013.4051%2027.9976%2013.4754%2027.7631L14.0613%2025.0673H17.3191L17.905%2027.7631C17.9519%2028.021%2018.1862%2028.1851%2018.444%2028.1851H20.0846C20.2487%2028.1851%2020.4128%2028.1148%2020.5065%2027.9741C20.6003%2027.8335%2020.6471%2027.6694%2020.6003%2027.5053L17.2488%2014.2603H17.2253ZM14.5769%2022.5824L15.655%2017.636L16.7566%2022.5824H14.5769Z'%20fill='%23FF0000'%3e%3c/path%3e%3cpath%20d='M23.8359%2013.8618H22.2656C21.9609%2013.8618%2021.7266%2014.0962%2021.7266%2014.401V27.6459C21.7266%2027.9507%2021.9609%2028.1851%2022.2656%2028.1851H23.8359C24.1406%2028.1851%2024.375%2027.9507%2024.375%2027.6459V14.401C24.375%2014.0962%2024.1406%2013.8618%2023.8359%2013.8618ZM22.2891%2014.0493C22.2422%2014.0493%2022.1953%2014.0493%2022.1484%2014.0728C22.1953%2014.0728%2022.2422%2014.0493%2022.2891%2014.0493Z'%20fill='%23FF0000'%3e%3c/path%3e%3cpath%20d='M36.1401%2029.4041L36.0932%2012.5256C36.0932%2011.3066%2035.4369%2010.1579%2034.3588%209.5484L19.7341%201.15601C18.6794%200.546507%2017.3669%200.546507%2016.2888%201.15601L1.71091%209.61872C0.65624%2010.2282%200%2011.3769%200%2012.5959L0.046874%2029.4744C0.046874%2030.6934%200.703114%2031.8421%201.78122%2032.4516L16.406%2040.844C17.4607%2041.4535%2018.7731%2041.4535%2019.8513%2040.844L34.4291%2032.3813C35.4838%2031.7718%2036.1401%2030.6231%2036.1401%2029.4041ZM11.9998%2031.5608C6.16397%2028.1851%204.17181%2020.7539%207.54676%2014.9167C10.8983%209.07955%2018.3513%207.08694%2024.1871%2010.4626C30.023%2013.8149%2032.0151%2021.2696%2028.6402%2027.1068C25.2887%2032.9439%2017.8357%2034.9365%2011.9998%2031.5608Z'%20fill='%23FF0000'%3e%3c/path%3e%3cpath%20d='M46.3593%2014.19C46.6171%2013.9087%2046.9218%2013.6977%2047.2734%2013.557C47.6249%2013.4164%2048.0468%2013.3461%2048.5155%2013.3461C48.9843%2013.3461%2049.6171%2013.4398%2050.0858%2013.6508C50.5546%2013.8618%2050.9295%2014.1665%2051.2342%2014.5416C51.3983%2014.7526%2051.5623%2014.987%2051.6795%2015.2683C51.8202%2015.5496%2051.9139%2015.8309%2051.9608%2016.1357L55.4295%2015.0574C55.1717%2014.1431%2054.8201%2013.3695%2054.3748%2012.7131C53.9295%2012.0567%2053.3904%2011.4941%2052.7576%2011.0487C52.1952%2010.6502%2051.5623%2010.3689%2050.8358%2010.1813C50.1327%209.99379%2049.3593%209.90002%2048.5624%209.90002C47.7655%209.90002%2046.5937%2010.0407%2045.7734%2010.3454C44.9765%2010.6502%2044.2734%2011.0956%2043.7109%2011.6816C43.125%2012.2443%2042.7031%2012.9241%2042.4219%2013.7211C42.1406%2014.5182%2042%2015.4324%2042%2016.4405C42%2017.4485%2042.1641%2018.5034%2042.5156%2019.277C42.8672%2020.0506%2043.3828%2020.707%2044.0859%2021.2461C44.789%2021.7853%2045.7031%2022.2776%2046.8515%2022.6761L48.8436%2023.4028C49.5702%2023.6842%2050.1561%2023.9655%2050.5546%2024.2702C50.953%2024.5515%2051.2342%2024.8797%2051.3983%2025.2314C51.5623%2025.583%2051.6327%2026.0284%2051.6327%2026.5676C51.6327%2027.1067%2051.5858%2027.4818%2051.4686%2027.8335C51.3749%2028.1851%2051.1874%2028.4899%2050.9764%2028.7712C50.742%2029.0759%2050.4374%2029.2869%2050.0624%2029.4275C49.7108%2029.5682%2049.2889%2029.6385%2048.8202%2029.6385C48.3515%2029.6385%2047.7187%2029.5448%2047.2734%2029.3338C46.8046%2029.1228%2046.4296%2028.818%2046.1249%2028.443C45.9374%2028.232%2045.7734%2027.9976%2045.6562%2027.6928C45.5156%2027.4115%2045.4453%2027.1067%2045.3749%2026.802L41.8594%2027.7866C42.0937%2028.7008%2042.4453%2029.4979%2042.8906%2030.2011C43.3594%2030.9044%2043.8984%2031.467%2044.5546%2031.9359C45.1406%2032.311%2045.7734%2032.5923%2046.4765%2032.8032C47.1796%2033.0142%2047.953%2033.108%2048.7499%2033.108C49.5468%2033.108%2050.742%2032.9439%2051.5389%2032.6626C52.3592%2032.3578%2053.0623%2031.9124%2053.6483%2031.3029C54.1873%2030.7169%2054.6092%2030.0136%2054.9139%2029.1931C55.2185%2028.3726%2055.3592%2027.4349%2055.3592%2026.3566C55.3592%2025.2782%2055.1951%2024.2702%2054.8435%2023.4966C54.492%2022.723%2053.9764%2022.0666%2053.2498%2021.5275C52.5233%2020.9883%2051.5858%2020.496%2050.3905%2020.0506L48.4218%2019.3239C47.6952%2019.0426%2047.1327%2018.7612%2046.7577%2018.4799C46.3593%2018.1752%2046.1015%2017.8704%2045.9609%2017.5188C45.8203%2017.1672%2045.7499%2016.7686%2045.7499%2016.2998C45.7499%2015.8309%2045.7968%2015.4324%2045.914%2015.0808C46.0077%2014.7292%2046.1718%2014.4478%2046.3593%2014.19Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M67.5233%2026.4504C67.5233%2027.1536%2067.4295%2027.7631%2067.242%2028.232C67.0545%2028.7008%2066.7499%2029.0525%2066.3046%2029.3103C65.8593%2029.5682%2065.2733%2029.6854%2064.5468%2029.6854C63.8202%2029.6854%2063.2109%2029.5682%2062.7656%2029.3103C62.3202%2029.0525%2062.0156%2028.7008%2061.8281%2028.232C61.6406%2027.7631%2061.5468%2027.1771%2061.5468%2026.4504V10.1579H57.8672V26.3332C57.8672%2027.6694%2058.1016%2028.8415%2058.5703%2029.8495C59.039%2030.8575%2059.7656%2031.6546%2060.75%2032.2406C61.7343%2032.8267%2063.0234%2033.108%2064.5702%2033.108C66.1171%2033.108%2067.3592%2032.8267%2068.367%2032.2406C69.3748%2031.6546%2070.1014%2030.8575%2070.5467%2029.8261C70.992%2028.7946%2071.2264%2027.6459%2071.2264%2026.3332V10.1579H67.5467V26.4504H67.5233Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M83.7186%2010.9549C82.7811%2010.4158%2081.5858%2010.1579%2080.1562%2010.1579H74.0859V32.8033H77.7656V24.9032H80.1093C81.5624%2024.9032%2082.7577%2024.6453%2083.6952%2024.1296C84.6327%2023.6138%2085.3358%2022.8168%2085.8045%2021.7385C86.2732%2020.6601%2086.5076%2019.2536%2086.5076%2017.5423C86.5076%2015.831%2086.2732%2014.4479%2085.8045%2013.3695C85.3358%2012.2912%2084.6327%2011.4941%2083.6952%2010.9549H83.7186ZM82.4999%2019.9099C82.2889%2020.4726%2081.9843%2020.8711%2081.5858%2021.1289C81.1874%2021.3868%2080.6718%2021.504%2080.0155%2021.504H77.7421V13.6274H80.0155C80.6718%2013.6274%2081.1874%2013.7446%2081.5858%2014.0025C81.9843%2014.2603%2082.2889%2014.6588%2082.4999%2015.2215C82.7108%2015.7841%2082.8046%2016.5577%2082.8046%2017.5423C82.8046%2018.5268%2082.7108%2019.3473%2082.4999%2019.9099Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M88.5938%2032.8267H99.7029V29.3807H92.2734V23.0043H98.4608V19.5817H92.2734V13.6274H99.7029V10.1813H88.5938V32.8267Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M111.797%2023.356C112.711%2022.8402%20113.437%2022.0666%20113.953%2021.0352C114.469%2020.0037%20114.726%2018.7144%20114.726%2017.1672C114.726%2015.62%20114.492%2014.2134%20114.023%2013.2054C113.555%2012.1739%20112.851%2011.4238%20111.961%2010.9315C111.047%2010.4392%20109.922%2010.2048%20108.586%2010.2048H102.023V32.8501H105.703V24.153H108.258L111.094%2032.8501H115.078L111.75%2023.4028C111.75%2023.4028%20111.797%2023.4028%20111.82%2023.3794L111.797%2023.356ZM105.68%2013.6274H108.422C108.961%2013.6274%20109.406%2013.7211%20109.805%2013.9321C110.18%2014.1431%20110.484%2014.4947%20110.695%2015.0105C110.906%2015.5028%20111%2016.2295%20111%2017.1437C111%2018.058%20110.906%2018.8081%20110.695%2019.3239C110.484%2019.8396%20110.203%2020.1912%20109.828%2020.4022C109.453%2020.6132%20109.008%2020.707%20108.469%2020.707H105.703V13.6508L105.68%2013.6274Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M132.234%2027.3412L129.047%2010.1813H125.508L122.344%2027.2474L119.086%2010.1813H115.148L120.328%2032.8267H124.148L127.289%2017.6595L130.406%2032.8267H134.226L139.382%2010.1813H135.492L132.234%2027.3412Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M144.773%2010.1813H141.094V32.8267H144.773V10.1813Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M151.851%2014.19C152.109%2013.9087%20152.414%2013.6977%20152.766%2013.557C153.117%2013.4164%20153.539%2013.3461%20154.008%2013.3461C154.476%2013.3461%20155.109%2013.4398%20155.578%2013.6508C156.047%2013.8618%20156.422%2014.1665%20156.726%2014.5416C156.89%2014.7526%20157.055%2014.987%20157.172%2015.2683C157.312%2015.5496%20157.406%2015.8309%20157.453%2016.1357L160.922%2015.0574C160.664%2014.1431%20160.312%2013.3695%20159.867%2012.7131C159.422%2012.0567%20158.883%2011.4941%20158.25%2011.0487C157.687%2010.6502%20157.055%2010.3689%20156.328%2010.1813C155.625%209.99379%20154.851%209.90002%20154.055%209.90002C153.258%209.90002%20152.086%2010.0407%20151.266%2010.3454C150.469%2010.6502%20149.766%2011.0956%20149.203%2011.6816C148.617%2012.2443%20148.195%2012.9241%20147.914%2013.7211C147.633%2014.5182%20147.492%2015.4324%20147.492%2016.4405C147.492%2017.4485%20147.656%2018.5034%20148.008%2019.277C148.359%2020.0506%20148.875%2020.707%20149.578%2021.2461C150.281%2021.7853%20151.195%2022.2776%20152.344%2022.6761L154.336%2023.4028C155.062%2023.6842%20155.648%2023.9655%20156.047%2024.2702C156.445%2024.5515%20156.726%2024.8797%20156.89%2025.2314C157.055%2025.583%20157.125%2026.0284%20157.125%2026.5676C157.125%2027.1067%20157.078%2027.4818%20156.961%2027.8335C156.867%2028.1851%20156.68%2028.4899%20156.469%2028.7712C156.234%2029.0759%20155.93%2029.2869%20155.555%2029.4275C155.203%2029.5682%20154.781%2029.6385%20154.312%2029.6385C153.844%2029.6385%20153.211%2029.5448%20152.766%2029.3338C152.297%2029.1228%20151.922%2028.818%20151.617%2028.443C151.43%2028.232%20151.266%2027.9976%20151.148%2027.6928C151.008%2027.4115%20150.914%2027.1067%20150.867%2026.802L147.352%2027.7866C147.586%2028.7008%20147.937%2029.4979%20148.383%2030.2011C148.852%2030.9044%20149.391%2031.467%20150.047%2031.9359C150.633%2032.311%20151.266%2032.5923%20151.969%2032.8032C152.672%2033.0142%20153.445%2033.108%20154.242%2033.108C155.039%2033.108%20156.234%2032.9439%20157.031%2032.6626C157.851%2032.3578%20158.555%2031.9124%20159.14%2031.3029C159.68%2030.7169%20160.101%2030.0136%20160.406%2029.1931C160.711%2028.3726%20160.851%2027.4349%20160.851%2026.3566C160.851%2025.2782%20160.687%2024.2702%20160.336%2023.4966C159.984%2022.723%20159.469%2022.0666%20158.742%2021.5275C158.015%2020.9883%20157.078%2020.496%20155.883%2020.0506L153.914%2019.3239C153.187%2019.0426%20152.625%2018.7612%20152.25%2018.4799C151.852%2018.1752%20151.594%2017.8704%20151.453%2017.5188C151.312%2017.1672%20151.242%2016.7686%20151.242%2016.2998C151.242%2015.8309%20151.289%2015.4324%20151.406%2015.0808C151.5%2014.7292%20151.664%2014.4478%20151.851%2014.19Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M174.633%2013.6274V10.1813H163.5V32.8267H174.633V29.3807H167.18V23.0043H173.367V19.5817H167.18V13.6274H174.633Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M179.316%2011.0956V10.1345H183.512V11.0956H181.918V15.8075H180.91V11.0956H179.316Z'%20fill='black'%3e%3c/path%3e%3cpath%20d='M184.168%2010.1345H185.41L186.676%2013.9321L187.941%2010.1345H189.184V15.8075H188.269V11.8223L187.098%2015.1511H186.254L185.082%2011.9161V15.831H184.168V10.1579V10.1345Z'%20fill='black'%3e%3c/path%3e%3c/svg%3e",ce="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAykAAACuCAYAAAAyN0KXAAAACXBIWXMAAAsSAAALEgHS3X78AAAgAElEQVR4nO3d23XbuBYG4H9mnXfrVGBOBfZUEKQCeyqwpoJ4KohSQZwKQlcwTgUDVzByBaErOFIFOQ9bWJIVXUhg40b+31paSRwShCUKwMaNv/z48QN01gyAAXC9+fv15ud2508LIiIiIiIK9guDlJMMgHsANz2OXQN4ArAA0EXLERERERHRyDFIOewawAOAd57nP0KCm5VajoiIiIiIJuLX3BkozAxAC+Bf+AcoAHAHGU25D88SEREREdG0cCRl6x4yVetCOd1XAHNwzQoRERERUS8MUmTdSQvgMvJ1niHBShf5OkREREREVZvydK8GstD9H8QPUACZPvYdstZlluB6RERERERVmmKQMoNM6/qOfrt2afsArlchIiIiIjpqatO95pCRDO11J764XoWIiIiIaM9URlIMJBD4inICFECmmf0DyVuTNSdERERERIUYe5DithT+B2FbCsfG9SpERERERBtjDlIWkLUfd3mzMQjXqxARERHR5I1xTcotZEQixY5dMb1AghWbOR9EREREREmNKUhpIFO7Sp7W5eMbJFjpMueDiIiIiCiJMUz3mkFGTr5jfAEKINskf4dMX+N6FSIiIiIavdpHUuYoa0vh2NaQUZU2cz6IiIiIiKKpdSTFAFiivC2FY7uA/M5LyHtARERERDQ6tQUpDYAnyJbCV3mzktUV5D14Ap+vQkREREQjU8t0rxlkmtM9pjVy0tcnyLS3Ve6MEBERERGFqiFIGcuWwrFxvQoRERERjULJ072uIc8I+RsMUPpw61UsuF6FiIiIiCpWYpAyg4wG/Itxbikc2zvIepUWXK9CRERERBUqbbrXPeR5IFx3omMNmSrH9SpEREREVI1SghQD6fnntK44XiHBX5s3G0RERERE5+We7tVgu6UwA5R4LsH1KkRERERUiVxBygzSs/8dwE2mPEwR16sQERERUfFyTPeaQwIUjpzkxfUqRERERFSklEGKgQQn3LGrLFyvQkRERERFSRGkzCC99XexL0RBniG7qy1zZ4SIiIiIpi32mpQFgA4MUGrwDvJsmhYSWBIRERERZRFrJMWAWwrXzK1XWWTOBxERERFNkHaQ0kCCE647GYdXyBSwp9wZISIiIqLp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";function de(a){return a==="human"?{...s.message,...s.messageSelf}:{...s.message,...s.messageOther}}const pe=i.memo(function({text:l,speed:x=10,onComplete:y}){const[n,h]=i.useState(""),[u,c]=i.useState(!1);i.useEffect(()=>{if(!l)return;h(""),c(!1);let f=0;const m=setInterval(()=>{f<l.length?(h(l.slice(0,f+1)),f++):(c(!0),clearInterval(m),y&&y())},x);return()=>clearInterval(m)},[l,x,y]);const d=f=>f.replace(/\[bold\](.*?)\[\/bold\]/g,"<strong>$1</strong>").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/(?:^|\n)-\s+/g,`
|
|
7
|
+
• `).replace(/\n/g,"<br/>").replace(/(\d+\.\s)/g,"<br/>$1").replace(/(\*\s)/g,"<br/>$1");return t.jsx("div",{style:{whiteSpace:"pre-wrap",lineHeight:"1.5",wordBreak:"break-word"},dangerouslySetInnerHTML:{__html:d(n)+(u?"":'<span class="typing-cursor">|</span>')}})}),ue=i.memo(function({msg:l,isTyping:x=!1,onTypingComplete:y}){const n=l.from==="human"?"sw-ttyw-message self":"sw-ttyw-message other";return t.jsxs("div",{className:n,style:de(l.from),children:[t.jsx("div",{className:"message-avatar",style:s.messageAvatar,children:l.from==="human"?t.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21",fill:"black"}),t.jsx("circle",{cx:"12",cy:"7",r:"4",fill:"black"})]}):t.jsx("img",{src:ee,alt:"AI Avatar",style:{width:"20px",height:"20px",borderRadius:"50%",objectFit:"cover"}})}),t.jsx("div",{className:"message-content",style:s.messageContent,children:l.from==="ai"&&x?t.jsx(pe,{text:l.text,speed:20,onComplete:y}):t.jsx("div",{style:{whiteSpace:"pre-wrap",lineHeight:"1.5",wordBreak:"break-word"},dangerouslySetInnerHTML:{__html:l.text.replace(/\[bold\](.*?)\[\/bold\]/g,"<strong>$1</strong>").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/(?:^|\n)-\s+/g,`
|
|
8
|
+
• `).replace(/\n/g,"<br/>").replace(/(\d+\.\s)/g,"<br/>$1").replace(/(\*\s)/g,"<br/>$1")}})})]})}),fe=()=>{const a=new Date().getHours();return a>=5&&a<12?"Good morning":a>=12&&a<17?"Good afternoon":(a>=17&&a<21,"Good evening")},me=()=>{const a=fe(),l=[`👋 ${a}! Looking to explore Superwise?`,`👋 ${a}! Ready to discover what Superwise can do for you?`,`👋 ${a}! How can I help you with Superwise today?`,`👋 ${a}! What brings you to Superwise?`,`👋 ${a}! Let's explore Superwise together!`];return l[Math.floor(Math.random()*l.length)]};function he({title:a="",agentId:l="",discoveryAgentId:x="",primaryColor:y=""}){const[n,h]=i.useState(()=>{try{if(typeof window<"u"&&window.localStorage){const o=window.localStorage.getItem("chatbot-messages");return o?JSON.parse(o):[]}}catch{}return[]}),[u,c]=i.useState(()=>{try{if(typeof window<"u"&&window.localStorage){const o=window.localStorage.getItem("chatbot-mql_df");return o?JSON.parse(o):[]}}catch{}return[]}),[d,f]=i.useState(""),[m,C]=i.useState(!1),[j,A]=i.useState(!1),[b,O]=i.useState(!1),[I,F]=i.useState(!1),[X,M]=i.useState(new Set),[U,V]=i.useState(!1),[te,Q]=i.useState(""),[G,R]=i.useState(""),q=(()=>{if(y)return y;if(typeof document<"u"&&typeof window<"u"){const o=document.querySelector("[data-chatbot-color]");if(o)return o.getAttribute("data-chatbot-color")||"#000";const r=getComputedStyle(document.documentElement).getPropertyValue("--swttyw-primary-color").trim();if(r)return r}return"#000"})(),T=i.useRef(null),B=i.useRef(n),K=i.useMemo(()=>n.map(o=>({role:o.from,content:o.text})),[n]),S=o=>{R(o),setTimeout(()=>{R("")},4e3)},W=o=>{const e=o.length,r=o.trim();return Q(""),R(""),!r||e===0?(S("Please enter a message before sending."),!1):new RegExp(/(<([^>]+)>)/gi).test(r)?(S("Please avoid using HTML tags or scripts in your message."),!1):r.length<2?(S("Please enter a meaningful question (at least 2 characters)."),!1):r.length>1e3?(S("Message is too long. Please keep it under 1000 characters."),!1):(Q(""),R(""),!0)};i.useEffect(()=>{T.current?.scrollIntoView({behavior:"smooth"})},[n,m]),i.useEffect(()=>{try{typeof window<"u"&&window.localStorage&&window.localStorage.setItem("chatbot-messages",JSON.stringify(n))}catch{}},[n]),i.useEffect(()=>{try{typeof window<"u"&&window.localStorage&&window.localStorage.setItem("chatbot-mql_df",JSON.stringify(u))}catch{}},[u]),i.useEffect(()=>{B.current=n},[n]),i.useEffect(()=>{if(n.length===0&&!U){const e={from:"ai",text:me()};h([e]),V(!0),M(new Set([0]))}},[n.length,U]);const z=i.useCallback(async()=>{const o=d.trim();if(!o||!W(d))return;const e={from:"human",text:o},p=[...B.current,e];h(p),f(""),C(!0);const w=[...K,{role:"human",content:o}],v=await ae(o,w,u,l,x);if(typeof v=="string"){const L={from:"ai",text:v};h(g=>{const k=[...g,L];return M(H=>new Set([...H,k.length-1])),k})}else{const L={from:"ai",text:v.reply};h(g=>{const k=[...g,L];return M(H=>new Set([...H,k.length-1])),k}),v.mqlDf&&Array.isArray(v.mqlDf)&&c(v.mqlDf)}C(!1)},[d,l,x,u]),Y=i.useCallback(()=>{h([]),c([]),M(new Set),V(!1);try{typeof window<"u"&&window.localStorage&&(window.localStorage.removeItem("chatbot-messages"),window.localStorage.removeItem("chatbot-mql_df"))}catch{}A(!1)},[]),Z=i.useCallback(async()=>{if(!u||u.length===0){console.warn("No mql_df data available for PDF download");return}try{C(!0),console.log("mql_df data for lead extraction:",u);const o={name:u.find(e=>e.name)?.name||"Chat User",email:u.find(e=>e.email)?.email||"user@example.com",summary:`Chat conversation with ${n.length} messages. User asked: "${n.find(e=>e.from==="human")?.text||"No user messages"}"`};console.log("Extracted lead row:",o),await ie(u,o,K),console.log("PDF downloaded successfully")}catch(o){console.error("Failed to download PDF:",o)}finally{C(!1)}},[u,n]);return t.jsx(t.Fragment,{children:t.jsxs("div",{className:"sw-ttyw-chatbot",style:{...b?s.containerMinimized:I?s.containerExpanded:s.container,"--swttyw-primary-color":q,"--swttyw-avatar-image":"url('')","--swttyw-user-avatar-image":"url('')","--swttyw-background-color":"#F7F7F7","--swttyw-header-font-size":"16px","--swttyw-body-font-size":"15px","--swttyw-footer-font-size":"16px","--swttyw-user-background-image":"url('')"},onClick:b?()=>O(!1):void 0,children:[b?t.jsxs("div",{style:s.minimizedContent,children:[t.jsxs("svg",{style:s.chatIcon,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M21 15C21 15.5304 20.7893 16.0391 20.4142 16.4142C20.0391 16.7893 19.5304 17 19 17H7L3 21V5C3 4.46957 3.21071 3.96086 3.58579 3.58579C3.96086 3.21071 4.46957 3 5 3H19C19.5304 3 20.0391 3.21071 20.4142 3.58579C20.7893 3.96086 21 4.46957 21 5V15Z",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M8 9H16",stroke:"white",strokeWidth:"2",strokeLinecap:"round"}),t.jsx("path",{d:"M8 13H12",stroke:"white",strokeWidth:"2",strokeLinecap:"round"})]}),t.jsx("div",{style:s.minimizedTitle,children:a})]}):t.jsxs("div",{className:"sw-ttyw-chat-header",style:s.header,children:[t.jsx("div",{className:"sw-ttyw-name",style:s.name,children:a}),t.jsxs("div",{style:s.headerActions,children:[t.jsx("button",{onClick:()=>F(o=>!o),style:s.headerButton,title:I?"Shrink chat":"Expand chat",children:I?t.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M9 4V9H4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M15 4V9H20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M9 20V15H4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M15 20V15H20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):t.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M4 9V4H9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M20 9V4H15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M4 15V20H9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M20 15V20H15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}),t.jsx("button",{onClick:()=>{b||F(!1),O(!b)},style:s.headerButton,title:b?"Maximize chat":"Minimize chat",children:t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:t.jsx("path",{d:"M6 9H18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}),u&&u.length>0&&t.jsx("button",{onClick:Z,style:s.headerButton,title:"Download PDF Report",disabled:m,children:t.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M21 15V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M7 10L12 15L17 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M12 15V3",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}),t.jsx("button",{onClick:()=>A(!0),style:s.headerButton,title:"Clear chat",children:t.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("path",{d:"M3 6H5H21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M10 11V17",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M14 11V17",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})]}),!b&&t.jsxs("div",{className:"sw-ttyw-chat-section",style:{flexGrow:1,display:"flex",flexDirection:"column"},children:[t.jsxs("div",{className:"sw-ttyw-messages",style:s.chatSection,children:[n.length===0&&!m&&t.jsx("div",{className:"sw-ttyw-empty-state",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",position:"relative"},children:t.jsx("img",{src:le,alt:"Superwise Logo",style:{width:"350px",height:"200px",opacity:.8,objectFit:"contain"},onError:o=>{console.log("Logo failed to load, using fallback"),o.target.style.display="none"}})}),n.map((o,e)=>t.jsx(ue,{msg:o,isTyping:X.has(e),onTypingComplete:()=>{M(r=>{const p=new Set(r);return p.delete(e),p})}},e)),G&&t.jsxs("div",{className:"sw-ttyw-validation-message",children:[t.jsx("span",{className:"error-icon",children:"⚠️"}),t.jsx("span",{children:G})]}),m&&t.jsxs("div",{className:"sw-ttyw-message other message-loading",style:{...s.message,...s.messageOther},children:[t.jsx("div",{className:"message-avatar",style:s.messageAvatar,children:t.jsx("img",{src:ee,alt:"AI Avatar",style:{width:"20px",height:"20px",borderRadius:"50%",objectFit:"cover"}})}),t.jsxs("div",{className:"message-content",style:s.messageContent,children:[t.jsx("div",{className:"typing typing-1"}),t.jsx("div",{className:"typing typing-2"}),t.jsx("div",{className:"typing typing-3"})]})]}),t.jsx("div",{ref:T})]}),t.jsxs("div",{className:"sw-ttyw-chat-input-section",style:s.inputSection,children:[t.jsx("textarea",{className:"sw-ttyw-input",placeholder:"Please ask question here",value:d,onChange:o=>{f(o.target.value),G&&R("")},maxLength:1e3,style:s.textarea,onKeyDown:o=>o.key==="Enter"&&!o.shiftKey&&(o.preventDefault(),z())}),t.jsxs("div",{className:"sw-ttyw-chat-input-content",style:s.inputFooter,children:[t.jsxs("small",{id:"sw-ttyw-chat-textbox-status",style:s.characterCount,children:[t.jsx("span",{children:d.length}),"/1000"]}),t.jsx("button",{id:"sw-ttyw-chat-send-message",onClick:z,"aria-label":"Send message",style:s.sendButton,children:t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000",className:"cwv replaced-svg",children:[t.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),t.jsx("path",{d:"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"})]})})]})]})]}),j&&t.jsxs("div",{className:"swttyw-modal swttyw-modal-clear-history",style:s.modalOverlay,children:[t.jsx("div",{className:"swtty-modal-header"}),t.jsxs("div",{className:"swtty-modal-body",style:s.modalBody,children:[t.jsx("div",{className:"swtty-content",children:"Are you sure you want to delete the chat history?"}),t.jsxs("div",{className:"swtty-action",style:s.modalActions,children:[t.jsx("input",{type:"button",className:"swttyw-btn swttyw-btn-primary",id:"swttyw-btn-clear-history-yes",onClick:Y,value:"Yes",style:{background:"var(--swttyw-primary-color)",color:"white",border:"none",padding:"10px 20px",cursor:"pointer",borderRadius:"8px",margin:"10px 5px"}}),t.jsx("input",{type:"button",className:"swttyw-btn swttyw-btn-primary-inverse",id:"swttyw-btn-clear-history-no",onClick:()=>A(!1),value:"No",style:{background:"transparent",color:"var(--swttyw-primary-color)",border:"1px solid var(--swttyw-primary-color)",padding:"10px 20px",cursor:"pointer",borderRadius:"8px",margin:"10px 5px"}})]})]}),t.jsx("div",{className:"swtty-modal-footer"})]}),!b&&t.jsxs("div",{className:"sw-ttyw-chat-footer",style:s.footer,children:["Powered by ",t.jsx("a",{href:"https://superwise.ai/",className:"ml-1",target:"_new",style:{marginLeft:"0.25rem",lineHeight:0},children:t.jsx("img",{src:ce,alt:"SUPERWISE®",height:"20"})})]})]})})}E.Chatbot=he,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ronak27/superwise-chatbot-package",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "A reusable React chatbot component package",
|
|
5
5
|
"author": "Superwise",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/react-chatbot.umd.js",
|
|
8
8
|
"module": "dist/react-chatbot.es.js",
|
|
9
|
+
"style": "dist/superwise-chatbot-package.css",
|
|
9
10
|
"types": "dist/index.d.ts",
|
|
10
11
|
"files": [
|
|
11
12
|
"dist"
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="190" height="42" viewBox="0 0 190 42" fill="none"><path d="M17.2253 14.2603C17.155 14.0259 16.9441 13.8618 16.7097 13.8618H14.6472C14.3894 13.8618 14.1785 14.0259 14.1316 14.2603L10.7801 27.5053C10.7332 27.6694 10.7801 27.8335 10.8739 27.9741C10.9676 28.1148 11.1317 28.1851 11.2957 28.1851H12.9363C13.1941 28.1851 13.4051 27.9976 13.4754 27.7631L14.0613 25.0673H17.3191L17.905 27.7631C17.9519 28.021 18.1862 28.1851 18.444 28.1851H20.0846C20.2487 28.1851 20.4128 28.1148 20.5065 27.9741C20.6003 27.8335 20.6471 27.6694 20.6003 27.5053L17.2488 14.2603H17.2253ZM14.5769 22.5824L15.655 17.636L16.7566 22.5824H14.5769Z" fill="#FF0000"></path><path d="M23.8359 13.8618H22.2656C21.9609 13.8618 21.7266 14.0962 21.7266 14.401V27.6459C21.7266 27.9507 21.9609 28.1851 22.2656 28.1851H23.8359C24.1406 28.1851 24.375 27.9507 24.375 27.6459V14.401C24.375 14.0962 24.1406 13.8618 23.8359 13.8618ZM22.2891 14.0493C22.2422 14.0493 22.1953 14.0493 22.1484 14.0728C22.1953 14.0728 22.2422 14.0493 22.2891 14.0493Z" fill="#FF0000"></path><path d="M36.1401 29.4041L36.0932 12.5256C36.0932 11.3066 35.4369 10.1579 34.3588 9.5484L19.7341 1.15601C18.6794 0.546507 17.3669 0.546507 16.2888 1.15601L1.71091 9.61872C0.65624 10.2282 0 11.3769 0 12.5959L0.046874 29.4744C0.046874 30.6934 0.703114 31.8421 1.78122 32.4516L16.406 40.844C17.4607 41.4535 18.7731 41.4535 19.8513 40.844L34.4291 32.3813C35.4838 31.7718 36.1401 30.6231 36.1401 29.4041ZM11.9998 31.5608C6.16397 28.1851 4.17181 20.7539 7.54676 14.9167C10.8983 9.07955 18.3513 7.08694 24.1871 10.4626C30.023 13.8149 32.0151 21.2696 28.6402 27.1068C25.2887 32.9439 17.8357 34.9365 11.9998 31.5608Z" fill="#FF0000"></path><path d="M46.3593 14.19C46.6171 13.9087 46.9218 13.6977 47.2734 13.557C47.6249 13.4164 48.0468 13.3461 48.5155 13.3461C48.9843 13.3461 49.6171 13.4398 50.0858 13.6508C50.5546 13.8618 50.9295 14.1665 51.2342 14.5416C51.3983 14.7526 51.5623 14.987 51.6795 15.2683C51.8202 15.5496 51.9139 15.8309 51.9608 16.1357L55.4295 15.0574C55.1717 14.1431 54.8201 13.3695 54.3748 12.7131C53.9295 12.0567 53.3904 11.4941 52.7576 11.0487C52.1952 10.6502 51.5623 10.3689 50.8358 10.1813C50.1327 9.99379 49.3593 9.90002 48.5624 9.90002C47.7655 9.90002 46.5937 10.0407 45.7734 10.3454C44.9765 10.6502 44.2734 11.0956 43.7109 11.6816C43.125 12.2443 42.7031 12.9241 42.4219 13.7211C42.1406 14.5182 42 15.4324 42 16.4405C42 17.4485 42.1641 18.5034 42.5156 19.277C42.8672 20.0506 43.3828 20.707 44.0859 21.2461C44.789 21.7853 45.7031 22.2776 46.8515 22.6761L48.8436 23.4028C49.5702 23.6842 50.1561 23.9655 50.5546 24.2702C50.953 24.5515 51.2342 24.8797 51.3983 25.2314C51.5623 25.583 51.6327 26.0284 51.6327 26.5676C51.6327 27.1067 51.5858 27.4818 51.4686 27.8335C51.3749 28.1851 51.1874 28.4899 50.9764 28.7712C50.742 29.0759 50.4374 29.2869 50.0624 29.4275C49.7108 29.5682 49.2889 29.6385 48.8202 29.6385C48.3515 29.6385 47.7187 29.5448 47.2734 29.3338C46.8046 29.1228 46.4296 28.818 46.1249 28.443C45.9374 28.232 45.7734 27.9976 45.6562 27.6928C45.5156 27.4115 45.4453 27.1067 45.3749 26.802L41.8594 27.7866C42.0937 28.7008 42.4453 29.4979 42.8906 30.2011C43.3594 30.9044 43.8984 31.467 44.5546 31.9359C45.1406 32.311 45.7734 32.5923 46.4765 32.8032C47.1796 33.0142 47.953 33.108 48.7499 33.108C49.5468 33.108 50.742 32.9439 51.5389 32.6626C52.3592 32.3578 53.0623 31.9124 53.6483 31.3029C54.1873 30.7169 54.6092 30.0136 54.9139 29.1931C55.2185 28.3726 55.3592 27.4349 55.3592 26.3566C55.3592 25.2782 55.1951 24.2702 54.8435 23.4966C54.492 22.723 53.9764 22.0666 53.2498 21.5275C52.5233 20.9883 51.5858 20.496 50.3905 20.0506L48.4218 19.3239C47.6952 19.0426 47.1327 18.7612 46.7577 18.4799C46.3593 18.1752 46.1015 17.8704 45.9609 17.5188C45.8203 17.1672 45.7499 16.7686 45.7499 16.2998C45.7499 15.8309 45.7968 15.4324 45.914 15.0808C46.0077 14.7292 46.1718 14.4478 46.3593 14.19Z" fill="black"></path><path d="M67.5233 26.4504C67.5233 27.1536 67.4295 27.7631 67.242 28.232C67.0545 28.7008 66.7499 29.0525 66.3046 29.3103C65.8593 29.5682 65.2733 29.6854 64.5468 29.6854C63.8202 29.6854 63.2109 29.5682 62.7656 29.3103C62.3202 29.0525 62.0156 28.7008 61.8281 28.232C61.6406 27.7631 61.5468 27.1771 61.5468 26.4504V10.1579H57.8672V26.3332C57.8672 27.6694 58.1016 28.8415 58.5703 29.8495C59.039 30.8575 59.7656 31.6546 60.75 32.2406C61.7343 32.8267 63.0234 33.108 64.5702 33.108C66.1171 33.108 67.3592 32.8267 68.367 32.2406C69.3748 31.6546 70.1014 30.8575 70.5467 29.8261C70.992 28.7946 71.2264 27.6459 71.2264 26.3332V10.1579H67.5467V26.4504H67.5233Z" fill="black"></path><path d="M83.7186 10.9549C82.7811 10.4158 81.5858 10.1579 80.1562 10.1579H74.0859V32.8033H77.7656V24.9032H80.1093C81.5624 24.9032 82.7577 24.6453 83.6952 24.1296C84.6327 23.6138 85.3358 22.8168 85.8045 21.7385C86.2732 20.6601 86.5076 19.2536 86.5076 17.5423C86.5076 15.831 86.2732 14.4479 85.8045 13.3695C85.3358 12.2912 84.6327 11.4941 83.6952 10.9549H83.7186ZM82.4999 19.9099C82.2889 20.4726 81.9843 20.8711 81.5858 21.1289C81.1874 21.3868 80.6718 21.504 80.0155 21.504H77.7421V13.6274H80.0155C80.6718 13.6274 81.1874 13.7446 81.5858 14.0025C81.9843 14.2603 82.2889 14.6588 82.4999 15.2215C82.7108 15.7841 82.8046 16.5577 82.8046 17.5423C82.8046 18.5268 82.7108 19.3473 82.4999 19.9099Z" fill="black"></path><path d="M88.5938 32.8267H99.7029V29.3807H92.2734V23.0043H98.4608V19.5817H92.2734V13.6274H99.7029V10.1813H88.5938V32.8267Z" fill="black"></path><path d="M111.797 23.356C112.711 22.8402 113.437 22.0666 113.953 21.0352C114.469 20.0037 114.726 18.7144 114.726 17.1672C114.726 15.62 114.492 14.2134 114.023 13.2054C113.555 12.1739 112.851 11.4238 111.961 10.9315C111.047 10.4392 109.922 10.2048 108.586 10.2048H102.023V32.8501H105.703V24.153H108.258L111.094 32.8501H115.078L111.75 23.4028C111.75 23.4028 111.797 23.4028 111.82 23.3794L111.797 23.356ZM105.68 13.6274H108.422C108.961 13.6274 109.406 13.7211 109.805 13.9321C110.18 14.1431 110.484 14.4947 110.695 15.0105C110.906 15.5028 111 16.2295 111 17.1437C111 18.058 110.906 18.8081 110.695 19.3239C110.484 19.8396 110.203 20.1912 109.828 20.4022C109.453 20.6132 109.008 20.707 108.469 20.707H105.703V13.6508L105.68 13.6274Z" fill="black"></path><path d="M132.234 27.3412L129.047 10.1813H125.508L122.344 27.2474L119.086 10.1813H115.148L120.328 32.8267H124.148L127.289 17.6595L130.406 32.8267H134.226L139.382 10.1813H135.492L132.234 27.3412Z" fill="black"></path><path d="M144.773 10.1813H141.094V32.8267H144.773V10.1813Z" fill="black"></path><path d="M151.851 14.19C152.109 13.9087 152.414 13.6977 152.766 13.557C153.117 13.4164 153.539 13.3461 154.008 13.3461C154.476 13.3461 155.109 13.4398 155.578 13.6508C156.047 13.8618 156.422 14.1665 156.726 14.5416C156.89 14.7526 157.055 14.987 157.172 15.2683C157.312 15.5496 157.406 15.8309 157.453 16.1357L160.922 15.0574C160.664 14.1431 160.312 13.3695 159.867 12.7131C159.422 12.0567 158.883 11.4941 158.25 11.0487C157.687 10.6502 157.055 10.3689 156.328 10.1813C155.625 9.99379 154.851 9.90002 154.055 9.90002C153.258 9.90002 152.086 10.0407 151.266 10.3454C150.469 10.6502 149.766 11.0956 149.203 11.6816C148.617 12.2443 148.195 12.9241 147.914 13.7211C147.633 14.5182 147.492 15.4324 147.492 16.4405C147.492 17.4485 147.656 18.5034 148.008 19.277C148.359 20.0506 148.875 20.707 149.578 21.2461C150.281 21.7853 151.195 22.2776 152.344 22.6761L154.336 23.4028C155.062 23.6842 155.648 23.9655 156.047 24.2702C156.445 24.5515 156.726 24.8797 156.89 25.2314C157.055 25.583 157.125 26.0284 157.125 26.5676C157.125 27.1067 157.078 27.4818 156.961 27.8335C156.867 28.1851 156.68 28.4899 156.469 28.7712C156.234 29.0759 155.93 29.2869 155.555 29.4275C155.203 29.5682 154.781 29.6385 154.312 29.6385C153.844 29.6385 153.211 29.5448 152.766 29.3338C152.297 29.1228 151.922 28.818 151.617 28.443C151.43 28.232 151.266 27.9976 151.148 27.6928C151.008 27.4115 150.914 27.1067 150.867 26.802L147.352 27.7866C147.586 28.7008 147.937 29.4979 148.383 30.2011C148.852 30.9044 149.391 31.467 150.047 31.9359C150.633 32.311 151.266 32.5923 151.969 32.8032C152.672 33.0142 153.445 33.108 154.242 33.108C155.039 33.108 156.234 32.9439 157.031 32.6626C157.851 32.3578 158.555 31.9124 159.14 31.3029C159.68 30.7169 160.101 30.0136 160.406 29.1931C160.711 28.3726 160.851 27.4349 160.851 26.3566C160.851 25.2782 160.687 24.2702 160.336 23.4966C159.984 22.723 159.469 22.0666 158.742 21.5275C158.015 20.9883 157.078 20.496 155.883 20.0506L153.914 19.3239C153.187 19.0426 152.625 18.7612 152.25 18.4799C151.852 18.1752 151.594 17.8704 151.453 17.5188C151.312 17.1672 151.242 16.7686 151.242 16.2998C151.242 15.8309 151.289 15.4324 151.406 15.0808C151.5 14.7292 151.664 14.4478 151.851 14.19Z" fill="black"></path><path d="M174.633 13.6274V10.1813H163.5V32.8267H174.633V29.3807H167.18V23.0043H173.367V19.5817H167.18V13.6274H174.633Z" fill="black"></path><path d="M179.316 11.0956V10.1345H183.512V11.0956H181.918V15.8075H180.91V11.0956H179.316Z" fill="black"></path><path d="M184.168 10.1345H185.41L186.676 13.9321L187.941 10.1345H189.184V15.8075H188.269V11.8223L187.098 15.1511H186.254L185.082 11.9161V15.831H184.168V10.1579V10.1345Z" fill="black"></path></svg>
|