@useago/sdk 1.0.8 → 1.0.9

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/widget.js CHANGED
@@ -1,70 +1,70 @@
1
- import { t as nt, u as ot } from "./AgoClient-QcTtrN7u.js";
2
- import { r as rt, t as at } from "./createFormCollector-QyojCH_-.js";
3
- import { t as st } from "./createConversationSession-DrCMdwkV.js";
4
- var it = {
1
+ import { t as ot, u as rt } from "./AgoClient-QcTtrN7u.js";
2
+ import { r as at, t as st } from "./createFormCollector-CFt1_QSL.js";
3
+ import { t as it } from "./createConversationSession-CR-71aLR.js";
4
+ var lt = {
5
5
  "&": "&",
6
6
  "<": "&lt;",
7
7
  ">": "&gt;",
8
8
  '"': "&quot;",
9
9
  "'": "&#39;"
10
10
  };
11
- function U(o) {
12
- return o.replace(/[&<>"']/g, (n) => it[n]);
11
+ function U(r) {
12
+ return r.replace(/[&<>"']/g, (o) => lt[o]);
13
13
  }
14
- function De(o) {
15
- const n = o.trim();
16
- return /^(https?:|mailto:|tel:|#|\/|\.\/|\.\.\/)/i.test(n) || !/^[a-z][a-z0-9+.-]*:/i.test(n) ? n : null;
14
+ function Oe(r) {
15
+ const o = r.trim();
16
+ return /^(https?:|mailto:|tel:|#|\/|\.\/|\.\.\/)/i.test(o) || !/^[a-z][a-z0-9+.-]*:/i.test(o) ? o : null;
17
17
  }
18
- var He = '"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace', Q = "";
19
- function F(o) {
20
- const n = [], a = (u) => (n.push(u), `${Q}${n.length - 1}${Q}`);
21
- let t = o;
22
- return t = t.replace(/`([^`]+)`/g, (u, i) => a(`<code style="background:#f0f2f5;padding:2px 5px;border-radius:4px;font-size:13px;font-family:${He}">${U(i)}</code>`)), t = t.replace(/!\[([^\]]*)\]\(([^)\s]+)\)/g, (u, i, f) => {
23
- const l = De(f);
18
+ var ze = '"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace', Z = "";
19
+ function M(r) {
20
+ const o = [], a = (u) => (o.push(u), `${Z}${o.length - 1}${Z}`);
21
+ let t = r;
22
+ return t = t.replace(/`([^`]+)`/g, (u, i) => a(`<code style="background:#f0f2f5;padding:2px 5px;border-radius:4px;font-size:13px;font-family:${ze}">${U(i)}</code>`)), t = t.replace(/!\[([^\]]*)\]\(([^)\s]+)\)/g, (u, i, f) => {
23
+ const l = Oe(f);
24
24
  return l ? a(`<img alt="${U(i)}" src="${U(l)}" style="max-width:100%;border-radius:8px;margin:4px 0" />`) : u;
25
25
  }), t = t.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g, (u, i, f) => {
26
- const l = De(f);
27
- return l ? a(`<a href="${U(l)}" target="_blank" rel="noopener noreferrer" style="color:#1b5fc4;text-decoration:underline">${F(i)}</a>`) : u;
28
- }), t = U(t), t = t.replace(/\*\*([^*]+?)\*\*/g, "<strong>$1</strong>").replace(/__([^_]+?)__/g, "<strong>$1</strong>").replace(/~~([^~]+?)~~/g, "<del>$1</del>").replace(/(^|[^*])\*(?!\s)([^*]+?)\*/g, "$1<em>$2</em>").replace(/(^|[^\w_])_(?!\s)([^_]+?)_/g, "$1<em>$2</em>"), t = t.replace(new RegExp(`${Q}(\\d+)${Q}`, "g"), (u, i) => n[Number(i)]), t;
26
+ const l = Oe(f);
27
+ return l ? a(`<a href="${U(l)}" target="_blank" rel="noopener noreferrer" style="color:#1b5fc4;text-decoration:underline">${M(i)}</a>`) : u;
28
+ }), t = U(t), t = t.replace(/\*\*([^*]+?)\*\*/g, "<strong>$1</strong>").replace(/__([^_]+?)__/g, "<strong>$1</strong>").replace(/~~([^~]+?)~~/g, "<del>$1</del>").replace(/(^|[^*])\*(?!\s)([^*]+?)\*/g, "$1<em>$2</em>").replace(/(^|[^\w_])_(?!\s)([^_]+?)_/g, "$1<em>$2</em>"), t = t.replace(new RegExp(`${Z}(\\d+)${Z}`, "g"), (u, i) => o[Number(i)]), t;
29
29
  }
30
- function R(o, n, a) {
31
- const t = document.createElement(o);
32
- return Object.assign(t.style, n), a !== void 0 && (t.innerHTML = a), t;
30
+ function R(r, o, a) {
31
+ const t = document.createElement(r);
32
+ return Object.assign(t.style, o), a !== void 0 && (t.innerHTML = a), t;
33
33
  }
34
- var Ue = /^ {0,3}([-*_])( *\1){2,} *$/, We = /^ {0,3}(#{1,6})\s+(.*?)\s*#*\s*$/, Pe = /^ {0,3}(```+|~~~+)/, Z = /^ {0,3}>\s?/, W = /^(\s*)([-*+]|\d+[.)])\s+(.*)$/, lt = [
34
+ var He = /^ {0,3}([-*_])( *\1){2,} *$/, Ue = /^ {0,3}(#{1,6})\s+(.*?)\s*#*\s*$/, We = /^ {0,3}(```+|~~~+)/, ee = /^ {0,3}>\s?/, W = /^(\s*)([-*+]|\d+[.)])\s+(.*)$/, dt = [
35
35
  "20px",
36
36
  "18px",
37
37
  "16px",
38
38
  "15px",
39
39
  "14px",
40
40
  "13px"
41
- ], me = (o) => o.match(/^\s*/)?.[0].length ?? 0;
42
- function dt(o) {
43
- return o.trim() === "" || Ue.test(o) || We.test(o) || Pe.test(o) || Z.test(o) || W.test(o);
41
+ ], me = (r) => r.match(/^\s*/)?.[0].length ?? 0;
42
+ function ct(r) {
43
+ return r.trim() === "" || He.test(r) || Ue.test(r) || We.test(r) || ee.test(r) || W.test(r);
44
44
  }
45
- function Ge(o) {
46
- const n = o[0].match(W), a = n[1].length, t = /\d/.test(n[2]), u = R(t ? "ol" : "ul", {
45
+ function Pe(r) {
46
+ const o = r[0].match(W), a = o[1].length, t = /\d/.test(o[2]), u = R(t ? "ol" : "ul", {
47
47
  margin: "0 0 8px 0",
48
48
  paddingLeft: "20px",
49
49
  listStyleType: t ? "decimal" : "disc",
50
50
  listStylePosition: "outside"
51
51
  });
52
52
  let i = 0;
53
- for (; i < o.length; ) {
54
- const f = o[i].match(W), l = [];
55
- for (i++; i < o.length && me(o[i]) > a; )
56
- l.push(o[i]), i++;
53
+ for (; i < r.length; ) {
54
+ const f = r[i].match(W), l = [];
55
+ for (i++; i < r.length && me(r[i]) > a; )
56
+ l.push(r[i]), i++;
57
57
  const p = R("li", {
58
58
  display: "list-item",
59
59
  margin: "2px 0",
60
60
  lineHeight: "1.6"
61
61
  }), c = f[3].match(/^\[([ xX])\]\s+(.*)$/);
62
- c ? (p.style.listStyleType = "none", p.style.marginLeft = "-20px", p.innerHTML = `<span style="margin-right:6px">${c[1].toLowerCase() === "x" ? "☑" : "☐"}</span>${F(c[2])}`) : p.innerHTML = F(f[3]), l.filter((m) => W.test(m)).length > 0 && p.appendChild(Ge(l.filter((m) => m.trim() !== ""))), u.appendChild(p);
62
+ c ? (p.style.listStyleType = "none", p.style.marginLeft = "-20px", p.innerHTML = `<span style="margin-right:6px">${c[1].toLowerCase() === "x" ? "☑" : "☐"}</span>${M(c[2])}`) : p.innerHTML = M(f[3]), l.filter((h) => W.test(h)).length > 0 && p.appendChild(Pe(l.filter((h) => h.trim() !== ""))), u.appendChild(p);
63
63
  }
64
64
  return u;
65
65
  }
66
- function ct(o) {
67
- const n = (l) => l.replace(/^\s*\|?/, "").replace(/\|?\s*$/, "").split("|").map((p) => p.trim()), a = R("div", {
66
+ function pt(r) {
67
+ const o = (l) => l.replace(/^\s*\|?/, "").replace(/\|?\s*$/, "").split("|").map((p) => p.trim()), a = R("div", {
68
68
  overflowX: "auto",
69
69
  margin: "0 0 8px 0"
70
70
  }), t = R("table", {
@@ -72,28 +72,28 @@ function ct(o) {
72
72
  width: "100%",
73
73
  fontSize: "13px"
74
74
  }), u = document.createElement("thead"), i = document.createElement("tr");
75
- for (const l of n(o[0])) i.appendChild(R("th", {
75
+ for (const l of o(r[0])) i.appendChild(R("th", {
76
76
  border: "1px solid #dee3e8",
77
77
  padding: "6px 10px",
78
78
  textAlign: "left",
79
79
  backgroundColor: "#f5f7fa",
80
80
  fontWeight: "600"
81
- }, F(l)));
81
+ }, M(l)));
82
82
  u.appendChild(i), t.appendChild(u);
83
83
  const f = document.createElement("tbody");
84
- for (const l of o.slice(2)) {
84
+ for (const l of r.slice(2)) {
85
85
  const p = document.createElement("tr");
86
- for (const c of n(l)) p.appendChild(R("td", {
86
+ for (const c of o(l)) p.appendChild(R("td", {
87
87
  border: "1px solid #dee3e8",
88
88
  padding: "6px 10px"
89
- }, F(c)));
89
+ }, M(c)));
90
90
  f.appendChild(p);
91
91
  }
92
92
  return t.appendChild(f), a.appendChild(t), a;
93
93
  }
94
- var pt = (o) => !!o && /^\s*\|?\s*:?-{1,}:?\s*(\|\s*:?-{1,}:?\s*)*\|?\s*$/.test(o);
95
- function he(o) {
96
- const n = document.createDocumentFragment(), a = o.replace(/\r\n?/g, `
94
+ var ft = (r) => !!r && /^\s*\|?\s*:?-{1,}:?\s*(\|\s*:?-{1,}:?\s*)*\|?\s*$/.test(r);
95
+ function he(r) {
96
+ const o = document.createDocumentFragment(), a = r.replace(/\r\n?/g, `
97
97
  `).split(`
98
98
  `);
99
99
  let t = 0;
@@ -103,88 +103,88 @@ function he(o) {
103
103
  t++;
104
104
  continue;
105
105
  }
106
- const f = i.match(Pe);
106
+ const f = i.match(We);
107
107
  if (f) {
108
- const c = f[1][0], m = [];
108
+ const c = f[1][0], h = [];
109
109
  for (t++; t < a.length && !new RegExp(`^ {0,3}${c === "`" ? "`{3,}" : "~{3,}"}\\s*$`).test(a[t]); )
110
- m.push(a[t]), t++;
110
+ h.push(a[t]), t++;
111
111
  t++;
112
- const T = R("pre", { margin: "0 0 8px 0" });
113
- T.appendChild(R("code", {
112
+ const N = R("pre", { margin: "0 0 8px 0" });
113
+ N.appendChild(R("code", {
114
114
  display: "block",
115
115
  background: "#f5f5f5",
116
116
  padding: "8px 12px",
117
117
  borderRadius: "6px",
118
118
  fontSize: "13px",
119
119
  overflowX: "auto",
120
- fontFamily: He,
120
+ fontFamily: ze,
121
121
  whiteSpace: "pre"
122
- }, U(m.join(`
123
- `)))), n.appendChild(T);
122
+ }, U(h.join(`
123
+ `)))), o.appendChild(N);
124
124
  continue;
125
125
  }
126
- if (Ue.test(i)) {
127
- n.appendChild(R("hr", {
126
+ if (He.test(i)) {
127
+ o.appendChild(R("hr", {
128
128
  border: "none",
129
129
  borderTop: "1px solid #dee3e8",
130
130
  margin: "12px 0"
131
131
  })), t++;
132
132
  continue;
133
133
  }
134
- const l = i.match(We);
134
+ const l = i.match(Ue);
135
135
  if (l) {
136
136
  const c = l[1].length;
137
- n.appendChild(R(`h${c}`, {
137
+ o.appendChild(R(`h${c}`, {
138
138
  margin: "16px 0 8px 0",
139
- fontSize: lt[c - 1],
139
+ fontSize: dt[c - 1],
140
140
  fontWeight: "600",
141
141
  lineHeight: "1.3"
142
- }, F(l[2]))), t++;
142
+ }, M(l[2]))), t++;
143
143
  continue;
144
144
  }
145
- if (Z.test(i)) {
145
+ if (ee.test(i)) {
146
146
  const c = [];
147
- for (; t < a.length && Z.test(a[t]); )
148
- c.push(a[t].replace(Z, "")), t++;
149
- const m = R("blockquote", {
147
+ for (; t < a.length && ee.test(a[t]); )
148
+ c.push(a[t].replace(ee, "")), t++;
149
+ const h = R("blockquote", {
150
150
  borderLeft: "4px solid #dee3e8",
151
151
  paddingLeft: "12px",
152
152
  margin: "0 0 8px 0",
153
153
  fontStyle: "italic",
154
154
  color: "#6b6d6f"
155
155
  });
156
- m.appendChild(he(c.join(`
157
- `))), n.appendChild(m);
156
+ h.appendChild(he(c.join(`
157
+ `))), o.appendChild(h);
158
158
  continue;
159
159
  }
160
- if (i.includes("|") && pt(a[t + 1])) {
160
+ if (i.includes("|") && ft(a[t + 1])) {
161
161
  const c = [i, a[t + 1]];
162
162
  for (t += 2; t < a.length && a[t].includes("|") && a[t].trim(); )
163
163
  c.push(a[t]), t++;
164
- n.appendChild(ct(c));
164
+ o.appendChild(pt(c));
165
165
  continue;
166
166
  }
167
167
  if (W.test(i)) {
168
- const c = [], m = me(i);
168
+ const c = [], h = me(i);
169
169
  for (; t < a.length && a[t].trim() !== ""; )
170
- if (W.test(a[t]) || me(a[t]) > m)
170
+ if (W.test(a[t]) || me(a[t]) > h)
171
171
  c.push(a[t]), t++;
172
172
  else break;
173
- n.appendChild(Ge(c));
173
+ o.appendChild(Pe(c));
174
174
  continue;
175
175
  }
176
176
  const p = [i];
177
- for (t++; t < a.length && !dt(a[t]); )
177
+ for (t++; t < a.length && !ct(a[t]); )
178
178
  p.push(a[t]), t++;
179
- n.appendChild(R("p", {
179
+ o.appendChild(R("p", {
180
180
  margin: "0 0 8px 0",
181
181
  lineHeight: "1.6"
182
- }, p.map((c) => F(c)).join("<br>")));
182
+ }, p.map((c) => M(c)).join("<br>")));
183
183
  }
184
- const u = n.lastElementChild;
185
- return u && (u.style.marginBottom = "0"), n;
184
+ const u = o.lastElementChild;
185
+ return u && (u.style.marginBottom = "0"), o;
186
186
  }
187
- var xe = 'var(--ago-font, "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)', Me = {
187
+ var xe = 'var(--ago-font, "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)', De = {
188
188
  font: "--ago-font",
189
189
  radius: "--ago-radius",
190
190
  messageRadius: "--ago-message-radius",
@@ -197,29 +197,30 @@ var xe = 'var(--ago-font, "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "S
197
197
  text: "--ago-text-color",
198
198
  mutedText: "--ago-muted-text-color",
199
199
  border: "--ago-border-color",
200
- accent: "--ago-accent-color"
201
- }, be = "var(--ago-brand-color, #03182f)", Ce = "var(--ago-brand-text-color, #fff)", ft = "var(--ago-header-background, var(--ago-brand-color, #03182f))", Fe = "var(--ago-header-text-color, #e8f0fe)", j = "var(--ago-panel-background, #fff)", ut = "var(--ago-messages-background, #fbfbfb)", Y = "var(--ago-text-color, #30373e)", gt = "var(--ago-muted-text-color, #6b6d6f)", I = "var(--ago-border-color, #dee3e8)", ue = "var(--ago-accent-color, #1b5fc4)", mt = "var(--ago-radius, 16px)", ge = "var(--ago-message-radius, 16px)";
202
- function ht(o, n) {
203
- if (n)
204
- for (const a of Object.keys(Me)) {
205
- const t = n[a];
206
- t != null && o.style.setProperty(Me[a], t);
200
+ accent: "--ago-accent-color",
201
+ agentBubbleBg: "--ago-agent-bubble-background"
202
+ }, be = "var(--ago-brand-color, #03182f)", Ce = "var(--ago-brand-text-color, #fff)", ut = "var(--ago-header-background, var(--ago-brand-color, #03182f))", Be = "var(--ago-header-text-color, #e8f0fe)", K = "var(--ago-panel-background, #fff)", gt = "var(--ago-messages-background, #fbfbfb)", J = "var(--ago-text-color, #30373e)", mt = "var(--ago-muted-text-color, #6b6d6f)", A = "var(--ago-border-color, #dee3e8)", ue = "var(--ago-accent-color, #1b5fc4)", ht = "var(--ago-agent-bubble-background, #f1f3f5)", xt = "var(--ago-radius, 16px)", ge = "var(--ago-message-radius, 16px)";
203
+ function bt(r, o) {
204
+ if (o)
205
+ for (const a of Object.keys(De)) {
206
+ const t = o[a];
207
+ t != null && r.style.setProperty(De[a], t);
207
208
  }
208
209
  }
209
- function E(o, n) {
210
- Object.assign(o.style, n);
210
+ function E(r, o) {
211
+ Object.assign(r.style, o);
211
212
  }
212
- function b(o = {}) {
213
- const n = document.createElement("div");
214
- return E(n, o), n;
213
+ function b(r = {}) {
214
+ const o = document.createElement("div");
215
+ return E(o, r), o;
215
216
  }
216
- var Be = "Form submitted.";
217
- function xt(o) {
218
- if (typeof o == "string") return o || null;
219
- if (!o || typeof o != "object") return null;
220
- const n = o;
221
- if (typeof n.message == "string" && n.message) return n.message;
222
- const a = n.result;
217
+ var Me = "Form submitted.";
218
+ function Ct(r) {
219
+ if (typeof r == "string") return r || null;
220
+ if (!r || typeof r != "object") return null;
221
+ const o = r;
222
+ if (typeof o.message == "string" && o.message) return o.message;
223
+ const a = o.result;
223
224
  if (typeof a == "string" && a) return a;
224
225
  if (a && typeof a == "object") {
225
226
  const t = a.message;
@@ -227,98 +228,100 @@ function xt(o) {
227
228
  }
228
229
  return null;
229
230
  }
230
- var ze = "ago-chat-widget-keyframes";
231
- function bt() {
232
- if (typeof document > "u" || document.getElementById(ze)) return;
233
- const o = document.createElement("style");
234
- o.id = ze, o.textContent = "@keyframes ago-pulse { 0%, 80%, 100% { opacity: 0.3; transform: scale(0.8); } 40% { opacity: 1; transform: scale(1); } }", document.head.appendChild(o);
231
+ var Fe = "ago-chat-widget-keyframes";
232
+ function yt() {
233
+ if (typeof document > "u" || document.getElementById(Fe)) return;
234
+ const r = document.createElement("style");
235
+ r.id = Fe, r.textContent = "@keyframes ago-pulse { 0%, 80%, 100% { opacity: 0.3; transform: scale(0.8); } 40% { opacity: 1; transform: scale(1); } }", document.head.appendChild(r);
235
236
  }
236
- function Ct(o) {
237
- const n = typeof o == "string" ? document.querySelector(o) : o;
238
- if (!n) throw new Error(`mountChatWidget: target "${String(o)}" not found.`);
239
- return n;
237
+ function vt(r) {
238
+ const o = typeof r == "string" ? document.querySelector(r) : r;
239
+ if (!o) throw new Error(`mountChatWidget: target "${String(r)}" not found.`);
240
+ return o;
240
241
  }
241
- function St(o, n) {
242
- const { title: a = "Chat", welcomeMessage: t = "Hello! How can I help you today?", placeholder: u = "Type a message...", allowFiles: i = !1, height: f = 500, placement: l = "inline", width: p = 400, defaultOpen: c = !1, logoUrl: m, showAgentName: T = !1, theme: h, loadThreads: _ = !1, forms: X, formSubmittedMessage: L = Be, onFollowUpClick: $, onMessageSent: ye, onMessageReceived: J, onFormSubmitted: ee, onFormError: te } = n;
243
- if (!n.client && !n.config?.baseUrl) throw new ot("mountChatWidget requires either `client` or `config` (with a baseUrl).", "config_missing_base_url");
244
- const g = n.client ?? new nt(n.config), ve = Ct(o), B = l === "left" || l === "right", je = B && (n.launcher ?? !0);
245
- let z = B ? c : !0;
246
- const ne = n.persistConversation, K = ne ? st(ne === !0 ? {} : ne) : void 0;
247
- let k = n.conversationId ?? K?.getLastActiveThread() ?? void 0, d = [], O = !1, P = null;
248
- const Ee = [];
249
- function Xe(e) {
250
- if (typeof L == "function") {
251
- const s = L(e);
242
+ function _t(r, o) {
243
+ const { title: a = "Chat", welcomeMessage: t = "Hello! How can I help you today?", placeholder: u = "Type a message...", allowFiles: i = !1, height: f = 500, placement: l = "inline", width: p = 400, defaultOpen: c = !1, logoUrl: h, showAgentName: N = !1, agentBubble: g = !1, showHeader: I = !0, theme: q, loadThreads: P = !1, forms: T, formSubmittedMessage: G = Me, onFollowUpClick: j, onMessageSent: Ge, onMessageReceived: je, onFormSubmitted: te, onFormError: ne } = o;
244
+ if (!o.client && !o.config?.baseUrl) throw new rt("mountChatWidget requires either `client` or `config` (with a baseUrl).", "config_missing_base_url");
245
+ const m = o.client ?? new ot(o.config), ye = vt(r), F = l === "left" || l === "right", Xe = F && (o.launcher ?? !0);
246
+ let z = F ? c : !0;
247
+ const oe = o.persistConversation, V = oe ? it(oe === !0 ? {} : oe) : void 0;
248
+ let _ = o.conversationId ?? V?.getLastActiveThread() ?? void 0, d = [], L = !1, X = null;
249
+ const ve = [];
250
+ function Ke(e) {
251
+ if (typeof G == "function") {
252
+ const s = G(e);
252
253
  if (typeof s == "string" && s) return s;
253
254
  }
254
- const r = xt(e);
255
- return r || (typeof L == "string" ? L : Be);
255
+ const n = Ct(e);
256
+ return n || (typeof G == "string" ? G : Me);
256
257
  }
257
- const q = [], H = b({
258
+ const Q = [], H = b({
258
259
  display: "flex",
259
260
  flexDirection: "column",
260
- height: B ? "100%" : typeof f == "number" ? `${f}px` : f,
261
- border: `1px solid ${I}`,
262
- borderRadius: mt,
261
+ height: F ? "100%" : typeof f == "number" ? `${f}px` : f,
262
+ border: `1px solid ${A}`,
263
+ borderRadius: xt,
263
264
  overflow: "hidden",
264
- backgroundColor: j,
265
+ backgroundColor: K,
265
266
  fontFamily: xe,
266
267
  textAlign: "left",
267
268
  boxShadow: "rgba(15, 15, 15, 0.08) 0px 2px 16px 0px"
268
269
  });
269
- H.className = "ago-chat-widget", ht(H, h);
270
- const G = b({
271
- padding: "14px 16px",
272
- borderBottom: `1px solid ${I}`,
273
- backgroundColor: ft,
274
- color: Fe,
275
- display: "flex",
276
- alignItems: "center",
277
- gap: "10px"
278
- });
279
- if (G.className = "ago-chat-widget__header", m) {
280
- const e = document.createElement("img");
281
- e.src = m, e.alt = "Logo", E(e, {
282
- height: "24px",
283
- width: "auto"
284
- }), G.appendChild(e);
285
- }
286
- const oe = document.createElement("h3");
287
- if (oe.textContent = a, E(oe, {
288
- margin: "0",
289
- fontSize: "15px",
290
- fontWeight: "600"
291
- }), G.appendChild(oe), B) {
292
- const e = document.createElement("button");
293
- e.type = "button", e.className = "ago-chat-widget__close", e.setAttribute("aria-label", "Close"), e.textContent = "×", E(e, {
294
- marginLeft: "auto",
295
- background: "transparent",
296
- border: "none",
297
- color: Fe,
298
- fontSize: "22px",
299
- lineHeight: "1",
300
- cursor: "pointer",
301
- padding: "0 2px"
302
- }), e.addEventListener("click", () => pe()), G.appendChild(e);
270
+ H.className = "ago-chat-widget", bt(H, q);
271
+ let O;
272
+ if (I) {
273
+ if (O = b({
274
+ padding: "14px 16px",
275
+ borderBottom: `1px solid ${A}`,
276
+ backgroundColor: ut,
277
+ color: Be,
278
+ display: "flex",
279
+ alignItems: "center",
280
+ gap: "10px"
281
+ }), O.className = "ago-chat-widget__header", h) {
282
+ const n = document.createElement("img");
283
+ n.src = h, n.alt = "Logo", E(n, {
284
+ height: "24px",
285
+ width: "auto"
286
+ }), O.appendChild(n);
287
+ }
288
+ const e = document.createElement("h3");
289
+ if (e.textContent = a, E(e, {
290
+ margin: "0",
291
+ fontSize: "15px",
292
+ fontWeight: "600"
293
+ }), O.appendChild(e), F) {
294
+ const n = document.createElement("button");
295
+ n.type = "button", n.className = "ago-chat-widget__close", n.setAttribute("aria-label", "Close"), n.textContent = "×", E(n, {
296
+ marginLeft: "auto",
297
+ background: "transparent",
298
+ border: "none",
299
+ color: Be,
300
+ fontSize: "22px",
301
+ lineHeight: "1",
302
+ cursor: "pointer",
303
+ padding: "0 2px"
304
+ }), n.addEventListener("click", () => pe()), O.appendChild(n);
305
+ }
303
306
  }
304
- const N = b({
307
+ const $ = b({
305
308
  flex: "1",
306
309
  overflow: "auto",
307
310
  padding: "16px",
308
- backgroundColor: ut
311
+ backgroundColor: gt
309
312
  });
310
- N.className = "ago-chat-widget__messages";
311
- const { inputRow: Ke, setDisabled: qe, focus: re } = yt({
313
+ $.className = "ago-chat-widget__messages";
314
+ const { inputRow: qe, setDisabled: Ve, focus: re } = Et({
312
315
  placeholder: u,
313
316
  allowFiles: i,
314
- onSend: (e, r) => {
315
- ie(e, r);
317
+ onSend: (e, n) => {
318
+ ie(e, n);
316
319
  }
317
320
  });
318
- bt(), H.append(G, N, Ke);
319
- let V = H, D, S;
321
+ yt(), H.append(...O ? [O] : [], $, qe);
322
+ let Y = H, D, S;
320
323
  const ae = l === "left" ? "left" : "right";
321
- if (B && (D = b({
324
+ if (F && (D = b({
322
325
  position: "fixed",
323
326
  top: "0",
324
327
  bottom: "0",
@@ -335,8 +338,8 @@ function St(o, n) {
335
338
  borderRadius: "0",
336
339
  border: "none",
337
340
  boxShadow: "none",
338
- [ae === "left" ? "borderRight" : "borderLeft"]: `1px solid ${I}`
339
- }), D.appendChild(H), V = D), je) {
341
+ [ae === "left" ? "borderRight" : "borderLeft"]: `1px solid ${A}`
342
+ }), D.appendChild(H), Y = D), Xe) {
340
343
  if (S = document.createElement("button"), S.type = "button", S.className = "ago-chat-widget-launcher", S.setAttribute("aria-label", `Open ${a}`), E(S, {
341
344
  position: "fixed",
342
345
  bottom: "20px",
@@ -354,32 +357,32 @@ function St(o, n) {
354
357
  zIndex: "2147483000",
355
358
  boxShadow: "rgba(15, 15, 15, 0.2) 0px 4px 14px 0px",
356
359
  fontFamily: xe
357
- }), m) {
360
+ }), h) {
358
361
  const e = document.createElement("img");
359
- e.src = m, e.alt = "", E(e, {
362
+ e.src = h, e.alt = "", E(e, {
360
363
  width: "26px",
361
364
  height: "26px",
362
365
  objectFit: "contain"
363
366
  }), S.appendChild(e);
364
- } else S.appendChild(et());
367
+ } else S.appendChild(tt());
365
368
  S.addEventListener("click", () => ce());
366
369
  }
367
- ve.appendChild(V), S && ve.appendChild(S), de();
368
- const we = $ !== !1, Se = $ === !1 ? void 0 : $ ?? ((e) => {
370
+ ye.appendChild(Y), S && ye.appendChild(S), de();
371
+ const Ee = j !== !1, we = j === !1 ? void 0 : j ?? ((e) => {
369
372
  ie(e);
370
373
  });
371
- function Ve(e, r) {
374
+ function Qe(e, n) {
372
375
  const s = e.role === "user", x = b({
373
376
  display: "flex",
374
377
  flexDirection: "column",
375
378
  alignItems: s ? "flex-end" : "flex-start",
376
379
  marginBottom: "16px"
377
380
  });
378
- if (x.className = `ago-message ago-message--${e.role}`, !s && T && e.agent) {
381
+ if (x.className = `ago-message ago-message--${e.role}`, !s && N && e.agent) {
379
382
  const C = b({
380
383
  fontSize: "13px",
381
384
  fontWeight: "500",
382
- color: Y,
385
+ color: J,
383
386
  marginBottom: "6px",
384
387
  padding: "0 4px"
385
388
  });
@@ -395,21 +398,21 @@ function St(o, n) {
395
398
  maxWidth: "85%"
396
399
  });
397
400
  C.className = "ago-message__sources", e.sources.forEach((y, w) => {
398
- const M = y.url ? document.createElement("a") : document.createElement("div");
399
- y.url && M instanceof HTMLAnchorElement && (M.href = y.url, M.target = "_blank", M.rel = "noopener noreferrer"), E(M, {
401
+ const B = y.url ? document.createElement("a") : document.createElement("div");
402
+ y.url && B instanceof HTMLAnchorElement && (B.href = y.url, B.target = "_blank", B.rel = "noopener noreferrer"), E(B, {
400
403
  display: "flex",
401
404
  alignItems: "center",
402
405
  gap: "8px",
403
406
  padding: "8px 10px",
404
- border: `1px solid ${I}`,
407
+ border: `1px solid ${A}`,
405
408
  borderRadius: "8px",
406
- backgroundColor: j,
409
+ backgroundColor: K,
407
410
  textDecoration: "none",
408
- color: Y,
411
+ color: J,
409
412
  fontSize: "12px",
410
413
  overflow: "hidden"
411
414
  });
412
- const Oe = b({
415
+ const Le = b({
413
416
  flexShrink: "0",
414
417
  width: "18px",
415
418
  height: "18px",
@@ -423,26 +426,26 @@ function St(o, n) {
423
426
  justifyContent: "center",
424
427
  backgroundColor: "#f0f4ff"
425
428
  });
426
- Oe.textContent = String(w + 1);
429
+ Le.textContent = String(w + 1);
427
430
  const fe = b({
428
431
  overflow: "hidden",
429
432
  textOverflow: "ellipsis",
430
433
  whiteSpace: "nowrap"
431
434
  });
432
- fe.textContent = y.title, fe.title = y.title, M.append(Oe, fe), C.appendChild(M);
435
+ fe.textContent = y.title, fe.title = y.title, B.append(Le, fe), C.appendChild(B);
433
436
  }), x.appendChild(C);
434
437
  }
435
438
  const v = b({
436
- maxWidth: s ? "75%" : "100%",
437
- padding: s ? "10px 14px" : "2px 8px",
438
- borderRadius: s ? ge : "0",
439
- backgroundColor: s ? be : "transparent",
440
- color: s ? Ce : Y,
439
+ maxWidth: s ? "75%" : g ? "85%" : "100%",
440
+ padding: s || g ? "10px 14px" : "2px 8px",
441
+ borderRadius: s || g ? ge : "0",
442
+ backgroundColor: s ? be : g ? ht : "transparent",
443
+ color: s ? Ce : J,
441
444
  wordBreak: "break-word",
442
445
  fontSize: "16px",
443
446
  lineHeight: "1.6"
444
447
  });
445
- if (v.className = "ago-message__content", e.content ? v.appendChild(he(e.content)) : e.status === "IN_PROGRESS" && v.appendChild(tt()), x.appendChild(v), r && e.followUpReplies && e.followUpReplies.length > 0) {
448
+ if (v.className = "ago-message__content", e.content ? v.appendChild(he(e.content)) : e.status === "IN_PROGRESS" && v.appendChild(nt()), x.appendChild(v), n && e.followUpReplies && e.followUpReplies.length > 0) {
446
449
  const C = b({
447
450
  display: "flex",
448
451
  flexWrap: "wrap",
@@ -452,27 +455,27 @@ function St(o, n) {
452
455
  C.className = "ago-message__followups";
453
456
  for (const y of e.followUpReplies) {
454
457
  const w = document.createElement("button");
455
- w.type = "button", w.className = "ago-message__followup-btn", w.textContent = y, w.disabled = !we, E(w, {
458
+ w.type = "button", w.className = "ago-message__followup-btn", w.textContent = y, w.disabled = !Ee, E(w, {
456
459
  padding: "6px 14px",
457
460
  fontSize: "14px",
458
461
  borderRadius: ge,
459
- border: `1px solid ${I}`,
460
- backgroundColor: j,
461
- color: Y,
462
- cursor: we ? "pointer" : "default",
462
+ border: `1px solid ${A}`,
463
+ backgroundColor: K,
464
+ color: J,
465
+ cursor: Ee ? "pointer" : "default",
463
466
  transition: "border-color 0.15s"
464
- }), Se && w.addEventListener("click", () => Se(y)), w.addEventListener("mouseenter", () => {
467
+ }), we && w.addEventListener("click", () => we(y)), w.addEventListener("mouseenter", () => {
465
468
  w.style.borderColor = ue;
466
469
  }), w.addEventListener("mouseleave", () => {
467
- w.style.borderColor = I;
470
+ w.style.borderColor = A;
468
471
  }), C.appendChild(w);
469
472
  }
470
473
  x.appendChild(C);
471
474
  }
472
475
  return x;
473
476
  }
474
- function Qe(e) {
475
- const r = b({
477
+ function Ye(e) {
478
+ const n = b({
476
479
  display: "flex",
477
480
  alignItems: "center",
478
481
  gap: "8px",
@@ -484,28 +487,28 @@ function St(o, n) {
484
487
  fontSize: "13px",
485
488
  border: "1px solid #bbf7d0"
486
489
  });
487
- r.className = "ago-form-notice", r.setAttribute("role", "status");
490
+ n.className = "ago-form-notice", n.setAttribute("role", "status");
488
491
  const s = document.createElement("span");
489
492
  s.textContent = "✓", s.setAttribute("aria-hidden", "true"), E(s, { fontWeight: "700" });
490
493
  const x = document.createElement("span");
491
- return x.textContent = e, r.append(s, x), r;
494
+ return x.textContent = e, n.append(s, x), n;
492
495
  }
493
- function A() {
494
- if (N.replaceChildren(), d.length === 0) {
495
- const r = b({
496
+ function k() {
497
+ if ($.replaceChildren(), d.length === 0) {
498
+ const n = b({
496
499
  textAlign: "center",
497
- color: gt,
500
+ color: mt,
498
501
  padding: "24px 16px",
499
502
  fontSize: "16px",
500
503
  lineHeight: "1.5"
501
504
  });
502
- r.appendChild(he(t)), N.appendChild(r);
503
- } else d.forEach((r, s) => {
504
- N.appendChild(Ve(r, s === d.length - 1));
505
+ n.appendChild(he(t)), $.appendChild(n);
506
+ } else d.forEach((n, s) => {
507
+ $.appendChild(Qe(n, s === d.length - 1));
505
508
  });
506
- for (const r of Ee) N.appendChild(Qe(r));
507
- if (P) {
508
- const r = b({
509
+ for (const n of ve) $.appendChild(Ye(n));
510
+ if (X) {
511
+ const n = b({
509
512
  padding: "10px 14px",
510
513
  backgroundColor: "#fef2f2",
511
514
  color: "#dc2626",
@@ -514,117 +517,117 @@ function St(o, n) {
514
517
  fontSize: "13px",
515
518
  border: "1px solid #fecaca"
516
519
  });
517
- r.textContent = P, N.appendChild(r);
520
+ n.textContent = X, $.appendChild(n);
518
521
  }
519
- N.scrollTop = N.scrollHeight;
522
+ $.scrollTop = $.scrollHeight;
520
523
  const e = d[d.length - 1];
521
- qe(O && e?.role === "assistant" && e.status === "IN_PROGRESS");
524
+ Ve(L && e?.role === "assistant" && e.status === "IN_PROGRESS");
522
525
  }
523
- function Ye() {
526
+ function Ze() {
524
527
  for (let e = d.length - 1; e >= 0; e--) {
525
- const r = d[e];
526
- if (r.role === "assistant" && r.status === "IN_PROGRESS") return r;
528
+ const n = d[e];
529
+ if (n.role === "assistant" && n.status === "IN_PROGRESS") return n;
527
530
  }
528
531
  }
529
- const Re = (e) => {
530
- k || (k = e.conversationId);
532
+ const Se = (e) => {
533
+ _ || (_ = e.conversationId);
534
+ }, Re = (e) => {
535
+ const n = Ze();
536
+ n && (n.content += e.content, k());
531
537
  }, _e = (e) => {
532
- const r = Ye();
533
- r && (r.content += e.content, A());
538
+ const n = d.findIndex((s) => s.id === e.id || s.role === "assistant" && s.status === "IN_PROGRESS");
539
+ n >= 0 ? d[n] = e : d.push(e), k(), re();
534
540
  }, ke = (e) => {
535
- const r = d.findIndex((s) => s.id === e.id || s.role === "assistant" && s.status === "IN_PROGRESS");
536
- r >= 0 ? d[r] = e : d.push(e), A(), re();
537
- }, Ae = (e) => {
538
- const r = d.findIndex((s) => s.id === e.id || s.role === "assistant" && s.status === "IN_PROGRESS");
539
- r >= 0 ? d[r] = e : d.push(e), O = !1, A(), e.status === "DONE" && J?.({
541
+ const n = d.findIndex((s) => s.id === e.id || s.role === "assistant" && s.status === "IN_PROGRESS");
542
+ n >= 0 ? d[n] = e : d.push(e), L = !1, k(), e.status === "DONE" && je?.({
540
543
  id: e.id,
541
544
  content: e.content
542
545
  });
543
- }, Ie = (e) => {
544
- P = e.error, O = !1, d = d.filter((r) => !r.id.startsWith("temp-")), A();
546
+ }, Ae = (e) => {
547
+ X = e.error, L = !1, d = d.filter((n) => !n.id.startsWith("temp-")), k();
545
548
  };
546
- g.on("message:start", Re), g.on("message:chunk", _e), g.on("message:answer-complete", ke), g.on("message:complete", Ae), g.on("message:error", Ie);
547
- const $e = (e) => ee?.(e), Ne = (e) => te?.(e);
548
- ee && g.on("form:submitted", $e), te && g.on("form:error", Ne);
549
+ m.on("message:start", Se), m.on("message:chunk", Re), m.on("message:answer-complete", _e), m.on("message:complete", ke), m.on("message:error", Ae);
550
+ const Ie = (e) => te?.(e), $e = (e) => ne?.(e);
551
+ te && m.on("form:submitted", Ie), ne && m.on("form:error", $e);
549
552
  const se = [];
550
- let Te = !1;
551
- const Le = (e) => {
552
- if (Te) return;
553
- se.push(e.install(g));
554
- let r = e.store.get().submitted;
553
+ let Ne = !1;
554
+ const Te = (e) => {
555
+ if (Ne) return;
556
+ se.push(e.install(m));
557
+ let n = e.store.get().submitted;
555
558
  const s = e.store.subscribe((x) => {
556
- x.submitted && !r && (Ee.push(Xe(x.submitResult)), A()), r = x.submitted;
559
+ x.submitted && !n && (ve.push(Ke(x.submitResult)), k()), n = x.submitted;
557
560
  });
558
561
  se.push(s);
559
562
  };
560
- for (const e of X ?? []) e.schema != null ? Le(at(e)) : rt(g, e).then((r) => Le(r)).catch(() => {
563
+ for (const e of T ?? []) e.schema != null ? Te(st(e)) : at(m, e).then((n) => Te(n)).catch(() => {
561
564
  });
562
- async function ie(e, r) {
565
+ async function ie(e, n) {
563
566
  const s = e.trim();
564
- if (!s && !r?.length || O) return;
565
- ye?.(s), O = !0, P = null;
567
+ if (!s && !n?.length || L) return;
568
+ Ge?.(s), L = !0, X = null;
566
569
  const x = Date.now();
567
570
  d.push({
568
571
  id: `temp-user-${x}`,
569
- conversationId: k || "",
572
+ conversationId: _ || "",
570
573
  content: s,
571
574
  role: "user",
572
575
  status: "DONE",
573
576
  createdAt: /* @__PURE__ */ new Date()
574
577
  }), d.push({
575
578
  id: `temp-assistant-${x}`,
576
- conversationId: k || "",
579
+ conversationId: _ || "",
577
580
  content: "",
578
581
  role: "assistant",
579
582
  status: "IN_PROGRESS",
580
583
  createdAt: /* @__PURE__ */ new Date()
581
- }), A();
584
+ }), k();
582
585
  try {
583
- const v = await g.sendMessage(s, {
584
- conversationId: k,
585
- files: r
586
+ const v = await m.sendMessage(s, {
587
+ conversationId: _,
588
+ files: n
586
589
  });
587
- v.conversationId && (k || (k = v.conversationId), K?.setActiveThread(v.conversationId, v.createdAt));
590
+ v.conversationId && (_ || (_ = v.conversationId), V?.setActiveThread(v.conversationId, v.createdAt));
588
591
  const C = d.find((y) => y.id === `temp-user-${x}`);
589
592
  if (C && (C.id = `user-${x}`, C.conversationId = v.conversationId), !d.some((y) => y.id === v.id)) {
590
593
  const y = d.findIndex((w) => w.id === `temp-assistant-${x}`);
591
594
  y >= 0 ? d[y] = v : d.push(v);
592
595
  }
593
- d = d.filter((y) => !y.id.startsWith("temp-")), O = !1, A(), _ && le();
596
+ d = d.filter((y) => !y.id.startsWith("temp-")), L = !1, k(), P && le();
594
597
  } catch (v) {
595
- P = v instanceof Error ? v.message : "Failed to send message", O = !1, d = d.filter((C) => !C.id.startsWith("temp-")), A();
598
+ X = v instanceof Error ? v.message : "Failed to send message", L = !1, d = d.filter((C) => !C.id.startsWith("temp-")), k();
596
599
  }
597
600
  }
598
601
  async function le() {
599
602
  try {
600
- const e = await g.getConversations();
601
- q.splice(0, q.length, ...e);
603
+ const e = await m.getConversations();
604
+ Q.splice(0, Q.length, ...e);
602
605
  } catch {
603
606
  }
604
- return q;
607
+ return Q;
605
608
  }
606
- async function Ze(e) {
609
+ async function Je(e) {
607
610
  try {
608
- const r = (await g.getConversation(e))?.messages ?? [];
609
- r.length > 0 && d.length === 0 && (d = r, A());
611
+ const n = (await m.getConversation(e))?.messages ?? [];
612
+ n.length > 0 && d.length === 0 && (d = n, k());
610
613
  } catch {
611
- d.length === 0 && (K?.clear(), k = void 0);
614
+ d.length === 0 && (V?.clear(), _ = void 0);
612
615
  }
613
616
  }
614
- return A(), re(), k && Ze(k), _ && le(), {
615
- client: g,
616
- element: V,
617
+ return k(), re(), _ && Je(_), P && le(), {
618
+ client: m,
619
+ element: Y,
617
620
  sendMessage: ie,
618
- ...B ? {
621
+ ...F ? {
619
622
  open: ce,
620
623
  close: pe,
621
- toggle: Je
624
+ toggle: et
622
625
  } : {},
623
- session: K,
624
- threads: q,
626
+ session: V,
627
+ threads: Q,
625
628
  refreshThreads: le,
626
629
  destroy() {
627
- g.off("message:start", Re), g.off("message:chunk", _e), g.off("message:answer-complete", ke), g.off("message:complete", Ae), g.off("message:error", Ie), ee && g.off("form:submitted", $e), te && g.off("form:error", Ne), Te = !0, se.forEach((e) => e()), V.remove(), S?.remove(), n.client || g.destroy();
630
+ m.off("message:start", Se), m.off("message:chunk", Re), m.off("message:answer-complete", _e), m.off("message:complete", ke), m.off("message:error", Ae), te && m.off("form:submitted", Ie), ne && m.off("form:error", $e), Ne = !0, se.forEach((e) => e()), Y.remove(), S?.remove(), o.client || m.destroy();
628
631
  }
629
632
  };
630
633
  function de() {
@@ -638,45 +641,45 @@ function St(o, n) {
638
641
  function pe() {
639
642
  z = !1, de();
640
643
  }
641
- function Je() {
644
+ function et() {
642
645
  z ? pe() : ce();
643
646
  }
644
- function et() {
645
- const e = "http://www.w3.org/2000/svg", r = document.createElementNS(e, "svg");
646
- r.setAttribute("width", "26"), r.setAttribute("height", "26"), r.setAttribute("viewBox", "0 0 24 24"), r.setAttribute("fill", "none");
647
+ function tt() {
648
+ const e = "http://www.w3.org/2000/svg", n = document.createElementNS(e, "svg");
649
+ n.setAttribute("width", "26"), n.setAttribute("height", "26"), n.setAttribute("viewBox", "0 0 24 24"), n.setAttribute("fill", "none");
647
650
  const s = document.createElementNS(e, "path");
648
- return s.setAttribute("d", "M21 11.5a8.38 8.38 0 0 1-8.5 8.5 8.5 8.5 0 0 1-3.8-.9L3 21l1.9-5.7a8.5 8.5 0 0 1-.9-3.8 8.38 8.38 0 0 1 8.5-8.5 8.38 8.38 0 0 1 8.5 8.5z"), s.setAttribute("stroke", "currentColor"), s.setAttribute("stroke-width", "2"), s.setAttribute("stroke-linecap", "round"), s.setAttribute("stroke-linejoin", "round"), r.appendChild(s), r;
651
+ return s.setAttribute("d", "M21 11.5a8.38 8.38 0 0 1-8.5 8.5 8.5 8.5 0 0 1-3.8-.9L3 21l1.9-5.7a8.5 8.5 0 0 1-.9-3.8 8.38 8.38 0 0 1 8.5-8.5 8.38 8.38 0 0 1 8.5 8.5z"), s.setAttribute("stroke", "currentColor"), s.setAttribute("stroke-width", "2"), s.setAttribute("stroke-linecap", "round"), s.setAttribute("stroke-linejoin", "round"), n.appendChild(s), n;
649
652
  }
650
- function tt() {
653
+ function nt() {
651
654
  const e = b({
652
655
  display: "flex",
653
656
  gap: "4px",
654
657
  padding: "4px 0"
655
658
  });
656
- for (let r = 0; r < 3; r++) {
659
+ for (let n = 0; n < 3; n++) {
657
660
  const s = b({
658
661
  width: "6px",
659
662
  height: "6px",
660
663
  borderRadius: "50%",
661
664
  backgroundColor: "#b5bfc8",
662
665
  animation: "ago-pulse 1.2s ease-in-out infinite",
663
- animationDelay: `${r * 0.2}s`
666
+ animationDelay: `${n * 0.2}s`
664
667
  });
665
668
  e.appendChild(s);
666
669
  }
667
670
  return e;
668
671
  }
669
672
  }
670
- function yt(o) {
671
- let n = [];
673
+ function Et(r) {
674
+ let o = [];
672
675
  const a = document.createElement("form");
673
676
  E(a, {
674
677
  display: "flex",
675
678
  flexDirection: "column",
676
679
  gap: "8px",
677
680
  padding: "12px",
678
- borderTop: `1px solid ${I}`,
679
- backgroundColor: j
681
+ borderTop: `1px solid ${A}`,
682
+ backgroundColor: K
680
683
  }), a.className = "ago-chat-input";
681
684
  const t = b({
682
685
  display: "flex",
@@ -687,11 +690,11 @@ function yt(o) {
687
690
  gap: "8px",
688
691
  alignItems: "flex-end"
689
692
  }), i = document.createElement("textarea");
690
- i.placeholder = o.placeholder, i.rows = 1, E(i, {
693
+ i.placeholder = r.placeholder, i.rows = 1, E(i, {
691
694
  flex: "1",
692
695
  resize: "none",
693
696
  padding: "10px 12px",
694
- border: `1px solid ${I}`,
697
+ border: `1px solid ${A}`,
695
698
  borderRadius: "12px",
696
699
  fontSize: "16px",
697
700
  fontFamily: xe,
@@ -711,65 +714,65 @@ function yt(o) {
711
714
  cursor: "pointer"
712
715
  });
713
716
  let l = null, p = null;
714
- o.allowFiles && (l = document.createElement("input"), l.type = "file", l.multiple = !0, E(l, { display: "none" }), p = document.createElement("button"), p.type = "button", p.textContent = "📎", E(p, {
717
+ r.allowFiles && (l = document.createElement("input"), l.type = "file", l.multiple = !0, E(l, { display: "none" }), p = document.createElement("button"), p.type = "button", p.textContent = "📎", E(p, {
715
718
  padding: "10px 12px",
716
- border: `1px solid ${I}`,
719
+ border: `1px solid ${A}`,
717
720
  borderRadius: "12px",
718
- backgroundColor: j,
721
+ backgroundColor: K,
719
722
  cursor: "pointer",
720
723
  fontSize: "14px"
721
724
  }), p.addEventListener("click", () => l?.click()), l.addEventListener("change", () => {
722
- n = [...n, ...Array.from(l?.files ?? [])], c();
725
+ o = [...o, ...Array.from(l?.files ?? [])], c();
723
726
  }));
724
727
  function c() {
725
- t.replaceChildren(), n.forEach((h, _) => {
726
- const X = b({
728
+ t.replaceChildren(), o.forEach((g, I) => {
729
+ const q = b({
727
730
  display: "flex",
728
731
  alignItems: "center",
729
732
  gap: "4px",
730
733
  padding: "4px 8px",
731
734
  backgroundColor: "#f0f4ff",
732
- border: `1px solid ${I}`,
735
+ border: `1px solid ${A}`,
733
736
  borderRadius: "8px",
734
737
  fontSize: "12px"
735
- }), L = document.createElement("span");
736
- L.textContent = h.name;
737
- const $ = document.createElement("button");
738
- $.type = "button", $.textContent = "×", E($, {
738
+ }), P = document.createElement("span");
739
+ P.textContent = g.name;
740
+ const T = document.createElement("button");
741
+ T.type = "button", T.textContent = "×", E(T, {
739
742
  border: "none",
740
743
  background: "transparent",
741
744
  cursor: "pointer",
742
745
  fontSize: "14px",
743
746
  lineHeight: "1"
744
- }), $.addEventListener("click", () => {
745
- n = n.filter((ye, J) => J !== _), c();
746
- }), X.append(L, $), t.appendChild(X);
747
+ }), T.addEventListener("click", () => {
748
+ o = o.filter((G, j) => j !== I), c();
749
+ }), q.append(P, T), t.appendChild(q);
747
750
  });
748
751
  }
749
- const m = () => {
750
- const h = i.value, _ = n;
751
- return i.value = "", n = [], c(), {
752
- content: h,
753
- files: _
752
+ const h = () => {
753
+ const g = i.value, I = o;
754
+ return i.value = "", o = [], c(), {
755
+ content: g,
756
+ files: I
754
757
  };
755
- }, T = () => {
756
- const { content: h, files: _ } = m();
757
- (h.trim() || _.length > 0) && o.onSend(h.trim(), _.length > 0 ? _ : void 0);
758
+ }, N = () => {
759
+ const { content: g, files: I } = h();
760
+ (g.trim() || I.length > 0) && r.onSend(g.trim(), I.length > 0 ? I : void 0);
758
761
  };
759
- return a.addEventListener("submit", (h) => {
760
- h.preventDefault(), T();
761
- }), i.addEventListener("keydown", (h) => {
762
- h.key === "Enter" && !h.shiftKey && (h.preventDefault(), T());
762
+ return a.addEventListener("submit", (g) => {
763
+ g.preventDefault(), N();
764
+ }), i.addEventListener("keydown", (g) => {
765
+ g.key === "Enter" && !g.shiftKey && (g.preventDefault(), N());
763
766
  }), p && u.appendChild(p), u.append(i, f), l && a.appendChild(l), a.append(t, u), {
764
767
  inputRow: a,
765
- getValueAndClear: m,
766
- setDisabled: (h) => {
767
- i.disabled = h, f.disabled = h, f.style.opacity = h ? "0.6" : "1", f.style.cursor = h ? "not-allowed" : "pointer";
768
+ getValueAndClear: h,
769
+ setDisabled: (g) => {
770
+ i.disabled = g, f.disabled = g, f.style.opacity = g ? "0.6" : "1", f.style.cursor = g ? "not-allowed" : "pointer";
768
771
  },
769
772
  focus: () => i.focus()
770
773
  };
771
774
  }
772
775
  export {
773
- St as mountChatWidget,
776
+ _t as mountChatWidget,
774
777
  he as renderMarkdown
775
778
  };