@epam/ai-dial-conversation-stages 1.3.0-dev.6 → 1.3.0-dev.61
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 +311 -286
- package/package.json +4 -4
package/index.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { AttachmentErrorReason as e, AttachmentType as t, MIME_TYPE_EXT_MAP as n, MarkdownCodeBlock as r, MarkdownRenderer as i, RequestStatus as a, StageStatus as o, buildCssVars as s, mergeClasses as c, messageAttachmentsToDisplayAttachments as l, normalizeMimeType as u } from "@epam/ai-dial-chat-shared";
|
|
2
|
-
import { Accordion as d, DIAL_ICON_SIZE as f, DIAL_KIT_ICON_STROKE as p,
|
|
3
|
-
import { IconAlertCircle as
|
|
4
|
-
import { memo as me, useCallback as
|
|
5
|
-
import { Fragment as _e, jsx as
|
|
2
|
+
import { Accordion as d, DIAL_ICON_SIZE as f, DIAL_KIT_ICON_STROKE as p, DialItemType as m, ElementSize as h, EllipsisTooltip as g, FileIcon as _, Highlight as v, Skeleton as y, SkeletonVariant as b, Spinner as x, StaticIconButton as S } from "@epam/ai-dial-ui-kit";
|
|
3
|
+
import { IconAlertCircle as C, IconCheck as w, IconClipboard as T, IconDownload as E, IconExternalLink as D, IconFile as O, IconFileTypeBmp as k, IconFileTypeCss as A, IconFileTypeCsv as j, IconFileTypeDoc as M, IconFileTypeDocx as N, IconFileTypeHtml as P, IconFileTypeJpg as F, IconFileTypeJs as I, IconFileTypeJsx as L, IconFileTypePdf as R, IconFileTypePhp as z, IconFileTypePng as B, IconFileTypePpt as V, IconFileTypeRs as ee, IconFileTypeSql as te, IconFileTypeSvg as ne, IconFileTypeTs as re, IconFileTypeTsx as ie, IconFileTypeTxt as ae, IconFileTypeVue as H, IconFileTypeXls as oe, IconFileTypeXml as se, IconFileTypeZip as ce, IconMusic as le, IconPhoto as U, IconReload as ue, IconTerminal2 as de, IconVideo as fe, IconX as pe } from "@tabler/icons-react";
|
|
4
|
+
import { memo as me, useCallback as W, useEffect as G, useId as he, useMemo as K, useRef as ge, useState as q } from "react";
|
|
5
|
+
import { Fragment as _e, jsx as J, jsxs as Y } from "react/jsx-runtime";
|
|
6
6
|
//#region src/constants/public-class-names.ts
|
|
7
|
-
var
|
|
7
|
+
var ve = {
|
|
8
8
|
panel: "dial-conversation-stages-panel",
|
|
9
9
|
group: "dial-conversation-stages-group",
|
|
10
10
|
groupToggle: "dial-conversation-stages-group-toggle"
|
|
11
|
-
},
|
|
12
|
-
let [e, t] =
|
|
11
|
+
}, ye = () => {
|
|
12
|
+
let [e, t] = q(() => /* @__PURE__ */ new Set()), n = W((e, n) => {
|
|
13
13
|
t((t) => {
|
|
14
14
|
if (t.has(e) === n) return t;
|
|
15
15
|
let r = new Set(t);
|
|
16
16
|
return n ? r.add(e) : r.delete(e), r;
|
|
17
17
|
});
|
|
18
|
-
}, []), r =
|
|
18
|
+
}, []), r = W(() => {
|
|
19
19
|
t((e) => e.size ? /* @__PURE__ */ new Set() : e);
|
|
20
20
|
}, []);
|
|
21
|
-
return
|
|
21
|
+
return K(() => ({
|
|
22
22
|
isExpanded: (t) => e.has(t),
|
|
23
23
|
onToggle: n,
|
|
24
24
|
reset: r
|
|
@@ -27,30 +27,30 @@ var J = {
|
|
|
27
27
|
n,
|
|
28
28
|
r
|
|
29
29
|
]);
|
|
30
|
-
},
|
|
30
|
+
}, be = /[([][^()[\]]*[)\]]/g, xe = /(\d+(?:\.\d+)?)\s*s\b/, Se = (e) => {
|
|
31
31
|
let t = e.trimEnd();
|
|
32
32
|
return t.endsWith(":") ? t.slice(0, -1) : t;
|
|
33
|
-
},
|
|
34
|
-
|
|
33
|
+
}, Ce = (e) => {
|
|
34
|
+
be.lastIndex = 0;
|
|
35
35
|
let t;
|
|
36
|
-
for (; t =
|
|
37
|
-
let e = t[0].slice(1, -1), n =
|
|
36
|
+
for (; t = be.exec(e);) {
|
|
37
|
+
let e = t[0].slice(1, -1), n = xe.exec(e);
|
|
38
38
|
if (n) return {
|
|
39
39
|
durationLabel: `${n[1]}s`,
|
|
40
40
|
groupIndex: t.index,
|
|
41
41
|
groupLength: t[0].length
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
-
},
|
|
45
|
-
let t = e ?? "", n =
|
|
44
|
+
}, we = (e) => {
|
|
45
|
+
let t = e ?? "", n = Ce(t);
|
|
46
46
|
return {
|
|
47
|
-
name:
|
|
47
|
+
name: Se(n ? t.slice(0, n.groupIndex) + t.slice(n.groupIndex + n.groupLength) : t).trim().replace(/ {2,}/g, " "),
|
|
48
48
|
durationLabel: n?.durationLabel
|
|
49
49
|
};
|
|
50
|
-
},
|
|
50
|
+
}, Te = (e) => e.length > 0 && !/\s/.test(e) && e.includes("_"), Ee = (e) => [...e].reverse().find((e) => e.status == null), De = (e, t) => {
|
|
51
51
|
let n = e.parent_stage_index;
|
|
52
52
|
if (!(n == null || !Number.isInteger(n) || n < 0 || n >= e.index)) return t.get(n);
|
|
53
|
-
},
|
|
53
|
+
}, Oe = (e) => {
|
|
54
54
|
let t = e.map((e) => ({
|
|
55
55
|
stage: e,
|
|
56
56
|
children: []
|
|
@@ -58,15 +58,15 @@ var J = {
|
|
|
58
58
|
for (let e of t) n.has(e.stage.index) || n.set(e.stage.index, e);
|
|
59
59
|
let r = [];
|
|
60
60
|
for (let e of t) {
|
|
61
|
-
let t =
|
|
61
|
+
let t = De(e.stage, n);
|
|
62
62
|
t ? t.children.push(e) : r.push(e);
|
|
63
63
|
}
|
|
64
64
|
return r;
|
|
65
|
-
},
|
|
65
|
+
}, ke = (e) => `stage:${e}`, Ae = (e) => `group:${e}`, je = "min-w-0 overflow-visible py-0", Me = "min-w-0 justify-start gap-2 rounded-lg px-2 py-1.5 text-start mobile:min-h-11", Ne = (e) => {
|
|
66
66
|
let t = [], n = 0;
|
|
67
67
|
for (; n < e.length;) {
|
|
68
|
-
let r = e[n], i =
|
|
69
|
-
for (; a < e.length &&
|
|
68
|
+
let r = e[n], i = we(r.stage.name).name, a = n + 1;
|
|
69
|
+
for (; a < e.length && we(e[a].stage.name).name === i;) a += 1;
|
|
70
70
|
let o = e.slice(n, a);
|
|
71
71
|
o.length > 1 ? t.push({
|
|
72
72
|
key: r.stage.index,
|
|
@@ -98,44 +98,44 @@ var J = {
|
|
|
98
98
|
codeInline: "_codeInline_w65is_84",
|
|
99
99
|
blockquote: "_blockquote_w65is_91",
|
|
100
100
|
tableCell: "_tableCell_w65is_96"
|
|
101
|
-
},
|
|
101
|
+
}, Pe = ({ status: e, isLive: t, runningLabel: n = "Running", failedLabel: r = "Failed" }) => e === o.Failed ? /* @__PURE__ */ Y(_e, { children: [/* @__PURE__ */ J(C, {
|
|
102
102
|
size: f.MD,
|
|
103
103
|
className: X.iconError,
|
|
104
104
|
"aria-hidden": !0,
|
|
105
105
|
stroke: p
|
|
106
|
-
}), /* @__PURE__ */
|
|
106
|
+
}), /* @__PURE__ */ J("span", {
|
|
107
107
|
className: "sr-only",
|
|
108
108
|
children: r
|
|
109
|
-
})] }) : e === o.Completed ? /* @__PURE__ */
|
|
109
|
+
})] }) : e === o.Completed ? /* @__PURE__ */ J(w, {
|
|
110
110
|
size: f.SM,
|
|
111
111
|
className: X.iconCompleted,
|
|
112
112
|
"aria-hidden": !0,
|
|
113
113
|
stroke: p
|
|
114
|
-
}) : t ? /* @__PURE__ */
|
|
114
|
+
}) : t ? /* @__PURE__ */ J(x, {
|
|
115
115
|
size: 16,
|
|
116
116
|
ariaLabel: n
|
|
117
|
-
}) : null,
|
|
117
|
+
}) : null, Fe = (e) => {
|
|
118
118
|
if (e == null) return "";
|
|
119
119
|
let t = e.lastIndexOf(".");
|
|
120
120
|
return t > 0 ? e.slice(0, t) : e;
|
|
121
|
-
},
|
|
122
|
-
if (!e) return
|
|
121
|
+
}, Ie = (e) => {
|
|
122
|
+
if (!e) return O;
|
|
123
123
|
let t = u(e);
|
|
124
124
|
if (t.startsWith("image/")) switch (t) {
|
|
125
|
-
case "image/jpeg": return
|
|
126
|
-
case "image/png": return
|
|
125
|
+
case "image/jpeg": return F;
|
|
126
|
+
case "image/png": return B;
|
|
127
127
|
case "image/svg+xml": return ne;
|
|
128
|
-
case "image/bmp": return
|
|
129
|
-
default: return
|
|
128
|
+
case "image/bmp": return k;
|
|
129
|
+
default: return U;
|
|
130
130
|
}
|
|
131
131
|
if (t.startsWith("video/")) return fe;
|
|
132
132
|
if (t.startsWith("audio/")) return le;
|
|
133
133
|
switch (t) {
|
|
134
|
-
case "application/pdf": return
|
|
135
|
-
case "application/msword": return
|
|
136
|
-
case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": return
|
|
137
|
-
case "application/vnd.ms-powerpoint": return
|
|
138
|
-
case "application/vnd.openxmlformats-officedocument.presentationml.presentation": return
|
|
134
|
+
case "application/pdf": return R;
|
|
135
|
+
case "application/msword": return M;
|
|
136
|
+
case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": return N;
|
|
137
|
+
case "application/vnd.ms-powerpoint": return V;
|
|
138
|
+
case "application/vnd.openxmlformats-officedocument.presentationml.presentation": return V;
|
|
139
139
|
case "application/vnd.ms-excel": return oe;
|
|
140
140
|
case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": return oe;
|
|
141
141
|
case "application/zip":
|
|
@@ -143,53 +143,57 @@ var J = {
|
|
|
143
143
|
case "application/x-7z-compressed":
|
|
144
144
|
case "application/gzip":
|
|
145
145
|
case "application/x-tar": return ce;
|
|
146
|
-
case "text/csv": return
|
|
147
|
-
case "text/plain": return
|
|
146
|
+
case "text/csv": return j;
|
|
147
|
+
case "text/plain": return ae;
|
|
148
148
|
case "text/html":
|
|
149
|
-
case "application/xhtml+xml": return
|
|
149
|
+
case "application/xhtml+xml": return P;
|
|
150
150
|
case "application/xml": return se;
|
|
151
151
|
case "application/sql": return te;
|
|
152
|
-
case "text/javascript": return
|
|
153
|
-
case "text/jsx": return
|
|
152
|
+
case "text/javascript": return I;
|
|
153
|
+
case "text/jsx": return L;
|
|
154
154
|
case "text/typescript": return re;
|
|
155
|
-
case "text/tsx": return
|
|
156
|
-
case "text/css": return
|
|
157
|
-
case "text/x-php": return
|
|
155
|
+
case "text/tsx": return ie;
|
|
156
|
+
case "text/css": return A;
|
|
157
|
+
case "text/x-php": return z;
|
|
158
158
|
case "text/x-rustsrc": return ee;
|
|
159
|
-
case "text/x-vue": return
|
|
160
|
-
default: return
|
|
159
|
+
case "text/x-vue": return H;
|
|
160
|
+
default: return O;
|
|
161
161
|
}
|
|
162
|
-
},
|
|
162
|
+
}, Le = (e) => {
|
|
163
163
|
let { type: n, contentType: r } = e;
|
|
164
|
-
return n === t.Prompt ? de : n === t.Pasted ?
|
|
165
|
-
},
|
|
164
|
+
return n === t.Prompt ? de : n === t.Pasted ? T : n === t.Image ? U : Ie(r ?? "");
|
|
165
|
+
}, Re = (e) => {
|
|
166
166
|
let t = u(e), r = n[t];
|
|
167
167
|
if (r) return r;
|
|
168
168
|
let i = t.split("/")[1];
|
|
169
169
|
if (i && !i.startsWith("vnd.") && !i.includes("+")) return i;
|
|
170
|
-
},
|
|
171
|
-
let {
|
|
170
|
+
}, ze = (e) => {
|
|
171
|
+
let { name: t, contentType: n } = e;
|
|
172
|
+
if (n) {
|
|
173
|
+
let e = Re(n);
|
|
174
|
+
if (e) return e;
|
|
175
|
+
}
|
|
176
|
+
if (t == null) return;
|
|
177
|
+
let r = t.lastIndexOf(".");
|
|
178
|
+
if (r > 0 && r < t.length - 1) return t.slice(r + 1).toLowerCase();
|
|
179
|
+
}, Be = (e) => e.type !== t.Prompt && e.type !== t.Pasted, Ve = (e, n) => {
|
|
180
|
+
let { type: r, name: i } = e;
|
|
172
181
|
if (r === t.Prompt) return n.promptLabel ?? "Prompt";
|
|
173
182
|
if (r === t.Pasted) return n.pastedLabel ?? "Pasted";
|
|
174
183
|
if (r === t.Image) return n.imageLabel ?? "Image";
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
if (i == null) return "";
|
|
180
|
-
let o = i.lastIndexOf(".");
|
|
181
|
-
return o > 0 && o < i.length - 1 ? `.${i.slice(o + 1).toLowerCase()}` : i;
|
|
182
|
-
}, Re = (e, n = {}) => {
|
|
184
|
+
let a = ze(e);
|
|
185
|
+
return a ? `.${a}` : i ?? "";
|
|
186
|
+
}, He = (e, n = {}) => {
|
|
183
187
|
let { type: r, status: i, previewUrl: o, url: s } = e, c = i === a.Loading, l = i === a.Error, u = r === t.Image && !!(o ?? s) && !l, d = r === t.Link && !l;
|
|
184
188
|
return {
|
|
185
189
|
isLoading: c,
|
|
186
190
|
isError: l,
|
|
187
191
|
isImage: u,
|
|
188
192
|
isLink: d,
|
|
189
|
-
BottomIcon: d ? null :
|
|
190
|
-
typeLabel: d ? null :
|
|
193
|
+
BottomIcon: d ? null : Le(e),
|
|
194
|
+
typeLabel: d ? null : Ve(e, n)
|
|
191
195
|
};
|
|
192
|
-
},
|
|
196
|
+
}, Ue = "flex size-[100px] items-center justify-center rounded-xl border", We = "outline-1 outline-offset-1 focus-visible:outline", Z = {
|
|
193
197
|
tray: "dial-ai-attachment-tray",
|
|
194
198
|
trayItem: "dial-ai-attachment-tray-item",
|
|
195
199
|
tile: "dial-ai-attachment-tile",
|
|
@@ -198,156 +202,168 @@ var J = {
|
|
|
198
202
|
tileType: "dial-ai-attachment-tile-type",
|
|
199
203
|
tileAction: "dial-ai-attachment-tile-action"
|
|
200
204
|
}, Q = {
|
|
201
|
-
tile: "
|
|
202
|
-
hovered: "
|
|
203
|
-
selected: "
|
|
204
|
-
tileError: "
|
|
205
|
-
nameText: "
|
|
206
|
-
typeText: "
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
205
|
+
tile: "_tile_1sjdm_12",
|
|
206
|
+
hovered: "_hovered_1sjdm_18",
|
|
207
|
+
selected: "_selected_1sjdm_28",
|
|
208
|
+
tileError: "_tileError_1sjdm_33",
|
|
209
|
+
nameText: "_nameText_1sjdm_38",
|
|
210
|
+
typeText: "_typeText_1sjdm_42",
|
|
211
|
+
placeholderIcon: "_placeholderIcon_1sjdm_46",
|
|
212
|
+
retryIcon: "_retryIcon_1sjdm_50",
|
|
213
|
+
track: "_track_1sjdm_54",
|
|
214
|
+
actionButton: "_actionButton_1sjdm_65",
|
|
215
|
+
loading: "_loading_1sjdm_86",
|
|
216
|
+
imageActionButton: "_imageActionButton_1sjdm_87",
|
|
217
|
+
proxyFocus: "_proxyFocus_1sjdm_96"
|
|
218
|
+
}, Ge = ({ ariaLabel: e, errorTitle: t, errorDescId: n, onClick: r, id: i, icon: a, className: o, isAlwaysVisible: s }) => /* @__PURE__ */ J(S, {
|
|
212
219
|
icon: a,
|
|
213
|
-
size:
|
|
214
|
-
className: c("opacity-0
|
|
220
|
+
size: h.Small,
|
|
221
|
+
className: c(s ? "opacity-100" : "opacity-0 group-hover/attachment-tile:opacity-100 group-focus-visible/attachment-tile:opacity-100 group-has-[:focus-visible]/attachment-tile:opacity-100", Q.actionButton, o, Z.tileAction),
|
|
215
222
|
"aria-label": e,
|
|
216
223
|
"aria-describedby": t ? n : void 0,
|
|
217
224
|
onClick: (e) => {
|
|
218
225
|
e.stopPropagation(), r(i);
|
|
219
226
|
}
|
|
220
|
-
}),
|
|
221
|
-
icon: /* @__PURE__ */
|
|
227
|
+
}), Ke = ({ ...e }) => /* @__PURE__ */ J(Ge, {
|
|
228
|
+
icon: /* @__PURE__ */ J(ue, {
|
|
222
229
|
size: f.SM,
|
|
223
230
|
"aria-hidden": !0,
|
|
224
231
|
stroke: p
|
|
225
232
|
}),
|
|
226
233
|
className: Q.retryIcon,
|
|
227
234
|
...e
|
|
228
|
-
}),
|
|
229
|
-
icon: /* @__PURE__ */
|
|
235
|
+
}), qe = ({ ...e }) => /* @__PURE__ */ J(Ge, {
|
|
236
|
+
icon: /* @__PURE__ */ J(E, {
|
|
230
237
|
size: f.SM,
|
|
231
238
|
"aria-hidden": !0,
|
|
232
239
|
stroke: p
|
|
233
240
|
}),
|
|
234
241
|
...e
|
|
235
|
-
}),
|
|
236
|
-
icon: /* @__PURE__ */
|
|
242
|
+
}), Je = ({ ...e }) => /* @__PURE__ */ J(Ge, {
|
|
243
|
+
icon: /* @__PURE__ */ J(D, {
|
|
237
244
|
size: f.SM,
|
|
238
245
|
"aria-hidden": !0,
|
|
239
246
|
stroke: p
|
|
240
247
|
}),
|
|
241
248
|
...e
|
|
242
|
-
}),
|
|
243
|
-
icon: /* @__PURE__ */
|
|
249
|
+
}), Ye = ({ className: e, ...t }) => /* @__PURE__ */ J(Ge, {
|
|
250
|
+
icon: /* @__PURE__ */ J(pe, {
|
|
244
251
|
size: f.SM,
|
|
245
252
|
"aria-hidden": !0,
|
|
246
253
|
stroke: p
|
|
247
254
|
}),
|
|
248
|
-
|
|
249
|
-
|
|
255
|
+
className: c("mobile:opacity-100", e),
|
|
256
|
+
...t
|
|
257
|
+
}), Xe = {
|
|
250
258
|
[e.Network]: "Upload failed · network error",
|
|
251
259
|
[e.UnsupportedType]: "Upload failed · unsupported file type",
|
|
252
260
|
[e.FileTooLarge]: "Upload failed · file too large"
|
|
253
|
-
},
|
|
254
|
-
let { clickLabel:
|
|
255
|
-
|
|
256
|
-
},
|
|
257
|
-
e.target === e.currentTarget && (e.key === "Enter" || e.key === " ") && (e.preventDefault(),
|
|
258
|
-
},
|
|
261
|
+
}, Ze = ({ attachment: t, searchQuery: n = "", onClick: r, onRetry: i, labels: o, styles: s, onDownload: l, isLink: u, cssVars: d, onExpand: h, isExpandable: g, onRemove: y, isSelected: b }) => {
|
|
262
|
+
let { clickLabel: S = "Download attachment", expandLabel: C = "Expand pasted text", downloadLabel: w = "Download attachment", retryLabel: T = "Retry upload", removeLabel: E = "Remove attachment", openInNewTabLabel: D = "Open in new tab", sizeLabel: O, uploadingLabel: k = "Uploading", errorReasonLabels: A, genericErrorLabel: j = "Upload failed" } = o ?? {}, { typography: M, className: N } = s ?? {}, { id: P, name: F, status: I, errorReason: L } = t, R = I === a.Loading, z = I === a.Error, B = he(), V = z ? L && (A?.[L] ?? Xe[L]) || j : "", { BottomIcon: ee, typeLabel: te } = He(t), ne = Be(t), re = !z && !R && l && !u, ie = z && !!i && L !== e.UnsupportedType && L !== e.FileTooLarge, ae = !!g && h !== void 0, H = ae || r !== void 0, oe = Number(!!re) + Number(!!ie) + Number(!!u) + Number(!!y), se = !H && oe === 1, ce = () => {
|
|
263
|
+
ae ? h(P) : r?.(P);
|
|
264
|
+
}, le = (e) => {
|
|
265
|
+
e.target === e.currentTarget && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), ce());
|
|
266
|
+
}, U = K(() => Fe(F), [F]), ue = W(() => {
|
|
259
267
|
window.open(t.referenceUrl, "_blank", "noopener,noreferrer");
|
|
260
|
-
}, [t]),
|
|
261
|
-
title:
|
|
262
|
-
className: c(
|
|
263
|
-
children: n ? /* @__PURE__ */
|
|
264
|
-
text:
|
|
268
|
+
}, [t]), de = c(Ue, "group/attachment-tile relative flex-col justify-between items-start gap-2 overflow-hidden p-3", Q.tile, H && !z && !R && Q.hovered, R && Q.loading, b && Q.selected, z && Q.tileError, se && Q.proxyFocus, Z.tile, b && Z.tileSelected), fe = /* @__PURE__ */ J("div", {
|
|
269
|
+
title: U,
|
|
270
|
+
className: c(M?.nameClassName ?? "dial-tiny-text", "line-clamp-2 w-full min-w-0 break-words", Q.nameText, Z.tileName),
|
|
271
|
+
children: n ? /* @__PURE__ */ J(v, {
|
|
272
|
+
text: U,
|
|
265
273
|
query: n,
|
|
266
274
|
maxLines: 2
|
|
267
|
-
}) :
|
|
268
|
-
}),
|
|
269
|
-
className: c("flex w-full items-
|
|
270
|
-
children: [/* @__PURE__ */
|
|
271
|
-
|
|
275
|
+
}) : U
|
|
276
|
+
}), pe = ee && /* @__PURE__ */ Y("div", {
|
|
277
|
+
className: c("flex w-full items-end gap-1", Z.tileType),
|
|
278
|
+
children: [ne ? /* @__PURE__ */ J(_, {
|
|
279
|
+
type: m.File,
|
|
280
|
+
name: F ?? "",
|
|
281
|
+
fileExtension: ze(t),
|
|
282
|
+
size: f.MD,
|
|
283
|
+
decorative: !0
|
|
284
|
+
}) : /* @__PURE__ */ J(ee, {
|
|
285
|
+
size: f.MD,
|
|
272
286
|
className: Q.typeText,
|
|
287
|
+
stroke: p,
|
|
273
288
|
"aria-hidden": !0
|
|
274
|
-
}), /* @__PURE__ */
|
|
275
|
-
className: c(
|
|
276
|
-
children:
|
|
289
|
+
}), /* @__PURE__ */ J("span", {
|
|
290
|
+
className: c(M?.metaClassName ?? "dial-tiny-text", "min-w-0 flex-1 truncate", Q.typeText),
|
|
291
|
+
children: O ? `${te} · ${O}` : te
|
|
277
292
|
})]
|
|
278
|
-
}),
|
|
293
|
+
}), me = H ? {
|
|
279
294
|
role: "button",
|
|
280
295
|
tabIndex: 0,
|
|
281
|
-
"aria-label":
|
|
282
|
-
onClick:
|
|
283
|
-
onKeyDown:
|
|
284
|
-
} : {},
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
296
|
+
"aria-label": ae ? C : S,
|
|
297
|
+
onClick: ce,
|
|
298
|
+
onKeyDown: le
|
|
299
|
+
} : {}, G = /* @__PURE__ */ Y(_e, { children: [
|
|
300
|
+
fe,
|
|
301
|
+
pe,
|
|
302
|
+
R && /* @__PURE__ */ J("div", {
|
|
288
303
|
role: "progressbar",
|
|
289
|
-
"aria-label":
|
|
290
|
-
className: c("absolute
|
|
291
|
-
children: /* @__PURE__ */
|
|
304
|
+
"aria-label": k,
|
|
305
|
+
className: c("absolute inset-0 flex items-center justify-center rounded-[11px]", Q.track),
|
|
306
|
+
children: /* @__PURE__ */ J(x, { size: 32 })
|
|
292
307
|
}),
|
|
293
|
-
/* @__PURE__ */
|
|
294
|
-
className: "absolute end-1 top-1 flex
|
|
308
|
+
/* @__PURE__ */ Y("div", {
|
|
309
|
+
className: "absolute end-1 top-1 flex",
|
|
295
310
|
children: [
|
|
296
|
-
|
|
297
|
-
ariaLabel:
|
|
298
|
-
errorTitle:
|
|
299
|
-
errorDescId:
|
|
311
|
+
re && /* @__PURE__ */ J(qe, {
|
|
312
|
+
ariaLabel: w,
|
|
313
|
+
errorTitle: V,
|
|
314
|
+
errorDescId: B,
|
|
300
315
|
onClick: l,
|
|
301
|
-
id:
|
|
316
|
+
id: P
|
|
302
317
|
}),
|
|
303
|
-
|
|
304
|
-
ariaLabel:
|
|
305
|
-
errorTitle:
|
|
306
|
-
errorDescId:
|
|
318
|
+
ie && /* @__PURE__ */ J(Ke, {
|
|
319
|
+
ariaLabel: T,
|
|
320
|
+
errorTitle: V,
|
|
321
|
+
errorDescId: B,
|
|
307
322
|
onClick: i,
|
|
308
|
-
id:
|
|
323
|
+
id: P
|
|
309
324
|
}),
|
|
310
|
-
u && /* @__PURE__ */
|
|
311
|
-
ariaLabel:
|
|
312
|
-
errorTitle:
|
|
313
|
-
errorDescId:
|
|
314
|
-
onClick:
|
|
325
|
+
u && /* @__PURE__ */ J(Je, {
|
|
326
|
+
ariaLabel: D,
|
|
327
|
+
errorTitle: V,
|
|
328
|
+
errorDescId: B,
|
|
329
|
+
onClick: ue
|
|
315
330
|
}),
|
|
316
|
-
|
|
317
|
-
ariaLabel:
|
|
318
|
-
errorTitle:
|
|
319
|
-
errorDescId:
|
|
320
|
-
onClick:
|
|
321
|
-
id:
|
|
331
|
+
y && /* @__PURE__ */ J(Ye, {
|
|
332
|
+
ariaLabel: E,
|
|
333
|
+
errorTitle: V,
|
|
334
|
+
errorDescId: B,
|
|
335
|
+
onClick: y,
|
|
336
|
+
id: P,
|
|
337
|
+
isAlwaysVisible: R
|
|
322
338
|
})
|
|
323
339
|
]
|
|
324
340
|
}),
|
|
325
|
-
|
|
326
|
-
id:
|
|
341
|
+
z && /* @__PURE__ */ J("span", {
|
|
342
|
+
id: B,
|
|
327
343
|
role: "status",
|
|
328
344
|
"aria-live": "polite",
|
|
329
345
|
className: "sr-only",
|
|
330
|
-
children:
|
|
346
|
+
children: V
|
|
331
347
|
})
|
|
332
348
|
] });
|
|
333
|
-
return /* @__PURE__ */
|
|
349
|
+
return /* @__PURE__ */ J("div", {
|
|
334
350
|
style: d,
|
|
335
|
-
className: c("inline-flex",
|
|
336
|
-
children: /* @__PURE__ */
|
|
337
|
-
...
|
|
338
|
-
"aria-busy":
|
|
351
|
+
className: c("inline-flex", N),
|
|
352
|
+
children: /* @__PURE__ */ J("div", {
|
|
353
|
+
...me,
|
|
354
|
+
"aria-busy": R,
|
|
339
355
|
style: d,
|
|
340
|
-
className: c(
|
|
341
|
-
children:
|
|
356
|
+
className: c(de, H && "cursor-pointer", We),
|
|
357
|
+
children: G
|
|
342
358
|
})
|
|
343
359
|
});
|
|
344
|
-
},
|
|
360
|
+
}, Qe = /* @__PURE__ */ function(e) {
|
|
345
361
|
return e.Idle = "idle", e.Loading = "loading", e.Loaded = "loaded", e.Error = "error", e;
|
|
346
|
-
}({}),
|
|
347
|
-
let n = ge(null), [r, i] =
|
|
348
|
-
return
|
|
362
|
+
}({}), $e = ({ enabled: e, src: t }) => {
|
|
363
|
+
let n = ge(null), [r, i] = q("idle");
|
|
364
|
+
return G(() => {
|
|
349
365
|
i(e && t ? "loading" : "idle");
|
|
350
|
-
}, [e, t]),
|
|
366
|
+
}, [e, t]), G(() => {
|
|
351
367
|
let r = n.current;
|
|
352
368
|
if (!r || !e || !t) return;
|
|
353
369
|
let a = () => i("loaded"), o = () => i("error");
|
|
@@ -358,67 +374,75 @@ var J = {
|
|
|
358
374
|
imageRef: n,
|
|
359
375
|
imageLoadStatus: r
|
|
360
376
|
};
|
|
361
|
-
},
|
|
362
|
-
let { clickLabel: d = "Open attachment", expandLabel: m = "Expand pasted text", removeLabel: h = "Remove attachment", downloadLabel: g = "Download attachment" } = i ?? {}, { className:
|
|
363
|
-
enabled:
|
|
364
|
-
src:
|
|
365
|
-
}),
|
|
366
|
-
|
|
367
|
-
},
|
|
377
|
+
}, et = ({ attachment: e, onExpand: n, onClick: r, labels: i, onRemove: a, cssVars: o, onDownload: s, styles: l, isSelected: u }) => {
|
|
378
|
+
let { clickLabel: d = "Open attachment", expandLabel: m = "Expand pasted text", removeLabel: h = "Remove attachment", downloadLabel: g = "Download attachment", uploadingLabel: _ = "Uploading" } = i ?? {}, { className: v } = l ?? {}, { id: S, name: C } = e, w = e.previewUrl ?? e.url, T = e.type === t.Pasted && n !== void 0, { isLoading: E, isError: D, isImage: O } = K(() => He(e), [e]), k = r !== void 0 && !T && !E && !D, A = T || k, j = !!s && !E, M = !A && Number(!!a) + Number(j) === 1, { imageRef: N, imageLoadStatus: P } = $e({
|
|
379
|
+
enabled: O,
|
|
380
|
+
src: w
|
|
381
|
+
}), F = () => {
|
|
382
|
+
T && n ? n(S) : k && r && r(S);
|
|
383
|
+
}, I = A ? {
|
|
368
384
|
role: "button",
|
|
369
385
|
tabIndex: 0,
|
|
370
|
-
"aria-label":
|
|
371
|
-
onClick:
|
|
386
|
+
"aria-label": T ? m : d,
|
|
387
|
+
onClick: F,
|
|
372
388
|
onKeyDown: (e) => {
|
|
373
|
-
e.target === e.currentTarget && (e.key === "Enter" || e.key === " ") && (e.preventDefault(),
|
|
389
|
+
e.target === e.currentTarget && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), F());
|
|
374
390
|
}
|
|
375
391
|
} : {};
|
|
376
|
-
return /* @__PURE__ */
|
|
377
|
-
className: c(
|
|
378
|
-
...
|
|
392
|
+
return /* @__PURE__ */ J("div", {
|
|
393
|
+
className: c(Ue, "group/attachment-tile", A && "cursor-pointer", Q.tile, u && Q.selected, E && Q.loading, M && Q.proxyFocus, We, v, Z.tile, u && Z.tileSelected),
|
|
394
|
+
...I,
|
|
395
|
+
"aria-busy": E,
|
|
379
396
|
style: o,
|
|
380
|
-
children: /* @__PURE__ */
|
|
397
|
+
children: /* @__PURE__ */ Y("div", {
|
|
381
398
|
className: "relative h-full w-full overflow-hidden",
|
|
382
399
|
children: [
|
|
383
|
-
/* @__PURE__ */
|
|
384
|
-
className: "absolute end-1 top-1 z-10 flex
|
|
385
|
-
children: [a && /* @__PURE__ */
|
|
400
|
+
/* @__PURE__ */ Y("div", {
|
|
401
|
+
className: "absolute end-1 top-1 z-10 flex",
|
|
402
|
+
children: [a && /* @__PURE__ */ J(Ye, {
|
|
386
403
|
ariaLabel: h,
|
|
387
404
|
onClick: a,
|
|
388
|
-
id:
|
|
389
|
-
className: Q.imageActionButton
|
|
390
|
-
|
|
405
|
+
id: S,
|
|
406
|
+
className: Q.imageActionButton,
|
|
407
|
+
isAlwaysVisible: E
|
|
408
|
+
}), j && /* @__PURE__ */ J(qe, {
|
|
391
409
|
ariaLabel: g,
|
|
392
410
|
onClick: s,
|
|
393
|
-
id:
|
|
411
|
+
id: S,
|
|
394
412
|
className: Q.imageActionButton
|
|
395
413
|
})]
|
|
396
414
|
}),
|
|
397
|
-
|
|
398
|
-
variant:
|
|
415
|
+
P !== Qe.Loaded && /* @__PURE__ */ J(y, {
|
|
416
|
+
variant: b.Rectangular,
|
|
399
417
|
width: "100%",
|
|
400
418
|
height: "100%",
|
|
401
|
-
active:
|
|
402
|
-
overlay: /* @__PURE__ */
|
|
419
|
+
active: P === Qe.Loading,
|
|
420
|
+
overlay: /* @__PURE__ */ J(U, {
|
|
403
421
|
size: f.LG,
|
|
404
|
-
className: Q.
|
|
422
|
+
className: Q.placeholderIcon,
|
|
405
423
|
"aria-hidden": !0,
|
|
406
424
|
stroke: p
|
|
407
425
|
}),
|
|
408
426
|
className: "absolute inset-0 rounded-xl"
|
|
409
427
|
}),
|
|
410
|
-
/* @__PURE__ */
|
|
411
|
-
ref:
|
|
412
|
-
src:
|
|
413
|
-
alt:
|
|
428
|
+
/* @__PURE__ */ J("img", {
|
|
429
|
+
ref: N,
|
|
430
|
+
src: w,
|
|
431
|
+
alt: C,
|
|
414
432
|
loading: "lazy",
|
|
415
433
|
decoding: "async",
|
|
416
|
-
className: c("h-full w-full rounded-xl object-cover transition-opacity duration-200",
|
|
434
|
+
className: c("h-full w-full rounded-xl object-cover transition-opacity duration-200", P === Qe.Loaded ? "opacity-100" : "opacity-0")
|
|
435
|
+
}),
|
|
436
|
+
E && /* @__PURE__ */ J("div", {
|
|
437
|
+
role: "progressbar",
|
|
438
|
+
"aria-label": _,
|
|
439
|
+
className: c("absolute inset-0 flex items-center justify-center rounded-xl", Q.track),
|
|
440
|
+
children: /* @__PURE__ */ J(x, { size: 32 })
|
|
417
441
|
})
|
|
418
442
|
]
|
|
419
443
|
})
|
|
420
444
|
});
|
|
421
|
-
},
|
|
445
|
+
}, tt = ({ attachment: e, searchQuery: n = "", onRemove: r, onRetry: i, onExpand: a, onClick: o, onDownload: c, labels: l, styles: u, isSelected: d }) => {
|
|
422
446
|
let { colors: f } = u ?? {}, p = e.type === t.Pasted && a !== void 0, m = s({
|
|
423
447
|
"--ai-tile-bg": f?.background,
|
|
424
448
|
"--ai-tile-border": f?.border,
|
|
@@ -432,11 +456,12 @@ var J = {
|
|
|
432
456
|
"--ai-tile-error-text": f?.errorText,
|
|
433
457
|
"--ai-tile-name-text": f?.nameText,
|
|
434
458
|
"--ai-tile-type-text": f?.typeText,
|
|
459
|
+
"--ai-tile-placeholder-icon": f?.placeholderIcon,
|
|
435
460
|
"--ai-tile-hover-icon-bg": f?.hoverIconBackground,
|
|
436
461
|
"--ai-tile-hover-icon-color": f?.hoverIconColor,
|
|
437
462
|
"--ai-tile-progress-track": f?.trackBackground
|
|
438
|
-
}), { isImage: h, isLink: g } =
|
|
439
|
-
return h ? /* @__PURE__ */
|
|
463
|
+
}), { isImage: h, isLink: g } = K(() => He(e), [e]);
|
|
464
|
+
return h ? /* @__PURE__ */ J(et, {
|
|
440
465
|
attachment: e,
|
|
441
466
|
labels: l,
|
|
442
467
|
onClick: o,
|
|
@@ -446,7 +471,7 @@ var J = {
|
|
|
446
471
|
cssVars: m,
|
|
447
472
|
onDownload: c,
|
|
448
473
|
isSelected: d
|
|
449
|
-
}) : /* @__PURE__ */
|
|
474
|
+
}) : /* @__PURE__ */ J(Ze, {
|
|
450
475
|
attachment: e,
|
|
451
476
|
searchQuery: n,
|
|
452
477
|
onClick: o,
|
|
@@ -461,7 +486,7 @@ var J = {
|
|
|
461
486
|
isExpandable: p,
|
|
462
487
|
isSelected: d
|
|
463
488
|
});
|
|
464
|
-
},
|
|
489
|
+
}, nt = (e) => {
|
|
465
490
|
let t = l(e);
|
|
466
491
|
if (!e?.length) return t;
|
|
467
492
|
let n = /* @__PURE__ */ new Map();
|
|
@@ -476,7 +501,7 @@ var J = {
|
|
|
476
501
|
contentType: t
|
|
477
502
|
} : e;
|
|
478
503
|
});
|
|
479
|
-
},
|
|
504
|
+
}, rt = ({ children: e, codeClassName: t, blockClassName: n = "dial-code-text", copyAriaLabel: i, copiedLabel: a }) => /* @__PURE__ */ J(r, {
|
|
480
505
|
language: t?.replace(/^language-/, "") ?? "",
|
|
481
506
|
value: typeof e == "string" ? e : String(e ?? ""),
|
|
482
507
|
codeClassName: n,
|
|
@@ -484,9 +509,9 @@ var J = {
|
|
|
484
509
|
copyLabel: i,
|
|
485
510
|
copiedLabel: a,
|
|
486
511
|
hideDownload: !0
|
|
487
|
-
}),
|
|
512
|
+
}), it = me(({ content: e, typography: t, copyAriaLabel: n = "Copy", copiedLabel: r, tableScrollRegionAriaLabel: a, mathScrollRegionAriaLabel: o }) => {
|
|
488
513
|
let s = "mb-1.5 last:mb-0", l = c(t?.headingClassName ?? "dial-small-semi-text", X.stageContent, s);
|
|
489
|
-
return /* @__PURE__ */
|
|
514
|
+
return /* @__PURE__ */ J(i, {
|
|
490
515
|
content: e,
|
|
491
516
|
tableScrollRegionAriaLabel: a,
|
|
492
517
|
mathScrollRegionAriaLabel: o,
|
|
@@ -506,75 +531,75 @@ var J = {
|
|
|
506
531
|
link: c(t?.contentClassName ?? "dial-tiny-text", X.stageContent),
|
|
507
532
|
tableCell: c(t?.contentClassName ?? "dial-tiny-text", X.tableCell)
|
|
508
533
|
},
|
|
509
|
-
components: { code: ({ children: e, className: i }) => i?.includes("language-") ? /* @__PURE__ */
|
|
534
|
+
components: { code: ({ children: e, className: i }) => i?.includes("language-") ? /* @__PURE__ */ J(rt, {
|
|
510
535
|
codeClassName: i,
|
|
511
536
|
blockClassName: t?.codeBlockClassName,
|
|
512
537
|
copyAriaLabel: n,
|
|
513
538
|
copiedLabel: r,
|
|
514
539
|
children: e
|
|
515
|
-
}) : /* @__PURE__ */
|
|
540
|
+
}) : /* @__PURE__ */ J("code", {
|
|
516
541
|
className: c("px-1 py-0.5", t?.codeClassName ?? "dial-tiny-text rounded-md", X.codeInline),
|
|
517
542
|
children: e
|
|
518
543
|
}) }
|
|
519
544
|
});
|
|
520
|
-
}),
|
|
521
|
-
let r =
|
|
545
|
+
}), at = ({ attachments: e, clickLabel: t, onAttachmentClick: n }) => {
|
|
546
|
+
let r = W((t) => {
|
|
522
547
|
let r = e.find((e) => e.id === t);
|
|
523
548
|
r && n?.(r);
|
|
524
549
|
}, [e, n]);
|
|
525
|
-
return /* @__PURE__ */
|
|
550
|
+
return /* @__PURE__ */ J("div", {
|
|
526
551
|
role: "list",
|
|
527
|
-
className: "flex flex-wrap gap-
|
|
528
|
-
children: e.map((e) => /* @__PURE__ */
|
|
552
|
+
className: "flex flex-wrap gap-2",
|
|
553
|
+
children: e.map((e) => /* @__PURE__ */ J("div", {
|
|
529
554
|
role: "listitem",
|
|
530
|
-
children: /* @__PURE__ */
|
|
555
|
+
children: /* @__PURE__ */ J(tt, {
|
|
531
556
|
attachment: e,
|
|
532
557
|
onClick: n && r,
|
|
533
558
|
labels: { clickLabel: t }
|
|
534
559
|
})
|
|
535
560
|
}, e.id))
|
|
536
561
|
});
|
|
537
|
-
},
|
|
538
|
-
let [f, p] =
|
|
562
|
+
}, ot = ({ stage: e, isLive: t, typography: n, labels: r, nameOverride: i, onAttachmentClick: a, childList: s, isExpanded: l, onToggle: u }) => {
|
|
563
|
+
let [f, p] = q(!1), m = l ?? f, h = W((e) => {
|
|
539
564
|
l === void 0 && p(e), u?.(e);
|
|
540
|
-
}, [l, u]), { copyAriaLabel: _ = "Copy stage content", codeBlockCopiedLabel: v, tableScrollRegionAriaLabel: y, mathScrollRegionAriaLabel: b, runningAriaLabel: x, failedAriaLabel: S, attachmentClickLabel: C = "Preview search result" } = r ?? {}, w =
|
|
541
|
-
/* @__PURE__ */
|
|
565
|
+
}, [l, u]), { copyAriaLabel: _ = "Copy stage content", codeBlockCopiedLabel: v, tableScrollRegionAriaLabel: y, mathScrollRegionAriaLabel: b, runningAriaLabel: x, failedAriaLabel: S, attachmentClickLabel: C = "Preview search result" } = r ?? {}, w = K(() => nt(e.attachments), [e.attachments]), { name: T, durationLabel: E } = we(e.name), D = i ?? T, O = !i && Te(T), k = e.status === o.Failed, A = !!e.content || !!e.attachments?.length, j = A || s != null, M = /* @__PURE__ */ Y(_e, { children: [
|
|
566
|
+
/* @__PURE__ */ J("span", {
|
|
542
567
|
className: "flex flex-none items-center",
|
|
543
|
-
children: /* @__PURE__ */
|
|
568
|
+
children: /* @__PURE__ */ J(Pe, {
|
|
544
569
|
status: e.status,
|
|
545
570
|
isLive: t,
|
|
546
571
|
runningLabel: x,
|
|
547
572
|
failedLabel: S
|
|
548
573
|
})
|
|
549
574
|
}),
|
|
550
|
-
/* @__PURE__ */
|
|
575
|
+
/* @__PURE__ */ J("span", {
|
|
551
576
|
className: c("min-w-0 max-w-[22rem] truncate", n?.fontClassName ?? "dial-small-text", X.stageName, k && X.stageNameFailed, O && X.monoName),
|
|
552
|
-
children: /* @__PURE__ */
|
|
577
|
+
children: /* @__PURE__ */ J(g, { text: D || e.status || "" })
|
|
553
578
|
}),
|
|
554
|
-
e.tag && /* @__PURE__ */
|
|
579
|
+
e.tag && /* @__PURE__ */ J("span", {
|
|
555
580
|
className: c("flex-none", n?.tagClassName ?? "dial-tiny-lead-text", X.tag),
|
|
556
581
|
children: e.tag
|
|
557
582
|
}),
|
|
558
|
-
E && /* @__PURE__ */
|
|
583
|
+
E && /* @__PURE__ */ J("span", {
|
|
559
584
|
className: c("flex-none", n?.countFontClassName ?? "dial-tiny-text", X.duration),
|
|
560
585
|
children: E
|
|
561
586
|
})
|
|
562
587
|
] });
|
|
563
|
-
return j ? /* @__PURE__ */
|
|
588
|
+
return j ? /* @__PURE__ */ Y(d, {
|
|
564
589
|
expanded: m,
|
|
565
|
-
onToggle:
|
|
566
|
-
title: /* @__PURE__ */
|
|
590
|
+
onToggle: h,
|
|
591
|
+
title: /* @__PURE__ */ J("span", {
|
|
567
592
|
className: "flex min-w-0 items-center gap-2",
|
|
568
593
|
children: M
|
|
569
594
|
}),
|
|
570
|
-
className:
|
|
571
|
-
headerClassName: c(
|
|
595
|
+
className: je,
|
|
596
|
+
headerClassName: c(Me, X.row, X.stageHeader),
|
|
572
597
|
contentClassName: c("-mt-1 flex min-w-0 flex-col gap-3 px-0 py-1", X.stageRegion),
|
|
573
|
-
children: [m && A && /* @__PURE__ */
|
|
598
|
+
children: [m && A && /* @__PURE__ */ Y("div", {
|
|
574
599
|
className: "flex min-w-0 flex-col gap-3 ps-8",
|
|
575
|
-
children: [e.content && /* @__PURE__ */
|
|
600
|
+
children: [e.content && /* @__PURE__ */ J("div", {
|
|
576
601
|
className: "max-h-[300px] min-w-0 overflow-y-auto",
|
|
577
|
-
children: /* @__PURE__ */
|
|
602
|
+
children: /* @__PURE__ */ J(it, {
|
|
578
603
|
content: e.content,
|
|
579
604
|
typography: n,
|
|
580
605
|
copyAriaLabel: _,
|
|
@@ -582,19 +607,19 @@ var J = {
|
|
|
582
607
|
tableScrollRegionAriaLabel: y,
|
|
583
608
|
mathScrollRegionAriaLabel: b
|
|
584
609
|
})
|
|
585
|
-
}), w.length > 0 && /* @__PURE__ */
|
|
610
|
+
}), w.length > 0 && /* @__PURE__ */ J(at, {
|
|
586
611
|
attachments: w,
|
|
587
612
|
clickLabel: C,
|
|
588
613
|
onAttachmentClick: a
|
|
589
614
|
})]
|
|
590
615
|
}), m && s]
|
|
591
|
-
}) : /* @__PURE__ */
|
|
616
|
+
}) : /* @__PURE__ */ J("div", {
|
|
592
617
|
className: c("flex w-full items-center gap-2 px-2 py-1.5", X.row),
|
|
593
618
|
children: M
|
|
594
619
|
});
|
|
595
|
-
},
|
|
596
|
-
let c =
|
|
597
|
-
return /* @__PURE__ */
|
|
620
|
+
}, st = (e) => e <= 3 ? "ps-4" : "ps-0", ct = (e) => e <= 3 ? "ps-6" : "ps-0", lt = ({ node: e, depth: t, nameOverride: n, isStreaming: r, expansion: i, typography: a, labels: o, onAttachmentClick: s }) => {
|
|
621
|
+
let c = ke(e.stage.index), l = t + 1;
|
|
622
|
+
return /* @__PURE__ */ J(ot, {
|
|
598
623
|
stage: e.stage,
|
|
599
624
|
nameOverride: n,
|
|
600
625
|
isLive: r && e.stage.status == null,
|
|
@@ -603,10 +628,10 @@ var J = {
|
|
|
603
628
|
onAttachmentClick: s,
|
|
604
629
|
isExpanded: i.isExpanded(c),
|
|
605
630
|
onToggle: (e) => i.onToggle(c, e),
|
|
606
|
-
childList: e.children.length > 0 ? /* @__PURE__ */
|
|
631
|
+
childList: e.children.length > 0 ? /* @__PURE__ */ J(dt, {
|
|
607
632
|
nodes: e.children,
|
|
608
633
|
depth: l,
|
|
609
|
-
className:
|
|
634
|
+
className: st(l),
|
|
610
635
|
isStreaming: r,
|
|
611
636
|
expansion: i,
|
|
612
637
|
typography: a,
|
|
@@ -614,28 +639,28 @@ var J = {
|
|
|
614
639
|
onAttachmentClick: s
|
|
615
640
|
}) : void 0
|
|
616
641
|
});
|
|
617
|
-
},
|
|
618
|
-
let { runningAriaLabel: l, failedAriaLabel: u, attemptLabel: f = (e) => `Attempt ${e}` } = a ?? {}, p = e.attempts ?? [], m = p.some((e) => e.stage.status == null),
|
|
619
|
-
m ? _ = null :
|
|
620
|
-
let v =
|
|
621
|
-
return /* @__PURE__ */
|
|
622
|
-
title: /* @__PURE__ */
|
|
642
|
+
}, ut = ({ row: e, depth: t, isStreaming: n, expansion: r, typography: i, labels: a, onAttachmentClick: s }) => {
|
|
643
|
+
let { runningAriaLabel: l, failedAriaLabel: u, attemptLabel: f = (e) => `Attempt ${e}` } = a ?? {}, p = e.attempts ?? [], m = p.some((e) => e.stage.status == null), h = p.some((e) => e.stage.status === o.Failed), _ = o.Completed;
|
|
644
|
+
m ? _ = null : h && (_ = o.Failed);
|
|
645
|
+
let v = Ae(e.key), y = r.isExpanded(v), b = t + 1;
|
|
646
|
+
return /* @__PURE__ */ J(d, {
|
|
647
|
+
title: /* @__PURE__ */ Y("span", {
|
|
623
648
|
className: "flex min-w-0 items-center gap-2",
|
|
624
649
|
children: [
|
|
625
|
-
/* @__PURE__ */
|
|
650
|
+
/* @__PURE__ */ J("span", {
|
|
626
651
|
className: "flex flex-none items-center",
|
|
627
|
-
children: /* @__PURE__ */
|
|
652
|
+
children: /* @__PURE__ */ J(Pe, {
|
|
628
653
|
status: _,
|
|
629
654
|
isLive: n && m,
|
|
630
655
|
runningLabel: l,
|
|
631
656
|
failedLabel: u
|
|
632
657
|
})
|
|
633
658
|
}),
|
|
634
|
-
/* @__PURE__ */
|
|
635
|
-
className: c("min-w-0 max-w-[22rem] truncate", i?.fontClassName ?? "dial-small-text", X.stageName,
|
|
636
|
-
children: /* @__PURE__ */
|
|
659
|
+
/* @__PURE__ */ J("span", {
|
|
660
|
+
className: c("min-w-0 max-w-[22rem] truncate", i?.fontClassName ?? "dial-small-text", X.stageName, h && X.stageNameFailed),
|
|
661
|
+
children: /* @__PURE__ */ J(g, { text: e.name })
|
|
637
662
|
}),
|
|
638
|
-
/* @__PURE__ */
|
|
663
|
+
/* @__PURE__ */ Y("span", {
|
|
639
664
|
className: c("flex-none", i?.countFontClassName ?? "dial-tiny-text", X.count),
|
|
640
665
|
children: ["×", p.length]
|
|
641
666
|
})
|
|
@@ -643,16 +668,16 @@ var J = {
|
|
|
643
668
|
}),
|
|
644
669
|
expanded: y,
|
|
645
670
|
onToggle: (e) => r.onToggle(v, e),
|
|
646
|
-
className:
|
|
647
|
-
headerClassName: c(
|
|
648
|
-
contentClassName: c("-mt-2 min-w-0 px-0",
|
|
649
|
-
children: /* @__PURE__ */
|
|
671
|
+
className: je,
|
|
672
|
+
headerClassName: c(Me, X.collapseButton, X.row, X.stageHeader),
|
|
673
|
+
contentClassName: c("-mt-2 min-w-0 px-0", ct(b), X.stageRegion),
|
|
674
|
+
children: /* @__PURE__ */ J("ul", {
|
|
650
675
|
role: "list",
|
|
651
676
|
className: "flex min-w-0 flex-col gap-0.5",
|
|
652
|
-
children: y && p.map((e, t) => /* @__PURE__ */
|
|
677
|
+
children: y && p.map((e, t) => /* @__PURE__ */ J("li", {
|
|
653
678
|
role: "listitem",
|
|
654
679
|
className: "min-w-0",
|
|
655
|
-
children: /* @__PURE__ */
|
|
680
|
+
children: /* @__PURE__ */ J(lt, {
|
|
656
681
|
node: e,
|
|
657
682
|
depth: b,
|
|
658
683
|
nameOverride: f(t + 1),
|
|
@@ -665,23 +690,23 @@ var J = {
|
|
|
665
690
|
}, e.stage.index))
|
|
666
691
|
})
|
|
667
692
|
});
|
|
668
|
-
},
|
|
693
|
+
}, dt = ({ nodes: e, depth: t, className: n, ...r }) => /* @__PURE__ */ J("ul", {
|
|
669
694
|
role: "list",
|
|
670
695
|
className: c("flex min-w-0 flex-col gap-0.5", n),
|
|
671
|
-
children:
|
|
696
|
+
children: Ne(e).map((e) => /* @__PURE__ */ J("li", {
|
|
672
697
|
role: "listitem",
|
|
673
698
|
className: "min-w-0",
|
|
674
|
-
children: e.node ? /* @__PURE__ */
|
|
699
|
+
children: e.node ? /* @__PURE__ */ J(lt, {
|
|
675
700
|
node: e.node,
|
|
676
701
|
depth: t,
|
|
677
702
|
...r
|
|
678
|
-
}) : /* @__PURE__ */
|
|
703
|
+
}) : /* @__PURE__ */ J(ut, {
|
|
679
704
|
row: e,
|
|
680
705
|
depth: t,
|
|
681
706
|
...r
|
|
682
707
|
})
|
|
683
708
|
}, e.key))
|
|
684
|
-
}),
|
|
709
|
+
}), ft = ({ stages: e, isStreaming: t, className: n, styles: r, labels: i, onAttachmentClick: a, expansion: o }) => {
|
|
685
710
|
let { colors: l, typography: u } = r ?? {}, d = s({
|
|
686
711
|
"--cs-text": l?.text,
|
|
687
712
|
"--cs-row-hover": l?.rowHoverColor,
|
|
@@ -698,11 +723,11 @@ var J = {
|
|
|
698
723
|
"--cs-code-border": l?.codeBorderColor,
|
|
699
724
|
"--cs-code-text": l?.codeTextColor,
|
|
700
725
|
"--cs-border": l?.borderColor
|
|
701
|
-
}), f =
|
|
702
|
-
return /* @__PURE__ */
|
|
726
|
+
}), f = K(() => Oe(e), [e]);
|
|
727
|
+
return /* @__PURE__ */ J("div", {
|
|
703
728
|
style: d,
|
|
704
|
-
className: c("w-full min-w-0", X.panel, n,
|
|
705
|
-
children: /* @__PURE__ */
|
|
729
|
+
className: c("w-full min-w-0", X.panel, n, ve.panel),
|
|
730
|
+
children: /* @__PURE__ */ J(dt, {
|
|
706
731
|
nodes: f,
|
|
707
732
|
depth: 0,
|
|
708
733
|
className: "w-full ps-5",
|
|
@@ -713,9 +738,9 @@ var J = {
|
|
|
713
738
|
onAttachmentClick: a
|
|
714
739
|
})
|
|
715
740
|
});
|
|
716
|
-
},
|
|
717
|
-
let t =
|
|
718
|
-
return /* @__PURE__ */
|
|
741
|
+
}, pt = (e) => {
|
|
742
|
+
let t = ye();
|
|
743
|
+
return /* @__PURE__ */ J(ft, {
|
|
719
744
|
...e,
|
|
720
745
|
expansion: t
|
|
721
746
|
});
|
|
@@ -726,9 +751,9 @@ var J = {
|
|
|
726
751
|
doneIcon: "_doneIcon_16fae_36",
|
|
727
752
|
failedText: "_failedText_16fae_40",
|
|
728
753
|
liveName: "_liveName_16fae_44"
|
|
729
|
-
},
|
|
730
|
-
let { executedLabel: l = "Executed", stepsLabel: u = () => "steps", failedCountLabel: m = (e) => `${e} failed`, runningAriaLabel:
|
|
731
|
-
|
|
754
|
+
}, mt = ({ stages: e, isStreaming: t, labels: n, className: r, styles: i, onAttachmentClick: a }) => {
|
|
755
|
+
let { executedLabel: l = "Executed", stepsLabel: u = () => "steps", failedCountLabel: m = (e) => `${e} failed`, runningAriaLabel: h = "Running", copyAriaLabel: _, codeBlockCopiedLabel: v, tableScrollRegionAriaLabel: y, mathScrollRegionAriaLabel: b, failedAriaLabel: S, attemptLabel: C, attachmentClickLabel: T } = n ?? {}, [E, D] = q(t), O = ye(), { reset: k } = O, A = e.length > 1;
|
|
756
|
+
G(() => {
|
|
732
757
|
A && !E && k();
|
|
733
758
|
}, [
|
|
734
759
|
A,
|
|
@@ -736,7 +761,7 @@ var J = {
|
|
|
736
761
|
k
|
|
737
762
|
]);
|
|
738
763
|
let j = ge(t);
|
|
739
|
-
|
|
764
|
+
G(() => {
|
|
740
765
|
j.current && !t && D(!1), j.current = t;
|
|
741
766
|
}, [t]);
|
|
742
767
|
let { colors: M, panel: N } = i ?? {}, P = i?.typography ?? { fontClassName: "dial-small-text" }, F = s({
|
|
@@ -764,14 +789,14 @@ var J = {
|
|
|
764
789
|
let I = {
|
|
765
790
|
copyAriaLabel: _,
|
|
766
791
|
codeBlockCopiedLabel: v,
|
|
767
|
-
tableScrollRegionAriaLabel:
|
|
768
|
-
mathScrollRegionAriaLabel:
|
|
769
|
-
runningAriaLabel:
|
|
770
|
-
failedAriaLabel:
|
|
771
|
-
attemptLabel:
|
|
792
|
+
tableScrollRegionAriaLabel: y,
|
|
793
|
+
mathScrollRegionAriaLabel: b,
|
|
794
|
+
runningAriaLabel: h,
|
|
795
|
+
failedAriaLabel: S,
|
|
796
|
+
attemptLabel: C,
|
|
772
797
|
attachmentClickLabel: T
|
|
773
798
|
};
|
|
774
|
-
if (e.length === 1) return /* @__PURE__ */
|
|
799
|
+
if (e.length === 1) return /* @__PURE__ */ J(ft, {
|
|
775
800
|
stages: e,
|
|
776
801
|
isStreaming: t,
|
|
777
802
|
expansion: O,
|
|
@@ -785,27 +810,27 @@ var J = {
|
|
|
785
810
|
});
|
|
786
811
|
let L = e.some((e) => e.status === o.Failed), R;
|
|
787
812
|
if (t) {
|
|
788
|
-
let t =
|
|
789
|
-
R = /* @__PURE__ */
|
|
813
|
+
let t = we((Ee(e) ?? e[e.length - 1]).name).name;
|
|
814
|
+
R = /* @__PURE__ */ Y("span", {
|
|
790
815
|
role: "status",
|
|
791
816
|
"aria-live": "polite",
|
|
792
817
|
className: "flex min-w-0 items-center gap-2",
|
|
793
|
-
children: [/* @__PURE__ */
|
|
818
|
+
children: [/* @__PURE__ */ J("span", {
|
|
794
819
|
className: "flex flex-none items-center",
|
|
795
|
-
children: /* @__PURE__ */
|
|
820
|
+
children: /* @__PURE__ */ J(x, {
|
|
796
821
|
size: 14,
|
|
797
|
-
ariaLabel:
|
|
822
|
+
ariaLabel: h
|
|
798
823
|
})
|
|
799
|
-
}), t && /* @__PURE__ */
|
|
824
|
+
}), t && /* @__PURE__ */ J("span", {
|
|
800
825
|
className: c("min-w-0 max-w-[22rem] truncate", P.fontClassName, $.liveName),
|
|
801
|
-
children: /* @__PURE__ */
|
|
826
|
+
children: /* @__PURE__ */ J(g, { text: t })
|
|
802
827
|
})]
|
|
803
828
|
});
|
|
804
829
|
} else if (L) {
|
|
805
830
|
let t = e.filter((e) => e.status === o.Failed).length;
|
|
806
|
-
R = /* @__PURE__ */
|
|
831
|
+
R = /* @__PURE__ */ Y("span", {
|
|
807
832
|
className: "inline-flex items-center gap-1",
|
|
808
|
-
children: [/* @__PURE__ */
|
|
833
|
+
children: [/* @__PURE__ */ Y("span", {
|
|
809
834
|
className: c(P.fontClassName, $.executedLabel),
|
|
810
835
|
children: [
|
|
811
836
|
l,
|
|
@@ -814,19 +839,19 @@ var J = {
|
|
|
814
839
|
" ",
|
|
815
840
|
u(e.length)
|
|
816
841
|
]
|
|
817
|
-
}), /* @__PURE__ */
|
|
842
|
+
}), /* @__PURE__ */ J("span", {
|
|
818
843
|
className: c(P.fontClassName, $.failedText),
|
|
819
844
|
children: m(t)
|
|
820
845
|
})]
|
|
821
846
|
});
|
|
822
|
-
} else R = /* @__PURE__ */
|
|
847
|
+
} else R = /* @__PURE__ */ Y("span", {
|
|
823
848
|
className: "inline-flex items-center gap-1",
|
|
824
|
-
children: [/* @__PURE__ */
|
|
849
|
+
children: [/* @__PURE__ */ J(w, {
|
|
825
850
|
size: f.SM,
|
|
826
851
|
className: $.doneIcon,
|
|
827
852
|
"aria-hidden": !0,
|
|
828
853
|
stroke: p
|
|
829
|
-
}), /* @__PURE__ */
|
|
854
|
+
}), /* @__PURE__ */ Y("span", {
|
|
830
855
|
className: c(P.fontClassName, $.executedLabel),
|
|
831
856
|
children: [
|
|
832
857
|
l,
|
|
@@ -837,17 +862,17 @@ var J = {
|
|
|
837
862
|
]
|
|
838
863
|
})]
|
|
839
864
|
});
|
|
840
|
-
return /* @__PURE__ */
|
|
865
|
+
return /* @__PURE__ */ J("div", {
|
|
841
866
|
style: F,
|
|
842
|
-
className: c("flex w-full flex-col gap-1", r,
|
|
843
|
-
children: /* @__PURE__ */
|
|
867
|
+
className: c("flex w-full flex-col gap-1", r, ve.group),
|
|
868
|
+
children: /* @__PURE__ */ J(d, {
|
|
844
869
|
title: R,
|
|
845
870
|
expanded: E,
|
|
846
871
|
onToggle: D,
|
|
847
872
|
className: "overflow-visible py-0",
|
|
848
|
-
headerClassName: c("justify-start gap-1 rounded-none px-0", $.toggleButton,
|
|
873
|
+
headerClassName: c("justify-start gap-1 rounded-none px-0", $.toggleButton, ve.groupToggle),
|
|
849
874
|
contentClassName: c("-mt-2 px-0", $.groupRegion),
|
|
850
|
-
children: E && /* @__PURE__ */
|
|
875
|
+
children: E && /* @__PURE__ */ J(ft, {
|
|
851
876
|
stages: e,
|
|
852
877
|
isStreaming: t,
|
|
853
878
|
expansion: O,
|
|
@@ -863,4 +888,4 @@ var J = {
|
|
|
863
888
|
});
|
|
864
889
|
};
|
|
865
890
|
//#endregion
|
|
866
|
-
export {
|
|
891
|
+
export { ve as CONVERSATION_STAGES_CLASS, mt as CollapsedGroup, pt as StagesPanel };
|
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.3.0-dev.
|
|
4
|
+
"version": "1.3.0-dev.61",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@tabler/icons-react": "^3.44.0",
|
|
21
|
-
"@epam/ai-dial-attachment-input": "1.3.0-dev.
|
|
21
|
+
"@epam/ai-dial-attachment-input": "1.3.0-dev.61"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": "^19.2.8",
|
|
25
|
-
"@epam/ai-dial-chat-shared": "1.3.0-dev.
|
|
26
|
-
"@epam/ai-dial-ui-kit": "^0.15.
|
|
25
|
+
"@epam/ai-dial-chat-shared": "1.3.0-dev.61",
|
|
26
|
+
"@epam/ai-dial-ui-kit": "^0.15.4"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|