@epam/ai-dial-conversation-messages 1.2.0-dev.245 → 1.2.0-dev.250

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":"AssistantMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/AssistantMessageBubble.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAa/E,gHAAgH;AAChH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAuNlE,CAAC"}
1
+ {"version":3,"file":"AssistantMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/AssistantMessageBubble.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAa/E,gHAAgH;AAChH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAwNlE,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, mergeClasses as c, useCollapsedText as l } from "@epam/ai-dial-chat-shared";
2
2
  import { AttachmentGroup as u } from "@epam/ai-dial-attachment-input";
3
- import { Button as d, ButtonVariant as f, DIAL_ICON_SIZE as p, DIAL_KIT_ICON_STROKE as m, ElementSize as h, InfoMessageNotification as g, LinkButton as _, NeutralButton as v, ToggleIconButton as y } from "@epam/ai-dial-ui-kit";
4
- import { useCallback as b, useEffect as x, useId as S, useLayoutEffect as C, useMemo as ee, useRef as w, useState as T } from "react";
5
- import { IconArrowBackUp as E, IconChevronDown as D, IconChevronUp as O, IconMarkdown as k, IconPencilMinus as te, IconRefresh as ne, IconThumbDown as A, IconThumbDownFilled as j, IconThumbUp as M, IconThumbUpFilled as N, IconTrashX as P } from "@tabler/icons-react";
6
- import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
7
- import { createPortal as R } from "react-dom";
3
+ import { Button as d, ButtonVariant as f, DIAL_ICON_SIZE as p, DIAL_KIT_ICON_STROKE as m, ElementSize as h, GhostIconButton as g, InfoMessageNotification as _, LinkButton as v, NeutralButton as y } from "@epam/ai-dial-ui-kit";
4
+ import { useCallback as b, useEffect as x, useId as S, useLayoutEffect as C, useMemo as w, useRef as T, useState as E } from "react";
5
+ import { IconArrowBackUp as D, IconChevronDown as O, IconChevronUp as k, IconMarkdown as A, IconPencilMinus as j, IconRefresh as ee, IconThumbDown as te, IconThumbDownFilled as ne, IconThumbUp as M, IconThumbUpFilled as re, 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";
8
8
  //#region src/constants/public-class-names.ts
9
- var z = {
9
+ var R = {
10
10
  userBubble: "dial-cm-user-bubble",
11
11
  assistantContent: "dial-cm-assistant-content"
12
- }, B = 4, V = (e) => {
13
- let t = w(null), [n, r] = T(0);
12
+ }, z = 4, B = (e) => {
13
+ let t = T(null), [n, r] = E(0);
14
14
  return x(() => {
15
15
  if (!e) return;
16
16
  let n = t.current;
@@ -22,36 +22,36 @@ var z = {
22
22
  return i.observe(n), () => i.disconnect();
23
23
  }, [e]), {
24
24
  slotRef: t,
25
- firstLineIndent: e ? `calc(${n}px + ${B}px)` : void 0
25
+ firstLineIndent: e ? `calc(${n}px + ${z}px)` : void 0
26
26
  };
27
- }, H = [
27
+ }, V = [
28
28
  "href",
29
29
  "src",
30
30
  "alt",
31
31
  "colspan",
32
32
  "rowspan",
33
33
  "start"
34
- ], U = new Set([
34
+ ], H = new Set([
35
35
  "pre",
36
36
  "pre-wrap",
37
37
  "pre-line",
38
38
  "break-spaces"
39
- ]), W = (e) => {
39
+ ]), U = (e) => {
40
40
  let t = document.createElement(e.tagName.toLowerCase());
41
- H.forEach((n) => {
41
+ V.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 U.has(n) && (t.style.whiteSpace = "pre-wrap"), t;
47
- }, re = (e) => e instanceof SVGElement || window.getComputedStyle(e).display === "none", G = (e, t) => {
46
+ return H.has(n) && (t.style.whiteSpace = "pre-wrap"), t;
47
+ }, W = (e) => e instanceof SVGElement || window.getComputedStyle(e).display === "none", G = (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) || re(e)) return null;
54
- let n = W(e);
53
+ if (!(e instanceof Element) || W(e)) return null;
54
+ let n = U(e);
55
55
  return e.childNodes.forEach((e) => {
56
56
  let r = G(e, t);
57
57
  r && n.appendChild(r);
@@ -59,7 +59,7 @@ var z = {
59
59
  }, K = (e, t, n) => {
60
60
  let r = e, i = t;
61
61
  for (; i && i !== n && n.contains(i);) {
62
- let e = W(i);
62
+ let e = U(i);
63
63
  e.appendChild(r), r = e, i = i.parentElement;
64
64
  }
65
65
  return r;
@@ -79,116 +79,116 @@ var z = {
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
- }, J = { activeRating: "_activeRating_ygoee_1" }, Y = 2e3, ae = ({ role: e = a.User, onEdit: n, onEditHover: r, onDelete: o, onRegenerate: l, onCopy: u, onCopyMarkdown: d, onLike: f, onDislike: g, activeRating: _, isAlwaysVisible: v, isDisabled: x = !1, className: S, labels: C, colors: ee }) => {
83
- let { tooltips: w, ariaLabels: E } = C ?? {}, [D, O] = T(null), [R, z] = T(""), B = n != null || o != null || l != null || u != null || d != null || f != null || g != null, V = s({ "--ma-active-rating-text": ee?.activeRatingText }), H = b(() => {
84
- u?.(), O("copy"), z(E?.copiedStatus ?? "Copied to clipboard"), setTimeout(() => O(null), Y);
85
- }, [u, E?.copiedStatus]), U = b(() => {
86
- d?.(), O("markdown"), z(E?.copiedMarkdownStatus ?? "Copied as Markdown to clipboard"), setTimeout(() => O(null), Y);
87
- }, [d, E?.copiedMarkdownStatus]);
88
- return B ? /* @__PURE__ */ L("div", {
82
+ }, J = { activeRating: "_activeRating_ygoee_1" }, Y = 2e3, ae = ({ role: e = a.User, onEdit: n, onEditHover: r, onDelete: o, onRegenerate: l, onCopy: u, onCopyMarkdown: d, onLike: f, onDislike: _, activeRating: v, isAlwaysVisible: y, isDisabled: x = !1, className: S, labels: C, colors: w }) => {
83
+ let { tooltips: T, ariaLabels: D } = C ?? {}, [O, k] = E(null), [L, R] = E(""), z = n != null || o != null || l != null || u != null || d != null || f != null || _ != null, B = s({ "--ma-active-rating-text": w?.activeRatingText }), V = b(() => {
84
+ u?.(), k("copy"), R(D?.copiedStatus ?? "Copied to clipboard"), setTimeout(() => k(null), Y);
85
+ }, [u, D?.copiedStatus]), H = b(() => {
86
+ d?.(), k("markdown"), R(D?.copiedMarkdownStatus ?? "Copied as Markdown to clipboard"), setTimeout(() => k(null), Y);
87
+ }, [d, D?.copiedMarkdownStatus]);
88
+ return z ? /* @__PURE__ */ I("div", {
89
89
  role: "toolbar",
90
- "aria-label": E?.actionsGroup ?? "Message actions",
91
- style: V,
92
- className: c("flex gap-1", !v && "opacity-0 group-hover:opacity-100", S),
93
- children: [/* @__PURE__ */ I("span", {
90
+ "aria-label": D?.actionsGroup ?? "Message actions",
91
+ style: B,
92
+ className: c("flex gap-1", !y && "opacity-0 group-hover:opacity-100", S),
93
+ children: [/* @__PURE__ */ F("span", {
94
94
  role: "status",
95
95
  "aria-live": "polite",
96
96
  className: "sr-only",
97
- children: R
98
- }), e === a.User ? /* @__PURE__ */ L(F, { children: [n && /* @__PURE__ */ I(y, {
99
- icon: /* @__PURE__ */ I(te, {
97
+ children: L
98
+ }), e === a.User ? /* @__PURE__ */ I(P, { children: [n && /* @__PURE__ */ F(g, {
99
+ icon: /* @__PURE__ */ F(j, {
100
100
  size: p.SM,
101
101
  "aria-hidden": !0,
102
102
  stroke: m
103
103
  }),
104
104
  size: h.Small,
105
- "aria-label": E?.editMessage ?? "Edit message",
106
- tooltipProps: { tooltip: w?.edit ?? "Edit" },
105
+ "aria-label": D?.editMessage ?? "Edit message",
106
+ tooltipProps: { tooltip: T?.edit ?? "Edit" },
107
107
  onClick: n,
108
108
  onMouseEnter: r,
109
109
  onFocus: r,
110
110
  disabled: x
111
- }), o && /* @__PURE__ */ I(y, {
112
- icon: /* @__PURE__ */ I(P, {
111
+ }), o && /* @__PURE__ */ F(g, {
112
+ icon: /* @__PURE__ */ F(N, {
113
113
  size: p.SM,
114
114
  "aria-hidden": !0,
115
115
  stroke: m
116
116
  }),
117
117
  size: h.Small,
118
- "aria-label": E?.deleteMessage ?? "Delete message",
119
- tooltipProps: { tooltip: w?.delete ?? "Delete" },
118
+ "aria-label": D?.deleteMessage ?? "Delete message",
119
+ tooltipProps: { tooltip: T?.delete ?? "Delete" },
120
120
  onClick: o,
121
121
  disabled: x
122
- })] }) : /* @__PURE__ */ L(F, { children: [
123
- l && /* @__PURE__ */ I(y, {
124
- icon: /* @__PURE__ */ I(ne, {
122
+ })] }) : /* @__PURE__ */ I(P, { children: [
123
+ l && /* @__PURE__ */ F(g, {
124
+ icon: /* @__PURE__ */ F(ee, {
125
125
  size: p.SM,
126
126
  "aria-hidden": !0,
127
127
  stroke: m
128
128
  }),
129
129
  size: h.Small,
130
- "aria-label": E?.regenerateResponse ?? "Regenerate response",
131
- tooltipProps: { tooltip: w?.regenerate ?? "Regenerate" },
130
+ "aria-label": D?.regenerateResponse ?? "Regenerate response",
131
+ tooltipProps: { tooltip: T?.regenerate ?? "Regenerate" },
132
132
  onClick: l,
133
133
  disabled: x
134
134
  }),
135
- u && /* @__PURE__ */ I(t, {
135
+ u && /* @__PURE__ */ F(t, {
136
136
  iconSize: p.SM,
137
- onClick: H,
137
+ onClick: V,
138
138
  size: h.Small,
139
- isCopied: D === "copy",
140
- copyLabel: w?.copy ?? "Copy",
141
- copiedLabel: w?.copied ?? "Copied!",
142
- ariaLabel: E?.copyResponse ?? "Copy response",
139
+ isCopied: O === "copy",
140
+ copyLabel: T?.copy ?? "Copy",
141
+ copiedLabel: T?.copied ?? "Copied!",
142
+ ariaLabel: D?.copyResponse ?? "Copy response",
143
143
  isDisabled: x
144
144
  }),
145
- d && /* @__PURE__ */ I(t, {
145
+ d && /* @__PURE__ */ F(t, {
146
146
  iconSize: p.SM,
147
- onClick: U,
147
+ onClick: H,
148
148
  size: h.Small,
149
- isCopied: D === "markdown",
150
- iconCopy: /* @__PURE__ */ I(k, {
149
+ isCopied: O === "markdown",
150
+ iconCopy: /* @__PURE__ */ F(A, {
151
151
  size: p.SM,
152
152
  "aria-hidden": !0,
153
153
  stroke: m
154
154
  }),
155
- copyLabel: w?.copyMarkdown ?? "Copy as Markdown",
156
- copiedLabel: w?.copiedMarkdown ?? "Copied!",
157
- ariaLabel: E?.copyAsMarkdown ?? "Copy as markdown",
155
+ copyLabel: T?.copyMarkdown ?? "Copy as Markdown",
156
+ copiedLabel: T?.copiedMarkdown ?? "Copied!",
157
+ ariaLabel: D?.copyAsMarkdown ?? "Copy as markdown",
158
158
  isDisabled: x
159
159
  }),
160
- f && /* @__PURE__ */ I(y, {
161
- icon: _ === i.Like ? /* @__PURE__ */ I(N, {
160
+ f && /* @__PURE__ */ F(g, {
161
+ icon: v === i.Like ? /* @__PURE__ */ F(re, {
162
162
  className: J.activeRating,
163
163
  size: p.SM,
164
164
  "aria-hidden": !0
165
- }) : /* @__PURE__ */ I(M, {
165
+ }) : /* @__PURE__ */ F(M, {
166
166
  size: p.SM,
167
167
  "aria-hidden": !0,
168
168
  stroke: m
169
169
  }),
170
170
  size: h.Small,
171
- "aria-label": E?.likeResponse ?? "Like response",
172
- "aria-pressed": _ === i.Like,
173
- tooltipProps: { tooltip: w?.like ?? "Like" },
171
+ "aria-label": D?.likeResponse ?? "Like response",
172
+ "aria-pressed": v === i.Like,
173
+ tooltipProps: { tooltip: T?.like ?? "Like" },
174
174
  onClick: f,
175
175
  disabled: x
176
176
  }),
177
- g && /* @__PURE__ */ I(y, {
178
- icon: _ === i.Dislike ? /* @__PURE__ */ I(j, {
177
+ _ && /* @__PURE__ */ F(g, {
178
+ icon: v === i.Dislike ? /* @__PURE__ */ F(ne, {
179
179
  className: J.activeRating,
180
180
  size: p.SM,
181
181
  "aria-hidden": !0
182
- }) : /* @__PURE__ */ I(A, {
182
+ }) : /* @__PURE__ */ F(te, {
183
183
  size: p.SM,
184
184
  "aria-hidden": !0,
185
185
  stroke: m
186
186
  }),
187
187
  size: h.Small,
188
- "aria-label": E?.dislikeResponse ?? "Dislike response",
189
- "aria-pressed": _ === i.Dislike,
190
- tooltipProps: { tooltip: w?.dislike ?? "Dislike" },
191
- onClick: g,
188
+ "aria-label": D?.dislikeResponse ?? "Dislike response",
189
+ "aria-pressed": v === i.Dislike,
190
+ tooltipProps: { tooltip: T?.dislike ?? "Dislike" },
191
+ onClick: _,
192
192
  disabled: x
193
193
  })
194
194
  ] })]
@@ -200,179 +200,179 @@ var z = {
200
200
  collapsedText: "_collapsedText_cq829_15",
201
201
  startersDivider: "_startersDivider_cq829_26",
202
202
  text: "_text_cq829_30"
203
- }, oe = "[&>.cm-bubble-markdown>div>*:first-child]:indent-[var(--cm-bubble-first-line-indent,0px)]", Z = ({ text: t, contentRef: i, styles: l, actions: d, hasAlwaysVisibleActions: f, isStreaming: p, attachments: m, beforeContent: h, responseFormat: g, afterContent: _, starters: y, onSelectStarter: b, deploymentIconUrl: x, deploymentDisplayName: S, markdownComponents: C, markdownClassNames: w, markdownUrlTransform: T, onAttachmentClick: E, onDownloadAll: D, onAttachmentRetry: O, codeBlockTheme: k, tableOnOpenInCanvas: te, labels: ne, selectedAttachmentId: A }) => {
204
- let { colors: j, typography: M, className: N, bubbleClassName: P } = l ?? {}, { attachmentClickLabel: F, attachmentRetryLabel: R, attachmentOpenInNewTabLabel: B, startersAriaLabel: H = "Quick reply buttons", thinkingLabel: U, codeBlockCopyLabel: W, codeBlockCopiedLabel: re, tableCopyLabel: G, tableCopiedLabel: K, tableDownloadCsvLabel: q, tableOpenInCanvasLabel: J, tableDownloadFilename: Y, tableScrollRegionAriaLabel: Z, assistantMessageAriaLabel: Q = "Assistant message", deploymentIconFallbackLabel: $ = "AI" } = ne ?? {}, se = ee(() => ({
205
- copyLabel: G,
206
- copiedLabel: K,
207
- downloadCsvLabel: q,
208
- openInCanvasLabel: J
203
+ }, oe = "[&>.cm-bubble-markdown>div>*:first-child]:indent-[var(--cm-bubble-first-line-indent,0px)]", Z = ({ text: t, contentRef: i, styles: l, actions: d, hasAlwaysVisibleActions: f, isStreaming: p, attachments: m, beforeContent: h, responseFormat: g, afterContent: _, hasThinkingPlaceholder: v = !0, starters: b, onSelectStarter: x, deploymentIconUrl: S, deploymentDisplayName: C, markdownComponents: T, markdownClassNames: E, markdownUrlTransform: D, onAttachmentClick: O, onDownloadAll: k, onAttachmentRetry: A, codeBlockTheme: j, tableOnOpenInCanvas: ee, labels: te, selectedAttachmentId: ne }) => {
204
+ let { colors: M, typography: re, className: N, bubbleClassName: P } = l ?? {}, { attachmentClickLabel: L, attachmentRetryLabel: z, attachmentOpenInNewTabLabel: V, startersAriaLabel: H = "Quick reply buttons", thinkingLabel: U, codeBlockCopyLabel: W, codeBlockCopiedLabel: G, tableCopyLabel: K, tableCopiedLabel: q, tableDownloadCsvLabel: J, tableOpenInCanvasLabel: Y, tableDownloadFilename: Z, tableScrollRegionAriaLabel: Q, assistantMessageAriaLabel: $ = "Assistant message", deploymentIconFallbackLabel: se = "AI" } = te ?? {}, ce = w(() => ({
205
+ copyLabel: K,
206
+ copiedLabel: q,
207
+ downloadCsvLabel: J,
208
+ openInCanvasLabel: Y
209
209
  }), [
210
- G,
211
210
  K,
212
211
  q,
213
- J
214
- ]), ce = p ? (m ?? []).filter((t) => t.type !== e.Audio) : m ?? [], { slotRef: le, firstLineIndent: ue } = V(h != null && !!t), de = s({
215
- "--cm-bubble-text": j?.text,
216
- "--cm-starters-divider": j?.startersDivider,
217
- "--cm-bubble-first-line-indent": ue
218
- }), fe = c(X.text, M?.fontClassName), pe = !!(x || S);
219
- return /* @__PURE__ */ L("div", {
212
+ J,
213
+ Y
214
+ ]), le = p ? (m ?? []).filter((t) => t.type !== e.Audio) : m ?? [], { slotRef: ue, firstLineIndent: de } = B(h != null && !!t), fe = s({
215
+ "--cm-bubble-text": M?.text,
216
+ "--cm-starters-divider": M?.startersDivider,
217
+ "--cm-bubble-first-line-indent": de
218
+ }), pe = c(X.text, re?.fontClassName), me = !!(S || C);
219
+ return /* @__PURE__ */ I("div", {
220
220
  role: "group",
221
- "aria-label": Q,
222
- style: de,
221
+ "aria-label": $,
222
+ style: fe,
223
223
  onCopy: ie,
224
224
  className: c("flex w-full items-start gap-3", N),
225
- children: [pe && /* @__PURE__ */ I(n, {
226
- src: x,
225
+ children: [me && /* @__PURE__ */ F(n, {
226
+ src: S,
227
227
  size: 28,
228
- initialsName: S || $,
229
- labels: { tooltip: S ?? $ }
230
- }), /* @__PURE__ */ L("div", {
228
+ initialsName: C || se,
229
+ labels: { tooltip: C ?? se }
230
+ }), /* @__PURE__ */ I("div", {
231
231
  className: "flex w-full min-w-0 max-w-full flex-col items-start gap-5",
232
- children: [/* @__PURE__ */ L("div", {
232
+ children: [/* @__PURE__ */ I("div", {
233
233
  className: c("flex w-full min-w-0 max-w-full flex-col items-start gap-4", P),
234
234
  children: [
235
- h != null && !t && /* @__PURE__ */ I("div", {
235
+ h != null && !t && /* @__PURE__ */ F("div", {
236
236
  className: "min-w-0",
237
237
  children: h
238
238
  }),
239
- (t || p) && /* @__PURE__ */ L("div", {
239
+ (t || p && v) && /* @__PURE__ */ I("div", {
240
240
  "aria-live": "polite",
241
241
  "aria-atomic": "false",
242
- className: c(fe, "relative min-w-0 max-w-full text-start", h != null && t && oe, z.assistantContent),
243
- children: [h != null && t && /* @__PURE__ */ I("div", {
244
- ref: le,
242
+ className: c(pe, "relative min-w-0 max-w-full text-start", h != null && t && oe, R.assistantContent),
243
+ children: [h != null && t && /* @__PURE__ */ F("div", {
244
+ ref: ue,
245
245
  className: "absolute start-0 top-0",
246
246
  children: h
247
- }), /* @__PURE__ */ I("div", {
247
+ }), /* @__PURE__ */ F("div", {
248
248
  ref: i,
249
249
  className: "cm-bubble-markdown min-w-0 max-w-full",
250
- children: /* @__PURE__ */ I(r, {
250
+ children: /* @__PURE__ */ F(r, {
251
251
  content: t ?? "",
252
252
  isPlainText: g === o.PlainText,
253
253
  isStreaming: p,
254
254
  thinkingLabel: U,
255
- components: C,
256
- classNames: w,
257
- urlTransform: T,
255
+ components: T,
256
+ classNames: E,
257
+ urlTransform: D,
258
258
  codeBlockCopyLabel: W,
259
- codeBlockCopiedLabel: re,
260
- codeBlockTheme: k,
261
- tableActionLabels: se,
262
- tableDownloadFilename: Y,
263
- tableOnOpenInCanvas: te,
264
- tableScrollRegionAriaLabel: Z
259
+ codeBlockCopiedLabel: G,
260
+ codeBlockTheme: j,
261
+ tableActionLabels: ce,
262
+ tableDownloadFilename: Z,
263
+ tableOnOpenInCanvas: ee,
264
+ tableScrollRegionAriaLabel: Q
265
265
  })
266
266
  })]
267
267
  }),
268
- /* @__PURE__ */ I(u, {
269
- attachments: ce,
270
- onAttachmentClick: (e) => E?.(m?.find((t) => t.id === e)),
271
- onDownloadAll: D,
272
- onRetry: O,
268
+ /* @__PURE__ */ F(u, {
269
+ attachments: le,
270
+ onAttachmentClick: (e) => O?.(m?.find((t) => t.id === e)),
271
+ onDownloadAll: k,
272
+ onRetry: A,
273
273
  labels: {
274
- clickLabel: F,
275
- retryLabel: R,
276
- openInNewTabLabel: B
274
+ clickLabel: L,
275
+ retryLabel: z,
276
+ openInNewTabLabel: V
277
277
  },
278
- selectedAttachmentId: A
278
+ selectedAttachmentId: ne
279
279
  }),
280
280
  _,
281
- /* @__PURE__ */ I(ae, {
281
+ /* @__PURE__ */ F(ae, {
282
282
  ...d,
283
283
  isAlwaysVisible: f,
284
284
  role: a.Assistant
285
285
  })
286
286
  ]
287
- }), y && y.length > 0 && b && /* @__PURE__ */ I("div", {
287
+ }), b && b.length > 0 && x && /* @__PURE__ */ F("div", {
288
288
  role: "list",
289
289
  "aria-label": H,
290
290
  className: c("flex w-full flex-wrap gap-2 border-t pt-5", X.startersDivider),
291
- children: y.map((e, t) => /* @__PURE__ */ I("div", {
291
+ children: b.map((e, t) => /* @__PURE__ */ F("div", {
292
292
  role: "listitem",
293
293
  className: "min-w-[40px]",
294
- children: /* @__PURE__ */ I(v, {
294
+ children: /* @__PURE__ */ F(y, {
295
295
  label: e.title,
296
296
  className: "min-w-[40px]",
297
- onClick: () => b(e)
297
+ onClick: () => x(e)
298
298
  })
299
299
  }, t))
300
300
  })]
301
301
  })]
302
302
  });
303
- }, Q = ({ labels: { titleText: e = "Model switched.", bodyText: t } }) => /* @__PURE__ */ I("div", {
303
+ }, Q = ({ labels: { titleText: e = "Model switched.", bodyText: t } }) => /* @__PURE__ */ F("div", {
304
304
  role: "status",
305
305
  "aria-live": "polite",
306
- children: /* @__PURE__ */ I(g, {
306
+ children: /* @__PURE__ */ F(_, {
307
307
  title: e,
308
308
  message: t,
309
309
  textClassName: "flex-row flex-wrap gap-1"
310
310
  })
311
311
  }), $ = /* @__PURE__ */ function(e) {
312
312
  return e.Bottom = "Bottom", e.Top = "Top", e;
313
- }({}), se = 10, ce = ({ text: e, contentRef: t, position: n = $.Bottom, styles: r, actions: i, hasAlwaysVisibleActions: o, attachments: d, collapsedLineCount: f = se, labels: m, textSegments: g, onAttachmentClick: v, onDownloadAll: y, onAttachmentRetry: b, selectedAttachmentId: x }) => {
314
- let { colors: C, typography: ee, className: w, bubbleClassName: T } = r ?? {}, { showMoreLabel: E = "Show more", showLessLabel: k = "Show less", showMoreAriaLabel: te, showLessAriaLabel: ne, attachmentClickLabel: A, attachmentRetryLabel: j, attachmentOpenInNewTabLabel: M, userMessageAriaLabel: N = "User message" } = m ?? {}, { textRef: P, isTextCollapsed: R, isOverflowing: B, collapsedMaxHeight: V, expandedMaxHeight: H, isCollapsed: U, toggleCollapsed: W } = l({
313
+ }({}), se = 10, ce = ({ text: e, contentRef: t, position: n = $.Bottom, styles: r, actions: i, hasAlwaysVisibleActions: o, attachments: d, collapsedLineCount: f = se, labels: m, textSegments: g, onAttachmentClick: _, onDownloadAll: y, onAttachmentRetry: b, selectedAttachmentId: x }) => {
314
+ let { colors: C, typography: w, className: T, bubbleClassName: E } = r ?? {}, { showMoreLabel: D = "Show more", showLessLabel: A = "Show less", showMoreAriaLabel: j, showLessAriaLabel: ee, attachmentClickLabel: te, attachmentRetryLabel: ne, attachmentOpenInNewTabLabel: M, userMessageAriaLabel: re = "User message" } = m ?? {}, { textRef: N, isTextCollapsed: L, isOverflowing: z, collapsedMaxHeight: B, expandedMaxHeight: V, isCollapsed: H, toggleCollapsed: U } = l({
315
315
  text: e ?? "",
316
316
  collapsedLineCount: f
317
- }), re = s({
317
+ }), W = s({
318
318
  "--cm-bubble-user-bg": C?.userBackground,
319
319
  "--cm-bubble-user-border": C?.userBorder,
320
320
  "--cm-bubble-fade-start": C?.fadeStart,
321
321
  "--cm-bubble-text": C?.text,
322
- "--cm-bubble-collapsed-height": B ? `${V}px` : void 0,
323
- "--cm-bubble-expanded-height": B ? `${H}px` : void 0
324
- }), G = n === $.Top ? "rounded-ee-md rounded-se-2xl" : "rounded-se-md rounded-ee-2xl", K = c(X.text, ee?.fontClassName), q = te ?? E, J = ne ?? k, Y = U ? E : k, oe = U ? q : J, Z = U ? D : O, Q = S();
325
- return /* @__PURE__ */ I("div", {
322
+ "--cm-bubble-collapsed-height": z ? `${B}px` : void 0,
323
+ "--cm-bubble-expanded-height": z ? `${V}px` : void 0
324
+ }), G = n === $.Top ? "rounded-ee-md rounded-se-2xl" : "rounded-se-md rounded-ee-2xl", K = c(X.text, w?.fontClassName), q = j ?? D, J = ee ?? A, Y = H ? D : A, oe = H ? q : J, Z = H ? O : k, Q = S();
325
+ return /* @__PURE__ */ F("div", {
326
326
  role: "group",
327
- "aria-label": N,
328
- style: re,
327
+ "aria-label": re,
328
+ style: W,
329
329
  onCopy: ie,
330
- className: c("flex w-full", w),
331
- children: /* @__PURE__ */ L("div", {
330
+ className: c("flex w-full", T),
331
+ children: /* @__PURE__ */ I("div", {
332
332
  className: "ms-auto flex w-fit min-w-0 max-w-full flex-col items-end gap-4",
333
333
  children: [
334
- /* @__PURE__ */ I(u, {
334
+ /* @__PURE__ */ F(u, {
335
335
  attachments: d ?? [],
336
- onAttachmentClick: (e) => v?.(d?.find((t) => t.id === e)),
336
+ onAttachmentClick: (e) => _?.(d?.find((t) => t.id === e)),
337
337
  onDownloadAll: y,
338
338
  onRetry: b,
339
339
  labels: {
340
- clickLabel: A,
341
- retryLabel: j,
340
+ clickLabel: te,
341
+ retryLabel: ne,
342
342
  openInNewTabLabel: M
343
343
  },
344
344
  styles: { className: "max-w-[640px]" },
345
345
  selectedAttachmentId: x
346
346
  }),
347
- e && /* @__PURE__ */ I("div", {
348
- className: c(X.userBubble, "flex w-fit items-center justify-end rounded-es-2xl rounded-ss-2xl border px-6 py-4", G, T, z.userBubble),
349
- children: /* @__PURE__ */ L("div", {
347
+ e && /* @__PURE__ */ F("div", {
348
+ className: c(X.userBubble, "flex w-fit items-center justify-end rounded-es-2xl rounded-ss-2xl border px-6 py-4", G, E, R.userBubble),
349
+ children: /* @__PURE__ */ I("div", {
350
350
  className: "flex min-w-0 flex-col items-start",
351
- children: [/* @__PURE__ */ I("div", {
351
+ children: [/* @__PURE__ */ F("div", {
352
352
  id: Q,
353
353
  ref: t,
354
- className: c("relative -me-1 -ms-1 w-[calc(100%+8px)] overflow-hidden pe-1 ps-1", B && X.collapsibleText, B && !U && X.expandedText, R && X.collapsedText),
355
- children: /* @__PURE__ */ I("p", {
356
- ref: P,
354
+ className: c("relative -me-1 -ms-1 w-[calc(100%+8px)] overflow-hidden pe-1 ps-1", z && X.collapsibleText, z && !H && X.expandedText, L && X.collapsedText),
355
+ children: /* @__PURE__ */ F("p", {
356
+ ref: N,
357
357
  className: c(K, "whitespace-pre-wrap text-start [overflow-wrap:anywhere]"),
358
358
  children: g ?? e
359
359
  })
360
- }), B && /* @__PURE__ */ I(_, {
361
- label: /* @__PURE__ */ I(F, { children: Y }),
362
- iconBefore: /* @__PURE__ */ I(Z, {
360
+ }), z && /* @__PURE__ */ F(v, {
361
+ label: /* @__PURE__ */ F(P, { children: Y }),
362
+ iconBefore: /* @__PURE__ */ F(Z, {
363
363
  size: p.SM,
364
364
  "aria-hidden": "true"
365
365
  }),
366
366
  "aria-label": oe,
367
- "aria-expanded": !U,
367
+ "aria-expanded": !H,
368
368
  "aria-controls": Q,
369
369
  className: "mt-3",
370
- onClick: W,
370
+ onClick: U,
371
371
  size: h.Small
372
372
  })]
373
373
  })
374
374
  }),
375
- /* @__PURE__ */ I(ae, {
375
+ /* @__PURE__ */ F(ae, {
376
376
  ...i,
377
377
  isAlwaysVisible: o,
378
378
  role: a.User
@@ -380,14 +380,14 @@ var z = {
380
380
  ]
381
381
  })
382
382
  });
383
- }, le = ({ role: e, beforeContent: t, textSegments: n, onAttachmentClick: r, responseFormat: i, markdownComponents: o, markdownUrlTransform: s, ...c }) => e === a.Status ? /* @__PURE__ */ I(Q, { labels: {
383
+ }, le = ({ role: e, beforeContent: t, textSegments: n, onAttachmentClick: r, responseFormat: i, markdownComponents: o, markdownUrlTransform: s, ...c }) => e === a.Status ? /* @__PURE__ */ F(Q, { labels: {
384
384
  titleText: c.labels?.statusTitleText,
385
385
  bodyText: c.labels?.statusBodyText ?? ""
386
- } }) : e === a.User ? /* @__PURE__ */ I(ce, {
386
+ } }) : e === a.User ? /* @__PURE__ */ F(ce, {
387
387
  ...c,
388
388
  textSegments: n,
389
389
  onAttachmentClick: r
390
- }) : /* @__PURE__ */ I(Z, {
390
+ }) : /* @__PURE__ */ F(Z, {
391
391
  ...c,
392
392
  beforeContent: t,
393
393
  responseFormat: i,
@@ -399,7 +399,7 @@ var z = {
399
399
  "--cm-reply-background": l?.background,
400
400
  "--cm-reply-hover-background": l?.hoverBackground,
401
401
  "--cm-reply-text": l?.text
402
- }), [b, x] = T({
402
+ }), [b, x] = E({
403
403
  x: 0,
404
404
  y: 0
405
405
  });
@@ -418,33 +418,33 @@ var z = {
418
418
  g,
419
419
  _,
420
420
  i.reply
421
- ]), v ? R(/* @__PURE__ */ L(F, { children: [e && /* @__PURE__ */ I("div", {
421
+ ]), v ? L(/* @__PURE__ */ I(P, { children: [e && /* @__PURE__ */ F("div", {
422
422
  ref: t,
423
423
  className: c("fixed left-0 top-0 z-50 max-w-[calc(100vw-16px)]", p),
424
424
  style: {
425
425
  ...y,
426
426
  transform: `translate(${b.x}px, ${b.y}px)`
427
427
  },
428
- children: /* @__PURE__ */ I(d, {
428
+ children: /* @__PURE__ */ F(d, {
429
429
  variant: f.Neutral,
430
430
  size: h.Small,
431
431
  label: i.reply,
432
432
  onClick: n,
433
433
  textClassName: _,
434
434
  className: c(ue.button, "h-8 min-h-8 min-w-11 px-2 shadow-lg mobile:h-11 mobile:min-h-11", g),
435
- iconAfter: /* @__PURE__ */ I(E, {
435
+ iconAfter: /* @__PURE__ */ F(D, {
436
436
  size: 16,
437
437
  stroke: m,
438
438
  "aria-hidden": "true",
439
439
  className: "rtl:scale-x-[-1]"
440
440
  })
441
441
  })
442
- }), /* @__PURE__ */ I("div", {
442
+ }), /* @__PURE__ */ F("div", {
443
443
  role: "status",
444
444
  "aria-live": "polite",
445
445
  className: "sr-only",
446
- children: e ? i.selectionAvailable : r > 0 ? /* @__PURE__ */ I("span", { children: i.attachmentAdded }, r) : null
446
+ children: e ? i.selectionAvailable : r > 0 ? /* @__PURE__ */ F("span", { children: i.attachmentAdded }, r) : null
447
447
  })] }), v) : null;
448
448
  };
449
449
  //#endregion
450
- export { Z as AssistantMessageBubble, $ as BubblePosition, z as CONVERSATION_MESSAGES_CLASS, ae as MessageActions, le as MessageBubble, de as MessageSelectionReply, Q as StatusMessageBubble, ce as UserMessageBubble };
450
+ export { Z as AssistantMessageBubble, $ as BubblePosition, R as CONVERSATION_MESSAGES_CLASS, ae as MessageActions, le as MessageBubble, de as MessageSelectionReply, Q as StatusMessageBubble, ce as UserMessageBubble };
@@ -163,6 +163,8 @@ export interface AssistantMessageBubbleProps extends BaseMessageBubbleProps {
163
163
  onSelectStarter?: (starter: StarterOption) => void;
164
164
  /** Content rendered between the message body and the actions bar (e.g. a stages panel). */
165
165
  afterContent?: ReactNode;
166
+ /** When `false`, no thinking placeholder renders while streaming before the first token, so `afterContent` starts level with the avatar. Defaults to `true`. */
167
+ hasThinkingPlaceholder?: boolean;
166
168
  /** Deployment icon URL. When absent, no icon is rendered. */
167
169
  deploymentIconUrl?: string;
168
170
  /** Deployment name used as the icon's accessible label. */
@@ -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.2.0-dev.245",
4
+ "version": "1.2.0-dev.250",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -19,13 +19,13 @@
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.2.0-dev.245"
22
+ "@epam/ai-dial-attachment-input": "1.2.0-dev.250"
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.2.0-dev.245",
28
- "@epam/ai-dial-ui-kit": "^0.15.0-dev.30"
27
+ "@epam/ai-dial-chat-shared": "1.2.0-dev.250",
28
+ "@epam/ai-dial-ui-kit": "^0.15.0-dev.35"
29
29
  },
30
30
  "repository": {
31
31
  "type": "git",