@epam/ai-dial-conversation-messages 1.3.0-dev.221 → 1.3.0-dev.224

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.
@@ -1 +1 @@
1
- {"version":3,"file":"MessageActions.d.ts","sourceRoot":"","sources":["../../../src/components/MessageActions/MessageActions.tsx"],"names":[],"mappings":"AAuBA,OAAO,EAAE,EAAE,EAAyB,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAKxE,uIAAuI;AACvI,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA8OlD,CAAC"}
1
+ {"version":3,"file":"MessageActions.d.ts","sourceRoot":"","sources":["../../../src/components/MessageActions/MessageActions.tsx"],"names":[],"mappings":"AAuBA,OAAO,EAAE,EAAE,EAA4C,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAKxE,uIAAuI;AACvI,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAoQlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/AssistantMessageBubble.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAc/E,gHAAgH;AAChH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAiQlE,CAAC"}
1
+ {"version":3,"file":"AssistantMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/AssistantMessageBubble.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAc/E,gHAAgH;AAChH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAmQlE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UserMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/UserMessageBubble.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,EAAE,EAAkB,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAoB1E,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA+PxD,CAAC"}
1
+ {"version":3,"file":"UserMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/UserMessageBubble.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,EAAE,EAAkB,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAoB1E,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAiQxD,CAAC"}
package/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import { AttachmentType as e, CopyIconButton as t, DeploymentIcon as n, MDMessageViewer as r, MessageRating as i, MessageRole as a, ResponseFormat as o, buildCssVars as s, buildInlineSegmentSource as c, createInlineSegmentComponents as l, createRehypeInlineSegments as u, mergeClasses as d, useCollapsedText as f } from "@epam/ai-dial-chat-shared";
2
2
  import { AttachmentGroup as p } from "@epam/ai-dial-attachment-input";
3
3
  import { Button as m, ButtonVariant as h, DIAL_ICON_SIZE as g, DIAL_KIT_ICON_STROKE as _, ElementSize as v, GhostIconButton as y, InfoMessageNotification as b, LinkButton as x, NeutralButton as S, Tooltip as C } from "@epam/ai-dial-ui-kit";
4
- import { useCallback as w, useEffect as T, useId as ee, useLayoutEffect as E, useMemo as D, useRef as O, useState as k } from "react";
5
- import { IconArrowBackUp as A, IconChevronDown as te, IconChevronUp as ne, IconMarkdown as re, IconPencilMinus as ie, IconRefresh as j, IconThumbDown as M, IconThumbDownFilled as ae, IconThumbUp as oe, IconThumbUpFilled as se, IconTrashX as N } from "@tabler/icons-react";
6
- import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
7
- import { createPortal as L } from "react-dom";
4
+ import { useCallback as w, useEffect as T, useId as ee, useLayoutEffect as E, useMemo as D, useRef as te, useState as O } from "react";
5
+ import { IconArrowBackUp as k, IconChevronDown as A, IconChevronUp as j, IconMarkdown as ne, IconPencilMinus as re, IconRefresh as ie, IconThumbDown as M, IconThumbDownFilled as ae, IconThumbUp as oe, IconThumbUpFilled as se, IconTrashX as ce } from "@tabler/icons-react";
6
+ import { Fragment as N, jsx as P, jsxs as F } from "react/jsx-runtime";
7
+ import { createPortal as I } from "react-dom";
8
8
  //#region src/constants/public-class-names.ts
9
- var R = {
9
+ var L = {
10
10
  userBubble: "dial-cm-user-bubble",
11
11
  assistantContent: "dial-cm-assistant-content"
12
- }, z = 4, ce = (e) => {
13
- let t = O(null), [n, r] = k(0);
12
+ }, R = 4, z = (e) => {
13
+ let t = te(null), [n, r] = O(0);
14
14
  return T(() => {
15
15
  if (!e) return;
16
16
  let n = t.current;
@@ -22,7 +22,7 @@ var R = {
22
22
  return i.observe(n), () => i.disconnect();
23
23
  }, [e]), {
24
24
  slotRef: t,
25
- firstLineIndent: e ? `calc(${n}px + ${z}px)` : void 0
25
+ firstLineIndent: e ? `calc(${n}px + ${R}px)` : void 0
26
26
  };
27
27
  }, le = [
28
28
  "href",
@@ -31,184 +31,193 @@ var R = {
31
31
  "colspan",
32
32
  "rowspan",
33
33
  "start"
34
- ], ue = /* @__PURE__ */ new Set([
34
+ ], B = /* @__PURE__ */ new Set([
35
35
  "pre",
36
36
  "pre-wrap",
37
37
  "pre-line",
38
38
  "break-spaces"
39
- ]), B = (e) => {
39
+ ]), V = (e) => {
40
40
  let t = document.createElement(e.tagName.toLowerCase());
41
41
  le.forEach((n) => {
42
42
  let r = e.getAttribute(n);
43
43
  r !== null && t.setAttribute(n, r);
44
44
  });
45
45
  let { whiteSpace: n } = window.getComputedStyle(e);
46
- return ue.has(n) && (t.style.whiteSpace = "pre-wrap"), t;
47
- }, de = (e) => e instanceof SVGElement || window.getComputedStyle(e).display === "none", V = (e, t) => {
46
+ return B.has(n) && (t.style.whiteSpace = "pre-wrap"), t;
47
+ }, H = (e) => e instanceof SVGElement || window.getComputedStyle(e).display === "none", U = (e, t) => {
48
48
  if (!t.intersectsNode(e)) return null;
49
49
  if (e.nodeType === Node.TEXT_NODE) {
50
50
  let n = e.data, r = e === t.startContainer ? t.startOffset : 0, i = e === t.endContainer ? t.endOffset : n.length;
51
51
  return document.createTextNode(n.slice(r, i));
52
52
  }
53
- if (!(e instanceof Element) || de(e)) return null;
54
- let n = B(e);
53
+ if (!(e instanceof Element) || H(e)) return null;
54
+ let n = V(e);
55
55
  return e.childNodes.forEach((e) => {
56
- let r = V(e, t);
56
+ let r = U(e, t);
57
57
  r && n.appendChild(r);
58
58
  }), n;
59
- }, fe = (e, t, n) => {
59
+ }, ue = (e, t, n) => {
60
60
  let r = e, i = t;
61
61
  for (; i && i !== n && n.contains(i);) {
62
- let e = B(i);
62
+ let e = V(i);
63
63
  e.appendChild(r), r = e, i = i.parentElement;
64
64
  }
65
65
  return r;
66
- }, pe = (e, t) => {
66
+ }, de = (e, t) => {
67
67
  let n = e.commonAncestorContainer, r = n instanceof Element ? n : n.parentElement;
68
68
  if (!r) return null;
69
- let i = V(r, e);
70
- return i ? fe(i, r.parentElement, t) : null;
71
- }, me = (e) => {
69
+ let i = U(r, e);
70
+ return i ? ue(i, r.parentElement, t) : null;
71
+ }, fe = (e) => {
72
72
  let t = window.getSelection();
73
73
  if (!t || t.isCollapsed || t.rangeCount === 0 || !e.clipboardData) return;
74
74
  let n = t.toString();
75
75
  if (!n) return;
76
76
  let r = document.createElement("div");
77
77
  for (let n = 0; n < t.rangeCount; n++) {
78
- let i = pe(t.getRangeAt(n), e.currentTarget);
78
+ let i = de(t.getRangeAt(n), e.currentTarget);
79
79
  i && r.appendChild(i);
80
80
  }
81
81
  e.clipboardData.setData("text/html", r.innerHTML), e.clipboardData.setData("text/plain", n), e.preventDefault();
82
- }, H = { activeRating: "_activeRating_ygoee_1" }, U = 2e3, he = ({ role: e = a.User, onEdit: n, onEditHover: r, onDelete: o, onRegenerate: c, onCopy: l, onCopyMarkdown: u, onLike: f, onDislike: p, activeRating: m, isAlwaysVisible: h, leadingContent: b, trailingContent: x, isDisabled: S = !1, className: C, labels: T, colors: ee }) => {
83
- let { tooltips: E, ariaLabels: D } = T ?? {}, [O, A] = k(null), [te, ne] = k(""), L = n != null || o != null || c != null || l != null || u != null || f != null || p != null || b != null || x != null, R = s({ "--ma-active-rating-text": ee?.activeRatingText }), z = w(() => {
84
- l?.(), A("copy"), ne(e === a.User ? D?.copiedMessageStatus ?? "Message copied to clipboard" : D?.copiedStatus ?? "Copied to clipboard"), setTimeout(() => A(null), U);
82
+ }, W = { activeRating: "_activeRating_ygoee_1" }, pe = 2e3, me = ({ role: e = a.User, onEdit: n, onEditHover: r, onDelete: o, onRegenerate: c, onCopy: l, onCopyMarkdown: u, onLike: f, onDislike: p, activeRating: m, isAlwaysVisible: h, leadingContent: b, trailingContent: x, isDisabled: S = !1, className: C, labels: ee, colors: E }) => {
83
+ let { tooltips: D, ariaLabels: k } = ee ?? {}, [A, j] = O(null), [I, L] = O(""), R = te(void 0);
84
+ T(() => () => clearTimeout(R.current), []);
85
+ let z = w(() => {
86
+ clearTimeout(R.current), R.current = setTimeout(() => j(null), pe);
87
+ }, []), le = n != null || o != null || c != null || l != null || u != null || f != null || p != null || b != null || x != null, B = s({ "--ma-active-rating-text": E?.activeRatingText }), V = w(() => {
88
+ l?.(), j("copy"), L(e === a.User ? k?.copiedMessageStatus ?? "Message copied to clipboard" : k?.copiedStatus ?? "Copied to clipboard"), z();
85
89
  }, [
86
90
  l,
87
91
  e,
88
- D?.copiedStatus,
89
- D?.copiedMessageStatus
90
- ]), ce = w(() => {
91
- u?.(), A("markdown"), ne(D?.copiedMarkdownStatus ?? "Copied as Markdown to clipboard"), setTimeout(() => A(null), U);
92
- }, [u, D?.copiedMarkdownStatus]);
93
- return L ? /* @__PURE__ */ I("div", {
92
+ k?.copiedStatus,
93
+ k?.copiedMessageStatus,
94
+ z
95
+ ]), H = w(() => {
96
+ u?.(), j("markdown"), L(k?.copiedMarkdownStatus ?? "Copied as Markdown to clipboard"), z();
97
+ }, [
98
+ u,
99
+ k?.copiedMarkdownStatus,
100
+ z
101
+ ]);
102
+ return le ? /* @__PURE__ */ F("div", {
94
103
  role: "toolbar",
95
- "aria-label": D?.actionsGroup ?? "Message actions",
96
- style: R,
104
+ "aria-label": k?.actionsGroup ?? "Message actions",
105
+ style: B,
97
106
  className: d("flex items-center gap-1", !h && "opacity-0 group-hover:opacity-100", C),
98
107
  children: [
99
108
  b,
100
- /* @__PURE__ */ F("span", {
109
+ /* @__PURE__ */ P("span", {
101
110
  role: "status",
102
111
  "aria-live": "polite",
103
112
  className: "sr-only",
104
- children: te
113
+ children: I
105
114
  }),
106
- e === a.User ? /* @__PURE__ */ I(P, { children: [
107
- l && /* @__PURE__ */ F(t, {
115
+ e === a.User ? /* @__PURE__ */ F(N, { children: [
116
+ l && /* @__PURE__ */ P(t, {
108
117
  iconSize: g.SM,
109
- onClick: z,
118
+ onClick: V,
110
119
  size: v.Small,
111
- isCopied: O === "copy",
112
- copyLabel: E?.copyMessage ?? "Copy message",
113
- copiedLabel: E?.copied ?? "Copied!",
114
- ariaLabel: D?.copyMessage ?? "Copy message",
120
+ isCopied: A === "copy",
121
+ copyLabel: D?.copyMessage ?? "Copy message",
122
+ copiedLabel: D?.copied ?? "Copied!",
123
+ ariaLabel: k?.copyMessage ?? "Copy message",
115
124
  isDisabled: S
116
125
  }),
117
- n && /* @__PURE__ */ F(y, {
118
- icon: /* @__PURE__ */ F(ie, {
126
+ n && /* @__PURE__ */ P(y, {
127
+ icon: /* @__PURE__ */ P(re, {
119
128
  size: g.SM,
120
129
  "aria-hidden": !0,
121
130
  stroke: _
122
131
  }),
123
132
  size: v.Small,
124
- "aria-label": D?.editMessage ?? "Edit message",
125
- tooltipProps: { tooltip: E?.edit ?? "Edit" },
133
+ "aria-label": k?.editMessage ?? "Edit message",
134
+ tooltipProps: { tooltip: D?.edit ?? "Edit" },
126
135
  onClick: n,
127
136
  onMouseEnter: r,
128
137
  onFocus: r,
129
138
  disabled: S
130
139
  }),
131
- o && /* @__PURE__ */ F(y, {
132
- icon: /* @__PURE__ */ F(N, {
140
+ o && /* @__PURE__ */ P(y, {
141
+ icon: /* @__PURE__ */ P(ce, {
133
142
  size: g.SM,
134
143
  "aria-hidden": !0,
135
144
  stroke: _
136
145
  }),
137
146
  size: v.Small,
138
- "aria-label": D?.deleteMessage ?? "Delete message",
139
- tooltipProps: { tooltip: E?.delete ?? "Delete" },
147
+ "aria-label": k?.deleteMessage ?? "Delete message",
148
+ tooltipProps: { tooltip: D?.delete ?? "Delete" },
140
149
  onClick: o,
141
150
  disabled: S
142
151
  })
143
- ] }) : /* @__PURE__ */ I(P, { children: [
144
- c && /* @__PURE__ */ F(y, {
145
- icon: /* @__PURE__ */ F(j, {
152
+ ] }) : /* @__PURE__ */ F(N, { children: [
153
+ c && /* @__PURE__ */ P(y, {
154
+ icon: /* @__PURE__ */ P(ie, {
146
155
  size: g.SM,
147
156
  "aria-hidden": !0,
148
157
  stroke: _
149
158
  }),
150
159
  size: v.Small,
151
- "aria-label": D?.regenerateResponse ?? "Regenerate response",
152
- tooltipProps: { tooltip: E?.regenerate ?? "Regenerate" },
160
+ "aria-label": k?.regenerateResponse ?? "Regenerate response",
161
+ tooltipProps: { tooltip: D?.regenerate ?? "Regenerate" },
153
162
  onClick: c,
154
163
  disabled: S
155
164
  }),
156
- l && /* @__PURE__ */ F(t, {
165
+ l && /* @__PURE__ */ P(t, {
157
166
  iconSize: g.SM,
158
- onClick: z,
167
+ onClick: V,
159
168
  size: v.Small,
160
- isCopied: O === "copy",
161
- copyLabel: E?.copy ?? "Copy",
162
- copiedLabel: E?.copied ?? "Copied!",
163
- ariaLabel: D?.copyResponse ?? "Copy response",
169
+ isCopied: A === "copy",
170
+ copyLabel: D?.copy ?? "Copy",
171
+ copiedLabel: D?.copied ?? "Copied!",
172
+ ariaLabel: k?.copyResponse ?? "Copy response",
164
173
  isDisabled: S
165
174
  }),
166
- u && /* @__PURE__ */ F(t, {
175
+ u && /* @__PURE__ */ P(t, {
167
176
  iconSize: g.SM,
168
- onClick: ce,
177
+ onClick: H,
169
178
  size: v.Small,
170
- isCopied: O === "markdown",
171
- iconCopy: /* @__PURE__ */ F(re, {
179
+ isCopied: A === "markdown",
180
+ iconCopy: /* @__PURE__ */ P(ne, {
172
181
  size: g.SM,
173
182
  "aria-hidden": !0,
174
183
  stroke: _
175
184
  }),
176
- copyLabel: E?.copyMarkdown ?? "Copy as Markdown",
177
- copiedLabel: E?.copiedMarkdown ?? "Copied!",
178
- ariaLabel: D?.copyAsMarkdown ?? "Copy as markdown",
185
+ copyLabel: D?.copyMarkdown ?? "Copy as Markdown",
186
+ copiedLabel: D?.copiedMarkdown ?? "Copied!",
187
+ ariaLabel: k?.copyAsMarkdown ?? "Copy as markdown",
179
188
  isDisabled: S
180
189
  }),
181
- f && /* @__PURE__ */ F(y, {
182
- icon: m === i.Like ? /* @__PURE__ */ F(se, {
183
- className: H.activeRating,
190
+ f && /* @__PURE__ */ P(y, {
191
+ icon: m === i.Like ? /* @__PURE__ */ P(se, {
192
+ className: W.activeRating,
184
193
  size: g.SM,
185
194
  "aria-hidden": !0
186
- }) : /* @__PURE__ */ F(oe, {
195
+ }) : /* @__PURE__ */ P(oe, {
187
196
  size: g.SM,
188
197
  "aria-hidden": !0,
189
198
  stroke: _
190
199
  }),
191
200
  size: v.Small,
192
- "aria-label": D?.likeResponse ?? "Like response",
201
+ "aria-label": k?.likeResponse ?? "Like response",
193
202
  "aria-pressed": m === i.Like,
194
- tooltipProps: { tooltip: E?.like ?? "Like" },
203
+ tooltipProps: { tooltip: D?.like ?? "Like" },
195
204
  onClick: f,
196
205
  disabled: S
197
206
  }),
198
- p && /* @__PURE__ */ F(y, {
199
- icon: m === i.Dislike ? /* @__PURE__ */ F(ae, {
200
- className: H.activeRating,
207
+ p && /* @__PURE__ */ P(y, {
208
+ icon: m === i.Dislike ? /* @__PURE__ */ P(ae, {
209
+ className: W.activeRating,
201
210
  size: g.SM,
202
211
  "aria-hidden": !0
203
- }) : /* @__PURE__ */ F(M, {
212
+ }) : /* @__PURE__ */ P(M, {
204
213
  size: g.SM,
205
214
  "aria-hidden": !0,
206
215
  stroke: _
207
216
  }),
208
217
  size: v.Small,
209
- "aria-label": D?.dislikeResponse ?? "Dislike response",
218
+ "aria-label": k?.dislikeResponse ?? "Dislike response",
210
219
  "aria-pressed": m === i.Dislike,
211
- tooltipProps: { tooltip: E?.dislike ?? "Dislike" },
220
+ tooltipProps: { tooltip: D?.dislike ?? "Dislike" },
212
221
  onClick: p,
213
222
  disabled: S
214
223
  })
@@ -216,174 +225,175 @@ var R = {
216
225
  x
217
226
  ]
218
227
  }) : null;
219
- }, W = (e) => {
220
- let [t, n] = k(() => /* @__PURE__ */ new Date());
228
+ }, G = (e) => {
229
+ let [t, n] = O(() => /* @__PURE__ */ new Date());
221
230
  return T(() => {
222
231
  let t = setInterval(() => n(/* @__PURE__ */ new Date()), e);
223
232
  return () => clearInterval(t);
224
233
  }, [e]), t;
225
- }, G = /* @__PURE__ */ function(e) {
234
+ }, K = /* @__PURE__ */ function(e) {
226
235
  return e.Today = "today", e.Yesterday = "yesterday", e.Absolute = "absolute", e;
227
- }({}), K = {
236
+ }({}), q = {
228
237
  hour: "numeric",
229
238
  minute: "2-digit"
230
- }, q = {
239
+ }, J = {
231
240
  year: "numeric",
232
241
  month: "short",
233
242
  day: "numeric",
234
- ...K
235
- }, ge = 60, J = 3600, Y = 24 * J, _e = [
243
+ ...q
244
+ }, he = 60, ge = 3600, Y = 24 * ge, _e = [
236
245
  ["year", 365 * Y],
237
246
  ["month", 30 * Y],
238
247
  ["week", 7 * Y],
239
248
  ["day", Y],
240
- ["hour", J],
241
- ["minute", ge]
242
- ], ve = (e, t) => e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate(), ye = (e) => {
249
+ ["hour", ge],
250
+ ["minute", he]
251
+ ], X = (e, t) => e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate(), ve = (e) => {
243
252
  if (!e) return null;
244
253
  let t = new Date(e);
245
254
  return Number.isNaN(t.getTime()) ? null : t;
246
- }, X = (e, t) => new Intl.DateTimeFormat(t, q).format(e), be = (e, t, n) => {
255
+ }, ye = (e, t) => new Intl.DateTimeFormat(t, J).format(e), Z = (e, t, n) => {
247
256
  let r = new Date(t.getFullYear(), t.getMonth(), t.getDate() - 1);
248
- return ve(e, t) ? {
249
- kind: G.Today,
250
- text: new Intl.DateTimeFormat(n, K).format(e)
251
- } : ve(e, r) ? {
252
- kind: G.Yesterday,
253
- text: new Intl.DateTimeFormat(n, K).format(e)
257
+ return X(e, t) ? {
258
+ kind: K.Today,
259
+ text: new Intl.DateTimeFormat(n, q).format(e)
260
+ } : X(e, r) ? {
261
+ kind: K.Yesterday,
262
+ text: new Intl.DateTimeFormat(n, q).format(e)
254
263
  } : {
255
- kind: G.Absolute,
256
- text: X(e, n)
264
+ kind: K.Absolute,
265
+ text: ye(e, n)
257
266
  };
258
- }, xe = (e, t, n) => {
267
+ }, be = (e, t, n) => {
259
268
  let r = new Intl.RelativeTimeFormat(n, { numeric: "auto" }), i = (t.getTime() - e.getTime()) / 1e3;
260
269
  for (let [e, t] of _e) {
261
270
  let n = Math.floor(i / t);
262
271
  if (n >= 1) return r.format(-n, e);
263
272
  }
264
273
  return r.format(0, "second");
265
- }, Z = 6e4, Se = "opacity-0 transition-opacity group-hover/message:opacity-100 group-focus-within/message:opacity-100 [@media(hover:none)]:opacity-100", Ce = ({ timestamp: e, locale: t, className: n = "dial-small-text text-secondary" }) => {
266
- let r = W(Z), i = ye(e);
267
- return i == null ? null : /* @__PURE__ */ F(C, {
268
- tooltip: X(i, t),
274
+ }, xe = 6e4, Q = "opacity-0 transition-opacity group-hover/message:opacity-100 group-focus-within/message:opacity-100 [@media(hover:none)]:opacity-100", Se = ({ timestamp: e, locale: t, className: n = "dial-small-text text-secondary" }) => {
275
+ let r = G(xe), i = ve(e);
276
+ return i == null ? null : /* @__PURE__ */ P(C, {
277
+ tooltip: ye(i, t),
269
278
  asChild: !0,
270
- children: /* @__PURE__ */ F("time", {
279
+ children: /* @__PURE__ */ P("time", {
271
280
  dateTime: e,
272
281
  tabIndex: 0,
273
- className: d("px-1 whitespace-nowrap", n, Se),
274
- children: xe(i, r, t)
282
+ className: d("px-1 whitespace-nowrap", n, Q),
283
+ children: be(i, r, t)
275
284
  })
276
285
  });
277
- }, Q = {
286
+ }, $ = {
278
287
  userBubble: "_userBubble_17fln_1",
279
288
  collapsibleText: "_collapsibleText_17fln_6",
280
289
  expandedText: "_expandedText_17fln_11",
281
290
  collapsedText: "_collapsedText_17fln_15",
282
291
  startersDivider: "_startersDivider_17fln_31",
283
292
  text: "_text_17fln_35"
284
- }, we = "[&>.cm-bubble-markdown>div>*:first-child]:indent-[var(--cm-bubble-first-line-indent,0px)]", $ = ({ text: t, contentRef: i, styles: c, actions: l, hasAlwaysVisibleActions: u, timestamp: f, locale: m, isStreaming: h, attachments: g, beforeContent: _, responseFormat: v, afterContent: y, hasThinkingPlaceholder: b = !0, starters: x, onSelectStarter: C, deploymentIconUrl: w, deploymentDisplayName: T, markdownComponents: ee, markdownClassNames: E, markdownUrlTransform: O, onAttachmentClick: k, onDownloadAll: A, onAttachmentRetry: te, codeBlockTheme: ne, tableOnOpenInCanvas: re, labels: ie, selectedAttachmentId: j }) => {
285
- let { colors: M, typography: ae, className: oe, bubbleClassName: se, timestampClassName: N } = c ?? {}, L = f == null ? void 0 : /* @__PURE__ */ F(Ce, {
293
+ }, Ce = "[&>.cm-bubble-markdown>div>*:first-child]:indent-[var(--cm-bubble-first-line-indent,0px)]", we = ({ text: t, contentRef: i, styles: c, actions: l, hasAlwaysVisibleActions: u, timestamp: f, locale: m, isStreaming: h, attachments: g, beforeContent: _, responseFormat: v, afterContent: y, hasThinkingPlaceholder: b = !0, starters: x, onSelectStarter: C, deploymentIconUrl: w, deploymentDisplayName: T, markdownComponents: ee, markdownClassNames: E, markdownUrlTransform: te, onAttachmentClick: O, onDownloadAll: k, isAttachmentDownloadable: A, onAttachmentRetry: j, codeBlockTheme: ne, tableOnOpenInCanvas: re, labels: ie, selectedAttachmentId: M }) => {
294
+ let { colors: ae, typography: oe, className: se, bubbleClassName: ce, timestampClassName: I } = c ?? {}, R = f == null ? void 0 : /* @__PURE__ */ P(Se, {
286
295
  timestamp: f,
287
296
  locale: m,
288
- className: N
289
- }), { attachmentClickLabel: z, attachmentDownloadLabel: le, attachmentRetryLabel: ue, attachmentOpenInNewTabLabel: B, startersAriaLabel: de = "Quick reply buttons", thinkingLabel: V, codeBlockCopyLabel: fe, codeBlockCopiedLabel: pe, codeBlockDownloadLabel: H, tableCopyLabel: U, tableCopiedLabel: W, tableDownloadCsvLabel: G, tableOpenInCanvasLabel: K, tableDownloadFilename: q, tableScrollRegionAriaLabel: ge, mathScrollRegionAriaLabel: J, assistantMessageAriaLabel: Y = "Assistant message", deploymentIconFallbackLabel: _e = "AI" } = ie ?? {}, ve = D(() => ({
290
- copyLabel: U,
291
- copiedLabel: W,
292
- downloadCsvLabel: G,
293
- openInCanvasLabel: K
297
+ className: I
298
+ }), { attachmentClickLabel: le, attachmentDownloadLabel: B, attachmentRetryLabel: V, attachmentOpenInNewTabLabel: H, startersAriaLabel: U = "Quick reply buttons", thinkingLabel: ue, codeBlockCopyLabel: de, codeBlockCopiedLabel: W, codeBlockDownloadLabel: pe, tableCopyLabel: G, tableCopiedLabel: K, tableDownloadCsvLabel: q, tableOpenInCanvasLabel: J, tableDownloadFilename: he, tableScrollRegionAriaLabel: ge, mathScrollRegionAriaLabel: Y, assistantMessageAriaLabel: _e = "Assistant message", deploymentIconFallbackLabel: X = "AI" } = ie ?? {}, ve = D(() => ({
299
+ copyLabel: G,
300
+ copiedLabel: K,
301
+ downloadCsvLabel: q,
302
+ openInCanvasLabel: J
294
303
  }), [
295
- U,
296
- W,
297
304
  G,
298
- K
299
- ]), ye = h ? (g ?? []).filter((t) => t.type !== e.Audio) : g ?? [], X = !!t?.trim(), { slotRef: be, firstLineIndent: xe } = ce(_ != null && X), Z = s({
300
- "--cm-bubble-text": M?.text,
301
- "--cm-starters-divider": M?.startersDivider,
305
+ K,
306
+ q,
307
+ J
308
+ ]), ye = h ? (g ?? []).filter((t) => t.type !== e.Audio) : g ?? [], Z = !!t?.trim(), { slotRef: be, firstLineIndent: xe } = z(_ != null && Z), Q = s({
309
+ "--cm-bubble-text": ae?.text,
310
+ "--cm-starters-divider": ae?.startersDivider,
302
311
  "--cm-bubble-first-line-indent": xe
303
- }), Se = d(Q.text, ae?.fontClassName), $ = !!(w || T);
304
- return /* @__PURE__ */ I("div", {
312
+ }), we = d($.text, oe?.fontClassName), Te = !!(w || T);
313
+ return /* @__PURE__ */ F("div", {
305
314
  role: "group",
306
- "aria-label": Y,
307
- style: Z,
308
- onCopy: me,
309
- className: d("group/message flex w-full items-start gap-3", oe),
310
- children: [$ && /* @__PURE__ */ F(n, {
315
+ "aria-label": _e,
316
+ style: Q,
317
+ onCopy: fe,
318
+ className: d("group/message flex w-full items-start gap-3", se),
319
+ children: [Te && /* @__PURE__ */ P(n, {
311
320
  src: w,
312
321
  size: 28,
313
- initialsName: T || _e,
314
- labels: { tooltip: T ?? _e }
315
- }), /* @__PURE__ */ I("div", {
322
+ initialsName: T || X,
323
+ labels: { tooltip: T ?? X }
324
+ }), /* @__PURE__ */ F("div", {
316
325
  className: "flex w-full max-w-full min-w-0 flex-col items-start gap-5",
317
- children: [/* @__PURE__ */ I("div", {
318
- className: d("flex w-full max-w-full min-w-0 flex-col items-start gap-4", se),
326
+ children: [/* @__PURE__ */ F("div", {
327
+ className: d("flex w-full max-w-full min-w-0 flex-col items-start gap-4", ce),
319
328
  children: [
320
- _ != null && !X && /* @__PURE__ */ F("div", {
329
+ _ != null && !Z && /* @__PURE__ */ P("div", {
321
330
  className: "min-w-0",
322
331
  children: _
323
332
  }),
324
- (X || h && b) && /* @__PURE__ */ I("div", {
333
+ (Z || h && b) && /* @__PURE__ */ F("div", {
325
334
  "aria-live": "polite",
326
335
  "aria-atomic": "false",
327
- className: d(Se, "relative max-w-full min-w-0 text-start", _ != null && X && we, R.assistantContent),
328
- children: [_ != null && X && /* @__PURE__ */ F("div", {
336
+ className: d(we, "relative max-w-full min-w-0 text-start", _ != null && Z && Ce, L.assistantContent),
337
+ children: [_ != null && Z && /* @__PURE__ */ P("div", {
329
338
  ref: be,
330
339
  className: "absolute inset-s-0 top-0",
331
340
  children: _
332
- }), /* @__PURE__ */ F("div", {
341
+ }), /* @__PURE__ */ P("div", {
333
342
  ref: i,
334
343
  className: "cm-bubble-markdown max-w-full min-w-0",
335
- children: /* @__PURE__ */ F(r, {
344
+ children: /* @__PURE__ */ P(r, {
336
345
  content: t ?? "",
337
346
  isPlainText: v === o.PlainText,
338
347
  isStreaming: h,
339
- thinkingLabel: V,
348
+ thinkingLabel: ue,
340
349
  components: ee,
341
350
  classNames: E,
342
- urlTransform: O,
343
- codeBlockCopyLabel: fe,
344
- codeBlockCopiedLabel: pe,
345
- codeBlockDownloadLabel: H,
351
+ urlTransform: te,
352
+ codeBlockCopyLabel: de,
353
+ codeBlockCopiedLabel: W,
354
+ codeBlockDownloadLabel: pe,
346
355
  codeBlockTheme: ne,
347
356
  tableActionLabels: ve,
348
- tableDownloadFilename: q,
357
+ tableDownloadFilename: he,
349
358
  tableOnOpenInCanvas: re,
350
359
  tableScrollRegionAriaLabel: ge,
351
- mathScrollRegionAriaLabel: J
360
+ mathScrollRegionAriaLabel: Y
352
361
  })
353
362
  })]
354
363
  }),
355
- /* @__PURE__ */ F(p, {
364
+ /* @__PURE__ */ P(p, {
356
365
  attachments: ye,
357
- onAttachmentClick: k ? (e) => {
366
+ onAttachmentClick: O ? (e) => {
358
367
  let t = g?.find((t) => t.id === e);
359
- t && k(t);
368
+ t && O(t);
360
369
  } : void 0,
361
- onDownloadAll: A,
362
- onRetry: te,
370
+ onDownloadAll: k,
371
+ isAttachmentDownloadable: A,
372
+ onRetry: j,
363
373
  labels: {
364
- clickLabel: z,
365
- downloadLabel: le,
366
- retryLabel: ue,
367
- openInNewTabLabel: B
374
+ clickLabel: le,
375
+ downloadLabel: B,
376
+ retryLabel: V,
377
+ openInNewTabLabel: H
368
378
  },
369
- selectedAttachmentId: j
379
+ selectedAttachmentId: M
370
380
  }),
371
381
  y,
372
- /* @__PURE__ */ F(he, {
382
+ /* @__PURE__ */ P(me, {
373
383
  ...l,
374
384
  isAlwaysVisible: u,
375
- trailingContent: L == null ? l?.trailingContent : /* @__PURE__ */ I(P, { children: [l?.trailingContent, L] }),
385
+ trailingContent: R == null ? l?.trailingContent : /* @__PURE__ */ F(N, { children: [l?.trailingContent, R] }),
376
386
  role: a.Assistant
377
387
  })
378
388
  ]
379
- }), x && x.length > 0 && C && /* @__PURE__ */ F("div", {
389
+ }), x && x.length > 0 && C && /* @__PURE__ */ P("div", {
380
390
  role: "list",
381
- "aria-label": de,
382
- className: d("flex w-full flex-wrap gap-2 border-t pt-5", Q.startersDivider),
383
- children: x.map((e, t) => /* @__PURE__ */ F("div", {
391
+ "aria-label": U,
392
+ className: d("flex w-full flex-wrap gap-2 border-t pt-5", $.startersDivider),
393
+ children: x.map((e, t) => /* @__PURE__ */ P("div", {
384
394
  role: "listitem",
385
395
  className: "min-w-[40px]",
386
- children: /* @__PURE__ */ F(S, {
396
+ children: /* @__PURE__ */ P(S, {
387
397
  label: e.title,
388
398
  className: "min-w-[40px]",
389
399
  onClick: () => C(e)
@@ -392,42 +402,42 @@ var R = {
392
402
  })]
393
403
  })]
394
404
  });
395
- }, Te = ({ labels: { titleText: e = "Model switched.", bodyText: t } }) => /* @__PURE__ */ F("div", {
405
+ }, Te = ({ labels: { titleText: e = "Model switched.", bodyText: t } }) => /* @__PURE__ */ P("div", {
396
406
  role: "status",
397
407
  "aria-live": "polite",
398
- children: /* @__PURE__ */ F(b, {
408
+ children: /* @__PURE__ */ P(b, {
399
409
  title: e,
400
410
  message: t,
401
411
  textClassName: "flex-row flex-wrap gap-1"
402
412
  })
403
413
  }), Ee = /* @__PURE__ */ function(e) {
404
414
  return e.Bottom = "Bottom", e.Top = "Top", e;
405
- }({}), De = 10, Oe = "[&>div>*:first-child]:mt-0 [&>div>*:last-child]:mb-0", ke = [], Ae = ({ text: e, contentRef: t, position: n = Ee.Bottom, styles: i, actions: o, hasAlwaysVisibleActions: m, timestamp: h, locale: _, attachments: y, collapsedLineCount: b = De, labels: S, textSegments: C, onAttachmentClick: w, onDownloadAll: T, onAttachmentRetry: E, selectedAttachmentId: O, markdownClassNames: k, markdownUrlTransform: A, codeBlockTheme: re, tableOnOpenInCanvas: ie }) => {
406
- let { colors: j, typography: M, className: ae, bubbleClassName: oe, timestampClassName: se } = i ?? {}, N = h == null ? void 0 : /* @__PURE__ */ F(Ce, {
415
+ }({}), De = 10, Oe = "[&>div>*:first-child]:mt-0 [&>div>*:last-child]:mb-0", ke = [], Ae = ({ text: e, contentRef: t, position: n = Ee.Bottom, styles: i, actions: o, hasAlwaysVisibleActions: m, timestamp: h, locale: _, attachments: y, collapsedLineCount: b = De, labels: S, textSegments: C, onAttachmentClick: w, onDownloadAll: T, isAttachmentDownloadable: E, onAttachmentRetry: te, selectedAttachmentId: O, markdownClassNames: k, markdownUrlTransform: ne, codeBlockTheme: re, tableOnOpenInCanvas: ie }) => {
416
+ let { colors: M, typography: ae, className: oe, bubbleClassName: se, timestampClassName: ce } = i ?? {}, I = h == null ? void 0 : /* @__PURE__ */ P(Se, {
407
417
  timestamp: h,
408
418
  locale: _,
409
- className: se
410
- }), { showMoreLabel: L = "Show more", showLessLabel: z = "Show less", showMoreAriaLabel: ce, showLessAriaLabel: le, attachmentClickLabel: ue, attachmentDownloadLabel: B, attachmentRetryLabel: de, attachmentOpenInNewTabLabel: V, userMessageAriaLabel: fe = "User message", codeBlockCopyLabel: pe, codeBlockCopiedLabel: H, codeBlockDownloadLabel: U, tableCopyLabel: W, tableCopiedLabel: G, tableDownloadCsvLabel: K, tableOpenInCanvasLabel: q, tableDownloadFilename: ge, tableScrollRegionAriaLabel: J, mathScrollRegionAriaLabel: Y } = S ?? {}, _e = D(() => ({
411
- copyLabel: W,
412
- copiedLabel: G,
413
- downloadCsvLabel: K,
414
- openInCanvasLabel: q
419
+ className: ce
420
+ }), { showMoreLabel: R = "Show more", showLessLabel: z = "Show less", showMoreAriaLabel: le, showLessAriaLabel: B, attachmentClickLabel: V, attachmentDownloadLabel: H, attachmentRetryLabel: U, attachmentOpenInNewTabLabel: ue, userMessageAriaLabel: de = "User message", codeBlockCopyLabel: W, codeBlockCopiedLabel: pe, codeBlockDownloadLabel: G, tableCopyLabel: K, tableCopiedLabel: q, tableDownloadCsvLabel: J, tableOpenInCanvasLabel: he, tableDownloadFilename: ge, tableScrollRegionAriaLabel: Y, mathScrollRegionAriaLabel: _e } = S ?? {}, X = D(() => ({
421
+ copyLabel: K,
422
+ copiedLabel: q,
423
+ downloadCsvLabel: J,
424
+ openInCanvasLabel: he
415
425
  }), [
416
- W,
417
- G,
418
426
  K,
419
- q
420
- ]), { textRef: ve, isTextCollapsed: ye, isOverflowing: X, collapsedMaxHeight: be, expandedMaxHeight: xe, isCollapsed: Z, toggleCollapsed: Se } = f({
427
+ q,
428
+ J,
429
+ he
430
+ ]), { textRef: ve, isTextCollapsed: ye, isOverflowing: Z, collapsedMaxHeight: be, expandedMaxHeight: xe, isCollapsed: Q, toggleCollapsed: Ce } = f({
421
431
  text: e ?? "",
422
432
  collapsedLineCount: b
423
433
  }), we = s({
424
- "--cm-bubble-user-bg": j?.userBackground,
425
- "--cm-bubble-user-border": j?.userBorder,
426
- "--cm-bubble-fade-start": j?.fadeStart,
427
- "--cm-bubble-text": j?.text,
428
- "--cm-bubble-collapsed-height": X ? `${be}px` : void 0,
429
- "--cm-bubble-expanded-height": X ? `${xe}px` : void 0
430
- }), $ = n === Ee.Top ? "rounded-ee-md rounded-se-2xl" : "rounded-se-md rounded-ee-2xl", Te = d(Q.text, M?.fontClassName), { markdownSource: Ae, segmentRehypePlugins: je, segmentComponents: Me } = D(() => {
434
+ "--cm-bubble-user-bg": M?.userBackground,
435
+ "--cm-bubble-user-border": M?.userBorder,
436
+ "--cm-bubble-fade-start": M?.fadeStart,
437
+ "--cm-bubble-text": M?.text,
438
+ "--cm-bubble-collapsed-height": Z ? `${be}px` : void 0,
439
+ "--cm-bubble-expanded-height": Z ? `${xe}px` : void 0
440
+ }), Te = n === Ee.Top ? "rounded-ee-md rounded-se-2xl" : "rounded-se-md rounded-ee-2xl", Ae = d($.text, ae?.fontClassName), { markdownSource: je, segmentRehypePlugins: Me, segmentComponents: Ne } = D(() => {
431
441
  if (C == null) return {
432
442
  markdownSource: e ?? "",
433
443
  segmentRehypePlugins: ke,
@@ -439,95 +449,96 @@ var R = {
439
449
  segmentRehypePlugins: [u(n)],
440
450
  segmentComponents: l(n)
441
451
  };
442
- }, [e, C]), Ne = ce ?? L, Pe = le ?? z, Fe = Z ? L : z, Ie = Z ? Ne : Pe, Le = Z ? te : ne, Re = ee();
443
- return /* @__PURE__ */ F("div", {
452
+ }, [e, C]), Pe = le ?? R, Fe = B ?? z, Ie = Q ? R : z, Le = Q ? Pe : Fe, Re = Q ? A : j, ze = ee();
453
+ return /* @__PURE__ */ P("div", {
444
454
  role: "group",
445
- "aria-label": fe,
455
+ "aria-label": de,
446
456
  style: we,
447
- onCopy: me,
448
- className: d("group/message flex w-full", ae),
449
- children: /* @__PURE__ */ I("div", {
457
+ onCopy: fe,
458
+ className: d("group/message flex w-full", oe),
459
+ children: /* @__PURE__ */ F("div", {
450
460
  className: "ms-auto flex w-fit max-w-full min-w-0 flex-col items-end gap-4",
451
461
  children: [
452
- /* @__PURE__ */ F(p, {
462
+ /* @__PURE__ */ P(p, {
453
463
  attachments: y ?? [],
454
464
  onAttachmentClick: w ? (e) => {
455
465
  let t = y?.find((t) => t.id === e);
456
466
  t && w(t);
457
467
  } : void 0,
458
468
  onDownloadAll: T,
459
- onRetry: E,
469
+ isAttachmentDownloadable: E,
470
+ onRetry: te,
460
471
  labels: {
461
- clickLabel: ue,
462
- downloadLabel: B,
463
- retryLabel: de,
464
- openInNewTabLabel: V
472
+ clickLabel: V,
473
+ downloadLabel: H,
474
+ retryLabel: U,
475
+ openInNewTabLabel: ue
465
476
  },
466
477
  styles: { className: "max-w-[640px]" },
467
478
  selectedAttachmentId: O
468
479
  }),
469
- e && /* @__PURE__ */ F("div", {
470
- className: d(Q.userBubble, "flex w-fit max-w-full min-w-0 items-center justify-end rounded-ss-2xl rounded-es-2xl border px-6 py-4 wrap-anywhere", $, oe, R.userBubble),
471
- children: /* @__PURE__ */ I("div", {
480
+ e && /* @__PURE__ */ P("div", {
481
+ className: d($.userBubble, "flex w-fit max-w-full min-w-0 items-center justify-end rounded-ss-2xl rounded-es-2xl border px-6 py-4 wrap-anywhere", Te, se, L.userBubble),
482
+ children: /* @__PURE__ */ F("div", {
472
483
  className: "flex min-w-0 flex-col items-start",
473
- children: [/* @__PURE__ */ F("div", {
474
- id: Re,
484
+ children: [/* @__PURE__ */ P("div", {
485
+ id: ze,
475
486
  ref: t,
476
- className: d("relative -ms-1 -me-1 w-[calc(100%+8px)] overflow-hidden ps-1 pe-1", X && Q.collapsibleText, X && !Z && Q.expandedText, ye && Q.collapsedText),
477
- children: /* @__PURE__ */ F("div", {
487
+ className: d("relative -ms-1 -me-1 w-[calc(100%+8px)] overflow-hidden ps-1 pe-1", Z && $.collapsibleText, Z && !Q && $.expandedText, ye && $.collapsedText),
488
+ children: /* @__PURE__ */ P("div", {
478
489
  ref: ve,
479
- className: d(Te, "max-w-full min-w-0 text-start", Oe),
480
- children: /* @__PURE__ */ F(r, {
481
- content: Ae,
490
+ className: d(Ae, "max-w-full min-w-0 text-start", Oe),
491
+ children: /* @__PURE__ */ P(r, {
492
+ content: je,
482
493
  isRawHtmlEnabled: !1,
483
- rehypePlugins: je,
484
- components: Me,
494
+ rehypePlugins: Me,
495
+ components: Ne,
485
496
  classNames: k,
486
- urlTransform: A,
487
- codeBlockCopyLabel: pe,
488
- codeBlockCopiedLabel: H,
489
- codeBlockDownloadLabel: U,
497
+ urlTransform: ne,
498
+ codeBlockCopyLabel: W,
499
+ codeBlockCopiedLabel: pe,
500
+ codeBlockDownloadLabel: G,
490
501
  codeBlockTheme: re,
491
- tableActionLabels: _e,
502
+ tableActionLabels: X,
492
503
  tableDownloadFilename: ge,
493
504
  tableOnOpenInCanvas: ie,
494
- tableScrollRegionAriaLabel: J,
495
- mathScrollRegionAriaLabel: Y
505
+ tableScrollRegionAriaLabel: Y,
506
+ mathScrollRegionAriaLabel: _e
496
507
  })
497
508
  })
498
- }), X && /* @__PURE__ */ F(x, {
499
- label: /* @__PURE__ */ F(P, { children: Fe }),
500
- iconBefore: /* @__PURE__ */ F(Le, {
509
+ }), Z && /* @__PURE__ */ P(x, {
510
+ label: /* @__PURE__ */ P(N, { children: Ie }),
511
+ iconBefore: /* @__PURE__ */ P(Re, {
501
512
  size: g.SM,
502
513
  "aria-hidden": "true"
503
514
  }),
504
- "aria-label": Ie,
505
- "aria-expanded": !Z,
506
- "aria-controls": Re,
515
+ "aria-label": Le,
516
+ "aria-expanded": !Q,
517
+ "aria-controls": ze,
507
518
  className: "mt-3",
508
- onClick: Se,
519
+ onClick: Ce,
509
520
  size: v.Small
510
521
  })]
511
522
  })
512
523
  }),
513
- /* @__PURE__ */ F(he, {
524
+ /* @__PURE__ */ P(me, {
514
525
  ...o,
515
526
  isAlwaysVisible: m,
516
- leadingContent: N == null ? o?.leadingContent : /* @__PURE__ */ I(P, { children: [N, o?.leadingContent] }),
527
+ leadingContent: I == null ? o?.leadingContent : /* @__PURE__ */ F(N, { children: [I, o?.leadingContent] }),
517
528
  role: a.User
518
529
  })
519
530
  ]
520
531
  })
521
532
  });
522
- }, je = ({ role: e, beforeContent: t, textSegments: n, onAttachmentClick: r, responseFormat: i, markdownComponents: o, markdownUrlTransform: s, ...c }) => e === a.Status ? /* @__PURE__ */ F(Te, { labels: {
533
+ }, je = ({ role: e, beforeContent: t, textSegments: n, onAttachmentClick: r, responseFormat: i, markdownComponents: o, markdownUrlTransform: s, ...c }) => e === a.Status ? /* @__PURE__ */ P(Te, { labels: {
523
534
  titleText: c.labels?.statusTitleText,
524
535
  bodyText: c.labels?.statusBodyText ?? ""
525
- } }) : e === a.User ? /* @__PURE__ */ F(Ae, {
536
+ } }) : e === a.User ? /* @__PURE__ */ P(Ae, {
526
537
  ...c,
527
538
  textSegments: n,
528
539
  markdownUrlTransform: s,
529
540
  onAttachmentClick: r
530
- }) : /* @__PURE__ */ F($, {
541
+ }) : /* @__PURE__ */ P(we, {
531
542
  ...c,
532
543
  beforeContent: t,
533
544
  responseFormat: i,
@@ -539,7 +550,7 @@ var R = {
539
550
  "--cm-reply-background": c?.background,
540
551
  "--cm-reply-hover-background": c?.hoverBackground,
541
552
  "--cm-reply-text": c?.text
542
- }), [b, x] = k({
553
+ }), [b, x] = O({
543
554
  x: 0,
544
555
  y: 0
545
556
  });
@@ -558,42 +569,42 @@ var R = {
558
569
  f,
559
570
  p,
560
571
  i.reply
561
- ]), g ? L(/* @__PURE__ */ I(P, { children: [e && /* @__PURE__ */ F("div", {
572
+ ]), g ? I(/* @__PURE__ */ F(N, { children: [e && /* @__PURE__ */ P("div", {
562
573
  ref: t,
563
574
  className: d("fixed top-0 left-0 z-50 max-w-[calc(100vw-16px)]", u),
564
575
  style: {
565
576
  ...y,
566
577
  transform: `translate(${b.x}px, ${b.y}px)`
567
578
  },
568
- children: /* @__PURE__ */ F(m, {
579
+ children: /* @__PURE__ */ P(m, {
569
580
  variant: h.Neutral,
570
581
  size: v.Small,
571
582
  label: i.reply,
572
583
  onClick: n,
573
584
  textClassName: p,
574
585
  className: d(Me.button, "h-8 min-h-8 min-w-11 px-2 shadow-lg mobile:h-11 mobile:min-h-11", f),
575
- iconAfter: /* @__PURE__ */ F(A, {
586
+ iconAfter: /* @__PURE__ */ P(k, {
576
587
  size: 16,
577
588
  stroke: _,
578
589
  "aria-hidden": "true",
579
590
  className: "rtl:scale-x-[-1]"
580
591
  })
581
592
  })
582
- }), /* @__PURE__ */ F("div", {
593
+ }), /* @__PURE__ */ P("div", {
583
594
  role: "status",
584
595
  "aria-live": "polite",
585
596
  className: "sr-only",
586
- children: e ? i.selectionAvailable : r > 0 ? /* @__PURE__ */ F("span", { children: i.attachmentAdded }, r) : null
597
+ children: e ? i.selectionAvailable : r > 0 ? /* @__PURE__ */ P("span", { children: i.attachmentAdded }, r) : null
587
598
  })] }), g) : null;
588
599
  }, Pe = (e) => `Today ${e}`, Fe = (e) => `Yesterday ${e}`, Ie = ({ timestamp: e, locale: t, labels: n, className: r = "dial-small-text text-secondary" }) => {
589
- let i = ye(e);
600
+ let i = ve(e);
590
601
  if (i == null) return null;
591
- let { kind: a, text: o } = be(i, /* @__PURE__ */ new Date(), t), s = o;
592
- return a === G.Today ? s = (n?.today ?? Pe)(o) : a === G.Yesterday && (s = (n?.yesterday ?? Fe)(o)), /* @__PURE__ */ F("time", {
602
+ let { kind: a, text: o } = Z(i, /* @__PURE__ */ new Date(), t), s = o;
603
+ return a === K.Today ? s = (n?.today ?? Pe)(o) : a === K.Yesterday && (s = (n?.yesterday ?? Fe)(o)), /* @__PURE__ */ P("time", {
593
604
  dateTime: e,
594
605
  className: d("self-center text-center", r),
595
606
  children: s
596
607
  });
597
608
  };
598
609
  //#endregion
599
- export { $ as AssistantMessageBubble, Ee as BubblePosition, R as CONVERSATION_MESSAGES_CLASS, Ie as ConversationStartTimestamp, he as MessageActions, je as MessageBubble, Ne as MessageSelectionReply, Te as StatusMessageBubble, Ae as UserMessageBubble };
610
+ export { we as AssistantMessageBubble, Ee as BubblePosition, L as CONVERSATION_MESSAGES_CLASS, Ie as ConversationStartTimestamp, me as MessageActions, je as MessageBubble, Ne as MessageSelectionReply, Te as StatusMessageBubble, Ae as UserMessageBubble };
@@ -122,6 +122,8 @@ interface BaseMessageBubbleProps {
122
122
  onAttachmentClick?: (attachment: DisplayAttachment) => void;
123
123
  /** Fires with all downloadable attachments when "download all" is triggered. */
124
124
  onDownloadAll?: (attachments: DisplayAttachment[]) => void;
125
+ /** Whether an attachment can be downloaded; `false` hides its tile's download button and leaves it out of "download all". Defaults to every attachment being downloadable. */
126
+ isAttachmentDownloadable?: (attachment: DisplayAttachment) => boolean;
125
127
  /** Fires when a failed attachment upload is retried. */
126
128
  onAttachmentRetry?: (id: string) => void;
127
129
  /** ID of the attachment currently open in the canvas panel, if any. Renders that tile's selected visual state. */
@@ -1 +1 @@
1
- {"version":3,"file":"message-bubble.d.ts","sourceRoot":"","sources":["../../src/models/message-bubble.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-bubble.d.ts","sourceRoot":"","sources":["../../src/models/message-bubble.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-conversation-messages",
3
3
  "description": "Message bubble components for rendering conversation history with actions and source citations",
4
- "version": "1.3.0-dev.221",
4
+ "version": "1.3.0-dev.224",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -19,12 +19,12 @@
19
19
  "dependencies": {
20
20
  "@tabler/icons-react": "^3.44.0",
21
21
  "react-markdown": "^10.1.0",
22
- "@epam/ai-dial-attachment-input": "1.3.0-dev.221"
22
+ "@epam/ai-dial-attachment-input": "1.3.0-dev.224"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "react": "^19.2.8",
26
26
  "react-dom": "^19.2.8",
27
- "@epam/ai-dial-chat-shared": "1.3.0-dev.221",
27
+ "@epam/ai-dial-chat-shared": "1.3.0-dev.224",
28
28
  "@epam/ai-dial-ui-kit": "^0.16.0-dev.45"
29
29
  },
30
30
  "repository": {