@carto/ps-react-ui 4.4.0-chat-ui.0 → 4.4.0-chat-ui.1

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/chat.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as d, jsxs as y, Fragment as K } from "react/jsx-runtime";
2
2
  import { c as T } from "react/compiler-runtime";
3
3
  import { styled as H, Typography as $, Box as x, Link as Y, ButtonBase as X, Fab as J, IconButton as O, FilledInput as V, FormHelperText as q, FormControl as Q, Accordion as Z, AccordionSummary as ee, AccordionDetails as te, CircularProgress as oe } from "@mui/material";
4
- import { ErrorOutline as N, ArrowUpward as ne, KeyboardArrowDown as re, Close as le, StopCircleOutlined as se, ArrowUpwardOutlined as ie, ThumbUp as ae, ThumbUpOutlined as ce, ThumbDown as de, ThumbDownOutlined as me, ExpandMore as pe, CheckCircleOutline as fe } from "@mui/icons-material";
4
+ import { ErrorOutline as N, ArrowUpward as ne, KeyboardArrowDown as le, Close as re, StopCircleOutlined as se, ArrowUpwardOutlined as ie, ThumbUp as ae, ThumbUpOutlined as ce, ThumbDown as de, ThumbDownOutlined as me, ExpandMore as pe, CheckCircleOutline as fe } from "@mui/icons-material";
5
5
  import { keyframes as P } from "@mui/material/styles";
6
6
  import { useRef as ue } from "react";
7
7
  const j = 768, Ee = 300, Fe = 100, G = H($)(() => ({
@@ -166,19 +166,19 @@ function Oe(t) {
166
166
  children: n,
167
167
  muted: o,
168
168
  topContext: i,
169
- sx: l
169
+ sx: r
170
170
  } = t, m = o === void 0 ? !1 : o;
171
171
  let a;
172
172
  e[0] !== i ? (a = i && /* @__PURE__ */ d(x, { sx: A.userMessageTop, children: i }), e[0] = i, e[1] = a) : a = e[1];
173
173
  const s = m ? A.muted : void 0;
174
- let r;
175
- e[2] !== l || e[3] !== s ? (r = {
174
+ let l;
175
+ e[2] !== r || e[3] !== s ? (l = {
176
176
  ...A.userMessage,
177
177
  ...s,
178
- ...l
179
- }, e[2] = l, e[3] = s, e[4] = r) : r = e[4];
178
+ ...r
179
+ }, e[2] = r, e[3] = s, e[4] = l) : l = e[4];
180
180
  let c;
181
- e[5] !== n || e[6] !== r ? (c = /* @__PURE__ */ d(G, { className: "PsChat--user-message-inner", variant: "body2", sx: r, children: n }), e[5] = n, e[6] = r, e[7] = c) : c = e[7];
181
+ e[5] !== n || e[6] !== l ? (c = /* @__PURE__ */ d(G, { className: "PsChat--user-message-inner", variant: "body2", sx: l, children: n }), e[5] = n, e[6] = l, e[7] = c) : c = e[7];
182
182
  let p;
183
183
  return e[8] !== a || e[9] !== c ? (p = /* @__PURE__ */ y(x, { className: "PsChat--user-message", sx: A.userMessageContainer, children: [
184
184
  a,
@@ -193,8 +193,8 @@ const he = (t) => {
193
193
  ...o
194
194
  } = t, e[0] = t, e[1] = n, e[2] = o) : (n = e[1], o = e[2]);
195
195
  const i = `PsChat--agent-message ${n ?? ""}`;
196
- let l;
197
- return e[3] !== o || e[4] !== i ? (l = /* @__PURE__ */ d(x, { className: i, ...o }), e[3] = o, e[4] = i, e[5] = l) : l = e[5], l;
196
+ let r;
197
+ return e[3] !== o || e[4] !== i ? (r = /* @__PURE__ */ d(x, { className: i, ...o }), e[3] = o, e[4] = i, e[5] = r) : r = e[5], r;
198
198
  }, ge = H(he)(({
199
199
  theme: t
200
200
  }) => A.agentMessageContainer(t));
@@ -204,25 +204,25 @@ function Pe(t) {
204
204
  errors: n,
205
205
  icon: o,
206
206
  actions: i,
207
- sx: l
207
+ sx: r
208
208
  } = t;
209
209
  let m;
210
- e[0] !== l ? (m = {
210
+ e[0] !== r ? (m = {
211
211
  ...A.errorMessage,
212
- ...l
213
- }, e[0] = l, e[1] = m) : m = e[1];
212
+ ...r
213
+ }, e[0] = r, e[1] = m) : m = e[1];
214
214
  let a;
215
215
  e[2] !== o ? (a = o ?? /* @__PURE__ */ d(N, { fontSize: "medium", color: "error" }), e[2] = o, e[3] = a) : a = e[3];
216
216
  let s;
217
217
  e[4] !== n ? (s = n.map(xe), e[4] = n, e[5] = s) : s = e[5];
218
- let r;
219
- e[6] !== i ? (r = i?.length ? /* @__PURE__ */ d(x, { sx: A.errorActions, children: (i ?? []).map(be) }) : null, e[6] = i, e[7] = r) : r = e[7];
218
+ let l;
219
+ e[6] !== i ? (l = i?.length ? /* @__PURE__ */ d(x, { sx: A.errorActions, children: (i ?? []).map(be) }) : null, e[6] = i, e[7] = l) : l = e[7];
220
220
  let c;
221
- return e[8] !== m || e[9] !== a || e[10] !== s || e[11] !== r ? (c = /* @__PURE__ */ y(x, { sx: m, children: [
221
+ return e[8] !== m || e[9] !== a || e[10] !== s || e[11] !== l ? (c = /* @__PURE__ */ y(x, { sx: m, children: [
222
222
  a,
223
223
  s,
224
- r
225
- ] }), e[8] = m, e[9] = a, e[10] = s, e[11] = r, e[12] = c) : c = e[12], c;
224
+ l
225
+ ] }), e[8] = m, e[9] = a, e[10] = s, e[11] = l, e[12] = c) : c = e[12], c;
226
226
  }
227
227
  function be(t, e) {
228
228
  return /* @__PURE__ */ y("span", { children: [
@@ -235,31 +235,31 @@ function xe(t, e) {
235
235
  }
236
236
  function Ce(t) {
237
237
  const e = T(17);
238
- let n, o, i, l;
238
+ let n, o, i, r;
239
239
  e[0] !== t ? ({
240
240
  label: o,
241
241
  color: n,
242
- sx: l,
242
+ sx: r,
243
243
  ...i
244
- } = t, e[0] = t, e[1] = n, e[2] = o, e[3] = i, e[4] = l) : (n = e[1], o = e[2], i = e[3], l = e[4]);
244
+ } = t, e[0] = t, e[1] = n, e[2] = o, e[3] = i, e[4] = r) : (n = e[1], o = e[2], i = e[3], r = e[4]);
245
245
  let m;
246
246
  e[5] !== n ? (m = n ? {
247
247
  backgroundColor: n
248
248
  } : void 0, e[5] = n, e[6] = m) : m = e[6];
249
249
  let a;
250
- e[7] !== l || e[8] !== m ? (a = {
250
+ e[7] !== r || e[8] !== m ? (a = {
251
251
  ...A.suggestionButton,
252
252
  ...m,
253
- ...l
254
- }, e[7] = l, e[8] = m, e[9] = a) : a = e[9];
253
+ ...r
254
+ }, e[7] = r, e[8] = m, e[9] = a) : a = e[9];
255
255
  let s;
256
256
  e[10] !== o ? (s = /* @__PURE__ */ d($, { color: "inherit", variant: "body2", children: o }), e[10] = o, e[11] = s) : s = e[11];
257
- let r;
258
- e[12] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ d(ne, {}), e[12] = r) : r = e[12];
257
+ let l;
258
+ e[12] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ d(ne, {}), e[12] = l) : l = e[12];
259
259
  let c;
260
260
  return e[13] !== i || e[14] !== a || e[15] !== s ? (c = /* @__PURE__ */ y(X, { sx: a, ...i, children: [
261
261
  s,
262
- r
262
+ l
263
263
  ] }), e[13] = i, e[14] = a, e[15] = s, e[16] = c) : c = e[16], c;
264
264
  }
265
265
  const ye = P`
@@ -348,40 +348,40 @@ function we(t) {
348
348
  children: n,
349
349
  duration: o,
350
350
  sx: i
351
- } = t, l = n === void 0 ? "Thinking..." : n, a = `${(o === void 0 ? 2e3 : o) / 1e3}s`;
351
+ } = t, r = n === void 0 ? "Thinking..." : n, a = `${(o === void 0 ? 2e3 : o) / 1e3}s`;
352
352
  let s;
353
353
  e[0] !== a || e[1] !== i ? (s = {
354
354
  ...z.thinking,
355
355
  animationDuration: a,
356
356
  ...i
357
357
  }, e[0] = a, e[1] = i, e[2] = s) : s = e[2];
358
- let r;
359
- return e[3] !== l || e[4] !== s ? (r = /* @__PURE__ */ d($, { variant: "body2", sx: s, children: l }), e[3] = l, e[4] = s, e[5] = r) : r = e[5], r;
358
+ let l;
359
+ return e[3] !== r || e[4] !== s ? (l = /* @__PURE__ */ d($, { variant: "body2", sx: s, children: r }), e[3] = r, e[4] = s, e[5] = l) : l = e[5], l;
360
360
  }
361
361
  function Re(t) {
362
362
  const e = T(16), {
363
363
  size: n,
364
364
  labels: o,
365
365
  sx: i
366
- } = t, l = n === void 0 ? 24 : n;
366
+ } = t, r = n === void 0 ? 24 : n;
367
367
  let m;
368
368
  e[0] !== o ? (m = o === void 0 ? {} : o, e[0] = o, e[1] = m) : m = e[1];
369
369
  const s = m.loading ?? "Loading";
370
- let r;
371
- e[2] !== l || e[3] !== i ? (r = {
370
+ let l;
371
+ e[2] !== r || e[3] !== i ? (l = {
372
372
  ...z.loader,
373
- width: l,
374
- height: l,
373
+ width: r,
374
+ height: r,
375
375
  ...i
376
- }, e[2] = l, e[3] = i, e[4] = r) : r = e[4];
377
- const c = l * 0.75, p = l * 0.75;
376
+ }, e[2] = r, e[3] = i, e[4] = l) : l = e[4];
377
+ const c = r * 0.75, p = r * 0.75;
378
378
  let f;
379
379
  e[5] !== c || e[6] !== p ? (f = /* @__PURE__ */ d(x, { component: "span", sx: {
380
380
  ...z.loaderOuterCircle,
381
381
  width: c,
382
382
  height: p
383
383
  } }), e[5] = c, e[6] = p, e[7] = f) : f = e[7];
384
- const u = l * 0.32, g = l * 0.32;
384
+ const u = r * 0.32, g = r * 0.32;
385
385
  let b;
386
386
  e[8] !== g || e[9] !== u ? (b = /* @__PURE__ */ d(x, { component: "span", sx: {
387
387
  ...z.loaderInnerCircle,
@@ -389,10 +389,10 @@ function Re(t) {
389
389
  height: g
390
390
  } }), e[8] = g, e[9] = u, e[10] = b) : b = e[10];
391
391
  let h;
392
- return e[11] !== b || e[12] !== s || e[13] !== r || e[14] !== f ? (h = /* @__PURE__ */ y(x, { role: "status", "aria-busy": !0, "aria-label": s, sx: r, children: [
392
+ return e[11] !== b || e[12] !== s || e[13] !== l || e[14] !== f ? (h = /* @__PURE__ */ y(x, { role: "status", "aria-busy": !0, "aria-label": s, sx: l, children: [
393
393
  f,
394
394
  b
395
- ] }), e[11] = b, e[12] = s, e[13] = r, e[14] = f, e[15] = h) : h = e[15], h;
395
+ ] }), e[11] = b, e[12] = s, e[13] = l, e[14] = f, e[15] = h) : h = e[15], h;
396
396
  }
397
397
  const Se = P`
398
398
  0% { border-top-color: transparent; border-bottom-color: var(--chat-border-color) }
@@ -486,6 +486,9 @@ const Se = P`
486
486
  "@supports (animation-timeline: scroll())": {
487
487
  animation: `${Ie} linear both`,
488
488
  animationTimeline: "scroll(nearest)"
489
+ },
490
+ "@supports not (animation-timeline: scroll())": {
491
+ display: "none"
489
492
  }
490
493
  },
491
494
  starter: {
@@ -517,9 +520,9 @@ function je(t) {
517
520
  labels: o,
518
521
  sx: i
519
522
  } = t;
520
- let l;
521
- e[0] !== o ? (l = o === void 0 ? {} : o, e[0] = o, e[1] = l) : l = e[1];
522
- const m = l, a = ue(null);
523
+ let r;
524
+ e[0] !== o ? (r = o === void 0 ? {} : o, e[0] = o, e[1] = r) : r = e[1];
525
+ const m = r, a = ue(null);
523
526
  let s;
524
527
  e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = () => {
525
528
  a.current?.scrollTo({
@@ -527,7 +530,7 @@ function je(t) {
527
530
  behavior: "smooth"
528
531
  });
529
532
  }, e[2] = s) : s = e[2];
530
- const r = s;
533
+ const l = s;
531
534
  let c;
532
535
  e[3] !== i ? (c = {
533
536
  ...v.content,
@@ -535,9 +538,9 @@ function je(t) {
535
538
  }, e[3] = i, e[4] = c) : c = e[4];
536
539
  const p = m.jumpToLatest ?? "Jump to latest";
537
540
  let f;
538
- e[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ d(re, {}), e[5] = f) : f = e[5];
541
+ e[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ d(le, {}), e[5] = f) : f = e[5];
539
542
  let u;
540
- e[6] !== p ? (u = /* @__PURE__ */ d(x, { sx: v.jumpToLatestWrapper, children: /* @__PURE__ */ d(J, { size: "small", onClick: r, "aria-label": p, sx: v.jumpToLatest, children: f }) }), e[6] = p, e[7] = u) : u = e[7];
543
+ e[6] !== p ? (u = /* @__PURE__ */ d(x, { sx: v.jumpToLatestWrapper, children: /* @__PURE__ */ d(J, { size: "small", onClick: l, "aria-label": p, sx: v.jumpToLatest, children: f }) }), e[6] = p, e[7] = u) : u = e[7];
541
544
  let g;
542
545
  return e[8] !== n || e[9] !== c || e[10] !== u ? (g = /* @__PURE__ */ y(x, { ref: a, sx: c, children: [
543
546
  n,
@@ -549,7 +552,7 @@ function He(t) {
549
552
  leftSlot: n,
550
553
  title: o,
551
554
  rightSlot: i,
552
- onClose: l,
555
+ onClose: r,
553
556
  sx: m
554
557
  } = t;
555
558
  let a;
@@ -559,13 +562,13 @@ function He(t) {
559
562
  }, e[0] = m, e[1] = a) : a = e[1];
560
563
  let s;
561
564
  e[2] !== o ? (s = /* @__PURE__ */ d($, { variant: "subtitle2", sx: v.headerTitle, children: o }), e[2] = o, e[3] = s) : s = e[3];
562
- let r;
563
- e[4] !== l ? (r = l && /* @__PURE__ */ d(O, { size: "medium", onClick: l, "aria-label": "Close", children: /* @__PURE__ */ d(le, {}) }), e[4] = l, e[5] = r) : r = e[5];
565
+ let l;
566
+ e[4] !== r ? (l = r && /* @__PURE__ */ d(O, { size: "medium", onClick: r, "aria-label": "Close", children: /* @__PURE__ */ d(re, {}) }), e[4] = r, e[5] = l) : l = e[5];
564
567
  let c;
565
- e[6] !== i || e[7] !== r ? (c = /* @__PURE__ */ y(x, { sx: v.headerActions, children: [
568
+ e[6] !== i || e[7] !== l ? (c = /* @__PURE__ */ y(x, { sx: v.headerActions, children: [
566
569
  i,
567
- r
568
- ] }), e[6] = i, e[7] = r, e[8] = c) : c = e[8];
570
+ l
571
+ ] }), e[6] = i, e[7] = l, e[8] = c) : c = e[8];
569
572
  let p;
570
573
  return e[9] !== n || e[10] !== a || e[11] !== s || e[12] !== c ? (p = /* @__PURE__ */ y(x, { sx: a, children: [
571
574
  n,
@@ -579,16 +582,16 @@ function Ue(t) {
579
582
  value: n,
580
583
  onChange: o,
581
584
  onSend: i,
582
- onStop: l,
585
+ onStop: r,
583
586
  isGenerating: m,
584
587
  disabled: a,
585
588
  placeholder: s,
586
- labels: r,
589
+ labels: l,
587
590
  caption: c,
588
591
  sx: p
589
592
  } = t, f = m === void 0 ? !1 : m, u = a === void 0 ? !1 : a, g = s === void 0 ? "Type a message..." : s;
590
593
  let b;
591
- e[0] !== r ? (b = r === void 0 ? {} : r, e[0] = r, e[1] = b) : b = e[1];
594
+ e[0] !== l ? (b = l === void 0 ? {} : l, e[0] = l, e[1] = b) : b = e[1];
592
595
  const h = b, C = c === void 0 ? ke : c;
593
596
  let w;
594
597
  e[2] !== u || e[3] !== f || e[4] !== n ? (w = n.trim() && !u && !f, e[2] = u, e[3] = f, e[4] = n, e[5] = w) : w = e[5];
@@ -613,7 +616,7 @@ function Ue(t) {
613
616
  let W;
614
617
  e[14] !== M || e[15] !== g || e[16] !== k || e[17] !== D || e[18] !== n ? (W = /* @__PURE__ */ d(V, { multiline: !0, value: n, onChange: k, onKeyDown: M, placeholder: g, disabled: D, sx: v.footer, style: _, fullWidth: !0, size: "small" }), e[14] = M, e[15] = g, e[16] = k, e[17] = D, e[18] = n, e[19] = W) : W = e[19];
615
618
  let B;
616
- e[20] !== S || e[21] !== u || e[22] !== f || e[23] !== h.send || e[24] !== h.stop || e[25] !== i || e[26] !== l ? (B = /* @__PURE__ */ d(x, { sx: v.footerCorner, children: f && l ? /* @__PURE__ */ d(O, { size: "small", onClick: l, disabled: u, "aria-label": h.stop ?? "Stop", children: /* @__PURE__ */ d(se, {}) }) : /* @__PURE__ */ d(O, { size: "small", variant: "contained", onClick: i, disabled: !S, "aria-label": h.send ?? "Send", children: /* @__PURE__ */ d(ie, {}) }) }), e[20] = S, e[21] = u, e[22] = f, e[23] = h.send, e[24] = h.stop, e[25] = i, e[26] = l, e[27] = B) : B = e[27];
619
+ e[20] !== S || e[21] !== u || e[22] !== f || e[23] !== h.send || e[24] !== h.stop || e[25] !== i || e[26] !== r ? (B = /* @__PURE__ */ d(x, { sx: v.footerCorner, children: f && r ? /* @__PURE__ */ d(O, { size: "small", onClick: r, disabled: u, "aria-label": h.stop ?? "Stop", children: /* @__PURE__ */ d(se, {}) }) : /* @__PURE__ */ d(O, { size: "small", variant: "contained", onClick: i, disabled: !S, "aria-label": h.send ?? "Send", children: /* @__PURE__ */ d(ie, {}) }) }), e[20] = S, e[21] = u, e[22] = f, e[23] = h.send, e[24] = h.stop, e[25] = i, e[26] = r, e[27] = B) : B = e[27];
617
620
  let E;
618
621
  e[28] !== C ? (E = C ? /* @__PURE__ */ d(q, { sx: v.footerCaption, children: C }) : null, e[28] = C, e[29] = E) : E = e[29];
619
622
  let R;
@@ -638,29 +641,29 @@ function Ne(t) {
638
641
  icon: n,
639
642
  title: o,
640
643
  description: i,
641
- items: l,
644
+ items: r,
642
645
  size: m,
643
646
  onSelect: a,
644
647
  sx: s
645
- } = t, r = m === void 0 ? "small" : m;
648
+ } = t, l = m === void 0 ? "small" : m;
646
649
  let c, p, f, u, g, b, h, C;
647
- if (e[0] !== i || e[1] !== n || e[2] !== l || e[3] !== a || e[4] !== r || e[5] !== s || e[6] !== o) {
648
- const L = l.map(Ae);
650
+ if (e[0] !== i || e[1] !== n || e[2] !== r || e[3] !== a || e[4] !== l || e[5] !== s || e[6] !== o) {
651
+ const L = r.map(Ae);
649
652
  p = x;
650
- const M = r === "small" ? 1 : 2;
653
+ const M = l === "small" ? 1 : 2;
651
654
  e[15] !== s || e[16] !== M ? (g = {
652
655
  ...v.starter,
653
656
  gap: M,
654
657
  ...s
655
- }, e[15] = s, e[16] = M, e[17] = g) : g = e[17], b = n, e[18] !== r || e[19] !== o ? (h = o && /* @__PURE__ */ d($, { variant: r === "small" ? "h6" : "h5", children: o }), e[18] = r, e[19] = o, e[20] = h) : h = e[20], e[21] !== i || e[22] !== r ? (C = i && /* @__PURE__ */ d($, { variant: r === "small" ? "body2" : "body1", color: "text.secondary", children: i }), e[21] = i, e[22] = r, e[23] = C) : C = e[23], c = x;
656
- const I = r === "small" ? 1 : 2, k = l.length > 2 ? v.starterItemsTwoCol : void 0;
658
+ }, e[15] = s, e[16] = M, e[17] = g) : g = e[17], b = n, e[18] !== l || e[19] !== o ? (h = o && /* @__PURE__ */ d($, { variant: l === "small" ? "h6" : "h5", children: o }), e[18] = l, e[19] = o, e[20] = h) : h = e[20], e[21] !== i || e[22] !== l ? (C = i && /* @__PURE__ */ d($, { variant: l === "small" ? "body2" : "body1", color: "text.secondary", children: i }), e[21] = i, e[22] = l, e[23] = C) : C = e[23], c = x;
659
+ const I = l === "small" ? 1 : 2, k = r.length > 2 ? v.starterItemsTwoCol : void 0;
657
660
  e[24] !== k || e[25] !== I ? (f = {
658
661
  ...v.starterItems,
659
662
  gap: I,
660
663
  ...k
661
664
  }, e[24] = k, e[25] = I, e[26] = f) : f = e[26];
662
665
  let D;
663
- e[27] !== a ? (D = (_) => /* @__PURE__ */ d(Ce, { label: _.label, onClick: () => a?.(_.label), color: _.color }, _.label), e[27] = a, e[28] = D) : D = e[28], u = L.map(D), e[0] = i, e[1] = n, e[2] = l, e[3] = a, e[4] = r, e[5] = s, e[6] = o, e[7] = c, e[8] = p, e[9] = f, e[10] = u, e[11] = g, e[12] = b, e[13] = h, e[14] = C;
666
+ e[27] !== a ? (D = (_) => /* @__PURE__ */ d(Ce, { label: _.label, onClick: () => a?.(_.label), color: _.color }, _.label), e[27] = a, e[28] = D) : D = e[28], u = L.map(D), e[0] = i, e[1] = n, e[2] = r, e[3] = a, e[4] = l, e[5] = s, e[6] = o, e[7] = c, e[8] = p, e[9] = f, e[10] = u, e[11] = g, e[12] = b, e[13] = h, e[14] = C;
664
667
  } else
665
668
  c = e[7], p = e[8], f = e[9], u = e[10], g = e[11], b = e[12], h = e[13], C = e[14];
666
669
  let w;
@@ -695,16 +698,16 @@ function Ke(t) {
695
698
  onRatingChange: o,
696
699
  labels: i
697
700
  } = t;
698
- let l;
699
- e[0] !== i ? (l = i === void 0 ? {} : i, e[0] = i, e[1] = l) : l = e[1];
700
- const m = l;
701
+ let r;
702
+ e[0] !== i ? (r = i === void 0 ? {} : i, e[0] = i, e[1] = r) : r = e[1];
703
+ const m = r;
701
704
  let a;
702
705
  e[2] !== o || e[3] !== n ? (a = () => o?.(n === "up" ? null : "up"), e[2] = o, e[3] = n, e[4] = a) : a = e[4];
703
- const s = m.thumbUp ?? "Thumbs up", r = n === "up" ? "primary" : void 0;
706
+ const s = m.thumbUp ?? "Thumbs up", l = n === "up" ? "primary" : void 0;
704
707
  let c;
705
708
  e[5] !== n ? (c = n === "up" ? /* @__PURE__ */ d(ae, { fontSize: "small" }) : /* @__PURE__ */ d(ce, { fontSize: "small" }), e[5] = n, e[6] = c) : c = e[6];
706
709
  let p;
707
- e[7] !== a || e[8] !== s || e[9] !== r || e[10] !== c ? (p = /* @__PURE__ */ d(O, { size: "small", onClick: a, "aria-label": s, color: r, children: c }), e[7] = a, e[8] = s, e[9] = r, e[10] = c, e[11] = p) : p = e[11];
710
+ e[7] !== a || e[8] !== s || e[9] !== l || e[10] !== c ? (p = /* @__PURE__ */ d(O, { size: "small", onClick: a, "aria-label": s, color: l, children: c }), e[7] = a, e[8] = s, e[9] = l, e[10] = c, e[11] = p) : p = e[11];
708
711
  let f;
709
712
  e[12] !== o || e[13] !== n ? (f = () => o?.(n === "down" ? null : "down"), e[12] = o, e[13] = n, e[14] = f) : f = e[14];
710
713
  const u = m.thumbDown ?? "Thumbs down", g = n === "down" ? "primary" : void 0;
@@ -747,9 +750,9 @@ function Ye(t) {
747
750
  labels: o,
748
751
  sx: i
749
752
  } = t;
750
- let l;
751
- e[0] !== o ? (l = o === void 0 ? {} : o, e[0] = o, e[1] = l) : l = e[1];
752
- const m = l;
753
+ let r;
754
+ e[0] !== o ? (r = o === void 0 ? {} : o, e[0] = o, e[1] = r) : r = e[1];
755
+ const m = r;
753
756
  let a;
754
757
  e[2] !== i ? (a = {
755
758
  ...z.tools,
@@ -759,13 +762,13 @@ function Ye(t) {
759
762
  e[4] !== m.title ? (s = m.title && /* @__PURE__ */ d($, { variant: "caption", color: "text.secondary", sx: {
760
763
  mb: 1
761
764
  }, children: m.title }), e[4] = m.title, e[5] = s) : s = e[5];
762
- let r;
763
- e[6] !== n ? (r = n.map(_e), e[6] = n, e[7] = r) : r = e[7];
765
+ let l;
766
+ e[6] !== n ? (l = n.map(_e), e[6] = n, e[7] = l) : l = e[7];
764
767
  let c;
765
- return e[8] !== a || e[9] !== s || e[10] !== r ? (c = /* @__PURE__ */ y(x, { sx: a, children: [
768
+ return e[8] !== a || e[9] !== s || e[10] !== l ? (c = /* @__PURE__ */ y(x, { sx: a, children: [
766
769
  s,
767
- r
768
- ] }), e[8] = a, e[9] = s, e[10] = r, e[11] = c) : c = e[11], c;
770
+ l
771
+ ] }), e[8] = a, e[9] = s, e[10] = l, e[11] = c) : c = e[11], c;
769
772
  }
770
773
  function _e(t) {
771
774
  return /* @__PURE__ */ y(Z, { disableGutters: !0, elevation: 0, children: [
package/dist/chat.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sources":["../src/chat/const.ts","../src/chat/bubbles/styles.ts","../src/chat/bubbles/chat-user-message.tsx","../src/chat/bubbles/chat-agent-message.tsx","../src/chat/bubbles/chat-error-message.tsx","../src/chat/bubbles/chat-suggestion-button.tsx","../src/chat/feedback/styles.ts","../src/chat/feedback/chat-thinking.tsx","../src/chat/feedback/chat-loader.tsx","../src/chat/containers/styles.ts","../src/chat/containers/chat-content.tsx","../src/chat/containers/chat-header.tsx","../src/chat/containers/chat-footer.tsx","../src/chat/containers/chat-starter.tsx","../src/chat/feedback/chat-actions-container.tsx","../src/chat/feedback/chat-rating-action.tsx","../src/chat/feedback/chat-tools.tsx"],"sourcesContent":["export const CHAT_MAX_WIDTH = 768\nexport const CHAT_SCROLL_DELAY = 300\nexport const CHAT_DIVIDER_DELAY = 100\n","import { styled, Typography, type SxProps, type Theme } from '@mui/material'\n\nexport const ChatMessageOverflow = styled(Typography)(() => ({\n whiteSpace: 'pre-wrap',\n overflowX: 'clip',\n overflowWrap: 'break-word',\n maxWidth: '100%',\n}))\nChatMessageOverflow.displayName = 'ChatMessageOverflow'\n\nexport const styles = {\n agentMessageContainer: (theme: Theme) => ({\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n paddingRight: theme.spacing(4),\n '& + .PsChat--agent-message': {\n marginTop: theme.spacing(1),\n },\n '& + .PsChat--user-message': {\n marginTop: theme.spacing(3),\n },\n }),\n userMessageContainer: {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n paddingLeft: ({ spacing }) => spacing(4),\n '&:has(+ .PsChat--user-message) > .PsChat--user-message-inner': {\n borderRadius: ({ spacing }) => spacing(2),\n },\n '& + .PsChat--user-message': {\n marginTop: ({ spacing }) => spacing(0.5),\n },\n '& + .PsChat--agent-message': {\n marginTop: ({ spacing }) => spacing(3),\n },\n },\n userMessage: {\n padding: ({ spacing }) => spacing(0.75, 1.5),\n borderRadius: ({ spacing }) => spacing(2, 2, 0.25, 2),\n border: ({ palette }) => `1px solid ${palette.divider}`,\n backgroundColor: ({ palette }) => palette.background.default,\n color: ({ palette }) => palette.text.primary,\n width: 'fit-content',\n },\n muted: {\n color: ({ palette }) => palette.text.disabled,\n },\n userMessageTop: {\n textAlign: 'right',\n marginBottom: ({ spacing }) => spacing(0.5),\n },\n errorMessage: {\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: ({ spacing }) => spacing(1),\n },\n errorActions: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(0.5),\n },\n errorAction: {\n color: ({ palette }) => palette.text.primary,\n },\n errorActionSeparator: {\n mr: 0.5,\n color: ({ palette }) => palette.black[25],\n fontWeight: 600,\n },\n suggestionButton: {\n transition: 'border-color 0.2s',\n width: '100%',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n textAlign: 'left',\n gap: ({ spacing }) => spacing(1),\n padding: ({ spacing }) => spacing(0.75, 1.5),\n borderRadius: ({ spacing }) => spacing(2),\n border: ({ palette }) => `1px solid ${palette.divider}`,\n '& .MuiSvgIcon-root': {\n transition: 'color 0.2s',\n color: 'inherit',\n fontSize: ({ spacing }) => spacing(1.5),\n width: ({ spacing }) => spacing(1.5),\n minWidth: ({ spacing }) => spacing(1.5),\n height: ({ spacing }) => spacing(2.5),\n },\n '&:not(.Mui-disabled) .MuiSvgIcon-root': {\n color: ({ palette }) => palette.text.secondary,\n },\n '&:hover': {\n borderColor: ({ palette }) => palette.text.hint,\n '& .MuiSvgIcon-root': {\n color: ({ palette }) => palette.text.primary,\n },\n },\n '&.Mui-disabled': {\n color: ({ palette }) => palette.text.disabled,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport type { ChatUserMessageProps } from '../types'\nimport { ChatMessageOverflow, styles } from './styles'\n\nexport function ChatUserMessage({\n children,\n muted = false,\n topContext,\n sx,\n}: ChatUserMessageProps) {\n return (\n <Box className='PsChat--user-message' sx={styles.userMessageContainer}>\n {topContext && <Box sx={styles.userMessageTop}>{topContext}</Box>}\n <ChatMessageOverflow\n className='PsChat--user-message-inner'\n variant='body2'\n sx={{\n ...styles.userMessage,\n ...(muted ? styles.muted : undefined),\n ...sx,\n }}\n >\n {children}\n </ChatMessageOverflow>\n </Box>\n )\n}\n","import { Box, styled, type BoxProps } from '@mui/material'\nimport { styles } from './styles'\n\nconst InnerBox = ({ className, ...props }: BoxProps) => (\n <Box className={`PsChat--agent-message ${className ?? ''}`} {...props} />\n)\n\nexport const ChatAgentMessage = styled(InnerBox)(({ theme }) =>\n styles.agentMessageContainer(theme),\n)\nChatAgentMessage.displayName = 'ChatAgentMessage'\n","import { Box, Link, Typography } from '@mui/material'\nimport { ErrorOutline } from '@mui/icons-material'\nimport type { ChatErrorMessageProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatErrorMessage({\n errors,\n icon,\n actions,\n sx,\n}: ChatErrorMessageProps) {\n return (\n <Box sx={{ ...styles.errorMessage, ...sx }}>\n {icon ?? <ErrorOutline fontSize='medium' color='error' />}\n {errors.map((error, index) => (\n <Typography key={index} variant='subtitle2' color='error.relatedDark'>\n {error}\n </Typography>\n ))}\n {actions?.length ? (\n <Box sx={styles.errorActions}>\n {(actions ?? []).map((action, index) => (\n <span key={index}>\n {index > 0 && (\n <Typography\n component='span'\n variant='body2'\n sx={styles.errorActionSeparator}\n >\n &middot;\n </Typography>\n )}\n <Link\n component='button'\n variant='body2'\n onClick={action.onClick}\n sx={styles.errorAction}\n >\n {action.label}\n </Link>\n </span>\n ))}\n </Box>\n ) : null}\n </Box>\n )\n}\n","import { ButtonBase, Typography } from '@mui/material'\nimport { ArrowUpward } from '@mui/icons-material'\nimport type { ChatSuggestionButtonProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatSuggestionButton({\n label,\n color,\n sx,\n ...props\n}: ChatSuggestionButtonProps) {\n return (\n <ButtonBase\n sx={{\n ...styles.suggestionButton,\n ...(color ? { backgroundColor: color } : undefined),\n ...sx,\n }}\n {...props}\n >\n <Typography color='inherit' variant='body2'>\n {label}\n </Typography>\n <ArrowUpward />\n </ButtonBase>\n )\n}\n","import { type SxProps, type Theme } from '@mui/material'\nimport { keyframes } from '@mui/material/styles'\n\nconst shimmer = keyframes`\n 0% {\n background-position: 150% 0;\n }\n 100% {\n background-position: -50% 0;\n }\n`\n\nconst breatheOuter = keyframes`\n 0% { transform: scale(0.68); opacity: 0.7; }\n 40% { transform: scale(1); opacity: 1; }\n 80% { transform: scale(0.6); opacity: 0.65; }\n 100% { transform: scale(0.68); opacity: 0.7; }\n`\n\nconst breatheInner = keyframes`\n 0% { transform: scale(1); }\n 40% { transform: scale(0.75); }\n 80% { transform: scale(1.125); }\n 100% { transform: scale(1); }\n`\n\nexport const styles = {\n thinking: {\n display: 'flex',\n alignItems: 'center',\n minHeight: ({ spacing }) => spacing(3),\n background: ({ palette }) => `linear-gradient(\n 90deg,\n ${palette.text.disabled} 25%,\n ${palette.text.secondary} 50%,\n ${palette.text.disabled} 75%\n )`,\n backgroundSize: '200% 100%',\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n animation: `${shimmer} 2s ease-in-out infinite`,\n animationDuration: '2s',\n },\n loader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n p: 1,\n },\n loaderOuterCircle: {\n position: 'absolute',\n inset: 0,\n margin: 'auto',\n borderRadius: '50%',\n backgroundColor: ({ palette }) => palette.action.disabled,\n animation: `${breatheOuter} 1s ease-in-out infinite`,\n },\n loaderInnerCircle: {\n position: 'absolute',\n inset: 0,\n margin: 'auto',\n borderRadius: '50%',\n backgroundColor: ({ palette }) => palette.text.primary,\n animation: `${breatheInner} 1s ease-in-out infinite`,\n },\n tools: {\n width: '100%',\n },\n toolHeader: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1),\n },\n toolStatusIcon: {\n display: 'flex',\n alignItems: 'center',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Typography } from '@mui/material'\nimport type { ChatThinkingProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatThinking({\n children = 'Thinking...',\n duration = 2000,\n sx,\n}: ChatThinkingProps) {\n const durSeconds = `${duration / 1000}s`\n return (\n <Typography\n variant='body2'\n sx={{\n ...styles.thinking,\n animationDuration: durSeconds,\n ...sx,\n }}\n >\n {children}\n </Typography>\n )\n}\n","import { Box } from '@mui/material'\nimport type { ChatLoaderProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatLoader({ size = 24, labels = {}, sx }: ChatLoaderProps) {\n return (\n <Box\n role='status'\n aria-busy={true}\n aria-label={labels.loading ?? 'Loading'}\n sx={{ ...styles.loader, width: size, height: size, ...sx }}\n >\n <Box\n component='span'\n sx={{\n ...styles.loaderOuterCircle,\n width: size * 0.75,\n height: size * 0.75,\n }}\n />\n <Box\n component='span'\n sx={{\n ...styles.loaderInnerCircle,\n width: size * 0.32,\n height: size * 0.32,\n }}\n />\n </Box>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { keyframes } from '@mui/material/styles'\nimport { CHAT_MAX_WIDTH } from '../const'\n\nconst scrollBorders = keyframes`\n 0% { border-top-color: transparent; border-bottom-color: var(--chat-border-color) }\n 0.1% { border-top-color: var(--chat-border-color); border-bottom-color: var(--chat-border-color) }\n 99.9% { border-top-color: var(--chat-border-color); border-bottom-color: var(--chat-border-color) }\n 100% { border-top-color: var(--chat-border-color); border-bottom-color: transparent }\n`\n\nconst showFab = keyframes`\n 0% { opacity: 1; pointer-events: auto }\n 95% { opacity: 1; pointer-events: auto }\n 100% { opacity: 0; pointer-events: none }\n`\n\nexport const styles = {\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: ({ spacing }) => spacing(1),\n },\n headerTitle: {\n flexGrow: 1,\n px: ({ spacing }) => spacing(0.5),\n },\n headerActions: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: ({ spacing }) => spacing(2),\n gap: ({ spacing }) => spacing(0.5),\n },\n footerWrapper: {\n padding: ({ spacing }) => spacing(1),\n position: 'relative',\n },\n footerCorner: {\n position: 'absolute',\n bottom: '38px',\n right: `max(16px, calc(50% - ${CHAT_MAX_WIDTH / 2}px + 6px))`,\n margin: '0 auto',\n },\n footer: {\n maxWidth: CHAT_MAX_WIDTH,\n margin: '0 auto',\n },\n footerCaption: {\n textAlign: 'center',\n },\n content: {\n overflowY: 'auto',\n flex: 1,\n position: 'relative',\n mx: 'auto',\n maxWidth: CHAT_MAX_WIDTH,\n width: '100%',\n maxHeight: '100%',\n pt: 1,\n pb: 2,\n px: 2,\n display: 'flex',\n flexDirection: 'column',\n '--chat-border-color': ({ palette }) => palette.divider,\n borderTop: '1px solid transparent',\n borderBottom: '1px solid transparent',\n '@supports (animation-timeline: scroll())': {\n animation: `${scrollBorders} linear both`,\n animationTimeline: 'scroll(self)',\n },\n },\n jumpToLatestWrapper: {\n position: 'sticky',\n bottom: ({ spacing }) => spacing(3),\n height: 0,\n display: 'flex',\n justifyContent: 'center',\n zIndex: 1,\n },\n jumpToLatest: {\n opacity: 0,\n pointerEvents: 'none',\n '@supports (animation-timeline: scroll())': {\n animation: `${showFab} linear both`,\n animationTimeline: 'scroll(nearest)',\n },\n },\n starter: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: ({ spacing }) => spacing(3),\n textAlign: 'center',\n maxWidth: CHAT_MAX_WIDTH,\n margin: '0 auto',\n },\n starterItems: {\n display: 'grid',\n width: '100%',\n marginTop: ({ spacing }) => spacing(2),\n },\n starterItemsTwoCol: {\n gridTemplateColumns: 'repeat(2, 1fr)',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { useRef } from 'react'\nimport { Box, Fab } from '@mui/material'\nimport { KeyboardArrowDown } from '@mui/icons-material'\nimport type { ChatContentProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatContent({ children, labels = {}, sx }: ChatContentProps) {\n const scrollRef = useRef<HTMLDivElement>(null)\n\n const scrollToBottom = () => {\n scrollRef.current?.scrollTo({\n top: scrollRef.current.scrollHeight,\n behavior: 'smooth',\n })\n }\n\n return (\n <Box ref={scrollRef} sx={{ ...styles.content, ...sx }}>\n {children}\n <Box sx={styles.jumpToLatestWrapper}>\n <Fab\n size='small'\n onClick={scrollToBottom}\n aria-label={labels.jumpToLatest ?? 'Jump to latest'}\n sx={styles.jumpToLatest}\n >\n <KeyboardArrowDown />\n </Fab>\n </Box>\n </Box>\n )\n}\n","import { Box, IconButton, Typography } from '@mui/material'\nimport { Close } from '@mui/icons-material'\nimport type { ChatHeaderProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatHeader({\n leftSlot,\n title,\n rightSlot,\n onClose,\n sx,\n}: ChatHeaderProps) {\n return (\n <Box sx={{ ...styles.header, ...sx }}>\n {leftSlot}\n <Typography variant='subtitle2' sx={styles.headerTitle}>\n {title}\n </Typography>\n <Box sx={styles.headerActions}>\n {rightSlot}\n {onClose && (\n <IconButton size='medium' onClick={onClose} aria-label='Close'>\n <Close />\n </IconButton>\n )}\n </Box>\n </Box>\n )\n}\n","import {\n Box,\n FilledInput,\n FormControl,\n FormHelperText,\n IconButton,\n} from '@mui/material'\nimport { ArrowUpwardOutlined, StopCircleOutlined } from '@mui/icons-material'\nimport type { ChatFooterProps } from '../types'\nimport { styles } from './styles'\n\nconst DEFAULT_CAPTION =\n 'Responses are AI generated. Please verify key information.'\n\nexport function ChatFooter({\n value,\n onChange,\n onSend,\n onStop,\n isGenerating = false,\n disabled = false,\n placeholder = 'Type a message...',\n labels = {},\n caption = DEFAULT_CAPTION,\n sx,\n}: ChatFooterProps) {\n const canSend = value.trim() && !disabled && !isGenerating\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault()\n if (canSend) {\n onSend()\n }\n }\n }\n\n return (\n <FormControl fullWidth sx={{ ...styles.footerWrapper, ...sx }}>\n <FilledInput\n multiline\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n disabled={disabled || isGenerating}\n sx={styles.footer}\n style={{ minHeight: 0 }}\n fullWidth\n size='small'\n />\n <Box sx={styles.footerCorner}>\n {isGenerating && onStop ? (\n <IconButton\n size='small'\n onClick={onStop}\n disabled={disabled}\n aria-label={labels.stop ?? 'Stop'}\n >\n <StopCircleOutlined />\n </IconButton>\n ) : (\n <IconButton\n size='small'\n variant='contained'\n onClick={onSend}\n disabled={!canSend}\n aria-label={labels.send ?? 'Send'}\n >\n <ArrowUpwardOutlined />\n </IconButton>\n )}\n </Box>\n {caption ? (\n <FormHelperText sx={styles.footerCaption}>{caption}</FormHelperText>\n ) : null}\n </FormControl>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport type { ChatStarterProps } from '../types'\nimport { ChatSuggestionButton } from '../bubbles/chat-suggestion-button'\nimport { styles } from './styles'\n\nconst DEFAULT_PALETTE = [\n '#C9DB7440', // pastel green\n '#FE88B140', // pastel red\n '#9EB9F340', // pastel blue\n '#F6CF7140', // pastel yellow\n]\n\nexport function ChatStarter({\n icon,\n title,\n description,\n items,\n size = 'small',\n onSelect,\n sx,\n}: ChatStarterProps) {\n const fullItems = items.map((item, index) => {\n if (typeof item === 'string') {\n return {\n label: item,\n color: DEFAULT_PALETTE[index],\n }\n } else {\n return {\n label: item.label,\n color: item.color ?? DEFAULT_PALETTE[index],\n }\n }\n })\n return (\n <Box\n sx={{\n ...styles.starter,\n gap: size === 'small' ? 1 : 2,\n ...sx,\n }}\n >\n {icon}\n {title && (\n <Typography variant={size === 'small' ? 'h6' : 'h5'}>\n {title}\n </Typography>\n )}\n {description && (\n <Typography\n variant={size === 'small' ? 'body2' : 'body1'}\n color='text.secondary'\n >\n {description}\n </Typography>\n )}\n <Box\n sx={{\n ...styles.starterItems,\n gap: size === 'small' ? 1 : 2,\n ...(items.length > 2 ? styles.starterItemsTwoCol : undefined),\n }}\n >\n {fullItems.map((item) => (\n <ChatSuggestionButton\n key={item.label}\n label={item.label}\n onClick={() => onSelect?.(item.label)}\n color={item.color}\n />\n ))}\n </Box>\n </Box>\n )\n}\n","import { Box, styled } from '@mui/material'\n\nexport const ChatActionsContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n}))\n","import { IconButton } from '@mui/material'\nimport {\n ThumbUpOutlined,\n ThumbDownOutlined,\n ThumbUp,\n ThumbDown,\n} from '@mui/icons-material'\nimport type { ChatRatingActionProps } from '../types'\n\nexport function ChatRatingAction({\n rating,\n onRatingChange,\n labels = {},\n}: ChatRatingActionProps) {\n return (\n <>\n <IconButton\n size='small'\n onClick={() => onRatingChange?.(rating === 'up' ? null : 'up')}\n aria-label={labels.thumbUp ?? 'Thumbs up'}\n color={rating === 'up' ? 'primary' : undefined}\n >\n {rating === 'up' ? (\n <ThumbUp fontSize='small' />\n ) : (\n <ThumbUpOutlined fontSize='small' />\n )}\n </IconButton>\n <IconButton\n size='small'\n onClick={() => onRatingChange?.(rating === 'down' ? null : 'down')}\n aria-label={labels.thumbDown ?? 'Thumbs down'}\n color={rating === 'down' ? 'primary' : undefined}\n >\n {rating === 'down' ? (\n <ThumbDown fontSize='small' />\n ) : (\n <ThumbDownOutlined fontSize='small' />\n )}\n </IconButton>\n </>\n )\n}\n","import {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Box,\n CircularProgress,\n Typography,\n} from '@mui/material'\nimport {\n CheckCircleOutline,\n ErrorOutline,\n ExpandMore,\n} from '@mui/icons-material'\nimport type { ChatToolsProps, ChatToolItem } from '../types'\nimport { ChatThinking } from './chat-thinking'\nimport { styles } from './styles'\n\nfunction ToolStatusIcon({ status }: { status: ChatToolItem['status'] }) {\n switch (status) {\n case 'loading':\n return <CircularProgress size={16} />\n case 'thinking':\n return <ChatThinking>...</ChatThinking>\n case 'complete':\n return <CheckCircleOutline fontSize='small' color='success' />\n case 'error':\n return <ErrorOutline fontSize='small' color='error' />\n }\n}\n\nexport function ChatTools({ tools, labels = {}, sx }: ChatToolsProps) {\n return (\n <Box sx={{ ...styles.tools, ...sx }}>\n {labels.title && (\n <Typography variant='caption' color='text.secondary' sx={{ mb: 1 }}>\n {labels.title}\n </Typography>\n )}\n {tools.map((tool) => (\n <Accordion key={tool.id} disableGutters elevation={0}>\n <AccordionSummary expandIcon={<ExpandMore />}>\n <Box sx={styles.toolHeader}>\n <Box sx={styles.toolStatusIcon}>\n <ToolStatusIcon status={tool.status} />\n </Box>\n <Typography variant='body2'>{tool.name}</Typography>\n </Box>\n </AccordionSummary>\n {tool.content && <AccordionDetails>{tool.content}</AccordionDetails>}\n </Accordion>\n ))}\n </Box>\n )\n}\n"],"names":["CHAT_MAX_WIDTH","CHAT_SCROLL_DELAY","CHAT_DIVIDER_DELAY","ChatMessageOverflow","styled","Typography","whiteSpace","overflowX","overflowWrap","maxWidth","displayName","styles","agentMessageContainer","theme","width","display","flexDirection","alignItems","paddingRight","spacing","marginTop","userMessageContainer","paddingLeft","borderRadius","userMessage","padding","border","palette","divider","backgroundColor","background","default","color","text","primary","muted","disabled","userMessageTop","textAlign","marginBottom","errorMessage","flexWrap","gap","errorActions","errorAction","errorActionSeparator","mr","black","fontWeight","suggestionButton","transition","justifyContent","fontSize","minWidth","height","secondary","borderColor","hint","ChatUserMessage","t0","$","_c","children","t1","topContext","sx","undefined","t2","jsx","Box","t3","t4","t5","t6","InnerBox","className","props","ChatAgentMessage","ChatErrorMessage","errors","icon","actions","ErrorOutline","map","_temp","length","_temp2","jsxs","action","index_0","index","Link","onClick","label","error","ChatSuggestionButton","Symbol","for","ArrowUpward","ButtonBase","shimmer","keyframes","breatheOuter","breatheInner","thinking","minHeight","backgroundSize","backgroundClip","WebkitBackgroundClip","WebkitTextFillColor","animation","animationDuration","loader","position","p","loaderOuterCircle","inset","margin","loaderInnerCircle","tools","toolHeader","toolStatusIcon","ChatThinking","duration","durSeconds","ChatLoader","size","labels","loading","t7","t8","t9","t10","t11","t12","scrollBorders","showFab","header","headerTitle","flexGrow","px","headerActions","marginLeft","footerWrapper","footerCorner","bottom","right","footer","footerCaption","content","overflowY","flex","mx","maxHeight","pt","pb","--chat-border-color","borderTop","borderBottom","animationTimeline","jumpToLatestWrapper","zIndex","jumpToLatest","opacity","pointerEvents","starter","starterItems","starterItemsTwoCol","gridTemplateColumns","ChatContent","scrollRef","useRef","current","scrollTo","top","scrollHeight","behavior","scrollToBottom","KeyboardArrowDown","Fab","ChatHeader","leftSlot","title","rightSlot","onClose","IconButton","Close","DEFAULT_CAPTION","ChatFooter","value","onChange","onSend","onStop","isGenerating","placeholder","caption","trim","canSend","e","key","shiftKey","preventDefault","handleKeyDown","e_0","target","t13","FilledInput","t14","send","stop","StopCircleOutlined","ArrowUpwardOutlined","t15","FormHelperText","t16","FormControl","DEFAULT_PALETTE","ChatStarter","description","items","onSelect","T0","T1","fullItems","item_0","item","ChatActionsContainer","ChatRatingAction","rating","onRatingChange","thumbUp","ThumbUp","ThumbUpOutlined","thumbDown","ThumbDown","ThumbDownOutlined","ToolStatusIcon","status","CircularProgress","CheckCircleOutline","ChatTools","mb","tool","Accordion","AccordionSummary","ExpandMore","name","AccordionDetails","id"],"mappings":";;;;;;AAAO,MAAMA,IAAiB,KACjBC,KAAoB,KACpBC,KAAqB,KCArBC,IAAsBC,EAAOC,CAAU,EAAE,OAAO;AAAA,EAC3DC,YAAY;AAAA,EACZC,WAAW;AAAA,EACXC,cAAc;AAAA,EACdC,UAAU;AACZ,EAAE;AACFN,EAAoBO,cAAc;AAE3B,MAAMC,IAAS;AAAA,EACpBC,uBAAuBA,CAACC,OAAkB;AAAA,IACxCC,OAAO;AAAA,IACPC,SAAS;AAAA,IACTC,eAAe;AAAA,IACfC,YAAY;AAAA,IACZC,cAAcL,EAAMM,QAAQ,CAAC;AAAA,IAC7B,8BAA8B;AAAA,MAC5BC,WAAWP,EAAMM,QAAQ,CAAC;AAAA,IAAA;AAAA,IAE5B,6BAA6B;AAAA,MAC3BC,WAAWP,EAAMM,QAAQ,CAAC;AAAA,IAAA;AAAA,EAC5B;AAAA,EAEFE,sBAAsB;AAAA,IACpBP,OAAO;AAAA,IACPC,SAAS;AAAA,IACTC,eAAe;AAAA,IACfC,YAAY;AAAA,IACZK,aAAaA,CAAC;AAAA,MAAEH,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IACvC,gEAAgE;AAAA,MAC9DI,cAAcA,CAAC;AAAA,QAAEJ,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,CAAC;AAAA,IAAA;AAAA,IAE1C,6BAA6B;AAAA,MAC3BC,WAAWA,CAAC;AAAA,QAAED,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,GAAG;AAAA,IAAA;AAAA,IAEzC,8BAA8B;AAAA,MAC5BC,WAAWA,CAAC;AAAA,QAAED,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,CAAC;AAAA,IAAA;AAAA,EACvC;AAAA,EAEFK,aAAa;AAAA,IACXC,SAASA,CAAC;AAAA,MAAEN,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,MAAM,GAAG;AAAA,IAC3CI,cAAcA,CAAC;AAAA,MAAEJ,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,GAAG,GAAG,MAAM,CAAC;AAAA,IACpDO,QAAQA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAc,aAAaA,EAAQC,OAAO;AAAA,IACrDC,iBAAiBA,CAAC;AAAA,MAAEF,SAAAA;AAAAA,IAAAA,MAAcA,EAAQG,WAAWC;AAAAA,IACrDC,OAAOA,CAAC;AAAA,MAAEL,SAAAA;AAAAA,IAAAA,MAAcA,EAAQM,KAAKC;AAAAA,IACrCpB,OAAO;AAAA,EAAA;AAAA,EAETqB,OAAO;AAAA,IACLH,OAAOA,CAAC;AAAA,MAAEL,SAAAA;AAAAA,IAAAA,MAAcA,EAAQM,KAAKG;AAAAA,EAAAA;AAAAA,EAEvCC,gBAAgB;AAAA,IACdC,WAAW;AAAA,IACXC,cAAcA,CAAC;AAAA,MAAEpB,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,GAAG;AAAA,EAAA;AAAA,EAE5CqB,cAAc;AAAA,IACZzB,SAAS;AAAA,IACTE,YAAY;AAAA,IACZwB,UAAU;AAAA,IACVC,KAAKA,CAAC;AAAA,MAAEvB,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAAA,EAEjCwB,cAAc;AAAA,IACZ5B,SAAS;AAAA,IACTE,YAAY;AAAA,IACZyB,KAAKA,CAAC;AAAA,MAAEvB,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,GAAG;AAAA,EAAA;AAAA,EAEnCyB,aAAa;AAAA,IACXZ,OAAOA,CAAC;AAAA,MAAEL,SAAAA;AAAAA,IAAAA,MAAcA,EAAQM,KAAKC;AAAAA,EAAAA;AAAAA,EAEvCW,sBAAsB;AAAA,IACpBC,IAAI;AAAA,IACJd,OAAOA,CAAC;AAAA,MAAEL,SAAAA;AAAAA,IAAAA,MAAcA,EAAQoB,MAAM,EAAE;AAAA,IACxCC,YAAY;AAAA,EAAA;AAAA,EAEdC,kBAAkB;AAAA,IAChBC,YAAY;AAAA,IACZpC,OAAO;AAAA,IACPG,YAAY;AAAA,IACZkC,gBAAgB;AAAA,IAChBb,WAAW;AAAA,IACXI,KAAKA,CAAC;AAAA,MAAEvB,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IAC/BM,SAASA,CAAC;AAAA,MAAEN,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,MAAM,GAAG;AAAA,IAC3CI,cAAcA,CAAC;AAAA,MAAEJ,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IACxCO,QAAQA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAc,aAAaA,EAAQC,OAAO;AAAA,IACrD,sBAAsB;AAAA,MACpBsB,YAAY;AAAA,MACZlB,OAAO;AAAA,MACPoB,UAAUA,CAAC;AAAA,QAAEjC,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,GAAG;AAAA,MACtCL,OAAOA,CAAC;AAAA,QAAEK,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,GAAG;AAAA,MACnCkC,UAAUA,CAAC;AAAA,QAAElC,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,GAAG;AAAA,MACtCmC,QAAQA,CAAC;AAAA,QAAEnC,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,GAAG;AAAA,IAAA;AAAA,IAEtC,yCAAyC;AAAA,MACvCa,OAAOA,CAAC;AAAA,QAAEL,SAAAA;AAAAA,MAAAA,MAAcA,EAAQM,KAAKsB;AAAAA,IAAAA;AAAAA,IAEvC,WAAW;AAAA,MACTC,aAAaA,CAAC;AAAA,QAAE7B,SAAAA;AAAAA,MAAAA,MAAcA,EAAQM,KAAKwB;AAAAA,MAC3C,sBAAsB;AAAA,QACpBzB,OAAOA,CAAC;AAAA,UAAEL,SAAAA;AAAAA,QAAAA,MAAcA,EAAQM,KAAKC;AAAAA,MAAAA;AAAAA,IACvC;AAAA,IAEF,kBAAkB;AAAA,MAChBF,OAAOA,CAAC;AAAA,QAAEL,SAAAA;AAAAA,MAAAA,MAAcA,EAAQM,KAAKG;AAAAA,IAAAA;AAAAA,EACvC;AAEJ;ACrGO,SAAAsB,GAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAyB;AAAA,IAAAC,UAAAA;AAAAA,IAAA3B,OAAA4B;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,IAAAA;AAAAA,EAAAA,IAAAN,GAE9BxB,IAAA4B,MAAAG,SAAA,KAAAH;AAAa,MAAAI;AAAA,EAAAP,SAAAI,KAMRG,IAAAH,KAAc,gBAAAI,EAACC,GAAA,EAAQ,IAAA1D,EAAM0B,6BAA6B,GAAMuB,OAAAI,GAAAJ,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAMzD,QAAAU,IAAAnC,IAAQxB,EAAMwB,QAAd+B;AAAgC,MAAAK;AAAA,EAAAX,EAAA,CAAA,MAAAK,KAAAL,SAAAU,KAFlCC,IAAA;AAAA,IAAA,GACC5D,EAAMa;AAAAA,IAAY,GACjB8C;AAAAA,IAAgC,GACjCL;AAAAA,EAAAA,GACJL,OAAAK,GAAAL,OAAAU,GAAAV,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAY;AAAA,EAAAZ,EAAA,CAAA,MAAAE,KAAAF,SAAAW,KAPHC,IAAA,gBAAAJ,EAACjE,KACW,WAAA,8BACF,SAAA,SACJ,IAAAoE,GAMHT,UAAAA,EAAAA,CACH,GAAsBF,OAAAE,GAAAF,OAAAW,GAAAX,OAAAY,KAAAA,IAAAZ,EAAA,CAAA;AAAA,MAAAa;AAAA,SAAAb,EAAA,CAAA,MAAAO,KAAAP,SAAAY,KAZxBC,sBAACJ,GAAA,EAAc,WAAA,wBAA2B,IAAA1D,EAAMU,sBAC7C8C,UAAAA;AAAAA,IAAAA;AAAAA,IACDK;AAAAA,EAAAA,GAWF,GAAMZ,OAAAO,GAAAP,OAAAY,GAAAZ,QAAAa,KAAAA,IAAAb,EAAA,EAAA,GAbNa;AAaM;ACrBV,MAAMC,KAAWf,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAc,GAAAC;AAAA,EAAAhB,SAAAD,KAAC;AAAA,IAAAgB,WAAAA;AAAAA,IAAA,GAAAC;AAAAA,EAAAA,IAAAjB,GAAiCC,OAAAD,GAAAC,OAAAe,GAAAf,OAAAgB,MAAAD,IAAAf,EAAA,CAAA,GAAAgB,IAAAhB,EAAA,CAAA;AACjC,QAAAG,IAAA,yBAAyBY,KAAA,EAAe;AAAE,MAAAR;AAAA,SAAAP,EAAA,CAAA,MAAAgB,KAAAhB,SAAAG,KAA1DI,IAAA,gBAAAC,EAACC,GAAA,EAAe,WAAAN,GAA0C,GAAMa,GAAK,GAAIhB,OAAAgB,GAAAhB,OAAAG,GAAAH,OAAAO,KAAAA,IAAAP,EAAA,CAAA,GAAzEO;AAAyE,GAG9DU,KAAmBzE,EAAOsE,EAAQ,EAAE,CAAC;AAAA,EAAE7D,OAAAA;AAAM,MACxDF,EAAOC,sBAAsBC,CAAK,CACpC;AACAgE,GAAiBnE,cAAc;ACLxB,SAAAoE,GAAAnB,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAA0B;AAAA,IAAAkB,QAAAA;AAAAA,IAAAC,MAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAhB,IAAAA;AAAAA,EAAAA,IAAAN;AAKT,MAAAI;AAAA,EAAAH,SAAAK,KAEXF,IAAA;AAAA,IAAA,GAAKpD,EAAM6B;AAAAA,IAAa,GAAKyB;AAAAA,EAAAA,GAAIL,OAAAK,GAAAL,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAO;AAAA,EAAAP,SAAAoB,KACvCb,IAAAa,KAAQ,gBAAAZ,EAACc,GAAA,EAAsB,UAAA,UAAe,OAAA,SAAO,GAAGtB,OAAAoB,GAAApB,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAU;AAAA,EAAAV,SAAAmB,KACxDT,IAAAS,EAAMI,IAAKC,EAIX,GAACxB,OAAAmB,GAAAnB,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAW;AAAA,EAAAX,SAAAqB,KACDV,IAAAU,GAAOI,SACN,gBAAAjB,EAACC,GAAA,EAAQ,IAAA1D,EAAMgC,cACXsC,WAAAA,KAAA,CAAA,GAAaE,IAAMG,EAoBpB,GACH,IAvBD,MAwBO1B,OAAAqB,GAAArB,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAY;AAAA,SAAAZ,EAAA,CAAA,MAAAG,KAAAH,EAAA,CAAA,MAAAO,KAAAP,EAAA,EAAA,MAAAU,KAAAV,UAAAW,KA/BVC,IAAA,gBAAAe,EAAClB,GAAA,EAAQ,IAAAN,GACNI,UAAAA;AAAAA,IAAAA;AAAAA,IACAG;AAAAA,IAKAC;AAAAA,EAAAA,GAyBH,GAAMX,OAAAG,GAAAH,OAAAO,GAAAP,QAAAU,GAAAV,QAAAW,GAAAX,QAAAY,KAAAA,IAAAZ,EAAA,EAAA,GAhCNY;AAgCM;AAvCH,SAAAc,GAAAE,GAAAC,GAAA;AAAA,2BAiBK,QAAA,EACGC,UAAAA;AAAAA,IAAAA,IAAQ,KACP,gBAAAtB,EAAC/D,GAAA,EACW,WAAA,QACF,SAAA,SACJ,IAAAM,EAAMkC,sBACX,UAAA,IAAA,CAED;AAAA,IAEF,gBAAAuB,EAACuB,GAAA,EACW,WAAA,UACF,SAAA,SACC,SAAAH,EAAMI,SACX,IAAAjF,EAAMiC,aAET4C,YAAMK,MAAAA,CACT;AAAA,EAAA,EAAA,IACF;AAAO;AAnCZ,SAAAT,GAAAU,GAAAJ,GAAA;AAAA,2BAUErF,GAAA,EAA+B,SAAA,aAAkB,OAAA,oCAAjCqF,CAEjB;AAAa;ACZd,SAAAK,GAAApC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAA7B,GAAA6D,GAAAjB,GAAAX;AAAA,EAAAL,SAAAD,KAA8B;AAAA,IAAAkC,OAAAA;AAAAA,IAAA7D,OAAAA;AAAAA,IAAAiC,IAAAA;AAAAA,IAAA,GAAAW;AAAAA,EAAAA,IAAAjB,GAKTC,OAAAD,GAAAC,OAAA5B,GAAA4B,OAAAiC,GAAAjC,OAAAgB,GAAAhB,OAAAK,MAAAjC,IAAA4B,EAAA,CAAA,GAAAiC,IAAAjC,EAAA,CAAA,GAAAgB,IAAAhB,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA;AAAA,MAAAG;AAAA,EAAAH,SAAA5B,KAKhB+B,IAAA/B,IAAA;AAAA,IAAAH,iBAA2BG;AAAAA,EAAAA,IAA3BkC,QAA8CN,OAAA5B,GAAA4B,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAO;AAAA,EAAAP,EAAA,CAAA,MAAAK,KAAAL,SAAAG,KAFhDI,IAAA;AAAA,IAAA,GACCxD,EAAMsC;AAAAA,IAAiB,GACtBc;AAAAA,IAA8C,GAC/CE;AAAAA,EAAAA,GACJL,OAAAK,GAAAL,OAAAG,GAAAH,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAU;AAAA,EAAAV,UAAAiC,KAGDvB,sBAACjE,GAAA,EAAiB,OAAA,WAAkB,SAAA,SACjCwF,UAAAA,GACH,GAAajC,QAAAiC,GAAAjC,QAAAU,KAAAA,IAAAV,EAAA,EAAA;AAAA,MAAAW;AAAA,EAAAX,EAAA,EAAA,MAAAoC,uBAAAC,IAAA,2BAAA,KACb1B,sBAAC2B,IAAA,EAAW,GAAGtC,QAAAW,KAAAA,IAAAX,EAAA,EAAA;AAAA,MAAAY;AAAA,SAAAZ,EAAA,EAAA,MAAAgB,KAAAhB,UAAAO,KAAAP,EAAA,EAAA,MAAAU,KAXjBE,sBAAC2B,GAAA,EACK,IAAAhC,GAIH,GACGS,GAEJN,UAAAA;AAAAA,IAAAA;AAAAA,IAGAC;AAAAA,EAAAA,GACF,GAAaX,QAAAgB,GAAAhB,QAAAO,GAAAP,QAAAU,GAAAV,QAAAY,KAAAA,IAAAZ,EAAA,EAAA,GAZbY;AAYa;ACrBjB,MAAM4B,KAAUC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GASVC,KAAeD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAOfE,KAAeF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAOR1F,IAAS;AAAA,EACpB6F,UAAU;AAAA,IACRzF,SAAS;AAAA,IACTE,YAAY;AAAA,IACZwF,WAAWA,CAAC;AAAA,MAAEtF,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IACrCW,YAAYA,CAAC;AAAA,MAAEH,SAAAA;AAAAA,IAAAA,MAAc;AAAA;AAAA,QAEzBA,EAAQM,KAAKG,QAAQ;AAAA,QACrBT,EAAQM,KAAKsB,SAAS;AAAA,QACtB5B,EAAQM,KAAKG,QAAQ;AAAA;AAAA,IAEzBsE,gBAAgB;AAAA,IAChBC,gBAAgB;AAAA,IAChBC,sBAAsB;AAAA,IACtBC,qBAAqB;AAAA,IACrBC,WAAW,GAAGV,EAAO;AAAA,IACrBW,mBAAmB;AAAA,EAAA;AAAA,EAErBC,QAAQ;AAAA,IACNjG,SAAS;AAAA,IACTE,YAAY;AAAA,IACZkC,gBAAgB;AAAA,IAChB8D,UAAU;AAAA,IACVC,GAAG;AAAA,EAAA;AAAA,EAELC,mBAAmB;AAAA,IACjBF,UAAU;AAAA,IACVG,OAAO;AAAA,IACPC,QAAQ;AAAA,IACR9F,cAAc;AAAA,IACdM,iBAAiBA,CAAC;AAAA,MAAEF,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ6D,OAAOpD;AAAAA,IACjD0E,WAAW,GAAGR,EAAY;AAAA,EAAA;AAAA,EAE5BgB,mBAAmB;AAAA,IACjBL,UAAU;AAAA,IACVG,OAAO;AAAA,IACPC,QAAQ;AAAA,IACR9F,cAAc;AAAA,IACdM,iBAAiBA,CAAC;AAAA,MAAEF,SAAAA;AAAAA,IAAAA,MAAcA,EAAQM,KAAKC;AAAAA,IAC/C4E,WAAW,GAAGP,EAAY;AAAA,EAAA;AAAA,EAE5BgB,OAAO;AAAA,IACLzG,OAAO;AAAA,EAAA;AAAA,EAET0G,YAAY;AAAA,IACVzG,SAAS;AAAA,IACTE,YAAY;AAAA,IACZyB,KAAKA,CAAC;AAAA,MAAEvB,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAAA,EAEjCsG,gBAAgB;AAAA,IACd1G,SAAS;AAAA,IACTE,YAAY;AAAA,EAAA;AAEhB;AC3EO,SAAAyG,GAAA/D,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAsB;AAAA,IAAAC,UAAAC;AAAAA,IAAA4D,UAAAxD;AAAAA,IAAAF,IAAAA;AAAAA,EAAAA,IAAAN,GAC3BG,IAAAC,MAAAG,SAAA,gBAAAH,GAIA6D,IAAmB,IAHnBzD,MAAAD,SAAA,MAAAC,KAGiC,GAAI;AAAG,MAAAG;AAAA,EAAAV,EAAA,CAAA,MAAAgE,KAAAhE,SAAAK,KAIhCK,IAAA;AAAA,IAAA,GACC3D,EAAM6F;AAAAA,IAASO,mBACCa;AAAAA,IAAU,GAC1B3D;AAAAA,EAAAA,GACJL,OAAAgE,GAAAhE,OAAAK,GAAAL,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAW;AAAA,SAAAX,EAAA,CAAA,MAAAE,KAAAF,SAAAU,KANHC,sBAAClE,GAAA,EACS,SAAA,SACJ,IAAAiE,gBAON,GAAaV,OAAAE,GAAAF,OAAAU,GAAAV,OAAAW,KAAAA,IAAAX,EAAA,CAAA,GATbW;AASa;AChBV,SAAAsD,GAAAlE,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAoB;AAAA,IAAAiE,MAAA/D;AAAAA,IAAAgE,QAAA5D;AAAAA,IAAAF,IAAAA;AAAAA,EAAAA,IAAAN,GAAEmE,IAAA/D,MAAAG,SAAA,KAAAH;AAAS,MAAAO;AAAA,EAAAV,SAAAO,KAAEG,IAAAH,MAAAD,SAAA,CAAA,IAAAC,GAAWP,OAAAO,GAAAP,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAKjC,QAAAW,IALsBD,EAKhB0D,WAAN;AAA2B,MAAAxD;AAAA,EAAAZ,EAAA,CAAA,MAAAkE,KAAAlE,SAAAK,KACnCO,IAAA;AAAA,IAAA,GAAK7D,EAAMqG;AAAAA,IAAOlG,OAASgH;AAAAA,IAAIxE,QAAUwE;AAAAA,IAAI,GAAK7D;AAAAA,EAAAA,GAAIL,OAAAkE,GAAAlE,OAAAK,GAAAL,OAAAY,KAAAA,IAAAZ,EAAA,CAAA;AAM/C,QAAAa,IAAAqD,IAAO,MACNG,IAAAH,IAAO;AAAI,MAAAI;AAAA,EAAAtE,EAAA,CAAA,MAAAa,KAAAb,SAAAqE,KALvBC,IAAA,gBAAA9D,EAACC,GAAA,EACW,WAAA,QACN,IAAA;AAAA,IAAA,GACC1D,EAAMwG;AAAAA,IAAkBrG,OACpB2D;AAAAA,IAAWnB,QACV2E;AAAAA,EAAAA,GACT,GACDrE,OAAAa,GAAAb,OAAAqE,GAAArE,OAAAsE,KAAAA,IAAAtE,EAAA,CAAA;AAKS,QAAAuE,IAAAL,IAAO,MACNM,IAAAN,IAAO;AAAI,MAAAO;AAAA,EAAAzE,EAAA,CAAA,MAAAwE,KAAAxE,SAAAuE,KALvBE,IAAA,gBAAAjE,EAACC,GAAA,EACW,WAAA,QACN,IAAA;AAAA,IAAA,GACC1D,EAAM2G;AAAAA,IAAkBxG,OACpBqH;AAAAA,IAAW7E,QACV8E;AAAAA,EAAAA,GACT,GACDxE,OAAAwE,GAAAxE,OAAAuE,GAAAvE,QAAAyE,KAAAA,IAAAzE,EAAA,EAAA;AAAA,MAAA0E;AAAA,SAAA1E,EAAA,EAAA,MAAAyE,KAAAzE,EAAA,EAAA,MAAAW,KAAAX,EAAA,EAAA,MAAAY,KAAAZ,UAAAsE,KArBJI,IAAA,gBAAA/C,EAAClB,KACM,MAAA,UACM,aAAA,IACC,cAAAE,GACR,IAAAC,GAEJ0D,UAAAA;AAAAA,IAAAA;AAAAA,IAQAG;AAAAA,EAAAA,GAQF,GAAMzE,QAAAyE,GAAAzE,QAAAW,GAAAX,QAAAY,GAAAZ,QAAAsE,GAAAtE,QAAA0E,KAAAA,IAAA1E,EAAA,EAAA,GAtBN0E;AAsBM;ACxBV,MAAMC,KAAgBlC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAOhBmC,KAAUnC;AAAAA;AAAAA;AAAAA;AAAAA,GAMH1F,IAAS;AAAA,EACpB8H,QAAQ;AAAA,IACN1H,SAAS;AAAA,IACTE,YAAY;AAAA,IACZkC,gBAAgB;AAAA,IAChB1B,SAASA,CAAC;AAAA,MAAEN,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAAA,EAErCuH,aAAa;AAAA,IACXC,UAAU;AAAA,IACVC,IAAIA,CAAC;AAAA,MAAEzH,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,GAAG;AAAA,EAAA;AAAA,EAElC0H,eAAe;AAAA,IACb9H,SAAS;AAAA,IACTE,YAAY;AAAA,IACZ6H,YAAYA,CAAC;AAAA,MAAE3H,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IACtCuB,KAAKA,CAAC;AAAA,MAAEvB,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,GAAG;AAAA,EAAA;AAAA,EAEnC4H,eAAe;AAAA,IACbtH,SAASA,CAAC;AAAA,MAAEN,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IACnC8F,UAAU;AAAA,EAAA;AAAA,EAEZ+B,cAAc;AAAA,IACZ/B,UAAU;AAAA,IACVgC,QAAQ;AAAA,IACRC,OAAO,wBAAwBlJ,IAAiB,CAAC;AAAA,IACjDqH,QAAQ;AAAA,EAAA;AAAA,EAEV8B,QAAQ;AAAA,IACN1I,UAAUT;AAAAA,IACVqH,QAAQ;AAAA,EAAA;AAAA,EAEV+B,eAAe;AAAA,IACb9G,WAAW;AAAA,EAAA;AAAA,EAEb+G,SAAS;AAAA,IACPC,WAAW;AAAA,IACXC,MAAM;AAAA,IACNtC,UAAU;AAAA,IACVuC,IAAI;AAAA,IACJ/I,UAAUT;AAAAA,IACVc,OAAO;AAAA,IACP2I,WAAW;AAAA,IACXC,IAAI;AAAA,IACJC,IAAI;AAAA,IACJf,IAAI;AAAA,IACJ7H,SAAS;AAAA,IACTC,eAAe;AAAA,IACf,uBAAuB4I,CAAC;AAAA,MAAEjI,SAAAA;AAAAA,IAAAA,MAAcA,EAAQC;AAAAA,IAChDiI,WAAW;AAAA,IACXC,cAAc;AAAA,IACd,4CAA4C;AAAA,MAC1ChD,WAAW,GAAGyB,EAAa;AAAA,MAC3BwB,mBAAmB;AAAA,IAAA;AAAA,EACrB;AAAA,EAEFC,qBAAqB;AAAA,IACnB/C,UAAU;AAAA,IACVgC,QAAQA,CAAC;AAAA,MAAE9H,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IAClCmC,QAAQ;AAAA,IACRvC,SAAS;AAAA,IACToC,gBAAgB;AAAA,IAChB8G,QAAQ;AAAA,EAAA;AAAA,EAEVC,cAAc;AAAA,IACZC,SAAS;AAAA,IACTC,eAAe;AAAA,IACf,4CAA4C;AAAA,MAC1CtD,WAAW,GAAG0B,EAAO;AAAA,MACrBuB,mBAAmB;AAAA,IAAA;AAAA,EACrB;AAAA,EAEFM,SAAS;AAAA,IACPtJ,SAAS;AAAA,IACTC,eAAe;AAAA,IACfC,YAAY;AAAA,IACZkC,gBAAgB;AAAA,IAChB1B,SAASA,CAAC;AAAA,MAAEN,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IACnCmB,WAAW;AAAA,IACX7B,UAAUT;AAAAA,IACVqH,QAAQ;AAAA,EAAA;AAAA,EAEViD,cAAc;AAAA,IACZvJ,SAAS;AAAA,IACTD,OAAO;AAAA,IACPM,WAAWA,CAAC;AAAA,MAAED,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAAA,EAEvCoJ,oBAAoB;AAAA,IAClBC,qBAAqB;AAAA,EAAA;AAEzB;ACpGO,SAAAC,GAAA9G,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAqB;AAAA,IAAAC,UAAAA;AAAAA,IAAAiE,QAAAhE;AAAAA,IAAAE,IAAAA;AAAAA,EAAAA,IAAAN;AAA+C,MAAAQ;AAAA,EAAAP,SAAAG,KAAnCI,IAAAJ,MAAAG,SAAA,CAAA,IAAAH,GAAWH,OAAAG,GAAAH,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAX,QAAAmE,IAAA5D,GACtCuG,IAAkBC,GAAuB,IAAI;AAAC,MAAArG;AAAA,EAAAV,EAAA,CAAA,MAAAoC,uBAAAC,IAAA,2BAAA,KAEvB3B,IAAAA,MAAA;AACrBoG,IAAAA,EAASE,SAAkBC,SAAC;AAAA,MAAAC,KACrBJ,EAASE,QAAQG;AAAAA,MAAaC,UACzB;AAAA,IAAA,CACX;AAAA,EAAC,GACHpH,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AALD,QAAAqH,IAAuB3G;AAKtB,MAAAC;AAAA,EAAAX,SAAAK,KAG0BM,IAAA;AAAA,IAAA,GAAK5D,EAAM0I;AAAAA,IAAQ,GAAKpF;AAAAA,EAAAA,GAAIL,OAAAK,GAAAL,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAMnC,QAAAY,IAAAuD,EAAMmC,gBAAN;AAAuC,MAAAzF;AAAA,EAAAb,EAAA,CAAA,MAAAoC,uBAAAC,IAAA,2BAAA,KAGnDxB,sBAACyG,IAAA,EAAiB,GAAGtH,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAqE;AAAA,EAAArE,SAAAY,KAPzByD,sBAAC5D,GAAA,EAAQ,IAAA1D,EAAMqJ,qBACb,4BAACmB,GAAA,EACM,MAAA,SACIF,SAAAA,GACG,cAAAzG,GACR,IAAA7D,EAAMuJ,cAEVzF,aACF,GACF,GAAMb,OAAAY,GAAAZ,OAAAqE,KAAAA,IAAArE,EAAA,CAAA;AAAA,MAAAsE;AAAA,SAAAtE,EAAA,CAAA,MAAAE,KAAAF,SAAAW,KAAAX,EAAA,EAAA,MAAAqE,KAXRC,IAAA,gBAAA3C,EAAClB,GAAA,EAASqG,KAAAA,GAAe,IAAAnG,GACtBT,UAAAA;AAAAA,IAAAA;AAAAA,IACDmE;AAAAA,EAAAA,GAUF,GAAMrE,OAAAE,GAAAF,OAAAW,GAAAX,QAAAqE,GAAArE,QAAAsE,KAAAA,IAAAtE,EAAA,EAAA,GAZNsE;AAYM;ACxBH,SAAAkD,GAAAzH,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAoB;AAAA,IAAAwH,UAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAvH,IAAAA;AAAAA,EAAAA,IAAAN;AAMT,MAAAI;AAAA,EAAAH,SAAAK,KAELF,IAAA;AAAA,IAAA,GAAKpD,EAAM8H;AAAAA,IAAO,GAAKxE;AAAAA,EAAAA,GAAIL,OAAAK,GAAAL,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAO;AAAA,EAAAP,SAAA0H,KAElCnH,sBAAC9D,GAAA,EAAmB,SAAA,aAAgB,IAAAM,EAAM+H,0BAE1C,GAAa9E,OAAA0H,GAAA1H,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAU;AAAA,EAAAV,SAAA4H,KAGVlH,IAAAkH,KACC,gBAAApH,EAACqH,GAAA,EAAgB,MAAA,UAAkBD,YAAoB,cAAA,SACrD,UAAA,gBAAApH,EAACsH,IAAA,CAAA,CAAK,GACR,GACD9H,OAAA4H,GAAA5H,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAW;AAAA,EAAAX,EAAA,CAAA,MAAA2H,KAAA3H,SAAAU,KANHC,sBAACF,GAAA,EAAQ,IAAA1D,EAAMkI;;IAEZvE;AAAAA,EAAAA,GAKH,GAAMV,OAAA2H,GAAA3H,OAAAU,GAAAV,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAY;AAAA,SAAAZ,EAAA,CAAA,MAAAyH,KAAAzH,EAAA,EAAA,MAAAG,KAAAH,EAAA,EAAA,MAAAO,KAAAP,UAAAW,KAZRC,sBAACH,GAAA,EAAQ,IAAAN;;IAEPI;AAAAA,IAGAI;AAAAA,EAAAA,GAQF,GAAMX,OAAAyH,GAAAzH,QAAAG,GAAAH,QAAAO,GAAAP,QAAAW,GAAAX,QAAAY,KAAAA,IAAAZ,EAAA,EAAA,GAbNY;AAaM;ACfV,MAAMmH,KACJ;AAEK,SAAAC,GAAAjI,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAoB;AAAA,IAAAgI,OAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,cAAAlI;AAAAA,IAAA3B,UAAA+B;AAAAA,IAAA+H,aAAA5H;AAAAA,IAAAyD,QAAAxD;AAAAA,IAAA4H,SAAA3H;AAAAA,IAAAP,IAAAA;AAAAA,EAAAA,IAAAN,GAKzBsI,IAAAlI,MAAAG,SAAA,KAAAH,GACA3B,IAAA+B,MAAAD,SAAA,KAAAC,GACA+H,IAAA5H,MAAAJ,SAAA,sBAAAI;AAAiC,MAAAG;AAAA,EAAAb,SAAAW,KACjCE,IAAAF,MAAAL,SAAA,CAAA,IAAAK,GAAWX,OAAAW,GAAAX,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAX,QAAAmE,IAAAtD,GACA0H,IAAA3H,MAAAN,SAAAyH,KAAAnH;AAAyB,MAAAyD;AAAA,EAAArE,EAAA,CAAA,MAAAxB,KAAAwB,SAAAqI,KAAArI,EAAA,CAAA,MAAAiI,KAGT5D,IAAA4D,EAAKO,KAAAA,KAAL,CAAiBhK,KAAjB,CAA8B6J,GAAYrI,OAAAxB,GAAAwB,OAAAqI,GAAArI,OAAAiI,GAAAjI,OAAAqE,KAAAA,IAAArE,EAAA,CAAA;AAA1D,QAAAyI,IAAgBpE;AAA0C,MAAAC;AAAA,EAAAtE,EAAA,CAAA,MAAAyI,KAAAzI,SAAAmI,KACpC7D,IAAAoE,CAAAA,MAAA;AACpB,IAAIA,EAACC,QAAS,WAAV,CAAsBD,EAACE,aACzBF,EAACG,eAAAA,GACGJ,KACFN,EAAAA;AAAAA,EAEH,GACFnI,OAAAyI,GAAAzI,OAAAmI,GAAAnI,OAAAsE,KAAAA,IAAAtE,EAAA,CAAA;AAPD,QAAA8I,IAAsBxE;AAOrB,MAAAC;AAAA,EAAAvE,SAAAK,KAG4BkE,IAAA;AAAA,IAAA,GAAKxH,EAAMoI;AAAAA,IAAc,GAAK9E;AAAAA,EAAAA,GAAIL,OAAAK,GAAAL,QAAAuE,KAAAA,IAAAvE,EAAA,EAAA;AAAA,MAAAwE;AAAA,EAAAxE,UAAAkI,KAI/C1D,IAAAuE,CAAAA,MAAOb,EAASQ,EAACM,OAAOf,KAAM,GAACjI,QAAAkI,GAAAlI,QAAAwE,KAAAA,IAAAxE,EAAA,EAAA;AAG/B,QAAAyE,IAAAjG,KAAA6J;AAAwB,MAAA3D;AAAA,EAAA1E,EAAA,EAAA,MAAAoC,uBAAAC,IAAA,2BAAA,KAE3BqC,IAAA;AAAA,IAAA7B,WAAa;AAAA,EAAA,GAAG7C,QAAA0E,KAAAA,IAAA1E,EAAA,EAAA;AAAA,MAAAiJ;AAAA,EAAAjJ,EAAA,EAAA,MAAA8I,KAAA9I,EAAA,EAAA,MAAAsI,KAAAtI,EAAA,EAAA,MAAAwE,KAAAxE,EAAA,EAAA,MAAAyE,KAAAzE,UAAAiI,KARzBgB,IAAA,gBAAAzI,EAAC0I,KACC,WAAA,IACOjB,OAAAA,GACG,UAAAzD,GACCsE,WAAAA,GACER,aAAAA,GACH,UAAA7D,GACN,IAAA1H,EAAMwI,QACH,OAAAb,GACP,WAAA,IACK,MAAA,QAAA,CAAO,GACZ1E,QAAA8I,GAAA9I,QAAAsI,GAAAtI,QAAAwE,GAAAxE,QAAAyE,GAAAzE,QAAAiI,GAAAjI,QAAAiJ,KAAAA,IAAAjJ,EAAA,EAAA;AAAA,MAAAmJ;AAAA,EAAAnJ,EAAA,EAAA,MAAAyI,KAAAzI,EAAA,EAAA,MAAAxB,KAAAwB,EAAA,EAAA,MAAAqI,KAAArI,EAAA,EAAA,MAAAmE,EAAAiF,QAAApJ,EAAA,EAAA,MAAAmE,EAAAkF,QAAArJ,EAAA,EAAA,MAAAmI,KAAAnI,UAAAoI,KACFe,sBAAC1I,GAAA,EAAQ,IAAA1D,EAAMqI,cACZiD,UAAAA,KAAAD,IACC,gBAAA5H,EAACqH,GAAA,EACM,MAAA,SACIO,SAAAA,GACC5J,UAAAA,GACE,cAAA2F,EAAMkF,QAAN,QAEZ,UAAA,gBAAA7I,EAAC8I,IAAA,CAAA,IACH,sBAECzB,GAAA,EACM,MAAA,SACG,SAAA,aACCM,YACC,UAAA,CAACM,GACC,cAAAtE,EAAMiF,QAAN,QAEZ,UAAA,gBAAA5I,EAAC+I,IAAA,KACH,EAAA,CAEJ,GAAMvJ,QAAAyI,GAAAzI,QAAAxB,GAAAwB,QAAAqI,GAAArI,EAAA,EAAA,IAAAmE,EAAAiF,MAAApJ,EAAA,EAAA,IAAAmE,EAAAkF,MAAArJ,QAAAmI,GAAAnI,QAAAoI,GAAApI,QAAAmJ,KAAAA,IAAAnJ,EAAA,EAAA;AAAA,MAAAwJ;AAAA,EAAAxJ,UAAAuI,KACLiB,IAAAjB,IACC,gBAAA/H,EAACiJ,GAAA,EAAmB,IAAA1M,EAAMyI,eAAiB+C,aAAQ,IADpD,MAEOvI,QAAAuI,GAAAvI,QAAAwJ,KAAAA,IAAAxJ,EAAA,EAAA;AAAA,MAAA0J;AAAA,SAAA1J,EAAA,EAAA,MAAAiJ,KAAAjJ,EAAA,EAAA,MAAAmJ,KAAAnJ,EAAA,EAAA,MAAAwJ,KAAAxJ,UAAAuE,KArCVmF,IAAA,gBAAA/H,EAACgI,GAAA,EAAY,eAAc,IAAApF,GACzB0E,UAAAA;AAAAA,IAAAA;AAAAA,IAYAE;AAAAA,IAsBCK;AAAAA,EAAAA,GAGH,GAAcxJ,QAAAiJ,GAAAjJ,QAAAmJ,GAAAnJ,QAAAwJ,GAAAxJ,QAAAuE,GAAAvE,QAAA0J,KAAAA,IAAA1J,EAAA,EAAA,GAtCd0J;AAsCc;ACtElB,MAAME,IAAkB;AAAA,EACtB;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAa;AAGR,SAAAC,GAAA9J,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAqB;AAAA,IAAAmB,MAAAA;AAAAA,IAAAsG,OAAAA;AAAAA,IAAAoC,aAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAA7F,MAAA/D;AAAAA,IAAA6J,UAAAA;AAAAA,IAAA3J,IAAAA;AAAAA,EAAAA,IAAAN,GAK1BmE,IAAA/D,MAAAG,SAAA,UAAAH;AAAc,MAAA8J,GAAAC,GAAA3J,GAAAG,GAAAC,GAAAC,GAAAC,GAAAwD;AAAA,MAAArE,EAAA,CAAA,MAAA8J,KAAA9J,EAAA,CAAA,MAAAoB,KAAApB,EAAA,CAAA,MAAA+J,KAAA/J,SAAAgK,KAAAhK,EAAA,CAAA,MAAAkE,KAAAlE,EAAA,CAAA,MAAAK,KAAAL,EAAA,CAAA,MAAA0H,GAAA;AAId,UAAAyC,IAAkBJ,EAAKxI,IAAKC,EAY3B;AAEE0I,IAAAA,IAAAzJ;AAGQ,UAAA6D,IAAAJ,MAAS,UAAT,IAAA;AAAwB,IAAAlE,EAAA,EAAA,MAAAK,KAAAL,UAAAsE,KAF3B3D,IAAA;AAAA,MAAA,GACC5D,EAAM0J;AAAAA,MAAQ3H,KACZwF;AAAAA,MAAwB,GAC1BjE;AAAAA,IAAAA,GACJL,QAAAK,GAAAL,QAAAsE,GAAAtE,QAAAW,KAAAA,IAAAX,EAAA,EAAA,GAEAoB,IAAAA,GAAIpB,EAAA,EAAA,MAAAkE,KAAAlE,UAAA0H,KACJ7G,IAAA6G,uBACEjL,GAAA,EAAoB,SAAAyH,MAAS,UAAT,OAAA,MAClBwD,UAAAA,EAAAA,CACH,GACD1H,QAAAkE,GAAAlE,QAAA0H,GAAA1H,QAAAa,KAAAA,IAAAb,EAAA,EAAA,GAAAA,EAAA,EAAA,MAAA8J,KAAA9J,UAAAkE,KACAG,IAAAyF,KACC,gBAAAtJ,EAAC/D,GAAA,EACU,SAAAyH,MAAS,UAAT,UAAA,SACH,OAAA,kBAEL4F,UAAAA,EAAAA,CACH,GACD9J,QAAA8J,GAAA9J,QAAAkE,GAAAlE,QAAAqE,KAAAA,IAAArE,EAAA,EAAA,GACAiK,IAAAxJ;AAGQ,UAAA8D,IAAAL,MAAS,UAAT,IAAA,GACDM,IAAAuF,EAAKtI,SAAU,IAAI1E,EAAM4J,qBAAzBrG;AAAwD,IAAAN,EAAA,EAAA,MAAAwE,KAAAxE,UAAAuE,KAH1DhE,IAAA;AAAA,MAAA,GACCxD,EAAM2J;AAAAA,MAAa5H,KACjByF;AAAAA,MAAwB,GACzBC;AAAAA,IAAAA,GACLxE,QAAAwE,GAAAxE,QAAAuE,GAAAvE,QAAAO,KAAAA,IAAAP,EAAA,EAAA;AAAA,QAAAyE;AAAA,IAAAzE,UAAAgK,KAEcvF,IAAA2F,OACb,gBAAA5J,EAAC2B,IAAA,EAEQ,OAAAkI,EAAIpI,OACF,eAAM+H,IAAWK,EAAIpI,KAAM,GAC7B,OAAAoI,EAAIjM,MAAAA,GAHNiM,EAAIpI,KAGQ,GAEpBjC,QAAAgK,GAAAhK,QAAAyE,KAAAA,IAAAzE,EAAA,EAAA,GAPAU,IAAAyJ,EAAS5I,IAAKkD,CAOd,GAACzE,OAAA8J,GAAA9J,OAAAoB,GAAApB,OAAA+J,GAAA/J,OAAAgK,GAAAhK,OAAAkE,GAAAlE,OAAAK,GAAAL,OAAA0H,GAAA1H,OAAAiK,GAAAjK,OAAAkK,GAAAlK,OAAAO,GAAAP,QAAAU,GAAAV,QAAAW,GAAAX,QAAAY,GAAAZ,QAAAa,GAAAb,QAAAqE;AAAAA,EAAA;AAAA4F,IAAAA,IAAAjK,EAAA,CAAA,GAAAkK,IAAAlK,EAAA,CAAA,GAAAO,IAAAP,EAAA,CAAA,GAAAU,IAAAV,EAAA,EAAA,GAAAW,IAAAX,EAAA,EAAA,GAAAY,IAAAZ,EAAA,EAAA,GAAAa,IAAAb,EAAA,EAAA,GAAAqE,IAAArE,EAAA,EAAA;AAAA,MAAAsE;AAAA,EAAAtE,EAAA,EAAA,MAAAiK,KAAAjK,UAAAO,KAAAP,EAAA,EAAA,MAAAU,KAdJ4D,IAAA,gBAAA9D,EAACyJ,GAAA,EACK,IAAA1J,GAMHG,UAAAA,GAQH,GAAMV,QAAAiK,GAAAjK,QAAAO,GAAAP,QAAAU,GAAAV,QAAAsE,KAAAA,IAAAtE,EAAA,EAAA;AAAA,MAAAuE;AAAA,SAAAvE,UAAAkK,KAAAlK,EAAA,EAAA,MAAAW,KAAAX,EAAA,EAAA,MAAAY,KAAAZ,EAAA,EAAA,MAAAa,KAAAb,UAAAqE,KAAArE,EAAA,EAAA,MAAAsE,KApCRC,IAAA,gBAAA5C,EAACuI,GAAA,EACK,IAAAvJ,GAMHS,UAAAA;AAAAA,IAAAA;AAAAA,IACAP;AAAAA,IAKAwD;AAAAA,IAQDC;AAAAA,EAAAA,GAgBF,GAAMtE,QAAAkK,GAAAlK,QAAAW,GAAAX,QAAAY,GAAAZ,QAAAa,GAAAb,QAAAqE,GAAArE,QAAAsE,GAAAtE,QAAAuE,KAAAA,IAAAvE,EAAA,EAAA,GArCNuE;AAqCM;AA5DH,SAAA/C,GAAA6I,GAAAvI,GAAA;AAUH,SAAI,OAAOuI,KAAS,WACX;AAAA,IAAApI,OACEoI;AAAAA,IAAIjM,OACJwL,EAAgB9H,CAAK;AAAA,EAAA,IAGvB;AAAA,IAAAG,OACEoI,EAAIpI;AAAAA,IAAM7D,OACViM,EAAIjM,SAAUwL,EAAgB9H,CAAK;AAAA,EAAA;AAE7C;AC9BE,MAAMwI,KAAuB9N,EAAOiE,CAAG,EAAE,CAAC;AAAA,EAAExD,OAAAA;AAAM,OAAO;AAAA,EAC9DE,SAAS;AAAA,EACTE,YAAY;AAAA,EACZyB,KAAK7B,EAAMM,QAAQ,GAAG;AACxB,EAAE;ACGK,SAAAgN,GAAAxK,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAA0B;AAAA,IAAAuK,QAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAtG,QAAAhE;AAAAA,EAAAA,IAAAJ;AAIT,MAAAQ;AAAA,EAAAP,SAAAG,KADtBI,IAAAJ,MAAAG,SAAA,CAAA,IAAAH,GAAWH,OAAAG,GAAAH,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAX,QAAAmE,IAAA5D;AAAW,MAAAG;AAAA,EAAAV,EAAA,CAAA,MAAAyK,KAAAzK,SAAAwK,KAMI9J,IAAAA,MAAM+J,IAAiBD,MAAW,OAAX,OAAA,IAA6B,GAACxK,OAAAyK,GAAAzK,OAAAwK,GAAAxK,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAClD,QAAAW,IAAAwD,EAAMuG,WAAN,aACL9J,IAAA4J,MAAW,OAAX,YAAAlK;AAAuC,MAAAO;AAAA,EAAAb,SAAAwK,KAE7C3J,IAAA2J,MAAW,OACV,gBAAAhK,EAACmK,IAAA,EAAiB,UAAA,SAAO,IAEzB,gBAAAnK,EAACoK,IAAA,EAAyB,UAAA,QAAA,CAAO,GAClC5K,OAAAwK,GAAAxK,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAqE;AAAA,EAAArE,EAAA,CAAA,MAAAU,KAAAV,EAAA,CAAA,MAAAW,KAAAX,EAAA,CAAA,MAAAY,KAAAZ,UAAAa,KAVHwD,IAAA,gBAAA7D,EAACqH,GAAA,EACM,MAAA,SACI,SAAAnH,GACG,cAAAC,GACL,OAAAC,GAENC,UAAAA,EAAAA,CAKH,GAAab,OAAAU,GAAAV,OAAAW,GAAAX,OAAAY,GAAAZ,QAAAa,GAAAb,QAAAqE,KAAAA,IAAArE,EAAA,EAAA;AAAA,MAAAsE;AAAA,EAAAtE,EAAA,EAAA,MAAAyK,KAAAzK,UAAAwK,KAGFlG,IAAAA,MAAMmG,IAAiBD,MAAW,SAAX,OAAA,MAAiC,GAACxK,QAAAyK,GAAAzK,QAAAwK,GAAAxK,QAAAsE,KAAAA,IAAAtE,EAAA,EAAA;AACtD,QAAAuE,IAAAJ,EAAM0G,aAAN,eACLrG,IAAAgG,MAAW,SAAX,YAAAlK;AAAyC,MAAAmE;AAAA,EAAAzE,UAAAwK,KAE/C/F,IAAA+F,MAAW,SACV,gBAAAhK,EAACsK,IAAA,EAAmB,UAAA,SAAO,IAE3B,gBAAAtK,EAACuK,IAAA,EAA2B,UAAA,QAAA,CAAO,GACpC/K,QAAAwK,GAAAxK,QAAAyE,KAAAA,IAAAzE,EAAA,EAAA;AAAA,MAAA0E;AAAA,EAAA1E,EAAA,EAAA,MAAAwE,KAAAxE,EAAA,EAAA,MAAAyE,KAAAzE,EAAA,EAAA,MAAAsE,KAAAtE,UAAAuE,KAVHG,IAAA,gBAAAlE,EAACqH,GAAA,EACM,MAAA,SACI,SAAAvD,GACG,cAAAC,GACL,OAAAC,GAENC,UAAAA,EAAAA,CAKH,GAAazE,QAAAwE,GAAAxE,QAAAyE,GAAAzE,QAAAsE,GAAAtE,QAAAuE,GAAAvE,QAAA0E,KAAAA,IAAA1E,EAAA,EAAA;AAAA,MAAAiJ;AAAA,SAAAjJ,EAAA,EAAA,MAAA0E,KAAA1E,UAAAqE,KAxBf4E,2BACE5E,UAAAA;AAAAA,IAAAA;AAAAA,IAYAK;AAAAA,EAAAA,GAWa,GACZ1E,QAAA0E,GAAA1E,QAAAqE,GAAArE,QAAAiJ,KAAAA,IAAAjJ,EAAA,EAAA,GAzBHiJ;AAyBG;ACvBP,SAAA+B,GAAAjL,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAwB;AAAA,IAAAgL,QAAAA;AAAAA,EAAAA,IAAAlL;AACtB,UAAQkL,GAAAA;AAAAA,IAAM,KACP,WAAS;AAAA,UAAA9K;AAAA,aAAAH,EAAA,CAAA,MAAAoC,uBAAAC,IAAA,2BAAA,KACLlC,sBAAC+K,IAAA,EAAuB,MAAA,GAAA,CAAE,GAAIlL,OAAAG,KAAAA,IAAAH,EAAA,CAAA,GAA9BG;AAAAA,IAA8B;AAAA,IAAA,KAClC,YAAU;AAAA,UAAAA;AAAA,aAAAH,EAAA,CAAA,MAAAoC,uBAAAC,IAAA,2BAAA,KACNlC,sBAAC2D,MAAa,UAAA,MAAA,CAAG,GAAe9D,OAAAG,KAAAA,IAAAH,EAAA,CAAA,GAAhCG;AAAAA,IAAgC;AAAA,IAAA,KACpC,YAAU;AAAA,UAAAA;AAAA,aAAAH,EAAA,CAAA,MAAAoC,uBAAAC,IAAA,2BAAA,KACNlC,IAAA,gBAAAK,EAAC2K,IAAA,EAA4B,UAAA,SAAc,OAAA,WAAS,GAAGnL,OAAAG,KAAAA,IAAAH,EAAA,CAAA,GAAvDG;AAAAA,IAAuD;AAAA,IAAA,KAC3D,SAAO;AAAA,UAAAA;AAAA,aAAAH,EAAA,CAAA,MAAAoC,uBAAAC,IAAA,2BAAA,KACHlC,IAAA,gBAAAK,EAACc,GAAA,EAAsB,UAAA,SAAc,OAAA,SAAO,GAAGtB,OAAAG,KAAAA,IAAAH,EAAA,CAAA,GAA/CG;AAAAA,IAA+C;AAAA,EAAA;AACzD;AAGI,SAAAiL,GAAArL,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAmB;AAAA,IAAA0D,OAAAA;AAAAA,IAAAQ,QAAAhE;AAAAA,IAAAE,IAAAA;AAAAA,EAAAA,IAAAN;AAA0C,MAAAQ;AAAA,EAAAP,SAAAG,KAAjCI,IAAAJ,MAAAG,SAAA,CAAA,IAAAH,GAAWH,OAAAG,GAAAH,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAX,QAAAmE,IAAA5D;AAAW,MAAAG;AAAA,EAAAV,SAAAK,KAEjCK,IAAA;AAAA,IAAA,GAAK3D,EAAM4G;AAAAA,IAAM,GAAKtD;AAAAA,EAAAA,GAAIL,OAAAK,GAAAL,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAW;AAAA,EAAAX,EAAA,CAAA,MAAAmE,EAAAuD,SAChC/G,IAAAwD,EAAMuD,SACL,gBAAAlH,EAAC/D,GAAA,EAAmB,SAAA,WAAgB,OAAA,kBAAqB,IAAA;AAAA,IAAA4O,IAAM;AAAA,EAAA,GAC5DlH,YAAMuD,OACT,GACD1H,EAAA,CAAA,IAAAmE,EAAAuD,OAAA1H,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAY;AAAA,EAAAZ,SAAA2D,KACA/C,IAAA+C,EAAKpC,IAAKC,EAYV,GAACxB,OAAA2D,GAAA3D,OAAAY,KAAAA,IAAAZ,EAAA,CAAA;AAAA,MAAAa;AAAA,SAAAb,EAAA,CAAA,MAAAU,KAAAV,SAAAW,KAAAX,EAAA,EAAA,MAAAY,KAlBJC,sBAACJ,GAAA,EAAQ,IAAAC,GACNC,UAAAA;AAAAA,IAAAA;AAAAA,IAKAC;AAAAA,EAAAA,GAaH,GAAMZ,OAAAU,GAAAV,OAAAW,GAAAX,QAAAY,GAAAZ,QAAAa,KAAAA,IAAAb,EAAA,EAAA,GAnBNa;AAmBM;AArBH,SAAAW,GAAA8J,GAAA;AAAA,SASC,gBAAA3J,EAAC4J,GAAA,EAAwB,gBAAA,IAA0B,cACjD,UAAA;AAAA,IAAA,gBAAA/K,EAACgL,IAAA,EAA6B,8BAACC,IAAA,CAAA,CAAU,GACvC,UAAA,gBAAA9J,EAAClB,GAAA,EAAQ,IAAA1D,EAAM6G,YACb,UAAA;AAAA,MAAA,gBAAApD,EAACC,GAAA,EAAQ,IAAA1D,EAAM8G,gBACb,4BAACmH,IAAA,EAAuB,QAAAM,EAAIL,OAAAA,CAAO,EAAA,CACrC;AAAA,MACA,gBAAAzK,EAAC/D,GAAA,EAAmB,SAAA,SAAS6O,YAAII,KAAAA,CAAM;AAAA,IAAA,EAAA,CACzC,EAAA,CACF;AAAA,IACCJ,EAAI7F,WAAY,gBAAAjF,EAACmL,IAAA,EAAkBL,YAAI7F,QAAAA,CAAS;AAAA,EAAA,EAAA,GATnC6F,EAAIM,EAUpB;AAAY;"}
1
+ {"version":3,"file":"chat.js","sources":["../src/chat/const.ts","../src/chat/bubbles/styles.ts","../src/chat/bubbles/chat-user-message.tsx","../src/chat/bubbles/chat-agent-message.tsx","../src/chat/bubbles/chat-error-message.tsx","../src/chat/bubbles/chat-suggestion-button.tsx","../src/chat/feedback/styles.ts","../src/chat/feedback/chat-thinking.tsx","../src/chat/feedback/chat-loader.tsx","../src/chat/containers/styles.ts","../src/chat/containers/chat-content.tsx","../src/chat/containers/chat-header.tsx","../src/chat/containers/chat-footer.tsx","../src/chat/containers/chat-starter.tsx","../src/chat/feedback/chat-actions-container.tsx","../src/chat/feedback/chat-rating-action.tsx","../src/chat/feedback/chat-tools.tsx"],"sourcesContent":["export const CHAT_MAX_WIDTH = 768\nexport const CHAT_SCROLL_DELAY = 300\nexport const CHAT_DIVIDER_DELAY = 100\n","import { styled, Typography, type SxProps, type Theme } from '@mui/material'\n\nexport const ChatMessageOverflow = styled(Typography)(() => ({\n whiteSpace: 'pre-wrap',\n overflowX: 'clip',\n overflowWrap: 'break-word',\n maxWidth: '100%',\n}))\nChatMessageOverflow.displayName = 'ChatMessageOverflow'\n\nexport const styles = {\n agentMessageContainer: (theme: Theme) => ({\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n paddingRight: theme.spacing(4),\n '& + .PsChat--agent-message': {\n marginTop: theme.spacing(1),\n },\n '& + .PsChat--user-message': {\n marginTop: theme.spacing(3),\n },\n }),\n userMessageContainer: {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n paddingLeft: ({ spacing }) => spacing(4),\n '&:has(+ .PsChat--user-message) > .PsChat--user-message-inner': {\n borderRadius: ({ spacing }) => spacing(2),\n },\n '& + .PsChat--user-message': {\n marginTop: ({ spacing }) => spacing(0.5),\n },\n '& + .PsChat--agent-message': {\n marginTop: ({ spacing }) => spacing(3),\n },\n },\n userMessage: {\n padding: ({ spacing }) => spacing(0.75, 1.5),\n borderRadius: ({ spacing }) => spacing(2, 2, 0.25, 2),\n border: ({ palette }) => `1px solid ${palette.divider}`,\n backgroundColor: ({ palette }) => palette.background.default,\n color: ({ palette }) => palette.text.primary,\n width: 'fit-content',\n },\n muted: {\n color: ({ palette }) => palette.text.disabled,\n },\n userMessageTop: {\n textAlign: 'right',\n marginBottom: ({ spacing }) => spacing(0.5),\n },\n errorMessage: {\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: ({ spacing }) => spacing(1),\n },\n errorActions: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(0.5),\n },\n errorAction: {\n color: ({ palette }) => palette.text.primary,\n },\n errorActionSeparator: {\n mr: 0.5,\n color: ({ palette }) => palette.black[25],\n fontWeight: 600,\n },\n suggestionButton: {\n transition: 'border-color 0.2s',\n width: '100%',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n textAlign: 'left',\n gap: ({ spacing }) => spacing(1),\n padding: ({ spacing }) => spacing(0.75, 1.5),\n borderRadius: ({ spacing }) => spacing(2),\n border: ({ palette }) => `1px solid ${palette.divider}`,\n '& .MuiSvgIcon-root': {\n transition: 'color 0.2s',\n color: 'inherit',\n fontSize: ({ spacing }) => spacing(1.5),\n width: ({ spacing }) => spacing(1.5),\n minWidth: ({ spacing }) => spacing(1.5),\n height: ({ spacing }) => spacing(2.5),\n },\n '&:not(.Mui-disabled) .MuiSvgIcon-root': {\n color: ({ palette }) => palette.text.secondary,\n },\n '&:hover': {\n borderColor: ({ palette }) => palette.text.hint,\n '& .MuiSvgIcon-root': {\n color: ({ palette }) => palette.text.primary,\n },\n },\n '&.Mui-disabled': {\n color: ({ palette }) => palette.text.disabled,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport type { ChatUserMessageProps } from '../types'\nimport { ChatMessageOverflow, styles } from './styles'\n\nexport function ChatUserMessage({\n children,\n muted = false,\n topContext,\n sx,\n}: ChatUserMessageProps) {\n return (\n <Box className='PsChat--user-message' sx={styles.userMessageContainer}>\n {topContext && <Box sx={styles.userMessageTop}>{topContext}</Box>}\n <ChatMessageOverflow\n className='PsChat--user-message-inner'\n variant='body2'\n sx={{\n ...styles.userMessage,\n ...(muted ? styles.muted : undefined),\n ...sx,\n }}\n >\n {children}\n </ChatMessageOverflow>\n </Box>\n )\n}\n","import { Box, styled, type BoxProps } from '@mui/material'\nimport { styles } from './styles'\n\nconst InnerBox = ({ className, ...props }: BoxProps) => (\n <Box className={`PsChat--agent-message ${className ?? ''}`} {...props} />\n)\n\nexport const ChatAgentMessage = styled(InnerBox)(({ theme }) =>\n styles.agentMessageContainer(theme),\n)\nChatAgentMessage.displayName = 'ChatAgentMessage'\n","import { Box, Link, Typography } from '@mui/material'\nimport { ErrorOutline } from '@mui/icons-material'\nimport type { ChatErrorMessageProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatErrorMessage({\n errors,\n icon,\n actions,\n sx,\n}: ChatErrorMessageProps) {\n return (\n <Box sx={{ ...styles.errorMessage, ...sx }}>\n {icon ?? <ErrorOutline fontSize='medium' color='error' />}\n {errors.map((error, index) => (\n <Typography key={index} variant='subtitle2' color='error.relatedDark'>\n {error}\n </Typography>\n ))}\n {actions?.length ? (\n <Box sx={styles.errorActions}>\n {(actions ?? []).map((action, index) => (\n <span key={index}>\n {index > 0 && (\n <Typography\n component='span'\n variant='body2'\n sx={styles.errorActionSeparator}\n >\n &middot;\n </Typography>\n )}\n <Link\n component='button'\n variant='body2'\n onClick={action.onClick}\n sx={styles.errorAction}\n >\n {action.label}\n </Link>\n </span>\n ))}\n </Box>\n ) : null}\n </Box>\n )\n}\n","import { ButtonBase, Typography } from '@mui/material'\nimport { ArrowUpward } from '@mui/icons-material'\nimport type { ChatSuggestionButtonProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatSuggestionButton({\n label,\n color,\n sx,\n ...props\n}: ChatSuggestionButtonProps) {\n return (\n <ButtonBase\n sx={{\n ...styles.suggestionButton,\n ...(color ? { backgroundColor: color } : undefined),\n ...sx,\n }}\n {...props}\n >\n <Typography color='inherit' variant='body2'>\n {label}\n </Typography>\n <ArrowUpward />\n </ButtonBase>\n )\n}\n","import { type SxProps, type Theme } from '@mui/material'\nimport { keyframes } from '@mui/material/styles'\n\nconst shimmer = keyframes`\n 0% {\n background-position: 150% 0;\n }\n 100% {\n background-position: -50% 0;\n }\n`\n\nconst breatheOuter = keyframes`\n 0% { transform: scale(0.68); opacity: 0.7; }\n 40% { transform: scale(1); opacity: 1; }\n 80% { transform: scale(0.6); opacity: 0.65; }\n 100% { transform: scale(0.68); opacity: 0.7; }\n`\n\nconst breatheInner = keyframes`\n 0% { transform: scale(1); }\n 40% { transform: scale(0.75); }\n 80% { transform: scale(1.125); }\n 100% { transform: scale(1); }\n`\n\nexport const styles = {\n thinking: {\n display: 'flex',\n alignItems: 'center',\n minHeight: ({ spacing }) => spacing(3),\n background: ({ palette }) => `linear-gradient(\n 90deg,\n ${palette.text.disabled} 25%,\n ${palette.text.secondary} 50%,\n ${palette.text.disabled} 75%\n )`,\n backgroundSize: '200% 100%',\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n animation: `${shimmer} 2s ease-in-out infinite`,\n animationDuration: '2s',\n },\n loader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n p: 1,\n },\n loaderOuterCircle: {\n position: 'absolute',\n inset: 0,\n margin: 'auto',\n borderRadius: '50%',\n backgroundColor: ({ palette }) => palette.action.disabled,\n animation: `${breatheOuter} 1s ease-in-out infinite`,\n },\n loaderInnerCircle: {\n position: 'absolute',\n inset: 0,\n margin: 'auto',\n borderRadius: '50%',\n backgroundColor: ({ palette }) => palette.text.primary,\n animation: `${breatheInner} 1s ease-in-out infinite`,\n },\n tools: {\n width: '100%',\n },\n toolHeader: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1),\n },\n toolStatusIcon: {\n display: 'flex',\n alignItems: 'center',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Typography } from '@mui/material'\nimport type { ChatThinkingProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatThinking({\n children = 'Thinking...',\n duration = 2000,\n sx,\n}: ChatThinkingProps) {\n const durSeconds = `${duration / 1000}s`\n return (\n <Typography\n variant='body2'\n sx={{\n ...styles.thinking,\n animationDuration: durSeconds,\n ...sx,\n }}\n >\n {children}\n </Typography>\n )\n}\n","import { Box } from '@mui/material'\nimport type { ChatLoaderProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatLoader({ size = 24, labels = {}, sx }: ChatLoaderProps) {\n return (\n <Box\n role='status'\n aria-busy={true}\n aria-label={labels.loading ?? 'Loading'}\n sx={{ ...styles.loader, width: size, height: size, ...sx }}\n >\n <Box\n component='span'\n sx={{\n ...styles.loaderOuterCircle,\n width: size * 0.75,\n height: size * 0.75,\n }}\n />\n <Box\n component='span'\n sx={{\n ...styles.loaderInnerCircle,\n width: size * 0.32,\n height: size * 0.32,\n }}\n />\n </Box>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { keyframes } from '@mui/material/styles'\nimport { CHAT_MAX_WIDTH } from '../const'\n\nconst scrollBorders = keyframes`\n 0% { border-top-color: transparent; border-bottom-color: var(--chat-border-color) }\n 0.1% { border-top-color: var(--chat-border-color); border-bottom-color: var(--chat-border-color) }\n 99.9% { border-top-color: var(--chat-border-color); border-bottom-color: var(--chat-border-color) }\n 100% { border-top-color: var(--chat-border-color); border-bottom-color: transparent }\n`\n\nconst showFab = keyframes`\n 0% { opacity: 1; pointer-events: auto }\n 95% { opacity: 1; pointer-events: auto }\n 100% { opacity: 0; pointer-events: none }\n`\n\nexport const styles = {\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: ({ spacing }) => spacing(1),\n },\n headerTitle: {\n flexGrow: 1,\n px: ({ spacing }) => spacing(0.5),\n },\n headerActions: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: ({ spacing }) => spacing(2),\n gap: ({ spacing }) => spacing(0.5),\n },\n footerWrapper: {\n padding: ({ spacing }) => spacing(1),\n position: 'relative',\n },\n footerCorner: {\n position: 'absolute',\n bottom: '38px',\n right: `max(16px, calc(50% - ${CHAT_MAX_WIDTH / 2}px + 6px))`,\n margin: '0 auto',\n },\n footer: {\n maxWidth: CHAT_MAX_WIDTH,\n margin: '0 auto',\n },\n footerCaption: {\n textAlign: 'center',\n },\n content: {\n overflowY: 'auto',\n flex: 1,\n position: 'relative',\n mx: 'auto',\n maxWidth: CHAT_MAX_WIDTH,\n width: '100%',\n maxHeight: '100%',\n pt: 1,\n pb: 2,\n px: 2,\n display: 'flex',\n flexDirection: 'column',\n '--chat-border-color': ({ palette }) => palette.divider,\n borderTop: '1px solid transparent',\n borderBottom: '1px solid transparent',\n '@supports (animation-timeline: scroll())': {\n animation: `${scrollBorders} linear both`,\n animationTimeline: 'scroll(self)',\n },\n },\n jumpToLatestWrapper: {\n position: 'sticky',\n bottom: ({ spacing }) => spacing(3),\n height: 0,\n display: 'flex',\n justifyContent: 'center',\n zIndex: 1,\n },\n jumpToLatest: {\n opacity: 0,\n pointerEvents: 'none',\n '@supports (animation-timeline: scroll())': {\n animation: `${showFab} linear both`,\n animationTimeline: 'scroll(nearest)',\n },\n '@supports not (animation-timeline: scroll())': {\n display: 'none',\n },\n },\n starter: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: ({ spacing }) => spacing(3),\n textAlign: 'center',\n maxWidth: CHAT_MAX_WIDTH,\n margin: '0 auto',\n },\n starterItems: {\n display: 'grid',\n width: '100%',\n marginTop: ({ spacing }) => spacing(2),\n },\n starterItemsTwoCol: {\n gridTemplateColumns: 'repeat(2, 1fr)',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { useRef } from 'react'\nimport { Box, Fab } from '@mui/material'\nimport { KeyboardArrowDown } from '@mui/icons-material'\nimport type { ChatContentProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatContent({ children, labels = {}, sx }: ChatContentProps) {\n const scrollRef = useRef<HTMLDivElement>(null)\n\n const scrollToBottom = () => {\n scrollRef.current?.scrollTo({\n top: scrollRef.current.scrollHeight,\n behavior: 'smooth',\n })\n }\n\n return (\n <Box ref={scrollRef} sx={{ ...styles.content, ...sx }}>\n {children}\n <Box sx={styles.jumpToLatestWrapper}>\n <Fab\n size='small'\n onClick={scrollToBottom}\n aria-label={labels.jumpToLatest ?? 'Jump to latest'}\n sx={styles.jumpToLatest}\n >\n <KeyboardArrowDown />\n </Fab>\n </Box>\n </Box>\n )\n}\n","import { Box, IconButton, Typography } from '@mui/material'\nimport { Close } from '@mui/icons-material'\nimport type { ChatHeaderProps } from '../types'\nimport { styles } from './styles'\n\nexport function ChatHeader({\n leftSlot,\n title,\n rightSlot,\n onClose,\n sx,\n}: ChatHeaderProps) {\n return (\n <Box sx={{ ...styles.header, ...sx }}>\n {leftSlot}\n <Typography variant='subtitle2' sx={styles.headerTitle}>\n {title}\n </Typography>\n <Box sx={styles.headerActions}>\n {rightSlot}\n {onClose && (\n <IconButton size='medium' onClick={onClose} aria-label='Close'>\n <Close />\n </IconButton>\n )}\n </Box>\n </Box>\n )\n}\n","import {\n Box,\n FilledInput,\n FormControl,\n FormHelperText,\n IconButton,\n} from '@mui/material'\nimport { ArrowUpwardOutlined, StopCircleOutlined } from '@mui/icons-material'\nimport type { ChatFooterProps } from '../types'\nimport { styles } from './styles'\n\nconst DEFAULT_CAPTION =\n 'Responses are AI generated. Please verify key information.'\n\nexport function ChatFooter({\n value,\n onChange,\n onSend,\n onStop,\n isGenerating = false,\n disabled = false,\n placeholder = 'Type a message...',\n labels = {},\n caption = DEFAULT_CAPTION,\n sx,\n}: ChatFooterProps) {\n const canSend = value.trim() && !disabled && !isGenerating\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault()\n if (canSend) {\n onSend()\n }\n }\n }\n\n return (\n <FormControl fullWidth sx={{ ...styles.footerWrapper, ...sx }}>\n <FilledInput\n multiline\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n disabled={disabled || isGenerating}\n sx={styles.footer}\n style={{ minHeight: 0 }}\n fullWidth\n size='small'\n />\n <Box sx={styles.footerCorner}>\n {isGenerating && onStop ? (\n <IconButton\n size='small'\n onClick={onStop}\n disabled={disabled}\n aria-label={labels.stop ?? 'Stop'}\n >\n <StopCircleOutlined />\n </IconButton>\n ) : (\n <IconButton\n size='small'\n variant='contained'\n onClick={onSend}\n disabled={!canSend}\n aria-label={labels.send ?? 'Send'}\n >\n <ArrowUpwardOutlined />\n </IconButton>\n )}\n </Box>\n {caption ? (\n <FormHelperText sx={styles.footerCaption}>{caption}</FormHelperText>\n ) : null}\n </FormControl>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport type { ChatStarterProps } from '../types'\nimport { ChatSuggestionButton } from '../bubbles/chat-suggestion-button'\nimport { styles } from './styles'\n\nconst DEFAULT_PALETTE = [\n '#C9DB7440', // pastel green\n '#FE88B140', // pastel red\n '#9EB9F340', // pastel blue\n '#F6CF7140', // pastel yellow\n]\n\nexport function ChatStarter({\n icon,\n title,\n description,\n items,\n size = 'small',\n onSelect,\n sx,\n}: ChatStarterProps) {\n const fullItems = items.map((item, index) => {\n if (typeof item === 'string') {\n return {\n label: item,\n color: DEFAULT_PALETTE[index],\n }\n } else {\n return {\n label: item.label,\n color: item.color ?? DEFAULT_PALETTE[index],\n }\n }\n })\n return (\n <Box\n sx={{\n ...styles.starter,\n gap: size === 'small' ? 1 : 2,\n ...sx,\n }}\n >\n {icon}\n {title && (\n <Typography variant={size === 'small' ? 'h6' : 'h5'}>\n {title}\n </Typography>\n )}\n {description && (\n <Typography\n variant={size === 'small' ? 'body2' : 'body1'}\n color='text.secondary'\n >\n {description}\n </Typography>\n )}\n <Box\n sx={{\n ...styles.starterItems,\n gap: size === 'small' ? 1 : 2,\n ...(items.length > 2 ? styles.starterItemsTwoCol : undefined),\n }}\n >\n {fullItems.map((item) => (\n <ChatSuggestionButton\n key={item.label}\n label={item.label}\n onClick={() => onSelect?.(item.label)}\n color={item.color}\n />\n ))}\n </Box>\n </Box>\n )\n}\n","import { Box, styled } from '@mui/material'\n\nexport const ChatActionsContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n}))\n","import { IconButton } from '@mui/material'\nimport {\n ThumbUpOutlined,\n ThumbDownOutlined,\n ThumbUp,\n ThumbDown,\n} from '@mui/icons-material'\nimport type { ChatRatingActionProps } from '../types'\n\nexport function ChatRatingAction({\n rating,\n onRatingChange,\n labels = {},\n}: ChatRatingActionProps) {\n return (\n <>\n <IconButton\n size='small'\n onClick={() => onRatingChange?.(rating === 'up' ? null : 'up')}\n aria-label={labels.thumbUp ?? 'Thumbs up'}\n color={rating === 'up' ? 'primary' : undefined}\n >\n {rating === 'up' ? (\n <ThumbUp fontSize='small' />\n ) : (\n <ThumbUpOutlined fontSize='small' />\n )}\n </IconButton>\n <IconButton\n size='small'\n onClick={() => onRatingChange?.(rating === 'down' ? null : 'down')}\n aria-label={labels.thumbDown ?? 'Thumbs down'}\n color={rating === 'down' ? 'primary' : undefined}\n >\n {rating === 'down' ? (\n <ThumbDown fontSize='small' />\n ) : (\n <ThumbDownOutlined fontSize='small' />\n )}\n </IconButton>\n </>\n )\n}\n","import {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Box,\n CircularProgress,\n Typography,\n} from '@mui/material'\nimport {\n CheckCircleOutline,\n ErrorOutline,\n ExpandMore,\n} from '@mui/icons-material'\nimport type { ChatToolsProps, ChatToolItem } from '../types'\nimport { ChatThinking } from './chat-thinking'\nimport { styles } from './styles'\n\nfunction ToolStatusIcon({ status }: { status: ChatToolItem['status'] }) {\n switch (status) {\n case 'loading':\n return <CircularProgress size={16} />\n case 'thinking':\n return <ChatThinking>...</ChatThinking>\n case 'complete':\n return <CheckCircleOutline fontSize='small' color='success' />\n case 'error':\n return <ErrorOutline fontSize='small' color='error' />\n }\n}\n\nexport function ChatTools({ tools, labels = {}, sx }: ChatToolsProps) {\n return (\n <Box sx={{ ...styles.tools, ...sx }}>\n {labels.title && (\n <Typography variant='caption' color='text.secondary' sx={{ mb: 1 }}>\n {labels.title}\n </Typography>\n )}\n {tools.map((tool) => (\n <Accordion key={tool.id} disableGutters elevation={0}>\n <AccordionSummary expandIcon={<ExpandMore />}>\n <Box sx={styles.toolHeader}>\n <Box sx={styles.toolStatusIcon}>\n <ToolStatusIcon status={tool.status} />\n </Box>\n <Typography variant='body2'>{tool.name}</Typography>\n </Box>\n </AccordionSummary>\n {tool.content && <AccordionDetails>{tool.content}</AccordionDetails>}\n </Accordion>\n ))}\n </Box>\n )\n}\n"],"names":["CHAT_MAX_WIDTH","CHAT_SCROLL_DELAY","CHAT_DIVIDER_DELAY","ChatMessageOverflow","styled","Typography","whiteSpace","overflowX","overflowWrap","maxWidth","displayName","styles","agentMessageContainer","theme","width","display","flexDirection","alignItems","paddingRight","spacing","marginTop","userMessageContainer","paddingLeft","borderRadius","userMessage","padding","border","palette","divider","backgroundColor","background","default","color","text","primary","muted","disabled","userMessageTop","textAlign","marginBottom","errorMessage","flexWrap","gap","errorActions","errorAction","errorActionSeparator","mr","black","fontWeight","suggestionButton","transition","justifyContent","fontSize","minWidth","height","secondary","borderColor","hint","ChatUserMessage","t0","$","_c","children","t1","topContext","sx","undefined","t2","jsx","Box","t3","t4","t5","t6","InnerBox","className","props","ChatAgentMessage","ChatErrorMessage","errors","icon","actions","ErrorOutline","map","_temp","length","_temp2","jsxs","action","index_0","index","Link","onClick","label","error","ChatSuggestionButton","Symbol","for","ArrowUpward","ButtonBase","shimmer","keyframes","breatheOuter","breatheInner","thinking","minHeight","backgroundSize","backgroundClip","WebkitBackgroundClip","WebkitTextFillColor","animation","animationDuration","loader","position","p","loaderOuterCircle","inset","margin","loaderInnerCircle","tools","toolHeader","toolStatusIcon","ChatThinking","duration","durSeconds","ChatLoader","size","labels","loading","t7","t8","t9","t10","t11","t12","scrollBorders","showFab","header","headerTitle","flexGrow","px","headerActions","marginLeft","footerWrapper","footerCorner","bottom","right","footer","footerCaption","content","overflowY","flex","mx","maxHeight","pt","pb","--chat-border-color","borderTop","borderBottom","animationTimeline","jumpToLatestWrapper","zIndex","jumpToLatest","opacity","pointerEvents","starter","starterItems","starterItemsTwoCol","gridTemplateColumns","ChatContent","scrollRef","useRef","current","scrollTo","top","scrollHeight","behavior","scrollToBottom","KeyboardArrowDown","Fab","ChatHeader","leftSlot","title","rightSlot","onClose","IconButton","Close","DEFAULT_CAPTION","ChatFooter","value","onChange","onSend","onStop","isGenerating","placeholder","caption","trim","canSend","e","key","shiftKey","preventDefault","handleKeyDown","e_0","target","t13","FilledInput","t14","send","stop","StopCircleOutlined","ArrowUpwardOutlined","t15","FormHelperText","t16","FormControl","DEFAULT_PALETTE","ChatStarter","description","items","onSelect","T0","T1","fullItems","item_0","item","ChatActionsContainer","ChatRatingAction","rating","onRatingChange","thumbUp","ThumbUp","ThumbUpOutlined","thumbDown","ThumbDown","ThumbDownOutlined","ToolStatusIcon","status","CircularProgress","CheckCircleOutline","ChatTools","mb","tool","Accordion","AccordionSummary","ExpandMore","name","AccordionDetails","id"],"mappings":"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"}
@@ -79,6 +79,9 @@ export declare const styles: {
79
79
  } & string} linear both`;
80
80
  animationTimeline: "scroll(nearest)";
81
81
  };
82
+ '@supports not (animation-timeline: scroll())': {
83
+ display: "none";
84
+ };
82
85
  };
83
86
  starter: {
84
87
  display: "flex";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carto/ps-react-ui",
3
- "version": "4.4.0-chat-ui.0",
3
+ "version": "4.4.0-chat-ui.1",
4
4
  "description": "CARTO's Professional Service React Material library",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -15,8 +15,8 @@
15
15
  "html2canvas": "1.4.1",
16
16
  "react-markdown": "10.1.0",
17
17
  "zustand": "5.0.11",
18
- "@carto/ps-utils": "2.0.1",
19
- "@carto/ps-common-types": "1.0.0"
18
+ "@carto/ps-common-types": "1.0.0",
19
+ "@carto/ps-utils": "2.0.1"
20
20
  },
21
21
  "peerDependencies": {
22
22
  "@dnd-kit/core": "^6.0.0",
@@ -85,6 +85,9 @@ export const styles = {
85
85
  animation: `${showFab} linear both`,
86
86
  animationTimeline: 'scroll(nearest)',
87
87
  },
88
+ '@supports not (animation-timeline: scroll())': {
89
+ display: 'none',
90
+ },
88
91
  },
89
92
  starter: {
90
93
  display: 'flex',