@epam/ai-dial-conversation-messages 1.1.0-dev.270 → 1.1.0-dev.277

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.
Files changed (2) hide show
  1. package/index.js +58 -57
  2. package/package.json +4 -4
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
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, DialSlider as m, ElementSize as h, GhostIconButton as g, Highlight as _, InfoMessageNotification as v, LinkButton as y, NeutralButton as b, Popup as x, PopupSize as S, PrimaryButton as C, RadioGroup as w, RadioGroupOrientation as T, Skeleton as E, SkeletonVariant as D, Spinner as O, StaticIconButton as k, Textarea as A, ToggleIconButton as j, Tooltip as M } from "@epam/ai-dial-ui-kit";
2
+ import { DIAL_ICON_SIZE as p, ElementSize as m, GhostIconButton as h, Highlight as g, InfoMessageNotification as _, LinkButton as v, NeutralButton as y, Popup as b, PopupSize as x, PrimaryButton as S, RadioGroup as C, RadioGroupOrientation as w, Skeleton as T, SkeletonVariant as E, Slider as D, Spinner as O, StaticIconButton as k, Textarea as A, ToggleIconButton as j, Tooltip as M } from "@epam/ai-dial-ui-kit";
3
3
  import { IconChevronDown as N, IconChevronUp as P, IconClipboard as F, IconDownload as I, IconExternalLink as L, IconFile as R, IconFileTypeBmp as z, IconFileTypeCss as B, IconFileTypeCsv as V, IconFileTypeDoc as H, IconFileTypeDocx as ee, IconFileTypeHtml as te, IconFileTypeJpg as ne, IconFileTypeJs as U, IconFileTypeJsx as W, IconFileTypePdf as re, IconFileTypePhp as ie, IconFileTypePng as ae, IconFileTypePpt as oe, IconFileTypeRs as se, IconFileTypeSql as ce, IconFileTypeSvg as le, IconFileTypeTs as ue, IconFileTypeTsx as de, IconFileTypeTxt as fe, IconFileTypeVue as pe, IconFileTypeXls as me, IconFileTypeXml as he, IconFileTypeZip as ge, IconMarkdown as _e, IconMusic as ve, IconPaperclip as ye, IconPencilMinus as be, IconPhoto as G, IconRefresh as xe, IconReload as Se, IconTerminal2 as Ce, IconThumbDown as we, IconThumbDownFilled as Te, IconThumbUp as Ee, IconThumbUpFilled as De, IconTrashX as Oe, IconVideo as ke, IconX as Ae } from "@tabler/icons-react";
4
4
  import "react-dom";
5
5
  import { memo as je, useCallback as K, useEffect as Me, useId as Ne, useMemo as Pe, useRef as Fe, useState as q } from "react";
@@ -101,7 +101,7 @@ var Ie = (e) => {
101
101
  imageActionButton: "_imageActionButton_1whwz_47"
102
102
  }, Q = ({ ariaLabel: e, errorTitle: t, errorDescId: n, onClick: r, id: i, icon: a, className: o }) => /* @__PURE__ */ Y(k, {
103
103
  icon: a,
104
- size: h.Small,
104
+ size: m.Small,
105
105
  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),
106
106
  "aria-label": e,
107
107
  "aria-describedby": t ? n : void 0,
@@ -136,15 +136,15 @@ var Ie = (e) => {
136
136
  }), qe = {
137
137
  [e.Network]: "Upload failed · network error",
138
138
  [e.UnsupportedType]: "Upload failed · unsupported file type"
139
- }, Je = ({ 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
+ }, Je = ({ 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: _ }) => {
140
140
  let { clickLabel: v = "Download attachment", retryLabel: y = "Retry upload", sizeLabel: b, uploadingLabel: x = "Uploading", errorReasonLabels: S, genericErrorLabel: C = "Upload failed" } = a ?? {}, { typography: w, className: T } = o ?? {}, { id: E, name: D, status: k, errorReason: A } = t, j = k === c.Loading, M = k === c.Error, N = Ne(), P = M ? A && (S?.[A] ?? qe[A]) || C : "", { BottomIcon: F, typeLabel: I } = Ve(t), L = !M && !j && s && !u, R = M && !!i && A !== e.UnsupportedType, z = L || R ? "pe-5" : void 0, B = (e) => {
141
141
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), r?.(t.id));
142
142
  }, V = Pe(() => l ? D : Ie(D), [l, D]), H = K(() => {
143
143
  window.open(t.referenceUrl, "_blank", "noopener,noreferrer");
144
- }, [t]), ee = d(He, "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), te = /* @__PURE__ */ Y("div", {
144
+ }, [t]), ee = d(He, "group/attachment-tile relative flex-col justify-between items-start gap-1 overflow-hidden p-1.5", Z.tile, !M && Z.hovered, _ && Z.selected, M && Z.tileError), te = /* @__PURE__ */ Y("div", {
145
145
  title: V,
146
146
  className: d(w?.nameClassName ?? "dial-caption-text", "line-clamp-2 min-w-0 break-all", Z.nameText, !M && z),
147
- children: n ? /* @__PURE__ */ Y(_, {
147
+ children: n ? /* @__PURE__ */ Y(g, {
148
148
  text: V,
149
149
  query: n,
150
150
  maxLines: 2
@@ -244,14 +244,14 @@ var Ie = (e) => {
244
244
  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 } = Pe(() => Ve(e), [e]), S = r !== void 0 && !v && !y && !b, { imageRef: C, imageLoadStatus: w } = Xe({
245
245
  enabled: x,
246
246
  src: _
247
- }), T = () => {
247
+ }), D = () => {
248
248
  v && n ? n(h) : S && r && r(h);
249
249
  };
250
250
  return /* @__PURE__ */ Y("div", {
251
251
  className: d(He, "group/attachment-tile", S && "cursor-pointer", Z.tile, l && Z.selected, m),
252
- onClick: T,
252
+ onClick: D,
253
253
  onKeyDown: (e) => {
254
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), T());
254
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), D());
255
255
  },
256
256
  tabIndex: 0,
257
257
  role: "button",
@@ -270,8 +270,8 @@ var Ie = (e) => {
270
270
  id: h,
271
271
  className: Z.imageActionButton
272
272
  }),
273
- w !== Ye.Loaded && /* @__PURE__ */ Y(E, {
274
- variant: D.Rectangular,
273
+ w !== Ye.Loaded && /* @__PURE__ */ Y(T, {
274
+ variant: E.Rectangular,
275
275
  width: "100%",
276
276
  height: "100%",
277
277
  active: w === Ye.Loading,
@@ -341,7 +341,7 @@ var Ie = (e) => {
341
341
  headerIcon: "_headerIcon_1dmgi_1",
342
342
  headerLabel: "_headerLabel_1dmgi_2"
343
343
  }, et = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`, tt = ({ attachments: e, onAttachmentClick: n, onDownloadAll: r, onRetry: i, labels: a, styles: o, selectedAttachmentId: s }) => {
344
- let { ariaLabel: l = "Attachments", clickLabel: f = "Download attachment", retryLabel: m = "Retry upload", downloadAllLabel: _ = "Download all", openInNewTabLabel: v, getHeaderLabel: y = (e) => et(e, "attachment"), promptLabel: b, pastedLabel: x, imageLabel: S } = a ?? {}, { typography: C, colors: w, className: T } = o ?? {}, E = u({ "--ai-group-text": w?.text });
344
+ let { ariaLabel: l = "Attachments", clickLabel: f = "Download attachment", retryLabel: g = "Retry upload", downloadAllLabel: _ = "Download all", openInNewTabLabel: v, getHeaderLabel: y = (e) => et(e, "attachment"), promptLabel: b, pastedLabel: x, imageLabel: S } = a ?? {}, { typography: C, colors: w, className: T } = o ?? {}, E = u({ "--ai-group-text": w?.text });
345
345
  if (e.length === 0) return null;
346
346
  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 ? ye : D ? G : R, M = y(e.length), N = () => {
347
347
  let t = e.filter((e) => e.status === c.Idle);
@@ -367,12 +367,12 @@ var Ie = (e) => {
367
367
  className: d(C?.headerLabelClassName ?? "dial-tiny-semi-text", $e.headerLabel),
368
368
  children: M
369
369
  })]
370
- }), e.length >= 2 && (r || n) && /* @__PURE__ */ Y(g, {
370
+ }), e.length >= 2 && (r || n) && /* @__PURE__ */ Y(h, {
371
371
  icon: /* @__PURE__ */ Y(I, {
372
372
  size: p.SM,
373
373
  "aria-hidden": !0
374
374
  }),
375
- size: h.Small,
375
+ size: m.Small,
376
376
  "aria-label": _,
377
377
  onClick: N
378
378
  })]
@@ -389,7 +389,7 @@ var Ie = (e) => {
389
389
  onRetry: i,
390
390
  labels: {
391
391
  clickLabel: f,
392
- retryLabel: m,
392
+ retryLabel: g,
393
393
  promptLabel: b,
394
394
  pastedLabel: x,
395
395
  imageLabel: S,
@@ -433,25 +433,25 @@ var Ie = (e) => {
433
433
  a
434
434
  ])
435
435
  };
436
- }, rt = { label: "_label_14i7c_1" }, it = ({ 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: h = "System prompt", systemPromptTooltip: g = "Enter a prompt", temperatureLabel: _ = "Temperature", temperatureLabels: v = [
436
+ }, rt = { label: "_label_14i7c_1" }, it = ({ 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: m = "System prompt", systemPromptTooltip: h = "Enter a prompt", temperatureLabel: g = "Temperature", temperatureLabels: _ = [
437
437
  "Precise",
438
438
  "Neutral",
439
439
  "Creative"
440
- ], temperatureHint: y, labelClassName: b = "!dial-small-semi-text", colors: x }) => {
441
- let S = u({ "--csf-label-text": x?.labelText }), C = d(b, rt.label, "gap-1");
440
+ ], temperatureHint: v, labelClassName: y = "!dial-small-semi-text", colors: b }) => {
441
+ let x = u({ "--csf-label-text": b?.labelText }), S = d(y, rt.label, "gap-1");
442
442
  return /* @__PURE__ */ X("div", {
443
443
  className: "flex flex-col gap-4 px-6 pb-3",
444
- style: S,
444
+ style: x,
445
445
  children: [
446
- e.responseFormat && /* @__PURE__ */ Y(w, {
446
+ e.responseFormat && /* @__PURE__ */ Y(C, {
447
447
  id: "response-format",
448
448
  labelProps: {
449
449
  label: s,
450
- className: C,
450
+ className: S,
451
451
  caption: c
452
452
  },
453
453
  optionsClassName: "mb-2",
454
- orientation: T.Column,
454
+ orientation: w.Column,
455
455
  value: t ?? l.Markdown,
456
456
  items: [{
457
457
  value: l.Markdown,
@@ -464,32 +464,33 @@ var Ie = (e) => {
464
464
  }),
465
465
  e.systemPrompt && /* @__PURE__ */ Y(A, {
466
466
  value: n,
467
- placeholder: g,
467
+ placeholder: h,
468
468
  resize: !0,
469
469
  labelProps: {
470
- className: C,
471
- label: h
470
+ className: S,
471
+ label: m
472
472
  },
473
473
  onChange: (e) => a(e ?? "")
474
474
  }),
475
- e.temperature && /* @__PURE__ */ Y(m, {
475
+ e.temperature && /* @__PURE__ */ Y(D, {
476
476
  labelProps: {
477
- label: _,
478
- className: C,
479
- caption: y
477
+ label: g,
478
+ className: S,
479
+ caption: v
480
480
  },
481
481
  value: r,
482
482
  min: 0,
483
483
  max: 1,
484
484
  step: .1,
485
- labels: v,
485
+ labels: _,
486
+ showValue: !0,
486
487
  onChange: o
487
488
  })
488
489
  ]
489
490
  });
490
491
  }, at = { modal: "_modal_kl0h0_1" };
491
492
  je(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemperature: r, onSave: i, onClose: a, title: o = "Chat settings", titleClassName: s = "dial-h1-text", responseFormatLabel: c, responseFormatHint: l, responseFormatMarkdownLabel: u, responseFormatPlainTextLabel: d, systemPromptLabel: f, systemPromptTooltip: p, temperatureLabel: m, temperatureLabels: h, temperatureHint: g, saveLabel: _ = "Apply changes", saveDisabledTooltip: v, backgroundClassName: y = at.modal }) => {
492
- let { responseFormat: b, systemPrompt: w, temperature: T, canSubmit: E, setResponseFormat: D, setSystemPrompt: O, setTemperature: k, handleSubmit: A } = nt({
493
+ let { responseFormat: C, systemPrompt: w, temperature: T, canSubmit: E, setResponseFormat: D, setSystemPrompt: O, setTemperature: k, handleSubmit: A } = nt({
493
494
  features: e,
494
495
  initialResponseFormat: t,
495
496
  initialSystemPrompt: n,
@@ -497,11 +498,11 @@ je(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemp
497
498
  onSave: i,
498
499
  onClose: a
499
500
  });
500
- return /* @__PURE__ */ Y(x, {
501
+ return /* @__PURE__ */ Y(b, {
501
502
  open: !0,
502
503
  header: o,
503
504
  titleClassName: s,
504
- size: S.Sm,
505
+ size: x.Sm,
505
506
  onClose: a,
506
507
  className: y,
507
508
  footer: /* @__PURE__ */ Y("div", {
@@ -509,7 +510,7 @@ je(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemp
509
510
  children: /* @__PURE__ */ Y(M, {
510
511
  tooltip: v,
511
512
  hideTooltip: E || !v,
512
- children: /* @__PURE__ */ Y(C, {
513
+ children: /* @__PURE__ */ Y(S, {
513
514
  label: _,
514
515
  onClick: A,
515
516
  disabled: !E
@@ -518,7 +519,7 @@ je(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemp
518
519
  }),
519
520
  children: /* @__PURE__ */ Y(it, {
520
521
  features: e,
521
- responseFormat: b,
522
+ responseFormat: C,
522
523
  systemPrompt: w,
523
524
  temperature: T,
524
525
  onResponseFormatChange: D,
@@ -536,7 +537,7 @@ je(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemp
536
537
  })
537
538
  });
538
539
  });
539
- var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e = s.User, onEdit: t, onEditHover: r, onDelete: i, onRegenerate: a, onCopy: c, onCopyMarkdown: l, onLike: f, onDislike: m, activeRating: g, isAlwaysVisible: _, className: v, labels: y, colors: b }) => {
540
+ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e = s.User, onEdit: t, onEditHover: r, onDelete: i, onRegenerate: a, onCopy: c, onCopyMarkdown: l, onLike: f, onDislike: h, activeRating: g, isAlwaysVisible: _, className: v, labels: y, colors: b }) => {
540
541
  let { tooltips: x, ariaLabels: S } = y ?? {}, [C, w] = q(null), [T, E] = q(""), D = u({ "--ma-active-rating-text": b?.activeRatingText }), O = K(() => {
541
542
  c?.(), w("copy"), E(S?.copiedStatus ?? "Copied to clipboard"), setTimeout(() => w(null), st);
542
543
  }, [c, S?.copiedStatus]), k = K(() => {
@@ -558,7 +559,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
558
559
  "aria-hidden": !0,
559
560
  stroke: 1.5
560
561
  }),
561
- size: h.Small,
562
+ size: m.Small,
562
563
  "aria-label": S?.editMessage ?? "Edit message",
563
564
  tooltipProps: { tooltip: x?.edit ?? "Edit" },
564
565
  onClick: t,
@@ -570,7 +571,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
570
571
  "aria-hidden": !0,
571
572
  stroke: 1.5
572
573
  }),
573
- size: h.Small,
574
+ size: m.Small,
574
575
  "aria-label": S?.deleteMessage ?? "Delete message",
575
576
  tooltipProps: { tooltip: x?.delete ?? "Delete" },
576
577
  onClick: i
@@ -581,7 +582,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
581
582
  "aria-hidden": !0,
582
583
  stroke: 1.5
583
584
  }),
584
- size: h.Small,
585
+ size: m.Small,
585
586
  "aria-label": S?.regenerateResponse ?? "Regenerate response",
586
587
  tooltipProps: { tooltip: x?.regenerate ?? "Regenerate" },
587
588
  onClick: a
@@ -589,7 +590,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
589
590
  c && /* @__PURE__ */ Y(n, {
590
591
  iconSize: p.SM,
591
592
  onClick: O,
592
- size: h.Small,
593
+ size: m.Small,
593
594
  isCopied: C === "copy",
594
595
  copyLabel: x?.copy ?? "Copy",
595
596
  copiedLabel: x?.copied ?? "Copied!",
@@ -598,7 +599,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
598
599
  l && /* @__PURE__ */ Y(n, {
599
600
  iconSize: p.SM,
600
601
  onClick: k,
601
- size: h.Small,
602
+ size: m.Small,
602
603
  isCopied: C === "markdown",
603
604
  iconCopy: /* @__PURE__ */ Y(_e, {
604
605
  size: p.SM,
@@ -620,13 +621,13 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
620
621
  "aria-hidden": !0,
621
622
  stroke: 1.5
622
623
  }),
623
- size: h.Small,
624
+ size: m.Small,
624
625
  "aria-label": S?.likeResponse ?? "Like response",
625
626
  "aria-pressed": g === o.Like,
626
627
  tooltipProps: { tooltip: x?.like ?? "Like" },
627
628
  onClick: f
628
629
  }),
629
- m && /* @__PURE__ */ Y(j, {
630
+ h && /* @__PURE__ */ Y(j, {
630
631
  icon: g === o.Dislike ? /* @__PURE__ */ Y(Te, {
631
632
  className: ot.activeRating,
632
633
  size: p.SM,
@@ -637,11 +638,11 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
637
638
  "aria-hidden": !0,
638
639
  stroke: 1.5
639
640
  }),
640
- size: h.Small,
641
+ size: m.Small,
641
642
  "aria-label": S?.dislikeResponse ?? "Dislike response",
642
643
  "aria-pressed": g === o.Dislike,
643
644
  tooltipProps: { tooltip: x?.dislike ?? "Dislike" },
644
- onClick: m
645
+ onClick: h
645
646
  })
646
647
  ] })]
647
648
  });
@@ -652,7 +653,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
652
653
  collapsedText: "_collapsedText_qoxdz_15",
653
654
  startersDivider: "_startersDivider_qoxdz_26",
654
655
  text: "_text_qoxdz_30"
655
- }, lt = ({ text: e, styles: n, actions: a, hasAlwaysVisibleActions: o, isStreaming: c, attachments: l, afterContent: f, starters: p, onSelectStarter: m, deploymentIconUrl: h, deploymentDisplayName: g, markdownComponents: _, markdownClassNames: v, onAttachmentClick: y, onDownloadAll: x, onAttachmentRetry: S, codeBlockTheme: C, labels: w, selectedAttachmentId: T }) => {
656
+ }, lt = ({ text: e, styles: n, actions: a, hasAlwaysVisibleActions: o, isStreaming: c, attachments: l, afterContent: f, starters: p, onSelectStarter: m, deploymentIconUrl: h, deploymentDisplayName: g, markdownComponents: _, markdownClassNames: v, onAttachmentClick: b, onDownloadAll: x, onAttachmentRetry: S, codeBlockTheme: C, labels: w, selectedAttachmentId: T }) => {
656
657
  let { colors: E, typography: D, className: O, bubbleClassName: k } = n ?? {}, { attachmentClickLabel: A, attachmentRetryLabel: j, attachmentOpenInNewTabLabel: M, startersAriaLabel: N = "Quick reply buttons", thinkingLabel: P, codeBlockCopyLabel: F, codeBlockCopiedLabel: I, assistantMessageAriaLabel: L = "Assistant message", deploymentIconFallbackLabel: R = "AI" } = w ?? {}, z = c ? (l ?? []).filter((e) => e.type !== t.Audio) : l ?? [], B = u({
657
658
  "--cm-bubble-text": E?.text,
658
659
  "--cm-starters-divider": E?.startersDivider
@@ -689,7 +690,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
689
690
  }),
690
691
  /* @__PURE__ */ Y(tt, {
691
692
  attachments: z,
692
- onAttachmentClick: (e) => y?.(l?.find((t) => t.id === e)),
693
+ onAttachmentClick: (e) => b?.(l?.find((t) => t.id === e)),
693
694
  onDownloadAll: x,
694
695
  onRetry: S,
695
696
  labels: {
@@ -713,7 +714,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
713
714
  children: p.map((e, t) => /* @__PURE__ */ Y("div", {
714
715
  role: "listitem",
715
716
  className: "min-w-[40px]",
716
- children: /* @__PURE__ */ Y(b, {
717
+ children: /* @__PURE__ */ Y(y, {
717
718
  label: e.title,
718
719
  className: "min-w-[40px]",
719
720
  onClick: () => m(e)
@@ -725,22 +726,22 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
725
726
  }, ut = ({ labels: { titleText: e = "Model switched.", bodyText: t } }) => /* @__PURE__ */ Y("div", {
726
727
  role: "status",
727
728
  "aria-live": "polite",
728
- children: /* @__PURE__ */ Y(v, {
729
+ children: /* @__PURE__ */ Y(_, {
729
730
  title: e,
730
731
  message: t,
731
732
  textClassName: "flex-row flex-wrap gap-1"
732
733
  })
733
734
  }), dt = /* @__PURE__ */ function(e) {
734
735
  return e.Bottom = "Bottom", e.Top = "Top", e;
735
- }({}), ft = 10, pt = ({ text: e, position: t = dt.Bottom, styles: n, actions: r, hasAlwaysVisibleActions: i, attachments: a, collapsedLineCount: o = ft, labels: c, onAttachmentClick: l, onDownloadAll: m, onAttachmentRetry: g, selectedAttachmentId: _ }) => {
736
- let { colors: v, typography: b, className: x, bubbleClassName: S } = 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: M, isOverflowing: F, collapsedMaxHeight: I, expandedMaxHeight: L, isCollapsed: R, toggleCollapsed: z } = f({
736
+ }({}), ft = 10, pt = ({ text: e, position: t = dt.Bottom, styles: n, actions: r, hasAlwaysVisibleActions: i, attachments: a, collapsedLineCount: o = ft, labels: c, onAttachmentClick: l, onDownloadAll: h, onAttachmentRetry: g, selectedAttachmentId: _ }) => {
737
+ let { colors: y, typography: b, className: x, bubbleClassName: S } = 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: M, isOverflowing: F, collapsedMaxHeight: I, expandedMaxHeight: L, isCollapsed: R, toggleCollapsed: z } = f({
737
738
  text: e,
738
739
  collapsedLineCount: o
739
740
  }), B = u({
740
- "--cm-bubble-user-bg": v?.userBackground,
741
- "--cm-bubble-user-border": v?.userBorder,
742
- "--cm-bubble-fade-start": v?.fadeStart,
743
- "--cm-bubble-text": v?.text,
741
+ "--cm-bubble-user-bg": y?.userBackground,
742
+ "--cm-bubble-user-border": y?.userBorder,
743
+ "--cm-bubble-fade-start": y?.fadeStart,
744
+ "--cm-bubble-text": y?.text,
744
745
  "--cm-bubble-collapsed-height": F ? `${I}px` : void 0,
745
746
  "--cm-bubble-expanded-height": F ? `${L}px` : void 0
746
747
  }), V = t === dt.Top ? "rounded-ee-md rounded-se-2xl" : "rounded-se-md rounded-ee-2xl", H = d($.text, b?.fontClassName), ee = T ?? C, te = E ?? w, ne = R ? C : w, U = R ? ee : te, W = R ? N : P, re = Ne();
@@ -755,7 +756,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
755
756
  /* @__PURE__ */ Y(tt, {
756
757
  attachments: a ?? [],
757
758
  onAttachmentClick: (e) => l?.(a?.find((t) => t.id === e)),
758
- onDownloadAll: m,
759
+ onDownloadAll: h,
759
760
  onRetry: g,
760
761
  labels: {
761
762
  clickLabel: D,
@@ -777,7 +778,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
777
778
  className: d(H, "whitespace-pre-wrap text-start [overflow-wrap:anywhere]"),
778
779
  children: e
779
780
  })
780
- }), F && /* @__PURE__ */ Y(y, {
781
+ }), F && /* @__PURE__ */ Y(v, {
781
782
  label: /* @__PURE__ */ Y(J, { children: ne }),
782
783
  iconBefore: /* @__PURE__ */ Y(W, {
783
784
  size: p.SM,
@@ -788,7 +789,7 @@ var ot = { activeRating: "_activeRating_ygoee_1" }, st = 2e3, ct = ({ role: e =
788
789
  "aria-controls": re,
789
790
  className: "mt-3",
790
791
  onClick: z,
791
- size: h.Small
792
+ size: m.Small
792
793
  })]
793
794
  })
794
795
  }),
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.1.0-dev.270",
4
+ "version": "1.1.0-dev.277",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -19,10 +19,10 @@
19
19
  "peerDependencies": {
20
20
  "react": "^19.0.0",
21
21
  "@tabler/icons-react": "^3.0.0",
22
- "@epam/ai-dial-chat-shared": "1.1.0-dev.270",
23
- "@epam/ai-dial-conversation-input": "1.1.0-dev.270",
22
+ "@epam/ai-dial-chat-shared": "1.1.0-dev.277",
23
+ "@epam/ai-dial-conversation-input": "1.1.0-dev.277",
24
24
  "react-markdown": "^10.1.0",
25
- "@epam/ai-dial-ui-kit": "^0.14.0-dev.6"
25
+ "@epam/ai-dial-ui-kit": "^0.14.0-dev.9"
26
26
  },
27
27
  "repository": {
28
28
  "type": "git",