@epam/ai-dial-conversation-messages 1.1.0-dev.275 → 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.
- package/index.js +58 -57
- 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,
|
|
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:
|
|
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:
|
|
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,
|
|
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
|
-
}),
|
|
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:
|
|
252
|
+
onClick: D,
|
|
253
253
|
onKeyDown: (e) => {
|
|
254
|
-
(e.key === "Enter" || e.key === " ") && (e.preventDefault(),
|
|
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(
|
|
274
|
-
variant:
|
|
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:
|
|
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(
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
441
|
-
let
|
|
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:
|
|
444
|
+
style: x,
|
|
445
445
|
children: [
|
|
446
|
-
e.responseFormat && /* @__PURE__ */ Y(
|
|
446
|
+
e.responseFormat && /* @__PURE__ */ Y(C, {
|
|
447
447
|
id: "response-format",
|
|
448
448
|
labelProps: {
|
|
449
449
|
label: s,
|
|
450
|
-
className:
|
|
450
|
+
className: S,
|
|
451
451
|
caption: c
|
|
452
452
|
},
|
|
453
453
|
optionsClassName: "mb-2",
|
|
454
|
-
orientation:
|
|
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:
|
|
467
|
+
placeholder: h,
|
|
468
468
|
resize: !0,
|
|
469
469
|
labelProps: {
|
|
470
|
-
className:
|
|
471
|
-
label:
|
|
470
|
+
className: S,
|
|
471
|
+
label: m
|
|
472
472
|
},
|
|
473
473
|
onChange: (e) => a(e ?? "")
|
|
474
474
|
}),
|
|
475
|
-
e.temperature && /* @__PURE__ */ Y(
|
|
475
|
+
e.temperature && /* @__PURE__ */ Y(D, {
|
|
476
476
|
labelProps: {
|
|
477
|
-
label:
|
|
478
|
-
className:
|
|
479
|
-
caption:
|
|
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:
|
|
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:
|
|
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(
|
|
501
|
+
return /* @__PURE__ */ Y(b, {
|
|
501
502
|
open: !0,
|
|
502
503
|
header: o,
|
|
503
504
|
titleClassName: s,
|
|
504
|
-
size:
|
|
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(
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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) =>
|
|
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(
|
|
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(
|
|
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:
|
|
736
|
-
let { colors:
|
|
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":
|
|
741
|
-
"--cm-bubble-user-border":
|
|
742
|
-
"--cm-bubble-fade-start":
|
|
743
|
-
"--cm-bubble-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:
|
|
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(
|
|
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:
|
|
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.
|
|
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.
|
|
23
|
-
"@epam/ai-dial-conversation-input": "1.1.0-dev.
|
|
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.
|
|
25
|
+
"@epam/ai-dial-ui-kit": "^0.14.0-dev.9"
|
|
26
26
|
},
|
|
27
27
|
"repository": {
|
|
28
28
|
"type": "git",
|