@epam/ai-dial-conversation-stages 1.0.0-dev.506 → 1.0.0-dev.509

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":"CollapsedGroup.d.ts","sourceRoot":"","sources":["../../../src/components/CollapsedGroup/CollapsedGroup.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxE;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAuHlD,CAAC"}
1
+ {"version":3,"file":"CollapsedGroup.d.ts","sourceRoot":"","sources":["../../../src/components/CollapsedGroup/CollapsedGroup.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxE;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAqGlD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DisplayAttachment, Stage } from '@epam/ai-dial-chat-shared';
1
+ import { Stage } from '@epam/ai-dial-chat-shared';
2
2
  import { FC } from 'react';
3
3
  import { StageTypography } from '../../models/stages-props';
4
4
  interface Props {
@@ -10,10 +10,6 @@ interface Props {
10
10
  typography: StageTypography;
11
11
  /** Accessible label for the copy button inside stage content. */
12
12
  copyAriaLabel?: string;
13
- /** Accessible label for the attachments tray. Defaults to `'Stage attachments'`. */
14
- attachmentsAriaLabel?: string;
15
- /** Called when the user clicks an attachment card. */
16
- onAttachmentClick?: (attachment: DisplayAttachment) => void;
17
13
  }
18
14
  /** A single stage row — plain when no content, collapsible when content or attachments are present. */
19
15
  export declare const StageItem: FC<Props>;
@@ -1 +1 @@
1
- {"version":3,"file":"StageItem.d.ts","sourceRoot":"","sources":["../../../src/components/StageItem/StageItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAQ1E,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAKjE,UAAU,KAAK;IACb,gCAAgC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,UAAU,EAAE,eAAe,CAAC;IAC5B,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC7D;AAED,uGAAuG;AACvG,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,KAAK,CAuF/B,CAAC"}
1
+ {"version":3,"file":"StageItem.d.ts","sourceRoot":"","sources":["../../../src/components/StageItem/StageItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAOvD,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAKjE,UAAU,KAAK;IACb,gCAAgC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,UAAU,EAAE,eAAe,CAAC;IAC5B,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,uGAAuG;AACvG,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,KAAK,CA6E/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/StagesPanel/StagesPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAsD5C,CAAC"}
1
+ {"version":3,"file":"StagesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/StagesPanel/StagesPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAqD5C,CAAC"}
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { CollapsedGroup } from './components/CollapsedGroup/CollapsedGroup';
2
2
  export { StagesPanel } from './components/StagesPanel/StagesPanel';
3
- export type { CollapsedGroupColors, CollapsedGroupProps, CollapsedGroupStyles, CollapsedGroupTypography, } from './models/collapsed-group';
4
- export type { StagesPanelColors, StagesPanelProps, StagesPanelStyles, StageTypography, } from './models/stages-props';
3
+ export type { CollapsedGroupColors, CollapsedGroupLabels, CollapsedGroupProps, CollapsedGroupStyles, CollapsedGroupTypography, } from './models/collapsed-group';
4
+ export type { StagesPanelColors, StagesPanelLabels, StagesPanelProps, StagesPanelStyles, StageTypography, } from './models/stages-props';
5
5
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
package/index.js CHANGED
@@ -1,696 +1,9 @@
1
- import { AttachmentErrorReason as e, AttachmentType as t, CodeBlockTheme as n, Highlight as r, MIME_TYPE_EXT_MAP as i, MarkdownRenderer as a, RequestStatus as o, ResponseFormat as s, StageStatus as c, buildCssVars as l, copyToClipboard as u, mergeClasses as d, messageAttachmentToDisplayAttachment as f } from "@epam/ai-dial-chat-shared";
2
- import { DIAL_ICON_SIZE as p, DialEllipsisTooltip as m, DialGhostIconButton as h, DialInput as g, DialLinkButton as _, DialPopup as v, DialPrimaryButton as y, DialRadioGroup as b, DialSkeleton as ee, DialSkeletonVariant as x, DialSlider as S, DialSpinner as C, DialTag as w, DialTooltip as T, ElementSize as E, PopupSize as D, RadioGroupOrientation as O } from "@epam/ai-dial-ui-kit";
3
- import { IconAlertCircle as k, IconCheck as A, IconChevronDown as j, IconChevronRight as M, IconChevronUp as N, IconCircleCheck as P, IconClipboard as F, IconCopy as I, IconDownload as te, IconFile as L, IconFileTypeBmp as R, IconFileTypeCss as z, IconFileTypeCsv as B, IconFileTypeDoc as V, IconFileTypeDocx as ne, IconFileTypeHtml as re, IconFileTypeJpg as ie, IconFileTypeJs as H, IconFileTypeJsx as ae, IconFileTypePdf as U, IconFileTypePhp as W, IconFileTypePng as oe, IconFileTypePpt as se, IconFileTypeRs as ce, IconFileTypeSql as le, IconFileTypeSvg as ue, IconFileTypeTs as de, IconFileTypeTsx as fe, IconFileTypeTxt as pe, IconFileTypeVue as me, IconFileTypeXls as he, IconFileTypeXml as ge, IconFileTypeZip as _e, IconMusic as ve, IconPaperclip as ye, IconPhoto as be, IconReload as xe, IconTerminal2 as Se, IconVideo as Ce, IconX as we } from "@tabler/icons-react";
4
- import { memo as Te, useCallback as Ee, useEffect as De, useId as Oe, useMemo as ke, useRef as Ae, useState as G } from "react";
5
- import "react-dom";
6
- import { Fragment as K, jsx as q, jsxs as J } from "react/jsx-runtime";
7
- //#region ../attachment-input/dist/index.js
8
- var je = /* @__PURE__ */ function(e) {
9
- return e.Idle = "idle", e.Loading = "loading", e.Loaded = "loaded", e.Error = "error", e;
10
- }({}), Me = ({ enabled: e, src: t }) => {
11
- let n = Ae(null), [r, i] = G("idle");
12
- return De(() => {
13
- i(e && t ? "loading" : "idle");
14
- }, [e, t]), De(() => {
15
- let r = n.current;
16
- if (!r || !e || !t) return;
17
- let a = () => i("loaded"), o = () => i("error");
18
- return r.addEventListener("load", a), r.addEventListener("error", o), r.complete && i(r.naturalWidth > 0 ? "loaded" : "error"), () => {
19
- r.removeEventListener("load", a), r.removeEventListener("error", o);
20
- };
21
- }, [e, t]), {
22
- imageRef: n,
23
- imageLoadStatus: r
24
- };
25
- }, Y = {
26
- card: "_card_ywrb5_1",
27
- cardError: "_cardError_ywrb5_6",
28
- cardSelected: "_cardSelected_ywrb5_10",
29
- cardPrompt: "_cardPrompt_ywrb5_15",
30
- cardPasted: "_cardPasted_ywrb5_16",
31
- name: "_name_ywrb5_20",
32
- meta: "_meta_ywrb5_24",
33
- loadingOverlay: "_loadingOverlay_ywrb5_28",
34
- actionBtn: "_actionBtn_ywrb5_32",
35
- removeBtnImage: "_removeBtnImage_ywrb5_43",
36
- hoverDownloadIcon: "_hoverDownloadIcon_ywrb5_51"
37
- }, Ne = /* @__PURE__ */ function(e) {
38
- return e.None = "none", e.AllVisible = "all-visible", e.Collapsed = "collapsed", e;
39
- }({}), Pe = (e) => {
40
- let t = e.lastIndexOf(".");
41
- return t > 0 ? e.slice(0, t) : e;
42
- }, Fe = (e) => {
43
- if (!e) return L;
44
- if (e.startsWith("image/")) switch (e) {
45
- case "image/jpeg":
46
- case "image/jpg": return ie;
47
- case "image/png": return oe;
48
- case "image/svg+xml": return ue;
49
- case "image/bmp": return R;
50
- default: return be;
51
- }
52
- if (e.startsWith("video/")) return Ce;
53
- if (e.startsWith("audio/")) return ve;
54
- switch (e) {
55
- case "application/pdf": return U;
56
- case "application/msword":
57
- case "application/vnd.ms-word": return V;
58
- case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": return ne;
59
- case "application/vnd.ms-powerpoint": return se;
60
- case "application/vnd.openxmlformats-officedocument.presentationml.presentation": return se;
61
- case "application/vnd.ms-excel": return he;
62
- case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": return he;
63
- case "application/zip":
64
- case "application/x-zip-compressed":
65
- case "application/x-rar-compressed":
66
- case "application/x-7z-compressed":
67
- case "application/gzip":
68
- case "application/x-tar": return _e;
69
- case "text/csv": return B;
70
- case "text/plain": return pe;
71
- case "text/html":
72
- case "application/xhtml+xml": return re;
73
- case "text/xml":
74
- case "application/xml": return ge;
75
- case "application/sql":
76
- case "text/x-sql": return le;
77
- case "text/javascript":
78
- case "application/javascript": return H;
79
- case "text/jsx": return ae;
80
- case "application/typescript":
81
- case "text/typescript": return de;
82
- case "text/tsx": return fe;
83
- case "text/css": return z;
84
- case "text/x-php":
85
- case "application/x-php": return W;
86
- case "text/x-rustsrc":
87
- case "application/x-rust": return ce;
88
- case "text/x-vue": return me;
89
- default: return L;
90
- }
91
- }, Ie = (e) => {
92
- let { type: n, contentType: r } = e;
93
- return n === t.Prompt ? Se : n === t.Pasted ? F : n === t.Image ? be : Fe(r ?? "");
94
- }, Le = (e) => {
95
- let t = e.toLowerCase().split(";")[0].trim(), n = i[t];
96
- if (n) return n;
97
- let r = t.split("/")[1];
98
- if (r && !r.startsWith("vnd.") && !r.includes("+")) return r;
99
- }, Re = (e, n) => {
100
- let { type: r, name: i, contentType: a } = e;
101
- if (r === t.Prompt) return n.promptLabel ?? "Prompt";
102
- if (r === t.Pasted) return n.pastedLabel ?? "Pasted";
103
- if (r === t.Image) return n.imageLabel ?? "Image";
104
- if (a) {
105
- let e = Le(a);
106
- if (e) return `.${e}`;
107
- }
108
- let o = i.lastIndexOf(".");
109
- return o > 0 && o < i.length - 1 ? `.${i.slice(o + 1).toLowerCase()}` : i;
110
- }, ze = (e, n, r, i = {}) => {
111
- let { type: a, status: s, previewUrl: c, url: l } = e, u = s === o.Loading, f = s === o.Error, p = a === t.Image && !!(c ?? l) && !f, m = a === t.Audio && !f, h = d(Y.card, f && Y.cardError, n && Y.cardSelected, !f && !n && a === t.Prompt && Y.cardPrompt, !f && !n && a === t.Pasted && Y.cardPasted);
112
- return {
113
- isLoading: u,
114
- isError: f,
115
- isImage: p,
116
- isAudio: m,
117
- areActionsVisible: f || r,
118
- BottomIcon: Ie(e),
119
- typeLabel: Re(e, i),
120
- cardColorClass: h,
121
- removeBtnClass: p ? Y.removeBtnImage : Y.actionBtn
122
- };
123
- }, Be = (e, t) => e <= 0 ? {
124
- layout: Ne.None,
125
- visibleCount: 0,
126
- hiddenCount: 0
127
- } : e < 5 || t ? {
128
- layout: Ne.AllVisible,
129
- visibleCount: e,
130
- hiddenCount: 0
131
- } : {
132
- layout: Ne.Collapsed,
133
- visibleCount: 4,
134
- hiddenCount: e - 4
135
- }, Ve = ({ attachment: n, searchQuery: i = "", onRemove: a, onRetry: o, onExpand: s, onClick: c, isSelected: u, shouldAlwaysShowActions: f, labels: m, typeLabels: g, styles: _, showHoverDownloadIcon: v = !1, className: y }) => {
136
- let { removeLabel: b = "Remove attachment", retryLabel: S = "Retry upload", clickLabel: w = "Open attachment", expandLabel: T = "Expand pasted text", loadingLabel: D = "Loading attachment", uploadFailedStatusLabel: O = "Upload failed" } = m ?? {}, { colors: k, typography: A, roundedClassName: j = "rounded-xl" } = _ ?? {}, { id: M, name: N } = n, P = n.previewUrl ?? n.url, F = n.type === t.Pasted, I = F && s !== void 0, L = ke(() => F ? N : Pe(N), [F, N]), R = l({
137
- "--ci-card-border": k?.border,
138
- "--ci-card-bg": k?.background,
139
- "--ci-card-name": k?.nameText,
140
- "--ci-card-meta": k?.metaText,
141
- "--ci-card-border-error": k?.borderError,
142
- "--ci-card-bg-selected": k?.backgroundSelected,
143
- "--ci-card-border-selected": k?.borderSelected,
144
- "--ci-card-bg-hover": k?.backgroundHover,
145
- "--ci-loading-overlay-bg": k?.loadingOverlayBackground,
146
- "--ci-card-action-color": k?.actionColor,
147
- "--ci-card-remove-bg-hover": k?.actionBackgroundHover,
148
- "--ci-card-focus-outline": k?.focusOutline,
149
- "--ci-card-remove-bg": k?.removeBackground,
150
- "--ci-card-remove-color": k?.removeColor,
151
- "--ci-card-hover-icon-bg": k?.hoverIconBackground,
152
- "--ci-card-hover-icon-color": k?.hoverIconColor
153
- }), { isLoading: z, isError: B, isImage: V, isAudio: ne, areActionsVisible: re, BottomIcon: ie, typeLabel: H, cardColorClass: ae, removeBtnClass: U } = ke(() => ze(n, u ?? !1, f ?? !1, g), [
154
- n,
155
- u,
156
- f,
157
- g
158
- ]), W = c !== void 0 && !I && !z && !B, oe = I || W, { imageRef: se, imageLoadStatus: ce } = Me({
159
- enabled: V,
160
- src: P
161
- }), le = () => {
162
- I && s ? s(M) : W && c && c(M);
163
- }, ue = (e) => {
164
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), le());
165
- };
166
- if (ne) return /* @__PURE__ */ J("div", {
167
- style: R,
168
- className: d("group flex w-full min-w-[280px] max-w-[300px] flex-col gap-2 border p-3", j, ae, y),
169
- children: [/* @__PURE__ */ J("div", {
170
- className: "flex items-center justify-between gap-2",
171
- children: [/* @__PURE__ */ q("span", {
172
- title: n.name,
173
- className: d(A?.fontClassName ?? "dial-tiny-text", "min-w-0 truncate", Y.name),
174
- children: i ? /* @__PURE__ */ q(r, {
175
- text: n.name,
176
- query: i,
177
- maxLines: 1
178
- }) : n.name
179
- }), c && /* @__PURE__ */ q(h, {
180
- icon: /* @__PURE__ */ q(te, {
181
- size: p.SM,
182
- "aria-hidden": !0
183
- }),
184
- size: E.Small,
185
- className: d("h-6 w-6 shrink-0 rounded", U),
186
- "aria-label": w,
187
- onClick: (e) => {
188
- e.stopPropagation(), c(M);
189
- }
190
- })]
191
- }), n.playUrl && /* @__PURE__ */ q("audio", {
192
- controls: !0,
193
- src: n.playUrl,
194
- "aria-label": n.name,
195
- className: "w-full",
196
- preload: "metadata"
197
- })]
198
- });
199
- let de = d("group relative flex h-[100px] w-[100px] flex-shrink-0 border focus-within:outline focus-within:outline-1 focus-within:outline-offset-1", j, ae, !V && "flex-col gap-3 p-3", oe && "cursor-pointer", y), fe = /* @__PURE__ */ J(K, { children: [
200
- V ? /* @__PURE__ */ J("div", {
201
- className: "relative h-full w-full overflow-hidden",
202
- children: [ce !== je.Loaded && /* @__PURE__ */ q(ee, {
203
- variant: x.Rectangular,
204
- width: "100%",
205
- height: "100%",
206
- active: ce === je.Loading,
207
- overlay: /* @__PURE__ */ q(be, {
208
- size: p.LG,
209
- className: A?.placeholderIconClassName ?? "text-secondary",
210
- "aria-hidden": !0
211
- }),
212
- className: d("absolute inset-0", j)
213
- }), /* @__PURE__ */ q("img", {
214
- ref: se,
215
- src: P,
216
- alt: N,
217
- loading: "lazy",
218
- decoding: "async",
219
- className: d("h-full w-full object-cover transition-opacity duration-200", ce === je.Loaded ? "opacity-100" : "opacity-0", j)
220
- })]
221
- }) : B ? /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ J("div", {
222
- className: "flex flex-row items-center gap-1 overflow-hidden",
223
- children: [/* @__PURE__ */ q(ie, {
224
- size: p.SM,
225
- className: d("shrink-0", Y.meta),
226
- "aria-hidden": !0
227
- }), /* @__PURE__ */ q("span", {
228
- title: H,
229
- className: d(A?.metaClassName ?? "dial-tiny-text", "min-w-0 truncate", Y.meta),
230
- children: H
231
- })]
232
- }), /* @__PURE__ */ q("div", {
233
- className: "min-w-0 flex-1",
234
- children: /* @__PURE__ */ q("div", {
235
- title: L,
236
- className: d(A?.fontClassName ?? "dial-tiny-text", "line-clamp-3 break-words", Y.name),
237
- children: i ? /* @__PURE__ */ q(r, {
238
- text: L,
239
- query: i,
240
- maxLines: 3
241
- }) : L
242
- })
243
- })] }) : /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q("div", {
244
- className: "min-w-0 flex-1",
245
- children: /* @__PURE__ */ q("div", {
246
- title: L,
247
- className: d(A?.fontClassName ?? "dial-tiny-text", "line-clamp-3 break-words", Y.name),
248
- children: i ? /* @__PURE__ */ q(r, {
249
- text: L,
250
- query: i,
251
- maxLines: 3
252
- }) : L
253
- })
254
- }), /* @__PURE__ */ J("div", {
255
- className: "flex flex-row items-center gap-1 overflow-hidden",
256
- children: [/* @__PURE__ */ q(ie, {
257
- size: p.SM,
258
- className: d("shrink-0", Y.meta),
259
- "aria-hidden": !0
260
- }), /* @__PURE__ */ q("span", {
261
- title: H,
262
- className: d(A?.metaClassName ?? "dial-tiny-text", "min-w-0 truncate", Y.meta),
263
- children: H
264
- })]
265
- })] }),
266
- z && /* @__PURE__ */ q("span", {
267
- className: d("absolute inset-0 flex items-center justify-center", j, Y.loadingOverlay),
268
- children: /* @__PURE__ */ q(C, {
269
- size: 40,
270
- ariaLabel: D,
271
- className: "z-50"
272
- })
273
- }),
274
- /* @__PURE__ */ q("span", {
275
- role: "status",
276
- "aria-live": "polite",
277
- className: "sr-only",
278
- children: B ? O : ""
279
- }),
280
- !z && /* @__PURE__ */ J("div", {
281
- className: d("absolute end-1 top-1 flex gap-1 transition-opacity", re ? "opacity-100" : "opacity-0 group-focus-within:opacity-100 group-hover:opacity-100 mobile:opacity-100"),
282
- children: [
283
- B && o && n.errorReason !== e.UnsupportedType && /* @__PURE__ */ q(h, {
284
- icon: /* @__PURE__ */ q(xe, {
285
- size: p.SM,
286
- "aria-hidden": !0
287
- }),
288
- size: E.Small,
289
- className: d("h-6 w-6 rounded", U),
290
- "aria-label": S,
291
- onClick: (e) => {
292
- e.stopPropagation(), o(M);
293
- }
294
- }),
295
- a && /* @__PURE__ */ q(h, {
296
- icon: /* @__PURE__ */ q(we, {
297
- size: p.SM,
298
- "aria-hidden": !0
299
- }),
300
- size: E.Small,
301
- className: d("h-6 w-6 rounded", U),
302
- "aria-label": b,
303
- onClick: (e) => {
304
- e.stopPropagation(), a?.(M);
305
- }
306
- }),
307
- v && !a && !B && /* @__PURE__ */ q(te, {
308
- size: p.SM,
309
- "aria-hidden": !0,
310
- className: d("h-6 w-6 rounded-lg p-1", Y.hoverDownloadIcon)
311
- })
312
- ]
313
- })
314
- ] });
315
- return oe ? /* @__PURE__ */ q("div", {
316
- style: R,
317
- className: de,
318
- onClick: le,
319
- onKeyDown: ue,
320
- tabIndex: 0,
321
- role: "button",
322
- "aria-label": W ? w : I ? T : void 0,
323
- children: fe
324
- }) : /* @__PURE__ */ q("div", {
325
- style: R,
326
- className: de,
327
- children: fe
328
- });
329
- }, X = {
330
- tile: "_tile_1l1lz_1",
331
- tileLight: "_tileLight_1l1lz_12",
332
- tileError: "_tileError_1l1lz_16",
333
- nameText: "_nameText_1l1lz_23",
334
- typeText: "_typeText_1l1lz_24",
335
- retryIcon: "_retryIcon_1l1lz_36",
336
- hoverIcon: "_hoverIcon_1l1lz_40",
337
- track: "_track_1l1lz_45",
338
- indeterminateFill: "_indeterminateFill_1l1lz_49",
339
- "attachment-tile-indeterminate": "_attachment-tile-indeterminate_1l1lz_1"
340
- }, He = {
341
- [e.Network]: "Upload failed · network error",
342
- [e.UnsupportedType]: "Upload failed · unsupported file type"
343
- }, Ue = ({ attachment: t, onClick: r, onRetry: i, labels: a, typeLabels: s, styles: c, theme: u = n.Dark, className: f }) => {
344
- let { clickLabel: m = "Download attachment", retryLabel: g = "Retry upload", sizeLabel: _, uploadingLabel: v = "Uploading", errorReasonLabels: y, genericErrorLabel: b = "Upload failed" } = a ?? {}, { nameClassName: ee = "dial-caption-text", metaClassName: x = "dial-caption-text", colors: S } = c ?? {}, C = l({
345
- "--ci-tile-bg": S?.background,
346
- "--ci-tile-border": S?.border,
347
- "--ci-tile-border-hover": S?.borderHover,
348
- "--ci-tile-focus-outline": S?.focusOutline,
349
- "--ci-tile-bg-error": S?.backgroundError,
350
- "--ci-tile-border-error": S?.borderError,
351
- "--ci-tile-error-text": S?.errorText,
352
- "--ci-tile-name-text": S?.nameText,
353
- "--ci-tile-type-text": S?.typeText,
354
- "--ci-tile-hover-icon-bg": S?.hoverIconBackground,
355
- "--ci-tile-hover-icon-color": S?.hoverIconColor,
356
- "--ci-tile-track-bg": S?.trackBackground,
357
- "--ci-tile-fill-bg": S?.fillBackground
358
- }), { id: w, name: T, status: D, errorReason: O } = t, k = D === o.Loading, A = D === o.Error, j = Oe(), M = A && (O && (y?.[O] ?? He[O]) || b), { BottomIcon: N, typeLabel: P } = ze(t, !1, !1, s), F = !A && !k && r !== void 0, I = A && !!i && O !== e.UnsupportedType, L = F || I ? "pe-5" : void 0, R = () => {
359
- F && r?.(t);
360
- }, z = (e) => {
361
- (e.key === "Enter" || e.key === " ") && F && (e.preventDefault(), R());
362
- }, B = d("group relative flex size-[84px] flex-col justify-between gap-1 overflow-hidden rounded-xl border p-1.5", X.tile, !A && u === n.Light && X.tileLight, A && X.tileError), V = /* @__PURE__ */ q("div", {
363
- title: T,
364
- className: d(ee, "line-clamp-2 min-w-0 break-words", X.nameText, !A && L),
365
- children: T
366
- }), ne = /* @__PURE__ */ J("div", {
367
- className: d("flex items-center gap-1 overflow-hidden", A && L),
368
- children: [/* @__PURE__ */ q(N, {
369
- size: 16,
370
- className: X.typeText,
371
- "aria-hidden": !0
372
- }), /* @__PURE__ */ q("span", {
373
- className: d(x, "truncate", X.typeText),
374
- children: _ ? `${P} · ${_}` : P
375
- })]
376
- }), re = /* @__PURE__ */ J(K, { children: [
377
- A ? /* @__PURE__ */ J(K, { children: [ne, V] }) : /* @__PURE__ */ J(K, { children: [V, ne] }),
378
- k && /* @__PURE__ */ q("div", {
379
- role: "progressbar",
380
- "aria-label": v,
381
- className: d("absolute inset-x-2 bottom-2 h-[3px] overflow-hidden rounded-full", X.track),
382
- children: /* @__PURE__ */ q("div", { className: d("h-full w-1/3 rounded-full", X.indeterminateFill) })
383
- }),
384
- F && /* @__PURE__ */ q(te, {
385
- size: p.SM,
386
- "aria-hidden": !0,
387
- className: d("absolute end-1 top-1 h-6 w-6 rounded-lg p-1 opacity-0 transition-opacity group-hover:opacity-100 mobile:opacity-100", X.hoverIcon)
388
- }),
389
- I && /* @__PURE__ */ q(h, {
390
- icon: /* @__PURE__ */ q(xe, {
391
- size: p.SM,
392
- "aria-hidden": !0
393
- }),
394
- size: E.Small,
395
- className: d("absolute end-1 top-1 h-6 w-6 rounded-lg", X.retryIcon),
396
- "aria-label": g,
397
- "aria-describedby": M ? j : void 0,
398
- onClick: (e) => {
399
- e.stopPropagation(), i(w);
400
- }
401
- }),
402
- A && /* @__PURE__ */ q("span", {
403
- id: j,
404
- role: "status",
405
- "aria-live": "polite",
406
- className: "sr-only",
407
- children: M
408
- })
409
- ] });
410
- return /* @__PURE__ */ q("div", {
411
- className: d("inline-flex", f),
412
- children: F ? /* @__PURE__ */ q("div", {
413
- role: "button",
414
- tabIndex: 0,
415
- "aria-label": m,
416
- onClick: R,
417
- onKeyDown: z,
418
- style: C,
419
- className: d(B, "cursor-pointer focus-within:outline focus-within:outline-1 focus-within:outline-offset-1"),
420
- children: re
421
- }) : /* @__PURE__ */ q("div", {
422
- className: B,
423
- title: M || void 0,
424
- role: A ? "group" : void 0,
425
- "aria-describedby": A ? j : void 0,
426
- tabIndex: A ? 0 : void 0,
427
- style: C,
428
- children: re
429
- })
430
- });
431
- }, We = { tile: "_tile_1s4d7_1" }, Ge = ({ count: e, onClick: t, ariaLabel: n, children: r, fontClassName: i = "dial-small-semi-text", className: a, colors: o }) => {
432
- let s = l({
433
- "--ci-more-tile-bg": o?.background,
434
- "--ci-more-tile-border": o?.border,
435
- "--ci-more-tile-color": o?.color,
436
- "--ci-more-tile-bg-hover": o?.backgroundHover,
437
- "--ci-more-tile-color-hover": o?.colorHover,
438
- "--ci-more-tile-border-hover": o?.borderHover,
439
- "--ci-more-tile-focus-outline": o?.focusOutline
440
- });
441
- return /* @__PURE__ */ q("button", {
442
- type: "button",
443
- onClick: t,
444
- "aria-label": n ?? `Show ${e} more attachments`,
445
- style: s,
446
- className: d("flex size-[84px] items-center justify-center rounded-xl border", i, We.tile, a),
447
- children: r ?? /* @__PURE__ */ q("bdi", {
448
- dir: "ltr",
449
- children: `+${e}`
450
- })
451
- });
452
- }, Z = {
453
- container: "_container_7fktb_1",
454
- headerIcon: "_headerIcon_7fktb_6",
455
- headerLabel: "_headerLabel_7fktb_7",
456
- downloadAllButton: "_downloadAllButton_7fktb_8",
457
- imageTile: "_imageTile_7fktb_12"
458
- }, Ke = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`, qe = ({ attachments: e, onAttachmentClick: n, onDownloadAll: r, onRetry: i, getSizeLabel: a, labels: s, typeLabels: c, styles: u, theme: f, className: m }) => {
459
- let { ariaLabel: g = "Attachments", clickLabel: _ = "Download attachment", retryLabel: v = "Retry upload", showLessLabel: y = "Show less", downloadAllLabel: b = "Download all", getHeaderLabel: ee = (e) => Ke(e, "attachment") } = s ?? {}, { headerLabelClassName: x = "dial-tiny-semi-text", colors: S } = u ?? {}, C = l({
460
- "--ci-group-bg": S?.background,
461
- "--ci-group-border": S?.border,
462
- "--ci-group-text": S?.text
463
- }), [w, T] = G(!1), E = ke(() => Be(e.length, w), [e.length, w]);
464
- if (e.length === 0) return null;
465
- 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 ? be : L, M = ee(e.length), P = e.slice(0, E.visibleCount);
466
- return /* @__PURE__ */ J("div", {
467
- role: "group",
468
- "aria-label": g,
469
- style: C,
470
- className: d("rounded-2xl border p-3", A ? "w-full min-w-0 max-w-[492px]" : "max-w-[420px]", Z.container, m),
471
- children: [/* @__PURE__ */ J("div", {
472
- className: "mb-3 flex min-h-6 items-center gap-2",
473
- children: [
474
- /* @__PURE__ */ q(j, {
475
- size: p.SM,
476
- className: d("shrink-0", Z.headerIcon),
477
- "aria-hidden": !0
478
- }),
479
- /* @__PURE__ */ q("span", {
480
- className: d(x, Z.headerLabel),
481
- children: M
482
- }),
483
- e.length >= 2 && (r || n) && /* @__PURE__ */ q(h, {
484
- icon: /* @__PURE__ */ q(te, {
485
- size: p.SM,
486
- "aria-hidden": !0
487
- }),
488
- className: d("ms-auto h-6 w-6 rounded-lg", Z.downloadAllButton),
489
- "aria-label": b,
490
- onClick: () => {
491
- let t = e.filter((e) => e.status === o.Idle);
492
- r ? r(t) : t.forEach((e) => n?.(e));
493
- }
494
- })
495
- ]
496
- }), /* @__PURE__ */ J("div", {
497
- role: "list",
498
- "aria-label": M,
499
- className: d("gap-3", A ? "grid grid-cols-[repeat(5,84px)] overflow-x-auto" : "flex flex-wrap"),
500
- children: [
501
- P.map((e) => /* @__PURE__ */ q("div", {
502
- role: "listitem",
503
- children: e.type === t.Image ? /* @__PURE__ */ q(Ve, {
504
- attachment: e,
505
- onClick: n ? () => n(e) : void 0,
506
- onRetry: i,
507
- labels: {
508
- clickLabel: _,
509
- retryLabel: v
510
- },
511
- typeLabels: c,
512
- styles: { roundedClassName: "rounded-xl" },
513
- showHoverDownloadIcon: !0,
514
- className: d("size-[84px]", Z.imageTile)
515
- }) : /* @__PURE__ */ q(Ue, {
516
- attachment: e,
517
- onClick: n,
518
- onRetry: i,
519
- labels: {
520
- clickLabel: _,
521
- retryLabel: v,
522
- sizeLabel: a?.(e)
523
- },
524
- typeLabels: c,
525
- theme: f
526
- })
527
- }, e.id)),
528
- E.layout === Ne.Collapsed && /* @__PURE__ */ q("div", {
529
- role: "listitem",
530
- children: /* @__PURE__ */ q(Ge, {
531
- count: E.hiddenCount,
532
- onClick: () => T(!0)
533
- })
534
- }),
535
- A && w && /* @__PURE__ */ q("div", {
536
- role: "listitem",
537
- children: /* @__PURE__ */ q(Ge, {
538
- count: 0,
539
- onClick: () => T(!1),
540
- ariaLabel: y,
541
- children: /* @__PURE__ */ q(N, {
542
- size: p.MD,
543
- "aria-hidden": !0
544
- })
545
- })
546
- })
547
- ]
548
- })]
549
- });
550
- }, Je = {
551
- tabContainer: "_tabContainer_rzv03_1",
552
- tabActive: "_tabActive_rzv03_13"
553
- };
554
- Te(({ tabs: e, activeTabId: t, onTabChange: n, tabClassName: r = "dial-tiny-semi-text" }) => /* @__PURE__ */ q("div", {
555
- className: "flex flex-nowrap gap-1",
556
- children: e.map((e) => {
557
- let i = t === e.id;
558
- return /* @__PURE__ */ q(w, {
559
- label: e.label,
560
- selected: i,
561
- onClick: () => n(e.id),
562
- className: d("box-border h-auto shrink-0 justify-center rounded-full p-2 text-center", r, Je.tabContainer, i && Je.tabActive)
563
- }, e.id);
564
- })
565
- }));
566
- var Ye = (e) => /* @__PURE__ */ q(y, { ...e }), Xe = ({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemperature: r, onSave: i, onClose: a, isOpen: o }) => {
567
- let [s, c] = G(t), [l, u] = G(n), [d, f] = G(r), p = Ae(o);
568
- De(() => {
569
- o && !p.current && (c(t), u(n), f(r)), p.current = o;
570
- }, [
571
- o,
572
- t,
573
- n,
574
- r
575
- ]);
576
- let m = !e.responseFormat || s != null;
577
- return {
578
- responseFormat: s,
579
- systemPrompt: l,
580
- temperature: d,
581
- canSubmit: m,
582
- setResponseFormat: c,
583
- setSystemPrompt: u,
584
- setTemperature: f,
585
- handleSubmit: Ee(() => {
586
- if (!m) return;
587
- let t = {};
588
- e.responseFormat && s != null && (t.responseFormat = s), e.systemPrompt && (t.systemPrompt = l), e.temperature && (t.temperature = d), i(t), a();
589
- }, [
590
- m,
591
- e,
592
- s,
593
- l,
594
- d,
595
- i,
596
- a
597
- ])
598
- };
599
- }, Ze = "!text-[14px] !leading-[20px] font-semibold !text-primary gap-1", Qe = ({ features: e, responseFormat: t, systemPrompt: n, temperature: r, onResponseFormatChange: i, onSystemPromptChange: a, onTemperatureChange: o, responseFormatLabel: c = "Response format", responseFormatHint: l = "Applies to new and existing messages", responseFormatMarkdownLabel: u = "Markdown", responseFormatPlainTextLabel: d = "Plain text", systemPromptLabel: f = "System prompt", systemPromptTooltip: p = "Enter a prompt", temperatureLabel: m = "Temperature", temperatureLabels: h = [
600
- "Precise",
601
- "Neutral",
602
- "Creative"
603
- ], temperatureHint: _ }) => /* @__PURE__ */ J("div", {
604
- className: "flex flex-col gap-4 px-6 py-3",
605
- children: [
606
- e.responseFormat && /* @__PURE__ */ q(b, {
607
- fieldTitle: c,
608
- labelClassName: Ze,
609
- elementId: "response-format",
610
- orientation: O.Column,
611
- activeRadioButton: t ?? s.Markdown,
612
- labelDescription: l,
613
- radioButtons: [{
614
- id: s.Markdown,
615
- name: u
616
- }, {
617
- id: s.PlainText,
618
- name: d
619
- }],
620
- onChange: (e) => i(e)
621
- }),
622
- e.systemPrompt && /* @__PURE__ */ q(g, {
623
- value: n,
624
- placeholder: p,
625
- labelProps: {
626
- className: Ze,
627
- label: f
628
- },
629
- onChange: (e) => a(e ?? "")
630
- }),
631
- e.temperature && /* @__PURE__ */ q(S, {
632
- labelProps: {
633
- label: m,
634
- className: Ze,
635
- caption: _
636
- },
637
- value: r,
638
- min: 0,
639
- max: 1,
640
- step: .1,
641
- labels: h,
642
- onChange: o
643
- })
644
- ]
645
- });
646
- Te(({ features: e, initialResponseFormat: t, initialSystemPrompt: n, initialTemperature: r, onSave: i, onClose: a, title: o = "Chat settings", responseFormatLabel: s, responseFormatHint: c, responseFormatMarkdownLabel: l, responseFormatPlainTextLabel: u, systemPromptLabel: d, systemPromptTooltip: f, temperatureLabel: p, temperatureLabels: m, temperatureHint: h, saveLabel: g = "Apply changes", saveDisabledTooltip: _ }) => {
647
- let { responseFormat: y, systemPrompt: b, temperature: ee, canSubmit: x, setResponseFormat: S, setSystemPrompt: C, setTemperature: w, handleSubmit: E } = Xe({
648
- features: e,
649
- initialResponseFormat: t,
650
- initialSystemPrompt: n,
651
- initialTemperature: r,
652
- onSave: i,
653
- onClose: a
654
- });
655
- return /* @__PURE__ */ q(v, {
656
- open: !0,
657
- header: o,
658
- size: D.Sm,
659
- onClose: a,
660
- className: "!bg-layer-2",
661
- footer: /* @__PURE__ */ q("div", {
662
- className: "flex justify-end px-6 py-4",
663
- children: /* @__PURE__ */ q(T, {
664
- tooltip: _,
665
- hideTooltip: x || !_,
666
- children: /* @__PURE__ */ q(Ye, {
667
- label: g,
668
- onClick: E,
669
- disabled: !x
670
- })
671
- })
672
- }),
673
- children: /* @__PURE__ */ q(Qe, {
674
- features: e,
675
- responseFormat: y,
676
- systemPrompt: b,
677
- temperature: ee,
678
- onResponseFormatChange: S,
679
- onSystemPromptChange: C,
680
- onTemperatureChange: w,
681
- responseFormatLabel: s,
682
- responseFormatHint: c,
683
- responseFormatMarkdownLabel: l,
684
- responseFormatPlainTextLabel: u,
685
- systemPromptLabel: d,
686
- systemPromptTooltip: f,
687
- temperatureLabel: p,
688
- temperatureLabels: m,
689
- temperatureHint: h
690
- })
691
- });
692
- });
693
- var Q = {
1
+ import { MarkdownRenderer as e, StageStatus as t, buildCssVars as n, copyToClipboard as r, mergeClasses as i, messageAttachmentToDisplayAttachment as a } from "@epam/ai-dial-chat-shared";
2
+ import { DIAL_ICON_SIZE as o, DialEllipsisTooltip as s, DialGhostIconButton as c, DialLinkButton as l, DialSpinner as u, ElementSize as d } from "@epam/ai-dial-ui-kit";
3
+ import { IconAlertCircle as f, IconCheck as p, IconChevronDown as m, IconChevronRight as h, IconCircleCheck as g, IconCopy as _ } from "@tabler/icons-react";
4
+ import { memo as v, useCallback as y, useEffect as b, useRef as x, useState as S } from "react";
5
+ import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
6
+ var E = {
694
7
  panel: "_panel_1yr1w_1",
695
8
  collapseButton: "_collapseButton_1yr1w_7",
696
9
  stageName: "_stageName_1yr1w_11",
@@ -701,200 +14,191 @@ var Q = {
701
14
  blockquote: "_blockquote_1yr1w_34",
702
15
  tableCell: "_tableCell_1yr1w_39",
703
16
  tableHeader: "_tableHeader_1yr1w_44"
704
- }, $e = ({ status: e, isLive: t }) => e ? e === c.Completed ? /* @__PURE__ */ q(P, {
705
- size: p.MD,
706
- className: Q.iconSecondary
707
- }) : /* @__PURE__ */ q(k, {
708
- size: p.MD,
709
- className: Q.iconSecondary
710
- }) : t ? /* @__PURE__ */ q(C, { size: 20 }) : /* @__PURE__ */ q(k, {
711
- size: p.MD,
712
- className: Q.iconSecondary
713
- }), et = ({ children: e, codeClassName: t, copyAriaLabel: n }) => {
714
- let [r, i] = G(!1), a = Ae(null);
715
- De(() => () => {
716
- a.current != null && clearTimeout(a.current);
17
+ }, D = ({ status: e, isLive: n }) => e ? e === t.Completed ? /* @__PURE__ */ w(g, {
18
+ size: o.MD,
19
+ className: E.iconSecondary
20
+ }) : /* @__PURE__ */ w(f, {
21
+ size: o.MD,
22
+ className: E.iconSecondary
23
+ }) : n ? /* @__PURE__ */ w(u, { size: 20 }) : /* @__PURE__ */ w(f, {
24
+ size: o.MD,
25
+ className: E.iconSecondary
26
+ }), O = ({ children: e, codeClassName: t, copyAriaLabel: n }) => {
27
+ let [a, s] = S(!1), l = x(null);
28
+ b(() => () => {
29
+ l.current != null && clearTimeout(l.current);
717
30
  }, []);
718
- let o = Ee(() => {
719
- u(typeof e == "string" ? e : String(e ?? "")), a.current && clearTimeout(a.current), i(!0), a.current = setTimeout(() => i(!1), 2e3);
31
+ let u = y(() => {
32
+ r(typeof e == "string" ? e : String(e ?? "")), l.current && clearTimeout(l.current), s(!0), l.current = setTimeout(() => s(!1), 2e3);
720
33
  }, [e]);
721
- return /* @__PURE__ */ J("pre", {
722
- className: d("relative max-h-[300px] overflow-auto rounded border p-3 text-sm", Q.codeBlock),
723
- children: [/* @__PURE__ */ q(h, {
724
- size: E.Small,
725
- icon: q(r ? A : I, {
726
- size: p.SM,
727
- className: Q.iconSecondary
34
+ return /* @__PURE__ */ T("pre", {
35
+ className: i("relative max-h-[300px] overflow-auto rounded border p-3 text-sm", E.codeBlock),
36
+ children: [/* @__PURE__ */ w(c, {
37
+ size: d.Small,
38
+ icon: w(a ? p : _, {
39
+ size: o.SM,
40
+ className: E.iconSecondary
728
41
  }),
729
42
  "aria-label": n,
730
- onClick: o,
43
+ onClick: u,
731
44
  className: "absolute end-2 top-2"
732
- }), /* @__PURE__ */ q("code", {
733
- className: d("font-mono", t),
45
+ }), /* @__PURE__ */ w("code", {
46
+ className: i("font-mono", t),
734
47
  children: e
735
48
  })]
736
49
  });
737
- }, tt = Te(({ content: e, typography: t, copyAriaLabel: n = "Copy" }) => /* @__PURE__ */ q(a, {
738
- content: e,
50
+ }, k = v(({ content: t, typography: n, copyAriaLabel: r = "Copy" }) => /* @__PURE__ */ w(e, {
51
+ content: t,
739
52
  classNames: {
740
- p: d(t.fontClassName, Q.stageContent),
741
- ul: d(t.fontClassName, Q.stageContent),
742
- ol: d(t.fontClassName, Q.stageContent),
743
- codeInline: Q.codeInline,
744
- blockquote: Q.blockquote,
745
- link: Q.stageContent,
746
- tableCell: Q.tableCell,
747
- tableHeader: Q.tableHeader
53
+ p: i(n.fontClassName, E.stageContent),
54
+ ul: i(n.fontClassName, E.stageContent),
55
+ ol: i(n.fontClassName, E.stageContent),
56
+ codeInline: E.codeInline,
57
+ blockquote: E.blockquote,
58
+ link: E.stageContent,
59
+ tableCell: E.tableCell,
60
+ tableHeader: E.tableHeader
748
61
  },
749
- components: { code: ({ children: e, className: r }) => r?.includes("language-") ? /* @__PURE__ */ q(et, {
750
- codeClassName: r,
751
- copyAriaLabel: n,
62
+ components: { code: ({ children: e, className: t }) => t?.includes("language-") ? /* @__PURE__ */ w(O, {
63
+ codeClassName: t,
64
+ copyAriaLabel: r,
752
65
  children: e
753
- }) : /* @__PURE__ */ q("code", {
754
- className: d("px-1 py-0.5", t.codeClassName ?? "rounded font-mono text-sm", Q.codeInline),
66
+ }) : /* @__PURE__ */ w("code", {
67
+ className: i("px-1 py-0.5", n.codeClassName ?? "rounded font-mono text-sm", E.codeInline),
755
68
  children: e
756
69
  }) }
757
- })), nt = ({ stage: e, isLive: t, typography: n, copyAriaLabel: r = "Copy stage content", attachmentsAriaLabel: i = "Stage attachments", onAttachmentClick: a }) => {
758
- let [o, s] = G(!1), c = /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q($e, {
70
+ })), A = ({ stage: e, isLive: t, typography: n, copyAriaLabel: r = "Copy stage content" }) => {
71
+ let [c, l] = S(!1), u = /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w(D, {
759
72
  status: e.status,
760
73
  isLive: t
761
- }), /* @__PURE__ */ q("span", {
762
- className: d("min-w-0 flex-1 truncate capitalize", Q.stageName),
763
- children: /* @__PURE__ */ q(m, { text: e.name || e.status })
764
- })] }), l = e.attachments?.map((e) => f(e)) ?? [];
765
- return e.content || l.length ? /* @__PURE__ */ J("div", { children: [/* @__PURE__ */ J("button", {
74
+ }), /* @__PURE__ */ w("span", {
75
+ className: i("min-w-0 flex-1 truncate capitalize", E.stageName),
76
+ children: /* @__PURE__ */ w(s, { text: e.name || e.status })
77
+ })] }), d = e.attachments?.map((e) => a(e)) ?? [];
78
+ return e.content || d.length ? /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ T("button", {
766
79
  type: "button",
767
- onClick: () => s((e) => !e),
768
- className: d("flex w-full cursor-pointer items-center gap-2 p-0", Q.collapseButton),
769
- children: [c, o ? /* @__PURE__ */ q(j, {
770
- size: p.MD,
771
- className: Q.iconSecondary
772
- }) : /* @__PURE__ */ q(M, {
773
- size: p.MD,
774
- className: d(Q.iconSecondary, "rtl:scale-x-[-1]")
80
+ onClick: () => l((e) => !e),
81
+ className: i("flex w-full cursor-pointer items-center gap-2 p-0", E.collapseButton),
82
+ children: [u, c ? /* @__PURE__ */ w(m, {
83
+ size: o.MD,
84
+ className: E.iconSecondary
85
+ }) : /* @__PURE__ */ w(h, {
86
+ size: o.MD,
87
+ className: i(E.iconSecondary, "rtl:scale-x-[-1]")
775
88
  })]
776
- }), /* @__PURE__ */ q("div", {
777
- className: d("grid overflow-hidden transition-[grid-template-rows] duration-[250ms] ease-in-out", o ? "grid-rows-[1fr]" : "grid-rows-[0fr]"),
778
- children: /* @__PURE__ */ q("div", {
89
+ }), /* @__PURE__ */ w("div", {
90
+ className: i("grid overflow-hidden transition-[grid-template-rows] duration-[250ms] ease-in-out", c ? "grid-rows-[1fr]" : "grid-rows-[0fr]"),
91
+ children: /* @__PURE__ */ w("div", {
779
92
  className: "overflow-hidden",
780
- children: /* @__PURE__ */ J("div", {
93
+ children: /* @__PURE__ */ w("div", {
781
94
  className: "mt-3 flex flex-col gap-3 ps-7",
782
- children: [e.content && /* @__PURE__ */ q("div", {
95
+ children: e.content && /* @__PURE__ */ w("div", {
783
96
  className: "max-h-[300px] overflow-y-auto",
784
- children: /* @__PURE__ */ q(tt, {
97
+ children: /* @__PURE__ */ w(k, {
785
98
  content: e.content,
786
99
  typography: n,
787
100
  copyAriaLabel: r
788
101
  })
789
- }), l.length > 0 && /* @__PURE__ */ q(qe, {
790
- attachments: l,
791
- labels: { ariaLabel: i },
792
- onAttachmentClick: a
793
- })]
102
+ })
794
103
  })
795
104
  })
796
- })] }) : /* @__PURE__ */ q("div", {
105
+ })] }) : /* @__PURE__ */ w("div", {
797
106
  className: "flex items-center gap-2",
798
- children: c
107
+ children: u
799
108
  });
800
- }, $ = ({ stages: e, isStreaming: t, className: n, styles: r, copyAriaLabel: i, onAttachmentClick: a }) => {
801
- let { colors: o, typography: s = { fontClassName: "dial-small-text" } } = r ?? {}, c = l({
802
- "--cs-bg": o?.background,
803
- "--cs-border": o?.border,
804
- "--cs-text": o?.text,
805
- "--cs-stage-text": o?.stageTextColor,
806
- "--cs-running": o?.runningColor,
807
- "--cs-completed": o?.completedColor,
808
- "--cs-failed": o?.failedColor,
809
- "--cs-button-bg": o?.buttonBackground
810
- }), u = t ? e.reduce((e, t, n) => t.status ? e : n, -1) : -1;
811
- return /* @__PURE__ */ q("div", {
812
- style: c,
813
- className: d("w-full", Q.panel, n),
814
- children: /* @__PURE__ */ q("ul", {
109
+ }, j = ({ stages: e, isStreaming: t, className: r, styles: a, labels: o }) => {
110
+ let { colors: s, typography: c = { fontClassName: "dial-small-text" } } = a ?? {}, { copyAriaLabel: l } = o ?? {}, u = n({
111
+ "--cs-bg": s?.background,
112
+ "--cs-border": s?.border,
113
+ "--cs-text": s?.text,
114
+ "--cs-stage-text": s?.stageTextColor,
115
+ "--cs-running": s?.runningColor,
116
+ "--cs-completed": s?.completedColor,
117
+ "--cs-failed": s?.failedColor,
118
+ "--cs-button-bg": s?.buttonBackground
119
+ }), d = t ? e.reduce((e, t, n) => t.status ? e : n, -1) : -1;
120
+ return /* @__PURE__ */ w("div", {
121
+ style: u,
122
+ className: i("w-full", E.panel, r),
123
+ children: /* @__PURE__ */ w("ul", {
815
124
  role: "list",
816
125
  className: "flex w-full flex-col gap-4",
817
- children: e.map((e, t) => /* @__PURE__ */ q("li", {
126
+ children: e.map((e, t) => /* @__PURE__ */ w("li", {
818
127
  role: "listitem",
819
- className: d("w-full", s.fontClassName),
820
- children: /* @__PURE__ */ q(nt, {
128
+ className: i("w-full", c.fontClassName),
129
+ children: /* @__PURE__ */ w(A, {
821
130
  stage: e,
822
- isLive: u === t,
823
- typography: s,
824
- copyAriaLabel: i,
825
- onAttachmentClick: a
131
+ isLive: d === t,
132
+ typography: c,
133
+ copyAriaLabel: l
826
134
  })
827
135
  }, e.index))
828
136
  })
829
137
  });
830
- }, rt = {
138
+ }, M = {
831
139
  toggleButton: "_toggleButton_1rkek_1",
832
140
  stepsCount: "_stepsCount_1rkek_8",
833
141
  contentBox: "_contentBox_1rkek_12"
834
- }, it = ({ stages: e, isStreaming: t, executedLabel: n = "Executed", stepsLabel: r = () => "steps", collapseThreshold: i = 7, className: a, styles: o, onAttachmentClick: s }) => {
835
- let [u, f] = G(!1);
836
- if (t) return /* @__PURE__ */ q($, {
142
+ }, N = ({ stages: e, isStreaming: r, labels: a, collapseThreshold: s = 7, className: c, styles: u }) => {
143
+ let { executedLabel: d = "Executed", stepsLabel: f = () => "steps" } = a ?? {}, [g, _] = S(!1);
144
+ if (r) return /* @__PURE__ */ w(j, {
837
145
  stages: e,
838
- isStreaming: !0,
839
- onAttachmentClick: s
146
+ isStreaming: !0
840
147
  });
841
- let { colors: m, typography: h = { fontClassName: "dial-tiny-text" } } = o ?? {}, g = l({
842
- "--cs-cg-label": m?.labelColor,
843
- "--cs-cg-label-hover": m?.labelHoverColor,
844
- "--cs-cg-steps-count": m?.stepsCountColor,
845
- "--cs-cg-border": m?.contentBorderColor
148
+ let { colors: v, typography: y = { fontClassName: "dial-tiny-text" } } = u ?? {}, b = n({
149
+ "--cs-cg-label": v?.labelColor,
150
+ "--cs-cg-label-hover": v?.labelHoverColor,
151
+ "--cs-cg-steps-count": v?.stepsCountColor,
152
+ "--cs-cg-border": v?.contentBorderColor
846
153
  });
847
- if (e.length < i) return /* @__PURE__ */ q("div", {
848
- style: g,
849
- className: d("flex w-full flex-col gap-1", a),
850
- children: /* @__PURE__ */ q($, {
154
+ if (e.length < s) return /* @__PURE__ */ w("div", {
155
+ style: b,
156
+ className: i("flex w-full flex-col gap-1", c),
157
+ children: /* @__PURE__ */ w(j, {
851
158
  stages: e,
852
- isStreaming: !1,
853
- onAttachmentClick: s
159
+ isStreaming: !1
854
160
  })
855
161
  });
856
- let v = e.filter((e) => e.status === c.Completed), y = e.filter((e) => e.status !== c.Completed);
857
- return /* @__PURE__ */ J("div", {
858
- style: g,
859
- className: d("flex w-full flex-col gap-1", a),
860
- children: [v.length > 0 && /* @__PURE__ */ J("div", { children: [/* @__PURE__ */ q(_, {
861
- className: rt.toggleButton,
862
- onClick: () => f((e) => !e),
863
- iconBefore: /* @__PURE__ */ q(A, { size: p.SM }),
864
- iconAfter: u ? /* @__PURE__ */ q(j, { size: 12 }) : /* @__PURE__ */ q(M, {
162
+ let x = e.filter((e) => e.status === t.Completed), E = e.filter((e) => e.status !== t.Completed);
163
+ return /* @__PURE__ */ T("div", {
164
+ style: b,
165
+ className: i("flex w-full flex-col gap-1", c),
166
+ children: [x.length > 0 && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w(l, {
167
+ className: M.toggleButton,
168
+ onClick: () => _((e) => !e),
169
+ iconBefore: /* @__PURE__ */ w(p, { size: o.SM }),
170
+ iconAfter: g ? /* @__PURE__ */ w(m, { size: 12 }) : /* @__PURE__ */ w(h, {
865
171
  size: 12,
866
172
  className: "rtl:scale-x-[-1]"
867
173
  }),
868
- label: /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q("span", {
869
- className: d(h.fontClassName, "pe-1"),
870
- children: n
871
- }), /* @__PURE__ */ J("span", {
872
- className: d(h.fontClassName, rt.stepsCount),
174
+ label: /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w("span", {
175
+ className: i(y.fontClassName, "pe-1"),
176
+ children: d
177
+ }), /* @__PURE__ */ T("span", {
178
+ className: i(y.fontClassName, M.stepsCount),
873
179
  children: [
874
- v.length,
180
+ x.length,
875
181
  " ",
876
- r(v.length)
182
+ f(x.length)
877
183
  ]
878
184
  })] })
879
- }), /* @__PURE__ */ q("div", {
880
- className: d("grid pt-1 transition-[grid-template-rows] duration-300 ease-in-out", u ? "grid-rows-[1fr]" : "grid-rows-[0fr]"),
881
- children: /* @__PURE__ */ q("div", {
185
+ }), /* @__PURE__ */ w("div", {
186
+ className: i("grid pt-1 transition-[grid-template-rows] duration-300 ease-in-out", g ? "grid-rows-[1fr]" : "grid-rows-[0fr]"),
187
+ children: /* @__PURE__ */ w("div", {
882
188
  className: "overflow-hidden",
883
- children: /* @__PURE__ */ q("div", {
884
- className: d("rounded border px-2 py-3", rt.contentBox),
885
- children: /* @__PURE__ */ q($, {
886
- stages: v,
887
- isStreaming: !1,
888
- onAttachmentClick: s
189
+ children: /* @__PURE__ */ w("div", {
190
+ className: i("rounded border px-2 py-3", M.contentBox),
191
+ children: /* @__PURE__ */ w(j, {
192
+ stages: x,
193
+ isStreaming: !1
889
194
  })
890
195
  })
891
196
  })
892
- })] }), y.length > 0 && /* @__PURE__ */ q($, {
893
- stages: y,
894
- isStreaming: !1,
895
- onAttachmentClick: s
197
+ })] }), E.length > 0 && /* @__PURE__ */ w(j, {
198
+ stages: E,
199
+ isStreaming: !1
896
200
  })]
897
201
  });
898
202
  };
899
203
  //#endregion
900
- export { it as CollapsedGroup, $ as StagesPanel };
204
+ export { N as CollapsedGroup, j as StagesPanel };
@@ -1,4 +1,4 @@
1
- import { DisplayAttachment, Stage } from '@epam/ai-dial-chat-shared';
1
+ import { Stage } from '@epam/ai-dial-chat-shared';
2
2
  /** Color overrides for the `CollapsedGroup` component applied as CSS custom properties. */
3
3
  export interface CollapsedGroupColors {
4
4
  /** Color of the toggle button label and icon. Defaults to `var(--text-secondary, #575F73)`. */
@@ -24,23 +24,26 @@ export interface CollapsedGroupStyles {
24
24
  /** Typography for the toggle button label. Defaults to `{ fontClassName: 'dial-tiny-text' }`. */
25
25
  typography?: CollapsedGroupTypography;
26
26
  }
27
+ /** User-visible strings for the `CollapsedGroup` component. */
28
+ export interface CollapsedGroupLabels {
29
+ /** Label shown before the steps count on the toggle button. Defaults to `'Executed'`. */
30
+ executedLabel?: string;
31
+ /** Returns the pluralized label for the steps count. Receives the count so callers can handle any plural rule. Defaults to `() => 'steps'`. */
32
+ stepsLabel?: (count: number) => string;
33
+ }
27
34
  /** Props accepted by the `CollapsedGroup` component. */
28
35
  export interface CollapsedGroupProps {
29
36
  /** Ordered list of stages to display. */
30
37
  stages: Stage[];
31
38
  /** When `true` the component renders all stages directly via `StagesPanel` without collapsing. */
32
39
  isStreaming: boolean;
33
- /** Label shown before the steps count on the toggle button. Defaults to `'Executed'`. */
34
- executedLabel?: string;
35
- /** Returns the pluralized label for the steps count. Receives the count so callers can handle any plural rule. Defaults to `() => 'steps'`. */
36
- stepsLabel?: (count: number) => string;
40
+ /** User-visible strings for the toggle button. */
41
+ labels?: CollapsedGroupLabels;
37
42
  /** Extra class name(s) merged onto the outer wrapper. */
38
43
  className?: string;
39
44
  /** Color and typography overrides applied as CSS custom properties. */
40
45
  styles?: CollapsedGroupStyles;
41
46
  /** Minimum number of stages required to activate the collapse behaviour. Defaults to `7`. */
42
47
  collapseThreshold?: number;
43
- /** Called when the user clicks an attachment card inside a stage. */
44
- onAttachmentClick?: (attachment: DisplayAttachment) => void;
45
48
  }
46
49
  //# sourceMappingURL=collapsed-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapsed-group.d.ts","sourceRoot":"","sources":["../../src/models/collapsed-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAE1E,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sGAAsG;IACtG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wGAAwG;IACxG,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,iEAAiE;AACjE,MAAM,WAAW,wBAAwB;IACvC,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,iGAAiG;IACjG,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC;AAED,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,kGAAkG;IAClG,WAAW,EAAE,OAAO,CAAC;IACrB,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+IAA+I;IAC/I,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC7D"}
1
+ {"version":3,"file":"collapsed-group.d.ts","sourceRoot":"","sources":["../../src/models/collapsed-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sGAAsG;IACtG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wGAAwG;IACxG,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,iEAAiE;AACjE,MAAM,WAAW,wBAAwB;IACvC,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,iGAAiG;IACjG,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC;AAED,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB;IACnC,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+IAA+I;IAC/I,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,kGAAkG;IAClG,WAAW,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -1,4 +1,4 @@
1
- import { DisplayAttachment, Stage } from '@epam/ai-dial-chat-shared';
1
+ import { Stage } from '@epam/ai-dial-chat-shared';
2
2
  /**
3
3
  * Typography configuration for stage content text.
4
4
  * Use either `fontClassName` (a CSS utility class) or the explicit CSS property fields — not both.
@@ -41,6 +41,11 @@ export interface StagesPanelStyles {
41
41
  /** Typography applied to stage content text. Defaults to `{ fontClassName: 'dial-small-text' }`. */
42
42
  typography?: StageTypography;
43
43
  }
44
+ /** User-visible strings for the `StagesPanel` component. */
45
+ export interface StagesPanelLabels {
46
+ /** Accessible label for the copy button on each stage's content. Defaults to `'Copy'`. */
47
+ copyAriaLabel?: string;
48
+ }
44
49
  /** Props accepted by the `StagesPanel` component. */
45
50
  export interface StagesPanelProps {
46
51
  /** Ordered list of stages to display. */
@@ -51,9 +56,7 @@ export interface StagesPanelProps {
51
56
  className?: string;
52
57
  /** Color and typography overrides applied as CSS custom properties. */
53
58
  styles?: StagesPanelStyles;
54
- /** Accessible label for the copy button on each stage's content. Defaults to `'Copy'`. */
55
- copyAriaLabel?: string;
56
- /** Called when the user clicks an attachment card inside a stage. */
57
- onAttachmentClick?: (attachment: DisplayAttachment) => void;
59
+ /** User-visible strings. */
60
+ labels?: StagesPanelLabels;
58
61
  }
59
62
  //# sourceMappingURL=stages-props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stages-props.d.ts","sourceRoot":"","sources":["../../src/models/stages-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,oGAAoG;IACpG,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,2EAA2E;IAC3E,WAAW,EAAE,OAAO,CAAC;IACrB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC7D"}
1
+ {"version":3,"file":"stages-props.d.ts","sourceRoot":"","sources":["../../src/models/stages-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,oGAAoG;IACpG,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,2EAA2E;IAC3E,WAAW,EAAE,OAAO,CAAC;IACrB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-conversation-stages",
3
3
  "description": "Panel for displaying agent processing stages during LLM response streaming",
4
- "version": "1.0.0-dev.506",
4
+ "version": "1.0.0-dev.509",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -19,9 +19,8 @@
19
19
  "peerDependencies": {
20
20
  "react": "^19.0.0",
21
21
  "@tabler/icons-react": "^3.0.0",
22
- "@epam/ai-dial-chat-shared": "1.0.0-dev.506",
23
- "@epam/ai-dial-ui-kit": "0.12.0-dev.28",
24
- "@epam/ai-dial-conversation-input": "1.0.0-dev.506"
22
+ "@epam/ai-dial-chat-shared": "1.0.0-dev.509",
23
+ "@epam/ai-dial-ui-kit": "0.12.0-dev.28"
25
24
  },
26
25
  "repository": {
27
26
  "type": "git",