@epam/ai-dial-conversation-messages 1.1.0-dev.18 → 1.1.0-dev.182

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/index.js CHANGED
@@ -1,286 +1,234 @@
1
- import { AttachmentErrorReason as e, AttachmentType as t, DeploymentIcon as n, Highlight as r, MDMessageViewer as i, MIME_TYPE_EXT_MAP as a, MessageRating as o, MessageRole as s, RequestStatus as c, ResponseFormat as l, buildCssVars as u, mergeClasses as d, useCollapsedText as f } from "@epam/ai-dial-chat-shared";
2
- import { DIAL_ICON_SIZE as p, DialGhostIconButton as m, DialInput as h, DialLinkButton as g, DialNotification as _, DialPopup as v, DialPrimaryButton as y, DialRadioGroup as b, DialRoundedButton as x, DialSkeleton as S, DialSkeletonVariant as C, DialSlider as w, DialTag as T, DialTooltip as E, ElementSize as D, PopupSize as O, RadioGroupOrientation as k } from "@epam/ai-dial-ui-kit";
3
- import { IconCheck as A, IconChevronDown as j, IconChevronUp as M, IconClipboard as N, IconCopy as P, IconDownload as F, IconExternalLink as I, IconFile as L, IconFileTypeBmp as R, IconFileTypeCss as z, IconFileTypeCsv as B, IconFileTypeDoc as V, IconFileTypeDocx as ee, IconFileTypeHtml as te, IconFileTypeJpg as ne, IconFileTypeJs as re, IconFileTypeJsx as ie, IconFileTypePdf as ae, IconFileTypePhp as oe, IconFileTypePng as se, IconFileTypePpt as ce, IconFileTypeRs as le, IconFileTypeSql as ue, IconFileTypeSvg as de, IconFileTypeTs as fe, IconFileTypeTsx as pe, IconFileTypeTxt as me, IconFileTypeVue as he, IconFileTypeXls as ge, IconFileTypeXml as _e, IconFileTypeZip as ve, IconMarkdown as ye, IconMusic as be, IconPaperclip as xe, IconPencilMinus as Se, IconPhoto as H, IconRefresh as Ce, IconReload as we, IconTerminal2 as Te, IconThumbDown as Ee, IconThumbUp as De, IconTrashX as Oe, IconVideo as ke, IconX as Ae } from "@tabler/icons-react";
1
+ import { AttachmentErrorReason as e, AttachmentType as t, CopyIconButton as n, DeploymentIcon as r, MDMessageViewer as i, MIME_TYPE_EXT_MAP as a, MessageRating as o, MessageRole as s, RequestStatus as c, ResponseFormat as l, buildCssVars as u, mergeClasses as d, useCollapsedText as f } from "@epam/ai-dial-chat-shared";
2
+ import { DIAL_ICON_SIZE as p, DialRadioGroup as m, DialSlider as h, DialTooltip as g, ElementSize as _, GhostIconButton as v, Highlight as y, InfoMessageNotification as b, Input as x, LinkButton as S, NeutralButton as C, Popup as w, PopupSize as T, PrimaryButton as E, RadioGroupOrientation as D, Skeleton as O, SkeletonVariant as k, Spinner as A, StaticIconButton as j } from "@epam/ai-dial-ui-kit";
3
+ import { IconChevronDown as M, IconChevronUp as N, IconClipboard as P, IconDownload as F, IconExternalLink as I, IconFile as L, IconFileTypeBmp as R, IconFileTypeCss as z, IconFileTypeCsv as B, IconFileTypeDoc as V, IconFileTypeDocx as H, IconFileTypeHtml as U, IconFileTypeJpg as W, IconFileTypeJs as ee, IconFileTypeJsx as te, IconFileTypePdf as ne, IconFileTypePhp as re, IconFileTypePng as ie, IconFileTypePpt as ae, IconFileTypeRs as oe, IconFileTypeSql as se, IconFileTypeSvg as ce, IconFileTypeTs as le, IconFileTypeTsx as ue, IconFileTypeTxt as de, IconFileTypeVue as fe, IconFileTypeXls as pe, IconFileTypeXml as me, IconFileTypeZip as he, IconMarkdown as ge, IconMusic as _e, IconPaperclip as ve, IconPencilMinus as ye, IconPhoto as G, IconRefresh as be, IconReload as xe, IconTerminal2 as Se, IconThumbDown as Ce, IconThumbUp as we, IconTrashX as Te, IconVideo as Ee, IconX as De } from "@tabler/icons-react";
4
4
  import "react-dom";
5
- import { memo as je, useCallback as U, useEffect as Me, useId as Ne, useMemo as W, useRef as Pe, useState as G } from "react";
6
- import { Fragment as K, jsx as q, jsxs as J } from "react/jsx-runtime";
5
+ import { memo as Oe, useCallback as K, useEffect as ke, useId as Ae, useMemo as je, useRef as Me, useState as q } from "react";
6
+ import { Fragment as J, jsx as Y, jsxs as X } from "react/jsx-runtime";
7
7
  //#region ../attachment-input/dist/index.js
8
- var Fe = "flex size-[84px] items-center justify-center rounded-xl border", Y = /* @__PURE__ */ function(e) {
9
- return e.None = "none", e.AllVisible = "all-visible", e.Collapsed = "collapsed", e;
10
- }({}), Ie = (e) => {
8
+ var Ne = (e) => {
9
+ if (e == null) return "";
11
10
  let t = e.lastIndexOf(".");
12
11
  return t > 0 ? e.slice(0, t) : e;
13
- }, Le = (e) => {
12
+ }, Pe = (e) => {
14
13
  if (!e) return L;
15
14
  if (e.startsWith("image/")) switch (e) {
16
15
  case "image/jpeg":
17
- case "image/jpg": return ne;
18
- case "image/png": return se;
19
- case "image/svg+xml": return de;
16
+ case "image/jpg": return W;
17
+ case "image/png": return ie;
18
+ case "image/svg+xml": return ce;
20
19
  case "image/bmp": return R;
21
- default: return H;
20
+ default: return G;
22
21
  }
23
- if (e.startsWith("video/")) return ke;
24
- if (e.startsWith("audio/")) return be;
22
+ if (e.startsWith("video/")) return Ee;
23
+ if (e.startsWith("audio/")) return _e;
25
24
  switch (e) {
26
- case "application/pdf": return ae;
25
+ case "application/pdf": return ne;
27
26
  case "application/msword":
28
27
  case "application/vnd.ms-word": return V;
29
- case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": return ee;
30
- case "application/vnd.ms-powerpoint": return ce;
31
- case "application/vnd.openxmlformats-officedocument.presentationml.presentation": return ce;
32
- case "application/vnd.ms-excel": return ge;
33
- case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": return ge;
28
+ case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": return H;
29
+ case "application/vnd.ms-powerpoint": return ae;
30
+ case "application/vnd.openxmlformats-officedocument.presentationml.presentation": return ae;
31
+ case "application/vnd.ms-excel": return pe;
32
+ case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": return pe;
34
33
  case "application/zip":
35
34
  case "application/x-zip-compressed":
36
35
  case "application/x-rar-compressed":
37
36
  case "application/x-7z-compressed":
38
37
  case "application/gzip":
39
- case "application/x-tar": return ve;
38
+ case "application/x-tar": return he;
40
39
  case "text/csv": return B;
41
- case "text/plain": return me;
40
+ case "text/plain": return de;
42
41
  case "text/html":
43
- case "application/xhtml+xml": return te;
42
+ case "application/xhtml+xml": return U;
44
43
  case "text/xml":
45
- case "application/xml": return _e;
44
+ case "application/xml": return me;
46
45
  case "application/sql":
47
- case "text/x-sql": return ue;
46
+ case "text/x-sql": return se;
48
47
  case "text/javascript":
49
- case "application/javascript": return re;
50
- case "text/jsx": return ie;
48
+ case "application/javascript": return ee;
49
+ case "text/jsx": return te;
51
50
  case "application/typescript":
52
- case "text/typescript": return fe;
53
- case "text/tsx": return pe;
51
+ case "text/typescript": return le;
52
+ case "text/tsx": return ue;
54
53
  case "text/css": return z;
55
54
  case "text/x-php":
56
- case "application/x-php": return oe;
55
+ case "application/x-php": return re;
57
56
  case "text/x-rustsrc":
58
- case "application/x-rust": return le;
59
- case "text/x-vue": return he;
57
+ case "application/x-rust": return oe;
58
+ case "text/x-vue": return fe;
60
59
  default: return L;
61
60
  }
62
- }, Re = (e) => {
61
+ }, Fe = (e) => {
63
62
  let { type: n, contentType: r } = e;
64
- return n === t.Prompt ? Te : n === t.Pasted ? N : n === t.Image ? H : Le(r ?? "");
65
- }, ze = (e) => {
63
+ return n === t.Prompt ? Se : n === t.Pasted ? P : n === t.Image ? G : Pe(r ?? "");
64
+ }, Ie = (e) => {
66
65
  let t = e.toLowerCase().split(";")[0].trim(), n = a[t];
67
66
  if (n) return n;
68
67
  let r = t.split("/")[1];
69
68
  if (r && !r.startsWith("vnd.") && !r.includes("+")) return r;
70
- }, Be = (e, n) => {
69
+ }, Le = (e, n) => {
71
70
  let { type: r, name: i, contentType: a } = e;
72
71
  if (r === t.Prompt) return n.promptLabel ?? "Prompt";
73
72
  if (r === t.Pasted) return n.pastedLabel ?? "Pasted";
74
73
  if (r === t.Image) return n.imageLabel ?? "Image";
75
74
  if (a) {
76
- let e = ze(a);
75
+ let e = Ie(a);
77
76
  if (e) return `.${e}`;
78
77
  }
79
78
  let o = i.lastIndexOf(".");
80
79
  return o > 0 && o < i.length - 1 ? `.${i.slice(o + 1).toLowerCase()}` : i;
81
- }, Ve = (e, n = {}) => {
82
- let { type: r, status: i, previewUrl: a, url: o } = e, s = i === c.Loading, l = i === c.Error, u = r === t.Image && !!(a ?? o) && !l, d = r === t.Audio && !l, f = r === t.Link && !l;
80
+ }, Re = (e, n = {}) => {
81
+ let { type: r, status: i, previewUrl: a, url: o } = e, s = i === c.Loading, l = i === c.Error, u = r === t.Image && !!(a ?? o) && !l, d = r === t.Link && !l;
83
82
  return {
84
83
  isLoading: s,
85
84
  isError: l,
86
85
  isImage: u,
87
- isAudio: d,
88
- isLink: f,
89
- BottomIcon: f ? null : Re(e),
90
- typeLabel: f ? null : Be(e, n)
86
+ isLink: d,
87
+ BottomIcon: d ? null : Fe(e),
88
+ typeLabel: d ? null : Le(e, n)
91
89
  };
92
- }, He = (e, t) => e <= 0 ? {
93
- layout: Y.None,
94
- visibleCount: 0,
95
- hiddenCount: 0
96
- } : e < 5 || t ? {
97
- layout: Y.AllVisible,
98
- visibleCount: e,
99
- hiddenCount: 0
100
- } : {
101
- layout: Y.Collapsed,
102
- visibleCount: 4,
103
- hiddenCount: e - 4
104
- }, X = {
105
- tile: "_tile_3x6ks_1",
106
- tileLight: "_tileLight_3x6ks_12",
107
- tileError: "_tileError_3x6ks_16",
108
- nameText: "_nameText_3x6ks_23",
109
- typeText: "_typeText_3x6ks_24",
110
- retryIcon: "_retryIcon_3x6ks_36",
111
- hoverIcon: "_hoverIcon_3x6ks_40",
112
- track: "_track_3x6ks_48",
113
- indeterminateFill: "_indeterminateFill_3x6ks_52",
114
- "attachment-tile-indeterminate": "_attachment-tile-indeterminate_3x6ks_1"
115
- }, Z = ({ ariaLabel: e, errorTitle: t, errorDescId: n, onClick: r, id: i, icon: a, className: o }) => /* @__PURE__ */ q(m, {
90
+ }, ze = "flex size-[84px] items-center justify-center rounded-xl border", Z = {
91
+ tile: "_tile_3jao2_1",
92
+ hovered: "_hovered_3jao2_5",
93
+ selected: "_selected_3jao2_15",
94
+ tileError: "_tileError_3jao2_20",
95
+ nameText: "_nameText_3jao2_25",
96
+ typeText: "_typeText_3jao2_29",
97
+ retryIcon: "_retryIcon_3jao2_33",
98
+ track: "_track_3jao2_37",
99
+ actionButton: "_actionButton_3jao2_43",
100
+ imageActionButton: "_imageActionButton_3jao2_47"
101
+ }, Q = ({ ariaLabel: e, errorTitle: t, errorDescId: n, onClick: r, id: i, icon: a, className: o }) => /* @__PURE__ */ Y(j, {
116
102
  icon: a,
117
- size: D.Small,
118
- className: d("absolute end-1 top-1 h-6 w-6 rounded-lg", o ?? X.hoverIcon),
103
+ size: _.Small,
104
+ className: d("absolute end-1 top-1 opacity-0 focus-visible:opacity-100 group-focus-within/attachment-tile:opacity-100 group-hover/attachment-tile:opacity-100", Z.actionButton, o),
119
105
  "aria-label": e,
120
106
  "aria-describedby": t ? n : void 0,
121
107
  onClick: (e) => {
122
108
  e.stopPropagation(), r(i);
123
109
  }
124
- }), Ue = ({ ...e }) => /* @__PURE__ */ q(Z, {
125
- icon: /* @__PURE__ */ q(we, {
110
+ }), Be = ({ ...e }) => /* @__PURE__ */ Y(Q, {
111
+ icon: /* @__PURE__ */ Y(xe, {
126
112
  size: p.SM,
127
113
  "aria-hidden": !0
128
114
  }),
129
- className: X.retryIcon,
115
+ className: Z.retryIcon,
130
116
  ...e
131
- }), We = ({ ...e }) => /* @__PURE__ */ q(Z, {
132
- icon: /* @__PURE__ */ q(F, {
117
+ }), Ve = ({ ...e }) => /* @__PURE__ */ Y(Q, {
118
+ icon: /* @__PURE__ */ Y(F, {
133
119
  size: p.SM,
134
120
  "aria-hidden": !0
135
121
  }),
136
122
  ...e
137
- }), Ge = ({ ...e }) => /* @__PURE__ */ q(Z, {
138
- icon: /* @__PURE__ */ q(I, {
123
+ }), He = ({ ...e }) => /* @__PURE__ */ Y(Q, {
124
+ icon: /* @__PURE__ */ Y(I, {
139
125
  size: p.SM,
140
126
  "aria-hidden": !0
141
127
  }),
142
128
  ...e
143
- }), Ke = ({ ...e }) => /* @__PURE__ */ q(Z, {
144
- icon: /* @__PURE__ */ q(Ae, {
129
+ }), Ue = ({ ...e }) => /* @__PURE__ */ Y(Q, {
130
+ icon: /* @__PURE__ */ Y(De, {
145
131
  size: p.SM,
146
132
  "aria-hidden": !0
147
133
  }),
148
- className: X.hoverIcon,
149
134
  ...e
150
- }), qe = ({ attachment: e, searchQuery: t = "", onClick: n, onDownload: i, onRemove: a, labels: o, styles: s, cssVars: c }) => {
151
- let { clickLabel: l = "Open attachment", downloadLabel: u = "Download attachment", removeLabel: f = "Remove attachment" } = o ?? {}, { typography: p, className: m } = s ?? {}, h = () => {
152
- n?.(e.id);
153
- };
154
- return /* @__PURE__ */ J("div", {
155
- style: c,
156
- ...n == null ? {} : {
157
- role: "button",
158
- tabIndex: 0,
159
- "aria-label": l,
160
- onClick: h,
161
- onKeyDown: (e) => {
162
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), h());
163
- }
164
- },
165
- className: d("group relative flex w-full min-w-[280px] max-w-[300px] flex-col gap-2 rounded-xl border p-3", n && "cursor-pointer", (i || a) && "pe-8", m),
166
- children: [
167
- /* @__PURE__ */ q("span", {
168
- title: e.name,
169
- className: d(p?.fontClassName ?? "dial-tiny-text", "min-w-0 truncate", X.nameText),
170
- children: t ? /* @__PURE__ */ q(r, {
171
- text: e.name,
172
- query: t,
173
- maxLines: 1
174
- }) : e.name
175
- }),
176
- e.playUrl && /* @__PURE__ */ q("audio", {
177
- controls: !0,
178
- src: e.playUrl,
179
- "aria-label": e.name,
180
- className: "w-full",
181
- preload: "metadata",
182
- onClick: (e) => e.stopPropagation()
183
- }),
184
- i && /* @__PURE__ */ q(We, {
185
- ariaLabel: u,
186
- onClick: i,
187
- id: e.id
188
- }),
189
- a && /* @__PURE__ */ q(Ke, {
190
- ariaLabel: f,
191
- onClick: a,
192
- id: e.id
193
- })
194
- ]
195
- });
196
- }, Je = {
135
+ }), We = {
197
136
  [e.Network]: "Upload failed · network error",
198
137
  [e.UnsupportedType]: "Upload failed · unsupported file type"
199
- }, Ye = ({ attachment: t, onClick: n, onRetry: r, labels: i, styles: a, onDownload: o, isPasted: s, isLink: l, cssVars: u, onExpand: f, isExpandable: p, onRemove: m }) => {
200
- let { clickLabel: h = "Download attachment", retryLabel: g = "Retry upload", sizeLabel: _, uploadingLabel: v = "Uploading", errorReasonLabels: y, genericErrorLabel: b = "Upload failed" } = i ?? {}, { typography: { nameClassName: x = "dial-caption-text", metaClassName: S = "dial-caption-text" } = {}, className: C } = a ?? {}, { id: w, name: T, status: E, errorReason: D } = t, O = E === c.Loading, k = E === c.Error, A = Ne(), j = k ? D && (y?.[D] ?? Je[D]) || b : "", { BottomIcon: M, typeLabel: N } = Ve(t), P = !k && !O && o && !l, F = k && !!r && D !== e.UnsupportedType, I = P || F ? "pe-5" : void 0, L = (e) => {
201
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), n?.(t.id));
202
- }, R = W(() => s ? T : Ie(T), [s, T]), z = U(() => {
138
+ }, Ge = ({ attachment: t, searchQuery: n = "", onClick: r, onRetry: i, labels: a, styles: o, onDownload: s, isPasted: l, isLink: u, cssVars: f, onExpand: p, isExpandable: m, onRemove: h, isSelected: g }) => {
139
+ let { clickLabel: _ = "Download attachment", retryLabel: v = "Retry upload", sizeLabel: b, uploadingLabel: x = "Uploading", errorReasonLabels: S, genericErrorLabel: C = "Upload failed" } = a ?? {}, { typography: w, className: T } = o ?? {}, { id: E, name: D, status: O, errorReason: k } = t, j = O === c.Loading, M = O === c.Error, N = Ae(), P = M ? k && (S?.[k] ?? We[k]) || C : "", { BottomIcon: F, typeLabel: I } = Re(t), L = !M && !j && s && !u, R = M && !!i && k !== e.UnsupportedType, z = L || R ? "pe-5" : void 0, B = (e) => {
140
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), r?.(t.id));
141
+ }, V = je(() => l ? D : Ne(D), [l, D]), H = K(() => {
203
142
  window.open(t.referenceUrl, "_blank", "noopener,noreferrer");
204
- }, [t]), B = d(Fe, "group relative flex-col justify-between items-start gap-1 overflow-hidden p-1.5", X.tile, !k && X.tileLight, k && X.tileError), V = /* @__PURE__ */ q("div", {
205
- title: R,
206
- className: d(x, "line-clamp-2 min-w-0 break-all", X.nameText, !k && I),
207
- children: R
208
- }), ee = M && /* @__PURE__ */ J("div", {
209
- className: d("flex w-full items-center gap-1", k && I),
210
- children: [/* @__PURE__ */ q(M, {
143
+ }, [t]), U = d(ze, "group/attachment-tile relative flex-col justify-between items-start gap-1 overflow-hidden p-1.5", Z.tile, !M && Z.hovered, g && Z.selected, M && Z.tileError), W = /* @__PURE__ */ Y("div", {
144
+ title: V,
145
+ className: d(w?.nameClassName ?? "dial-caption-text", "line-clamp-2 min-w-0 break-all", Z.nameText, !M && z),
146
+ children: n ? /* @__PURE__ */ Y(y, {
147
+ text: V,
148
+ query: n,
149
+ maxLines: 2
150
+ }) : V
151
+ }), ee = F && /* @__PURE__ */ X("div", {
152
+ className: d("flex w-full items-center gap-1", M && z),
153
+ children: [/* @__PURE__ */ Y(F, {
211
154
  size: 16,
212
- className: X.typeText,
155
+ className: Z.typeText,
213
156
  "aria-hidden": !0
214
- }), /* @__PURE__ */ q("span", {
215
- className: d(S, "min-w-0 flex-1 truncate", X.typeText),
216
- children: _ ? `${N} · ${_}` : N
157
+ }), /* @__PURE__ */ Y("span", {
158
+ className: d(w?.metaClassName ?? "dial-caption-text", "min-w-0 flex-1 truncate", Z.typeText),
159
+ children: b ? `${I} · ${b}` : I
217
160
  })]
218
161
  }), te = () => {
219
- p && f ? f(w) : n && n(w);
220
- }, ne = /* @__PURE__ */ J(K, { children: [
221
- k ? /* @__PURE__ */ J(K, { children: [ee, V] }) : /* @__PURE__ */ J(K, { children: [V, ee] }),
222
- O && /* @__PURE__ */ q("div", {
223
- role: "progressbar",
224
- "aria-label": v,
225
- className: d("absolute inset-x-2 bottom-2 h-[3px] overflow-hidden rounded-full", X.track),
226
- children: /* @__PURE__ */ q("div", { className: d("h-full w-1/3 rounded-full", X.indeterminateFill) })
227
- }),
228
- P && /* @__PURE__ */ q(We, {
229
- ariaLabel: h,
230
- errorTitle: j,
231
- errorDescId: A,
232
- onClick: o,
233
- id: w
234
- }),
235
- F && /* @__PURE__ */ q(Ue, {
236
- ariaLabel: g,
237
- errorTitle: j,
238
- errorDescId: A,
239
- onClick: r,
240
- id: w
162
+ m && p ? p(E) : r && r(E);
163
+ }, ne = /* @__PURE__ */ X(J, { children: [
164
+ W,
165
+ ee,
166
+ j && /* @__PURE__ */ Y("div", {
167
+ "aria-label": x,
168
+ className: d("absolute left-[-1px] top-[-1px] flex size-full items-center justify-center rounded", Z.track),
169
+ children: /* @__PURE__ */ Y(A, { size: 32 })
241
170
  }),
242
- l && /* @__PURE__ */ q(Ge, {
243
- ariaLabel: g,
244
- errorTitle: j,
245
- errorDescId: A,
246
- onClick: z
247
- }),
248
- m && /* @__PURE__ */ q(Ke, {
249
- ariaLabel: g,
250
- errorTitle: j,
251
- errorDescId: A,
252
- onClick: m,
253
- id: w
171
+ /* @__PURE__ */ X("div", {
172
+ className: d("absolute right-0 top-0 flex gap-1"),
173
+ children: [
174
+ L && /* @__PURE__ */ Y(Ve, {
175
+ ariaLabel: _,
176
+ errorTitle: P,
177
+ errorDescId: N,
178
+ onClick: s,
179
+ id: E
180
+ }),
181
+ R && /* @__PURE__ */ Y(Be, {
182
+ ariaLabel: v,
183
+ errorTitle: P,
184
+ errorDescId: N,
185
+ onClick: i,
186
+ id: E
187
+ }),
188
+ u && /* @__PURE__ */ Y(He, {
189
+ ariaLabel: v,
190
+ errorTitle: P,
191
+ errorDescId: N,
192
+ onClick: H
193
+ }),
194
+ h && /* @__PURE__ */ Y(Ue, {
195
+ ariaLabel: v,
196
+ errorTitle: P,
197
+ errorDescId: N,
198
+ onClick: h,
199
+ id: E
200
+ })
201
+ ]
254
202
  }),
255
- k && /* @__PURE__ */ q("span", {
256
- id: A,
203
+ M && /* @__PURE__ */ Y("span", {
204
+ id: N,
257
205
  role: "status",
258
206
  "aria-live": "polite",
259
207
  className: "sr-only",
260
- children: j
208
+ children: P
261
209
  })
262
210
  ] });
263
- return /* @__PURE__ */ q("div", {
264
- style: u,
265
- className: d("inline-flex", C),
266
- children: /* @__PURE__ */ q("div", {
211
+ return /* @__PURE__ */ Y("div", {
212
+ style: f,
213
+ className: d("inline-flex", T),
214
+ children: /* @__PURE__ */ Y("div", {
267
215
  role: "button",
268
216
  tabIndex: 0,
269
- "aria-label": h,
217
+ "aria-label": _,
270
218
  onClick: te,
271
- onKeyDown: L,
272
- style: u,
273
- className: d(B, "cursor-pointer focus-within:outline focus-within:outline-1 focus-within:outline-offset-1"),
219
+ onKeyDown: B,
220
+ style: f,
221
+ className: d(U, "cursor-pointer focus-within:outline focus-within:outline-1 focus-within:outline-offset-1"),
274
222
  children: ne
275
223
  })
276
224
  });
277
- }, Xe = /* @__PURE__ */ function(e) {
225
+ }, Ke = /* @__PURE__ */ function(e) {
278
226
  return e.Idle = "idle", e.Loading = "loading", e.Loaded = "loaded", e.Error = "error", e;
279
- }({}), Ze = ({ enabled: e, src: t }) => {
280
- let n = Pe(null), [r, i] = G("idle");
281
- return Me(() => {
227
+ }({}), qe = ({ enabled: e, src: t }) => {
228
+ let n = Me(null), [r, i] = q("idle");
229
+ return ke(() => {
282
230
  i(e && t ? "loading" : "idle");
283
- }, [e, t]), Me(() => {
231
+ }, [e, t]), ke(() => {
284
232
  let r = n.current;
285
233
  if (!r || !e || !t) return;
286
234
  let a = () => i("loaded"), o = () => i("error");
@@ -291,240 +239,169 @@ var Fe = "flex size-[84px] items-center justify-center rounded-xl border", Y = /
291
239
  imageRef: n,
292
240
  imageLoadStatus: r
293
241
  };
294
- }, Qe = ({ attachment: e, onExpand: n, onClick: r, labels: i, onRemove: a, cssVars: o, onDownload: s, styles: c }) => {
295
- let { clickLabel: l = "Open attachment", expandLabel: u = "Expand pasted text" } = i ?? {}, { typography: f, className: m } = c ?? {}, { id: h, name: g } = e, _ = e.previewUrl ?? e.url, v = e.type === t.Pasted && n !== void 0, { isLoading: y, isError: b, isImage: x } = W(() => Ve(e), [e]), w = r !== void 0 && !v && !y && !b, { imageRef: T, imageLoadStatus: E } = Ze({
242
+ }, Je = ({ attachment: e, onExpand: n, onClick: r, labels: i, onRemove: a, cssVars: o, onDownload: s, styles: c, isSelected: l }) => {
243
+ let { clickLabel: u = "Open attachment", expandLabel: f = "Expand pasted text" } = i ?? {}, { className: m } = c ?? {}, { id: h, name: g } = e, _ = e.previewUrl ?? e.url, v = e.type === t.Pasted && n !== void 0, { isLoading: y, isError: b, isImage: x } = je(() => Re(e), [e]), S = r !== void 0 && !v && !y && !b, { imageRef: C, imageLoadStatus: w } = qe({
296
244
  enabled: x,
297
245
  src: _
298
- }), D = () => {
299
- v && n ? n(h) : w && r && r(h);
246
+ }), T = () => {
247
+ v && n ? n(h) : S && r && r(h);
300
248
  };
301
- return /* @__PURE__ */ q("div", {
302
- className: d(Fe, w && "cursor-pointer", X.tile, m),
303
- onClick: D,
249
+ return /* @__PURE__ */ Y("div", {
250
+ className: d(ze, "group/attachment-tile", S && "cursor-pointer", Z.tile, l && Z.selected, m),
251
+ onClick: T,
304
252
  onKeyDown: (e) => {
305
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), D());
253
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), T());
306
254
  },
307
255
  tabIndex: 0,
308
256
  role: "button",
309
257
  style: o,
310
- "aria-label": w ? l : v ? u : void 0,
311
- children: /* @__PURE__ */ J("div", {
258
+ "aria-label": S ? u : v ? f : void 0,
259
+ children: /* @__PURE__ */ X("div", {
312
260
  className: "relative h-full w-full overflow-hidden",
313
261
  children: [
314
- a && /* @__PURE__ */ q(Ke, {
262
+ a && /* @__PURE__ */ Y(Ue, {
315
263
  onClick: a,
316
- id: h
264
+ id: h,
265
+ className: Z.imageActionButton
317
266
  }),
318
- s && /* @__PURE__ */ q(We, {
267
+ s && /* @__PURE__ */ Y(Ve, {
319
268
  onClick: s,
320
- id: h
269
+ id: h,
270
+ className: Z.imageActionButton
321
271
  }),
322
- E !== Xe.Loaded && /* @__PURE__ */ q(S, {
323
- variant: C.Rectangular,
272
+ w !== Ke.Loaded && /* @__PURE__ */ Y(O, {
273
+ variant: k.Rectangular,
324
274
  width: "100%",
325
275
  height: "100%",
326
- active: E === Xe.Loading,
327
- overlay: /* @__PURE__ */ q(H, {
276
+ active: w === Ke.Loading,
277
+ overlay: /* @__PURE__ */ Y(G, {
328
278
  size: p.LG,
329
- className: f?.placeholderIconClassName ?? "text-secondary",
279
+ className: Z.typeText,
330
280
  "aria-hidden": !0
331
281
  }),
332
282
  className: "absolute inset-0 rounded-xl"
333
283
  }),
334
- /* @__PURE__ */ q("img", {
335
- ref: T,
284
+ /* @__PURE__ */ Y("img", {
285
+ ref: C,
336
286
  src: _,
337
287
  alt: g,
338
288
  loading: "lazy",
339
289
  decoding: "async",
340
- className: d("h-full w-full rounded-xl object-cover transition-opacity duration-200", E === Xe.Loaded ? "opacity-100" : "opacity-0")
290
+ className: d("h-full w-full rounded-xl object-cover transition-opacity duration-200", w === Ke.Loaded ? "opacity-100" : "opacity-0")
341
291
  })
342
292
  ]
343
293
  })
344
294
  });
345
- }, $e = ({ attachment: e, searchQuery: n = "", onRemove: r, onRetry: i, onExpand: a, onClick: o, onDownload: s, labels: c, styles: l }) => {
346
- let { colors: d } = l ?? {}, f = e.type === t.Pasted, p = f && a !== void 0, m = u({
347
- "--ci-tile-bg": d?.background,
348
- "--ci-tile-border": d?.border,
349
- "--ci-tile-border-hover": d?.borderHover,
350
- "--ci-tile-focus-outline": d?.focusOutline,
351
- "--ci-tile-bg-error": d?.backgroundError,
352
- "--ci-tile-border-error": d?.borderError,
353
- "--ci-tile-error-text": d?.errorText,
354
- "--ci-tile-name-text": d?.nameText,
355
- "--ci-tile-type-text": d?.typeText,
356
- "--ci-tile-hover-icon-bg": d?.hoverIconBackground,
357
- "--ci-tile-hover-icon-color": d?.hoverIconColor,
358
- "--ci-tile-track-bg": d?.trackBackground,
359
- "--ci-tile-fill-bg": d?.fillBackground
360
- }), { isImage: h, isAudio: g, isLink: _ } = W(() => Ve(e), [e]);
361
- return g ? /* @__PURE__ */ q(qe, {
362
- attachment: e,
363
- labels: c,
364
- onClick: o,
365
- onDownload: s,
366
- onRemove: r,
367
- searchQuery: n,
368
- styles: l,
369
- cssVars: m
370
- }) : h ? /* @__PURE__ */ q(Qe, {
295
+ }, Ye = ({ attachment: e, searchQuery: n = "", onRemove: r, onRetry: i, onExpand: a, onClick: o, onDownload: s, labels: c, styles: l, isSelected: d }) => {
296
+ let { colors: f } = l ?? {}, p = e.type === t.Pasted, m = p && a !== void 0, h = u({
297
+ "--ai-tile-bg": f?.background,
298
+ "--ai-tile-border": f?.border,
299
+ "--ai-tile-bg-hover": f?.backgroundHover,
300
+ "--ai-tile-border-hover": f?.borderHover,
301
+ "--ai-tile-bg-selected": f?.backgroundSelected,
302
+ "--ai-tile-border-selected": f?.borderSelected,
303
+ "--ai-tile-focus-outline": f?.focusOutline,
304
+ "--ai-tile-bg-error": f?.backgroundError,
305
+ "--ai-tile-border-error": f?.borderError,
306
+ "--ai-tile-error-text": f?.errorText,
307
+ "--ai-tile-name-text": f?.nameText,
308
+ "--ai-tile-type-text": f?.typeText,
309
+ "--ai-tile-hover-icon-bg": f?.hoverIconBackground,
310
+ "--ai-tile-hover-icon-color": f?.hoverIconColor,
311
+ "--ai-tile-progress-track": f?.trackBackground
312
+ }), { isImage: g, isLink: _ } = je(() => Re(e), [e]);
313
+ return g ? /* @__PURE__ */ Y(Je, {
371
314
  attachment: e,
372
315
  labels: c,
373
316
  onClick: o,
374
317
  onExpand: a,
375
318
  styles: l,
376
319
  onRemove: r,
377
- cssVars: m,
378
- onDownload: s
379
- }) : /* @__PURE__ */ q(Ye, {
320
+ cssVars: h,
321
+ onDownload: s,
322
+ isSelected: d
323
+ }) : /* @__PURE__ */ Y(Ge, {
380
324
  attachment: e,
325
+ searchQuery: n,
381
326
  onClick: o,
382
327
  onRetry: i,
383
328
  onRemove: r,
384
329
  onDownload: s,
385
330
  isLink: _,
386
- isPasted: f,
331
+ isPasted: p,
387
332
  styles: l,
388
333
  labels: c,
389
334
  onExpand: a,
390
- cssVars: m,
391
- isExpandable: p
335
+ cssVars: h,
336
+ isExpandable: m,
337
+ isSelected: d
392
338
  });
393
- }, et = { tile: "_tile_nzsrz_1" }, tt = ({ count: e, onClick: t, labels: n, children: r, styles: i }) => {
394
- let { ariaLabel: a } = n ?? {}, { typography: { fontClassName: o = "dial-small-semi-text" } = {}, className: s, colors: c } = i ?? {}, l = u({
395
- "--ci-more-tile-bg": c?.background,
396
- "--ci-more-tile-border": c?.border,
397
- "--ci-more-tile-color": c?.color,
398
- "--ci-more-tile-bg-hover": c?.backgroundHover,
399
- "--ci-more-tile-color-hover": c?.colorHover,
400
- "--ci-more-tile-border-hover": c?.borderHover,
401
- "--ci-more-tile-focus-outline": c?.focusOutline
402
- });
403
- return /* @__PURE__ */ q("button", {
404
- type: "button",
405
- onClick: t,
406
- "aria-label": a ?? `Show ${e} more attachments`,
407
- style: l,
408
- className: d(Fe, o, et.tile, s),
409
- children: r ?? /* @__PURE__ */ q("bdi", {
410
- dir: "ltr",
411
- children: `+${e}`
412
- })
413
- });
414
- }, Q = {
415
- container: "_container_7fktb_1",
416
- headerIcon: "_headerIcon_7fktb_6",
417
- headerLabel: "_headerLabel_7fktb_7",
418
- downloadAllButton: "_downloadAllButton_7fktb_8",
419
- imageTile: "_imageTile_7fktb_12"
420
- }, nt = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`, rt = ({ attachments: e, onAttachmentClick: n, onDownloadAll: r, onRetry: i, labels: a, styles: o }) => {
421
- let { ariaLabel: s = "Attachments", clickLabel: l = "Download attachment", retryLabel: f = "Retry upload", showLessLabel: h = "Show less", downloadAllLabel: g = "Download all", openInNewTabLabel: _, getHeaderLabel: v = (e) => nt(e, "attachment"), promptLabel: y, pastedLabel: b, imageLabel: x } = a ?? {}, { typography: { headerLabelClassName: S = "dial-tiny-semi-text" } = {}, colors: C, className: w } = o ?? {}, T = u({
422
- "--ci-group-bg": C?.background,
423
- "--ci-group-border": C?.border,
424
- "--ci-group-text": C?.text
425
- }), [E, D] = G(!1), O = W(() => He(e.length, E), [e.length, E]);
339
+ }, Xe = {
340
+ headerIcon: "_headerIcon_1dmgi_1",
341
+ headerLabel: "_headerLabel_1dmgi_2"
342
+ }, Ze = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`, Qe = ({ attachments: e, onAttachmentClick: n, onDownloadAll: r, onRetry: i, labels: a, styles: o, selectedAttachmentId: s }) => {
343
+ let { ariaLabel: l = "Attachments", clickLabel: f = "Download attachment", retryLabel: m = "Retry upload", downloadAllLabel: h = "Download all", openInNewTabLabel: g, getHeaderLabel: y = (e) => Ze(e, "attachment"), promptLabel: b, pastedLabel: x, imageLabel: S } = a ?? {}, { typography: C, colors: w, className: T } = o ?? {}, E = u({ "--ai-group-text": w?.text });
426
344
  if (e.length === 0) return null;
427
- let k = e.some((e) => e.type === t.Image), A = e.some((e) => e.type !== t.Image), j = k && A, N = e.length >= 5, P = j ? xe : k ? H : L, I = v(e.length), R = e.slice(0, O.visibleCount), z = () => {
345
+ let D = e.some((e) => e.type === t.Image), O = e.some((e) => e.type !== t.Image), k = D && O, A = e.length >= 5, j = k ? ve : D ? G : L, M = y(e.length), N = () => {
428
346
  let t = e.filter((e) => e.status === c.Idle);
429
347
  r ? r(t) : t.forEach((e) => n?.(e.id));
430
- }, B = (t) => {
348
+ }, P = (t) => {
431
349
  let n = e.find((e) => e.id === t);
432
350
  n && r?.([n]);
433
351
  };
434
- return /* @__PURE__ */ J("div", {
352
+ return /* @__PURE__ */ X("div", {
435
353
  role: "group",
436
- "aria-label": s,
437
- style: T,
438
- className: d("rounded-2xl border p-3", N ? "w-full min-w-0 max-w-[492px]" : "max-w-[420px]", Q.container, w),
439
- children: [/* @__PURE__ */ J("div", {
440
- className: "mb-3 flex min-h-6 items-center gap-2",
441
- children: [
442
- /* @__PURE__ */ q(P, {
354
+ "aria-label": l,
355
+ style: E,
356
+ className: d("flex flex-col gap-1", A ? "w-full min-w-0 max-w-[492px]" : "max-w-[420px]", Xe.container, T),
357
+ children: [/* @__PURE__ */ X("div", {
358
+ className: "flex items-center justify-between",
359
+ children: [/* @__PURE__ */ X("div", {
360
+ className: "flex items-center gap-1",
361
+ children: [/* @__PURE__ */ Y(j, {
362
+ size: p.SM,
363
+ className: d("shrink-0", Xe.headerIcon),
364
+ "aria-hidden": !0
365
+ }), /* @__PURE__ */ Y("span", {
366
+ className: d(C?.headerLabelClassName ?? "dial-tiny-semi-text", Xe.headerLabel),
367
+ children: M
368
+ })]
369
+ }), e.length >= 2 && (r || n) && /* @__PURE__ */ Y(v, {
370
+ icon: /* @__PURE__ */ Y(F, {
443
371
  size: p.SM,
444
- className: d("shrink-0", Q.headerIcon),
445
372
  "aria-hidden": !0
446
373
  }),
447
- /* @__PURE__ */ q("span", {
448
- className: d(S, Q.headerLabel),
449
- children: I
450
- }),
451
- e.length >= 2 && (r || n) && /* @__PURE__ */ q(m, {
452
- icon: /* @__PURE__ */ q(F, {
453
- size: p.SM,
454
- "aria-hidden": !0
455
- }),
456
- className: d("ms-auto h-6 w-6 rounded-lg", Q.downloadAllButton),
457
- "aria-label": g,
458
- onClick: z
459
- })
460
- ]
461
- }), /* @__PURE__ */ J("div", {
374
+ size: _.Small,
375
+ "aria-label": h,
376
+ onClick: N
377
+ })]
378
+ }), /* @__PURE__ */ Y("div", {
462
379
  role: "list",
463
- "aria-label": I,
464
- className: d("gap-3", N ? "grid grid-cols-[repeat(5,83px)] overflow-x-auto" : "flex flex-wrap"),
465
- children: [
466
- R.map((e) => /* @__PURE__ */ q("div", {
467
- role: "listitem",
468
- children: /* @__PURE__ */ q($e, {
469
- attachment: e,
470
- onClick: n,
471
- onDownload: B,
472
- onRetry: i,
473
- labels: {
474
- clickLabel: l,
475
- retryLabel: f,
476
- promptLabel: y,
477
- pastedLabel: b,
478
- imageLabel: x,
479
- openInNewTabLabel: _
480
- }
481
- })
482
- }, e.id)),
483
- O.layout === Y.Collapsed && /* @__PURE__ */ q("div", {
484
- role: "listitem",
485
- children: /* @__PURE__ */ q(tt, {
486
- count: O.hiddenCount,
487
- onClick: () => D(!0)
488
- })
489
- }),
490
- N && E && /* @__PURE__ */ q("div", {
491
- role: "listitem",
492
- children: /* @__PURE__ */ q(tt, {
493
- count: 0,
494
- onClick: () => D(!1),
495
- labels: { ariaLabel: h },
496
- children: /* @__PURE__ */ q(M, {
497
- size: p.MD,
498
- "aria-hidden": !0
499
- })
500
- })
380
+ "aria-label": M,
381
+ className: d("gap-3", A ? "grid grid-cols-[repeat(5,83px)]" : "flex flex-wrap"),
382
+ children: e.map((e, t) => /* @__PURE__ */ Y("div", {
383
+ role: "listitem",
384
+ children: /* @__PURE__ */ Y(Ye, {
385
+ attachment: e,
386
+ onClick: n,
387
+ onDownload: P,
388
+ onRetry: i,
389
+ labels: {
390
+ clickLabel: f,
391
+ retryLabel: m,
392
+ promptLabel: b,
393
+ pastedLabel: x,
394
+ imageLabel: S,
395
+ openInNewTabLabel: g
396
+ },
397
+ isSelected: e.id === s
501
398
  })
502
- ]
399
+ }, `${e.id}-${t}`))
503
400
  })]
504
401
  });
505
- }, it = {
506
- tabContainer: "_tabContainer_rzv03_1",
507
- tabActive: "_tabActive_rzv03_13"
508
- };
509
- je(({ tabs: e, activeTabId: t, onTabChange: n, styles: r }) => {
510
- let { tabClassName: i = "dial-tiny-semi-text" } = r?.typography ?? {};
511
- return /* @__PURE__ */ q("div", {
512
- className: "flex flex-nowrap gap-1",
513
- children: e.map((e) => {
514
- let r = t === e.id;
515
- return /* @__PURE__ */ q(T, {
516
- label: e.label,
517
- selected: r,
518
- onClick: () => n(e.id),
519
- "aria-selected": r,
520
- className: d("box-border h-auto shrink-0 justify-center rounded-full p-2 text-center", i, it.tabContainer, r && it.tabActive)
521
- }, e.id);
522
- })
523
- });
524
- });
525
- var at = (e) => /* @__PURE__ */ q(y, { ...e }), ot = ({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemperature: r, onSave: i, onClose: a, isOpen: o }) => {
526
- let [s, c] = G(t), [l, u] = G(n), [d, f] = G(r), p = Pe(o);
527
- Me(() => {
402
+ }, $e = ({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemperature: r, onSave: i, onClose: a, isOpen: o }) => {
403
+ let [s, c] = q(t), [l, u] = q(n), [d, f] = q(r), p = Me(o);
404
+ ke(() => {
528
405
  o && !p.current && (c(t), u(n), f(r)), p.current = o;
529
406
  }, [
530
407
  o,
@@ -541,7 +418,7 @@ var at = (e) => /* @__PURE__ */ q(y, { ...e }), ot = ({ features: e, initialResp
541
418
  setResponseFormat: c,
542
419
  setSystemPrompt: u,
543
420
  setTemperature: f,
544
- handleSubmit: U(() => {
421
+ handleSubmit: K(() => {
545
422
  if (!m) return;
546
423
  let t = {};
547
424
  e.responseFormat && s != null && (t.responseFormat = s), e.systemPrompt && (t.systemPrompt = l), e.temperature && (t.temperature = d), i(t), a();
@@ -555,55 +432,59 @@ var at = (e) => /* @__PURE__ */ q(y, { ...e }), ot = ({ features: e, initialResp
555
432
  a
556
433
  ])
557
434
  };
558
- }, st = "!dial-small-semi-text !text-primary gap-1", ct = ({ features: e, responseFormat: t, systemPrompt: n, temperature: r, onResponseFormatChange: i, onSystemPromptChange: a, onTemperatureChange: o, responseFormatLabel: s = "Response format", responseFormatHint: c = "Applies to new and existing messages", responseFormatMarkdownLabel: u = "Markdown", responseFormatPlainTextLabel: d = "Plain text", systemPromptLabel: f = "System prompt", systemPromptTooltip: p = "Enter a prompt", temperatureLabel: m = "Temperature", temperatureLabels: g = [
435
+ }, et = { label: "_label_14i7c_1" }, tt = ({ features: e, responseFormat: t, systemPrompt: n, temperature: r, onResponseFormatChange: i, onSystemPromptChange: a, onTemperatureChange: o, responseFormatLabel: s = "Response format", responseFormatHint: c = "Applies to new and existing messages", responseFormatMarkdownLabel: f = "Markdown", responseFormatPlainTextLabel: p = "Plain text", systemPromptLabel: g = "System prompt", systemPromptTooltip: _ = "Enter a prompt", temperatureLabel: v = "Temperature", temperatureLabels: y = [
559
436
  "Precise",
560
437
  "Neutral",
561
438
  "Creative"
562
- ], temperatureHint: _ }) => /* @__PURE__ */ J("div", {
563
- className: "flex flex-col gap-4 px-6 py-3",
564
- children: [
565
- e.responseFormat && /* @__PURE__ */ q(b, {
566
- fieldTitle: s,
567
- labelClassName: st,
568
- elementId: "response-format",
569
- orientation: k.Column,
570
- activeRadioButton: t ?? l.Markdown,
571
- labelDescription: c,
572
- radioButtons: [{
573
- id: l.Markdown,
574
- name: u
575
- }, {
576
- id: l.PlainText,
577
- name: d
578
- }],
579
- onChange: (e) => i(e)
580
- }),
581
- e.systemPrompt && /* @__PURE__ */ q(h, {
582
- value: n,
583
- placeholder: p,
584
- labelProps: {
585
- className: st,
586
- label: f
587
- },
588
- onChange: (e) => a(e ?? "")
589
- }),
590
- e.temperature && /* @__PURE__ */ q(w, {
591
- labelProps: {
592
- label: m,
593
- className: st,
594
- caption: _
595
- },
596
- value: r,
597
- min: 0,
598
- max: 1,
599
- step: .1,
600
- labels: g,
601
- onChange: o
602
- })
603
- ]
604
- });
605
- je(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemperature: r, onSave: i, onClose: a, title: o = "Chat settings", responseFormatLabel: s, responseFormatHint: c, responseFormatMarkdownLabel: l, responseFormatPlainTextLabel: u, systemPromptLabel: d, systemPromptTooltip: f, temperatureLabel: p, temperatureLabels: m, temperatureHint: h, saveLabel: g = "Apply changes", saveDisabledTooltip: _ }) => {
606
- let { responseFormat: y, systemPrompt: b, temperature: x, canSubmit: S, setResponseFormat: C, setSystemPrompt: w, setTemperature: T, handleSubmit: D } = ot({
439
+ ], temperatureHint: b, labelClassName: S = "!dial-small-semi-text", colors: C }) => {
440
+ let w = u({ "--csf-label-text": C?.labelText }), T = d(S, et.label, "gap-1");
441
+ return /* @__PURE__ */ X("div", {
442
+ className: "flex flex-col gap-4 px-6 py-3",
443
+ style: w,
444
+ children: [
445
+ e.responseFormat && /* @__PURE__ */ Y(m, {
446
+ fieldTitle: s,
447
+ labelClassName: T,
448
+ elementId: "response-format",
449
+ orientation: D.Column,
450
+ activeRadioButton: t ?? l.Markdown,
451
+ labelDescription: c,
452
+ radioButtons: [{
453
+ id: l.Markdown,
454
+ name: f
455
+ }, {
456
+ id: l.PlainText,
457
+ name: p
458
+ }],
459
+ onChange: (e) => i(e)
460
+ }),
461
+ e.systemPrompt && /* @__PURE__ */ Y(x, {
462
+ value: n,
463
+ placeholder: _,
464
+ labelProps: {
465
+ className: T,
466
+ label: g
467
+ },
468
+ onChange: (e) => a(e ?? "")
469
+ }),
470
+ e.temperature && /* @__PURE__ */ Y(h, {
471
+ labelProps: {
472
+ label: v,
473
+ className: T,
474
+ caption: b
475
+ },
476
+ value: r,
477
+ min: 0,
478
+ max: 1,
479
+ step: .1,
480
+ labels: y,
481
+ onChange: o
482
+ })
483
+ ]
484
+ });
485
+ }, nt = { modal: "_modal_od073_1" };
486
+ Oe(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemperature: r, onSave: i, onClose: a, title: o = "Chat settings", responseFormatLabel: s, responseFormatHint: c, responseFormatMarkdownLabel: l, responseFormatPlainTextLabel: u, systemPromptLabel: d, systemPromptTooltip: f, temperatureLabel: p, temperatureLabels: m, temperatureHint: h, saveLabel: _ = "Apply changes", saveDisabledTooltip: v, backgroundClassName: y = nt.modal }) => {
487
+ let { responseFormat: b, systemPrompt: x, temperature: S, canSubmit: C, setResponseFormat: D, setSystemPrompt: O, setTemperature: k, handleSubmit: A } = $e({
607
488
  features: e,
608
489
  initialResponseFormat: t,
609
490
  initialSystemPrompt: n,
@@ -611,32 +492,32 @@ je(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemp
611
492
  onSave: i,
612
493
  onClose: a
613
494
  });
614
- return /* @__PURE__ */ q(v, {
495
+ return /* @__PURE__ */ Y(w, {
615
496
  open: !0,
616
497
  header: o,
617
- size: O.Sm,
498
+ size: T.Sm,
618
499
  onClose: a,
619
- className: "!bg-layer-2",
620
- footer: /* @__PURE__ */ q("div", {
500
+ className: y,
501
+ footer: /* @__PURE__ */ Y("div", {
621
502
  className: "flex justify-end px-6 py-4",
622
- children: /* @__PURE__ */ q(E, {
623
- tooltip: _,
624
- hideTooltip: S || !_,
625
- children: /* @__PURE__ */ q(at, {
626
- label: g,
627
- onClick: D,
628
- disabled: !S
503
+ children: /* @__PURE__ */ Y(g, {
504
+ tooltip: v,
505
+ hideTooltip: C || !v,
506
+ children: /* @__PURE__ */ Y(E, {
507
+ label: _,
508
+ onClick: A,
509
+ disabled: !C
629
510
  })
630
511
  })
631
512
  }),
632
- children: /* @__PURE__ */ q(ct, {
513
+ children: /* @__PURE__ */ Y(tt, {
633
514
  features: e,
634
- responseFormat: y,
635
- systemPrompt: b,
636
- temperature: x,
637
- onResponseFormatChange: C,
638
- onSystemPromptChange: w,
639
- onTemperatureChange: T,
515
+ responseFormat: b,
516
+ systemPrompt: x,
517
+ temperature: S,
518
+ onResponseFormatChange: D,
519
+ onSystemPromptChange: O,
520
+ onTemperatureChange: k,
640
521
  responseFormatLabel: s,
641
522
  responseFormatHint: c,
642
523
  responseFormatMarkdownLabel: l,
@@ -649,167 +530,169 @@ je(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemp
649
530
  })
650
531
  });
651
532
  });
652
- //#endregion
653
- //#region src/components/MessageActions/MessageActions.tsx
654
- var lt = 2e3, ut = ({ role: e = s.User, onEdit: t, onEditHover: n, onDelete: r, onRegenerate: i, onCopy: a, onCopyMarkdown: c, onLike: l, onDislike: u, activeRating: f, isAlwaysVisible: h, className: g, labels: _ }) => {
655
- let { tooltips: v, ariaLabels: y } = _ ?? {}, [b, x] = G(null), [S, C] = G(""), w = U(() => {
656
- a?.(), x("copy"), C(y?.copiedStatus ?? "Copied to clipboard"), setTimeout(() => x(null), lt);
657
- }, [a, y?.copiedStatus]), T = U(() => {
658
- c?.(), x("markdown"), C(y?.copiedMarkdownStatus ?? "Copied as Markdown to clipboard"), setTimeout(() => x(null), lt);
659
- }, [c, y?.copiedMarkdownStatus]);
660
- return /* @__PURE__ */ J("div", {
533
+ var rt = { activeRating: "_activeRating_7jito_1" }, it = 2e3, at = ({ role: e = s.User, onEdit: t, onEditHover: r, onDelete: i, onRegenerate: a, onCopy: c, onCopyMarkdown: l, onLike: f, onDislike: m, activeRating: h, isAlwaysVisible: g, className: y, labels: b, colors: x }) => {
534
+ let { tooltips: S, ariaLabels: C } = b ?? {}, [w, T] = q(null), [E, D] = q(""), O = u({ "--ma-active-rating-text": x?.activeRatingText }), k = K(() => {
535
+ c?.(), T("copy"), D(C?.copiedStatus ?? "Copied to clipboard"), setTimeout(() => T(null), it);
536
+ }, [c, C?.copiedStatus]), A = K(() => {
537
+ l?.(), T("markdown"), D(C?.copiedMarkdownStatus ?? "Copied as Markdown to clipboard"), setTimeout(() => T(null), it);
538
+ }, [l, C?.copiedMarkdownStatus]);
539
+ return /* @__PURE__ */ X("div", {
661
540
  role: "toolbar",
662
- "aria-label": y?.actionsGroup ?? "Message actions",
663
- className: d("flex gap-1", !h && "opacity-0 group-hover:opacity-100", g),
664
- children: [/* @__PURE__ */ q("span", {
541
+ "aria-label": C?.actionsGroup ?? "Message actions",
542
+ style: O,
543
+ className: d("flex gap-1", !g && "opacity-0 group-hover:opacity-100", y),
544
+ children: [/* @__PURE__ */ Y("span", {
665
545
  role: "status",
666
546
  "aria-live": "polite",
667
547
  className: "sr-only",
668
- children: S
669
- }), e === s.User ? /* @__PURE__ */ J(K, { children: [t && /* @__PURE__ */ q(m, {
670
- icon: /* @__PURE__ */ q(Se, {
548
+ children: E
549
+ }), e === s.User ? /* @__PURE__ */ X(J, { children: [t && /* @__PURE__ */ Y(v, {
550
+ icon: /* @__PURE__ */ Y(ye, {
671
551
  size: p.SM,
672
552
  "aria-hidden": !0
673
553
  }),
674
- size: D.Small,
675
- "aria-label": y?.editMessage ?? "Edit message",
676
- tooltipProps: { tooltip: v?.edit ?? "Edit" },
554
+ size: _.Small,
555
+ "aria-label": C?.editMessage ?? "Edit message",
556
+ tooltipProps: { tooltip: S?.edit ?? "Edit" },
677
557
  onClick: t,
678
- onMouseEnter: n,
679
- onFocus: n
680
- }), r && /* @__PURE__ */ q(m, {
681
- icon: /* @__PURE__ */ q(Oe, {
558
+ onMouseEnter: r,
559
+ onFocus: r
560
+ }), i && /* @__PURE__ */ Y(v, {
561
+ icon: /* @__PURE__ */ Y(Te, {
682
562
  size: p.SM,
683
563
  "aria-hidden": !0
684
564
  }),
685
- size: D.Small,
686
- "aria-label": y?.deleteMessage ?? "Delete message",
687
- tooltipProps: { tooltip: v?.delete ?? "Delete" },
688
- onClick: r
689
- })] }) : /* @__PURE__ */ J(K, { children: [
690
- i && /* @__PURE__ */ q(m, {
691
- icon: /* @__PURE__ */ q(Ce, {
565
+ size: _.Small,
566
+ "aria-label": C?.deleteMessage ?? "Delete message",
567
+ tooltipProps: { tooltip: S?.delete ?? "Delete" },
568
+ onClick: i
569
+ })] }) : /* @__PURE__ */ X(J, { children: [
570
+ a && /* @__PURE__ */ Y(v, {
571
+ icon: /* @__PURE__ */ Y(be, {
692
572
  size: p.SM,
693
573
  "aria-hidden": !0
694
574
  }),
695
- size: D.Small,
696
- "aria-label": y?.regenerateResponse ?? "Regenerate response",
697
- tooltipProps: { tooltip: v?.regenerate ?? "Regenerate" },
698
- onClick: i
575
+ size: _.Small,
576
+ "aria-label": C?.regenerateResponse ?? "Regenerate response",
577
+ tooltipProps: { tooltip: S?.regenerate ?? "Regenerate" },
578
+ onClick: a
699
579
  }),
700
- a && /* @__PURE__ */ q(m, {
701
- icon: q(b === "copy" ? A : P, {
702
- size: p.SM,
703
- "aria-hidden": !0
704
- }),
705
- size: D.Small,
706
- "aria-label": y?.copyResponse ?? "Copy response",
707
- tooltipProps: { tooltip: b === "copy" ? v?.copied ?? "Copied!" : v?.copy ?? "Copy" },
708
- onClick: w
580
+ c && /* @__PURE__ */ Y(n, {
581
+ iconSize: p.SM,
582
+ onClick: k,
583
+ size: _.Small,
584
+ isCopied: w === "copy",
585
+ copyLabel: S?.copy ?? "Copy",
586
+ copiedLabel: S?.copied ?? "Copied!",
587
+ ariaLabel: C?.copyResponse ?? "Copy response"
709
588
  }),
710
- c && /* @__PURE__ */ q(m, {
711
- icon: q(b === "markdown" ? A : ye, {
589
+ l && /* @__PURE__ */ Y(n, {
590
+ iconSize: p.SM,
591
+ onClick: A,
592
+ size: _.Small,
593
+ isCopied: w === "markdown",
594
+ iconCopy: /* @__PURE__ */ Y(ge, {
712
595
  size: p.SM,
713
596
  "aria-hidden": !0
714
597
  }),
715
- size: D.Small,
716
- "aria-label": y?.copyAsMarkdown ?? "Copy as markdown",
717
- tooltipProps: { tooltip: b === "markdown" ? v?.copiedMarkdown ?? "Copied!" : v?.copyMarkdown ?? "Copy as Markdown" },
718
- onClick: T
598
+ copyLabel: S?.copyMarkdown ?? "Copy as Markdown",
599
+ copiedLabel: S?.copiedMarkdown ?? "Copied!",
600
+ ariaLabel: C?.copyAsMarkdown ?? "Copy as markdown"
719
601
  }),
720
- l && /* @__PURE__ */ q(m, {
721
- icon: /* @__PURE__ */ q(De, {
602
+ f && /* @__PURE__ */ Y(v, {
603
+ icon: /* @__PURE__ */ Y(we, {
722
604
  size: p.SM,
723
605
  "aria-hidden": !0
724
606
  }),
725
- size: D.Small,
726
- "aria-label": y?.likeResponse ?? "Like response",
727
- "aria-pressed": f === o.Like,
728
- className: f === o.Like ? "!text-accent-primary" : void 0,
729
- tooltipProps: { tooltip: v?.like ?? "Like" },
730
- onClick: l
607
+ size: _.Small,
608
+ "aria-label": C?.likeResponse ?? "Like response",
609
+ "aria-pressed": h === o.Like,
610
+ className: h === o.Like ? rt.activeRating : void 0,
611
+ tooltipProps: { tooltip: S?.like ?? "Like" },
612
+ onClick: f
731
613
  }),
732
- u && /* @__PURE__ */ q(m, {
733
- icon: /* @__PURE__ */ q(Ee, {
614
+ m && /* @__PURE__ */ Y(v, {
615
+ icon: /* @__PURE__ */ Y(Ce, {
734
616
  size: p.SM,
735
617
  "aria-hidden": !0
736
618
  }),
737
- size: D.Small,
738
- "aria-label": y?.dislikeResponse ?? "Dislike response",
739
- "aria-pressed": f === o.Dislike,
740
- className: f === o.Dislike ? "!text-accent-primary" : void 0,
741
- tooltipProps: { tooltip: v?.dislike ?? "Dislike" },
742
- onClick: u
619
+ size: _.Small,
620
+ "aria-label": C?.dislikeResponse ?? "Dislike response",
621
+ "aria-pressed": h === o.Dislike,
622
+ className: h === o.Dislike ? rt.activeRating : void 0,
623
+ tooltipProps: { tooltip: S?.dislike ?? "Dislike" },
624
+ onClick: m
743
625
  })
744
626
  ] })]
745
627
  });
746
628
  }, $ = {
747
- userBubble: "_userBubble_1exhl_1",
748
- collapsibleText: "_collapsibleText_1exhl_6",
749
- expandedText: "_expandedText_1exhl_11",
750
- collapsedText: "_collapsedText_1exhl_15",
751
- startersDivider: "_startersDivider_1exhl_26",
752
- text: "_text_1exhl_30"
753
- }, dt = ({ text: e, styles: r, actions: a, hasAlwaysVisibleActions: o, isStreaming: c, attachments: l, afterContent: f, starters: p, onSelectStarter: m, deploymentIconUrl: h, deploymentDisplayName: g, markdownComponents: _, onAttachmentClick: v, onDownloadAll: y, onAttachmentRetry: b, codeBlockTheme: S, labels: C }) => {
754
- let { colors: w, typography: T, className: E, bubbleClassName: D } = r ?? {}, { attachmentClickLabel: O, attachmentRetryLabel: k, attachmentOpenInNewTabLabel: A, startersAriaLabel: j = "Quick reply buttons", thinkingLabel: M, codeBlockCopyLabel: N, codeBlockCopiedLabel: P, assistantMessageAriaLabel: F = "Assistant message", deploymentIconFallbackLabel: I = "AI" } = C ?? {}, L = c ? (l ?? []).filter((e) => e.type !== t.Audio) : l ?? [], R = u({
755
- "--cm-bubble-text": w?.text,
756
- "--cm-starters-divider": w?.startersDivider
757
- }), z = d($.text, T?.fontClassName), B = !!(h || g);
758
- return /* @__PURE__ */ J("div", {
629
+ userBubble: "_userBubble_ovjc1_1",
630
+ collapsibleText: "_collapsibleText_ovjc1_6",
631
+ expandedText: "_expandedText_ovjc1_11",
632
+ collapsedText: "_collapsedText_ovjc1_15",
633
+ startersDivider: "_startersDivider_ovjc1_26",
634
+ text: "_text_ovjc1_30"
635
+ }, ot = ({ text: e, styles: n, actions: a, hasAlwaysVisibleActions: o, isStreaming: c, attachments: l, afterContent: f, starters: p, onSelectStarter: m, deploymentIconUrl: h, deploymentDisplayName: g, markdownComponents: _, onAttachmentClick: v, onDownloadAll: y, onAttachmentRetry: b, codeBlockTheme: x, labels: S, selectedAttachmentId: w }) => {
636
+ let { colors: T, typography: E, className: D, bubbleClassName: O } = n ?? {}, { attachmentClickLabel: k, attachmentRetryLabel: A, attachmentOpenInNewTabLabel: j, startersAriaLabel: M = "Quick reply buttons", thinkingLabel: N, codeBlockCopyLabel: P, codeBlockCopiedLabel: F, assistantMessageAriaLabel: I = "Assistant message", deploymentIconFallbackLabel: L = "AI" } = S ?? {}, R = c ? (l ?? []).filter((e) => e.type !== t.Audio) : l ?? [], z = u({
637
+ "--cm-bubble-text": T?.text,
638
+ "--cm-starters-divider": T?.startersDivider
639
+ }), B = d($.text, E?.fontClassName), V = !!(h || g);
640
+ return /* @__PURE__ */ X("div", {
759
641
  role: "group",
760
- "aria-label": F,
761
- style: R,
762
- className: d("flex w-full items-start gap-3", E),
763
- children: [B && /* @__PURE__ */ q(n, {
642
+ "aria-label": I,
643
+ style: z,
644
+ className: d("flex w-full items-start gap-3", D),
645
+ children: [V && /* @__PURE__ */ Y(r, {
764
646
  src: h,
765
647
  size: 28,
766
- initialsName: g || I,
767
- labels: { tooltip: g ?? I }
768
- }), /* @__PURE__ */ J("div", {
648
+ initialsName: g || L,
649
+ labels: { tooltip: g ?? L }
650
+ }), /* @__PURE__ */ X("div", {
769
651
  className: "flex w-full min-w-0 max-w-full flex-col items-start gap-5",
770
- children: [/* @__PURE__ */ J("div", {
771
- className: d("flex w-full min-w-0 max-w-full flex-col items-start gap-4", D),
652
+ children: [/* @__PURE__ */ X("div", {
653
+ className: d("flex w-full min-w-0 max-w-full flex-col items-start gap-4", O),
772
654
  children: [
773
- (e || c) && /* @__PURE__ */ q("div", {
655
+ (e || c) && /* @__PURE__ */ Y("div", {
774
656
  "aria-live": "polite",
775
657
  "aria-atomic": "false",
776
- className: d(z, "min-w-0 max-w-full text-start"),
777
- children: /* @__PURE__ */ q(i, {
658
+ className: d(B, "min-w-0 max-w-full text-start"),
659
+ children: /* @__PURE__ */ Y(i, {
778
660
  content: e,
779
661
  isStreaming: c,
780
- thinkingLabel: M,
662
+ thinkingLabel: N,
781
663
  components: _,
782
- codeBlockCopyLabel: N,
783
- codeBlockCopiedLabel: P,
784
- codeBlockTheme: S
664
+ codeBlockCopyLabel: P,
665
+ codeBlockCopiedLabel: F,
666
+ codeBlockTheme: x
785
667
  })
786
668
  }),
787
- /* @__PURE__ */ q(rt, {
788
- attachments: L,
669
+ /* @__PURE__ */ Y(Qe, {
670
+ attachments: R,
789
671
  onAttachmentClick: (e) => v?.(l?.find((t) => t.id === e)),
790
672
  onDownloadAll: y,
791
673
  onRetry: b,
792
674
  labels: {
793
- clickLabel: O,
794
- retryLabel: k,
795
- openInNewTabLabel: A
796
- }
675
+ clickLabel: k,
676
+ retryLabel: A,
677
+ openInNewTabLabel: j
678
+ },
679
+ selectedAttachmentId: w
797
680
  }),
798
681
  f,
799
- /* @__PURE__ */ q(ut, {
682
+ /* @__PURE__ */ Y(at, {
800
683
  ...a,
801
684
  isAlwaysVisible: o,
802
685
  role: s.Assistant
803
686
  })
804
687
  ]
805
- }), p && p.length > 0 && m && /* @__PURE__ */ q("div", {
688
+ }), p && p.length > 0 && m && /* @__PURE__ */ Y("div", {
806
689
  role: "list",
807
- "aria-label": j,
690
+ "aria-label": M,
808
691
  className: d("flex w-full flex-wrap gap-2 border-t pt-5", $.startersDivider),
809
- children: p.map((e, t) => /* @__PURE__ */ q("div", {
692
+ children: p.map((e, t) => /* @__PURE__ */ Y("div", {
810
693
  role: "listitem",
811
694
  className: "min-w-[40px]",
812
- children: /* @__PURE__ */ q(x, {
695
+ children: /* @__PURE__ */ Y(C, {
813
696
  label: e.title,
814
697
  className: "min-w-[40px]",
815
698
  onClick: () => m(e)
@@ -818,77 +701,77 @@ var lt = 2e3, ut = ({ role: e = s.User, onEdit: t, onEditHover: n, onDelete: r,
818
701
  })]
819
702
  })]
820
703
  });
821
- }, ft = ({ labels: { titleText: e = "Model switched.", bodyText: t } }) => /* @__PURE__ */ q("div", {
704
+ }, st = ({ labels: { titleText: e = "Model switched.", bodyText: t } }) => /* @__PURE__ */ Y("div", {
822
705
  role: "status",
823
706
  "aria-live": "polite",
824
- className: "dial-info-notification dial-notification",
825
- children: /* @__PURE__ */ q(_, {
707
+ children: /* @__PURE__ */ Y(b, {
826
708
  title: e,
827
709
  message: t,
828
710
  textClassName: "flex-row flex-wrap gap-1"
829
711
  })
830
- }), pt = /* @__PURE__ */ function(e) {
712
+ }), ct = /* @__PURE__ */ function(e) {
831
713
  return e.Bottom = "Bottom", e.Top = "Top", e;
832
- }({}), mt = 10, ht = ({ text: e, position: t = pt.Bottom, styles: n, actions: r, hasAlwaysVisibleActions: i, attachments: a, collapsedLineCount: o = mt, labels: c, onAttachmentClick: l, onDownloadAll: m, onAttachmentRetry: h }) => {
833
- let { colors: _, typography: v, className: y, bubbleClassName: b } = n ?? {}, { showMoreLabel: x = "Show more", showLessLabel: S = "Show less", showMoreAriaLabel: C, showLessAriaLabel: w, attachmentClickLabel: T, attachmentRetryLabel: E, attachmentOpenInNewTabLabel: O, userMessageAriaLabel: k = "User message" } = c ?? {}, { textRef: A, isTextCollapsed: N, isOverflowing: P, collapsedMaxHeight: F, expandedMaxHeight: I, isCollapsed: L, toggleCollapsed: R } = f({
714
+ }({}), lt = 10, ut = ({ text: e, position: t = ct.Bottom, styles: n, actions: r, hasAlwaysVisibleActions: i, attachments: a, collapsedLineCount: o = lt, labels: c, onAttachmentClick: l, onDownloadAll: m, onAttachmentRetry: h, selectedAttachmentId: g }) => {
715
+ let { colors: v, typography: y, className: b, bubbleClassName: x } = n ?? {}, { showMoreLabel: C = "Show more", showLessLabel: w = "Show less", showMoreAriaLabel: T, showLessAriaLabel: E, attachmentClickLabel: D, attachmentRetryLabel: O, attachmentOpenInNewTabLabel: k, userMessageAriaLabel: A = "User message" } = c ?? {}, { textRef: j, isTextCollapsed: P, isOverflowing: F, collapsedMaxHeight: I, expandedMaxHeight: L, isCollapsed: R, toggleCollapsed: z } = f({
834
716
  text: e,
835
717
  collapsedLineCount: o
836
- }), z = u({
837
- "--cm-bubble-user-bg": _?.userBackground,
838
- "--cm-bubble-user-border": _?.userBorder,
839
- "--cm-bubble-fade-start": _?.fadeStart,
840
- "--cm-bubble-text": _?.text,
841
- "--cm-bubble-collapsed-height": P ? `${F}px` : void 0,
842
- "--cm-bubble-expanded-height": P ? `${I}px` : void 0
843
- }), B = t === pt.Top ? "rounded-ee-[6px] rounded-se-[16px]" : "rounded-se-[6px] rounded-ee-[16px]", V = d($.text, v?.fontClassName), ee = C ?? x, te = w ?? S, ne = L ? x : S, re = L ? ee : te, ie = L ? j : M, ae = Ne();
844
- return /* @__PURE__ */ q("div", {
718
+ }), B = u({
719
+ "--cm-bubble-user-bg": v?.userBackground,
720
+ "--cm-bubble-user-border": v?.userBorder,
721
+ "--cm-bubble-fade-start": v?.fadeStart,
722
+ "--cm-bubble-text": v?.text,
723
+ "--cm-bubble-collapsed-height": F ? `${I}px` : void 0,
724
+ "--cm-bubble-expanded-height": F ? `${L}px` : void 0
725
+ }), V = t === ct.Top ? "rounded-ee-md rounded-se-2xl" : "rounded-se-md rounded-ee-2xl", H = d($.text, y?.fontClassName), U = T ?? C, W = E ?? w, ee = R ? C : w, te = R ? U : W, ne = R ? M : N, re = Ae();
726
+ return /* @__PURE__ */ Y("div", {
845
727
  role: "group",
846
- "aria-label": k,
847
- style: z,
848
- className: d("flex w-full", y),
849
- children: /* @__PURE__ */ J("div", {
728
+ "aria-label": A,
729
+ style: B,
730
+ className: d("flex w-full", b),
731
+ children: /* @__PURE__ */ X("div", {
850
732
  className: "ms-auto flex w-fit min-w-0 max-w-full flex-col items-end gap-4",
851
733
  children: [
852
- /* @__PURE__ */ q(rt, {
734
+ /* @__PURE__ */ Y(Qe, {
853
735
  attachments: a ?? [],
854
736
  onAttachmentClick: (e) => l?.(a?.find((t) => t.id === e)),
855
737
  onDownloadAll: m,
856
738
  onRetry: h,
857
739
  labels: {
858
- clickLabel: T,
859
- retryLabel: E,
860
- openInNewTabLabel: O
740
+ clickLabel: D,
741
+ retryLabel: O,
742
+ openInNewTabLabel: k
861
743
  },
862
- styles: { className: "max-w-[640px]" }
744
+ styles: { className: "max-w-[640px]" },
745
+ selectedAttachmentId: g
863
746
  }),
864
- e && /* @__PURE__ */ q("div", {
865
- className: d($.userBubble, "flex w-fit items-center justify-end rounded-es-2xl rounded-ss-2xl border px-6 py-4", B, b),
866
- children: /* @__PURE__ */ J("div", {
747
+ e && /* @__PURE__ */ Y("div", {
748
+ className: d($.userBubble, "flex w-fit items-center justify-end rounded-es-2xl rounded-ss-2xl border px-6 py-4", V, x),
749
+ children: /* @__PURE__ */ X("div", {
867
750
  className: "flex min-w-0 flex-col items-start",
868
- children: [/* @__PURE__ */ q("div", {
869
- id: ae,
870
- className: d("relative overflow-hidden", P && $.collapsibleText, P && !L && $.expandedText, N && $.collapsedText),
871
- children: /* @__PURE__ */ q("p", {
872
- ref: A,
873
- className: d(V, "whitespace-pre-wrap text-start [overflow-wrap:anywhere]"),
751
+ children: [/* @__PURE__ */ Y("div", {
752
+ id: re,
753
+ className: d("relative overflow-hidden", F && $.collapsibleText, F && !R && $.expandedText, P && $.collapsedText),
754
+ children: /* @__PURE__ */ Y("p", {
755
+ ref: j,
756
+ className: d(H, "whitespace-pre-wrap text-start [overflow-wrap:anywhere]"),
874
757
  children: e
875
758
  })
876
- }), P && /* @__PURE__ */ q(g, {
877
- label: /* @__PURE__ */ q(K, { children: ne }),
878
- iconBefore: /* @__PURE__ */ q(ie, {
759
+ }), F && /* @__PURE__ */ Y(S, {
760
+ label: /* @__PURE__ */ Y(J, { children: ee }),
761
+ iconBefore: /* @__PURE__ */ Y(ne, {
879
762
  size: p.SM,
880
763
  "aria-hidden": "true"
881
764
  }),
882
- "aria-label": re,
883
- "aria-expanded": !L,
884
- "aria-controls": ae,
765
+ "aria-label": te,
766
+ "aria-expanded": !R,
767
+ "aria-controls": re,
885
768
  className: "mt-3",
886
- onClick: R,
887
- size: D.Small
769
+ onClick: z,
770
+ size: _.Small
888
771
  })]
889
772
  })
890
773
  }),
891
- /* @__PURE__ */ q(ut, {
774
+ /* @__PURE__ */ Y(at, {
892
775
  ...r,
893
776
  isAlwaysVisible: i,
894
777
  role: s.User
@@ -896,31 +779,16 @@ var lt = 2e3, ut = ({ role: e = s.User, onEdit: t, onEditHover: n, onDelete: r,
896
779
  ]
897
780
  })
898
781
  });
899
- }, gt = ({ role: e, onAttachmentClick: t, markdownComponents: n, ...r }) => e === s.Status ? /* @__PURE__ */ q(ft, { labels: {
782
+ }, dt = ({ role: e, onAttachmentClick: t, markdownComponents: n, ...r }) => e === s.Status ? /* @__PURE__ */ Y(st, { labels: {
900
783
  titleText: r.labels?.statusTitleText,
901
784
  bodyText: r.labels?.statusBodyText ?? ""
902
- } }) : e === s.User ? /* @__PURE__ */ q(ht, {
785
+ } }) : e === s.User ? /* @__PURE__ */ Y(ut, {
903
786
  ...r,
904
787
  onAttachmentClick: t
905
- }) : /* @__PURE__ */ q(dt, {
788
+ }) : /* @__PURE__ */ Y(ot, {
906
789
  ...r,
907
790
  markdownComponents: n,
908
791
  onAttachmentClick: t
909
- }), _t = { button: "_button_15boc_1" }, vt = ({ labels: { label: e }, onClick: t, styles: n }) => {
910
- let { colors: r, typography: i, className: a } = n ?? {};
911
- return /* @__PURE__ */ q("button", {
912
- type: "button",
913
- onClick: t,
914
- style: u({
915
- "--cm-source-bg": r?.background,
916
- "--cm-source-border": r?.border,
917
- "--cm-source-text": r?.text,
918
- "--cm-source-bg-hover": r?.backgroundHover,
919
- "--cm-source-border-hover": r?.borderHover
920
- }),
921
- className: d(_t.button, "relative flex h-6 items-center justify-center px-2", "border border-solid", "outline-none focus-visible:outline focus-visible:outline-1", "focus-visible:outline-offset-[3px]", "cursor-pointer whitespace-nowrap", i?.fontClassName, a),
922
- children: e
923
- });
924
- };
792
+ });
925
793
  //#endregion
926
- export { dt as AssistantMessageBubble, pt as BubblePosition, ut as MessageActions, gt as MessageBubble, vt as MessageSource, ft as StatusMessageBubble, ht as UserMessageBubble };
794
+ export { ot as AssistantMessageBubble, ct as BubblePosition, at as MessageActions, dt as MessageBubble, st as StatusMessageBubble, ut as UserMessageBubble };