@epam/ai-dial-attachment-input 1.1.0-dev.21 → 1.1.0-dev.214

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/components/AttachmentCard/AttachmentCard.d.ts.map +1 -1
  2. package/components/AttachmentCard/Attachments/Actions.d.ts +0 -2
  3. package/components/AttachmentCard/Attachments/Actions.d.ts.map +1 -1
  4. package/components/AttachmentCard/Attachments/File.d.ts +1 -8
  5. package/components/AttachmentCard/Attachments/File.d.ts.map +1 -1
  6. package/components/AttachmentCard/Attachments/Image.d.ts +2 -0
  7. package/components/AttachmentCard/Attachments/Image.d.ts.map +1 -1
  8. package/components/AttachmentGroup/AttachmentGroup.d.ts +1 -8
  9. package/components/AttachmentGroup/AttachmentGroup.d.ts.map +1 -1
  10. package/constants/attachment-group.d.ts +1 -3
  11. package/constants/attachment-group.d.ts.map +1 -1
  12. package/index.css +1 -1
  13. package/index.d.ts +4 -5
  14. package/index.d.ts.map +1 -1
  15. package/index.js +313 -415
  16. package/models/attachment-card.d.ts +9 -9
  17. package/models/attachment-card.d.ts.map +1 -1
  18. package/models/attachment-file-row.d.ts +4 -0
  19. package/models/attachment-file-row.d.ts.map +1 -1
  20. package/models/attachment-group.d.ts +2 -24
  21. package/models/attachment-group.d.ts.map +1 -1
  22. package/package.json +4 -4
  23. package/utils/attachment.d.ts +4 -27
  24. package/utils/attachment.d.ts.map +1 -1
  25. package/components/AttachmentCard/Attachments/Audio.d.ts +0 -20
  26. package/components/AttachmentCard/Attachments/Audio.d.ts.map +0 -1
  27. package/components/AttachmentMoreTile/AttachmentMoreTile.d.ts +0 -9
  28. package/components/AttachmentMoreTile/AttachmentMoreTile.d.ts.map +0 -1
  29. package/models/attachment-more-tile.d.ts +0 -54
  30. package/models/attachment-more-tile.d.ts.map +0 -1
package/index.js CHANGED
@@ -1,304 +1,253 @@
1
- import { AttachmentErrorReason as e, AttachmentType as t, Highlight as n, MIME_TYPE_EXT_MAP as r, RequestStatus as i, buildCssVars as a, mergeClasses as o } from "@epam/ai-dial-chat-shared";
2
- import { useCallback as s, useEffect as c, useId as l, useMemo as u, useRef as d, useState as f } from "react";
3
- import { IconChevronUp as p, IconClipboard as m, IconDownload as h, IconExternalLink as g, IconFile as _, IconFileDescription as v, IconFileTypeBmp as y, IconFileTypeCss as b, IconFileTypeCsv as x, IconFileTypeDoc as S, IconFileTypeDocx as C, IconFileTypeHtml as w, IconFileTypeJpg as T, IconFileTypeJs as E, IconFileTypeJsx as D, IconFileTypePdf as O, IconFileTypePhp as k, IconFileTypePng as A, IconFileTypePpt as j, IconFileTypeRs as M, IconFileTypeSql as N, IconFileTypeSvg as P, IconFileTypeTs as F, IconFileTypeTsx as I, IconFileTypeTxt as L, IconFileTypeVue as R, IconFileTypeXls as z, IconFileTypeXml as B, IconFileTypeZip as V, IconFileX as ee, IconMusic as te, IconPaperclip as H, IconPhoto as U, IconReload as ne, IconTerminal2 as re, IconVideo as ie, IconX as ae } from "@tabler/icons-react";
4
- import { DIAL_ICON_SIZE as W, DialGhostIconButton as oe, DialSkeleton as se, DialSkeletonVariant as ce, ElementSize as le } from "@epam/ai-dial-ui-kit";
5
- import { Fragment as G, jsx as K, jsxs as q } from "react/jsx-runtime";
6
- //#region src/constants/attachment-group.ts
7
- var ue = 5, de = 4, fe = "flex size-[84px] items-center justify-center rounded-xl border", J = /* @__PURE__ */ function(e) {
8
- return e.None = "none", e.AllVisible = "all-visible", e.Collapsed = "collapsed", e;
9
- }({}), pe = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, me = (e) => {
1
+ import { AttachmentErrorReason as e, AttachmentType as t, MIME_TYPE_EXT_MAP as n, RequestStatus as r, buildCssVars as i, mergeClasses as a } from "@epam/ai-dial-chat-shared";
2
+ import { useCallback as o, useEffect as s, useId as c, useMemo as l, useRef as u, useState as d } from "react";
3
+ import { IconClipboard as f, IconDownload as p, IconExternalLink as m, IconFile as h, IconFileDescription as g, IconFileTypeBmp as _, IconFileTypeCss as v, IconFileTypeCsv as y, IconFileTypeDoc as b, IconFileTypeDocx as x, IconFileTypeHtml as S, IconFileTypeJpg as C, IconFileTypeJs as w, IconFileTypeJsx as T, IconFileTypePdf as E, IconFileTypePhp as D, IconFileTypePng as O, IconFileTypePpt as k, IconFileTypeRs as A, IconFileTypeSql as j, IconFileTypeSvg as M, IconFileTypeTs as N, IconFileTypeTsx as P, IconFileTypeTxt as F, IconFileTypeVue as I, IconFileTypeXls as L, IconFileTypeXml as R, IconFileTypeZip as z, IconFileX as B, IconMusic as ee, IconPaperclip as V, IconPhoto as H, IconReload as te, IconTerminal2 as ne, IconVideo as re, IconX as ie } from "@tabler/icons-react";
4
+ import { DIAL_ICON_SIZE as U, ElementSize as ae, GhostIconButton as oe, Highlight as se, Skeleton as ce, SkeletonVariant as le, Spinner as ue, StaticIconButton as de } from "@epam/ai-dial-ui-kit";
5
+ import { Fragment as fe, jsx as W, jsxs as G } from "react/jsx-runtime";
6
+ //#region src/utils/attachment.ts
7
+ var K = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) => {
8
+ if (e == null) return "";
10
9
  let t = e.lastIndexOf(".");
11
10
  return t > 0 ? e.slice(0, t) : e;
12
- }, he = {
11
+ }, me = {
13
12
  image: "Image files",
14
13
  audio: "Audio files",
15
14
  video: "Video files",
16
15
  text: "Text files"
17
- }, ge = (e, t = he) => e.map((e) => {
16
+ }, he = (e, t = me) => e.map((e) => {
18
17
  if (e.endsWith("/*")) {
19
18
  let n = e.slice(0, -2);
20
19
  return t[n] ?? `${n} files`;
21
20
  }
22
21
  let n = e.split("/")[1];
23
22
  return n == null ? e.toUpperCase() : n.toUpperCase();
24
- }).join(", "), _e = (e, t) => t.length === 0 ? !1 : t.some((t) => {
23
+ }).join(", "), ge = (e, t) => t.length === 0 ? !1 : t.some((t) => {
25
24
  if (t === "*" || t === "*/*") return !0;
26
25
  if (t.endsWith("/*")) {
27
26
  let n = t.slice(0, -2);
28
27
  return e.startsWith(`${n}/`);
29
28
  }
30
29
  return e === t;
31
- }), ve = (e) => {
32
- if (!e) return _;
30
+ }), _e = (e) => {
31
+ if (!e) return h;
33
32
  if (e.startsWith("image/")) switch (e) {
34
33
  case "image/jpeg":
35
- case "image/jpg": return T;
36
- case "image/png": return A;
37
- case "image/svg+xml": return P;
38
- case "image/bmp": return y;
39
- default: return U;
34
+ case "image/jpg": return C;
35
+ case "image/png": return O;
36
+ case "image/svg+xml": return M;
37
+ case "image/bmp": return _;
38
+ default: return H;
40
39
  }
41
- if (e.startsWith("video/")) return ie;
42
- if (e.startsWith("audio/")) return te;
40
+ if (e.startsWith("video/")) return re;
41
+ if (e.startsWith("audio/")) return ee;
43
42
  switch (e) {
44
- case "application/pdf": return O;
43
+ case "application/pdf": return E;
45
44
  case "application/msword":
46
- case "application/vnd.ms-word": return S;
47
- case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": return C;
48
- case "application/vnd.ms-powerpoint": return j;
49
- case "application/vnd.openxmlformats-officedocument.presentationml.presentation": return j;
50
- case "application/vnd.ms-excel": return z;
51
- case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": return z;
45
+ case "application/vnd.ms-word": return b;
46
+ case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": return x;
47
+ case "application/vnd.ms-powerpoint": return k;
48
+ case "application/vnd.openxmlformats-officedocument.presentationml.presentation": return k;
49
+ case "application/vnd.ms-excel": return L;
50
+ case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": return L;
52
51
  case "application/zip":
53
52
  case "application/x-zip-compressed":
54
53
  case "application/x-rar-compressed":
55
54
  case "application/x-7z-compressed":
56
55
  case "application/gzip":
57
- case "application/x-tar": return V;
58
- case "text/csv": return x;
59
- case "text/plain": return L;
56
+ case "application/x-tar": return z;
57
+ case "text/csv": return y;
58
+ case "text/plain": return F;
60
59
  case "text/html":
61
- case "application/xhtml+xml": return w;
60
+ case "application/xhtml+xml": return S;
62
61
  case "text/xml":
63
- case "application/xml": return B;
62
+ case "application/xml": return R;
64
63
  case "application/sql":
65
- case "text/x-sql": return N;
64
+ case "text/x-sql": return j;
66
65
  case "text/javascript":
67
- case "application/javascript": return E;
68
- case "text/jsx": return D;
66
+ case "application/javascript": return w;
67
+ case "text/jsx": return T;
69
68
  case "application/typescript":
70
- case "text/typescript": return F;
71
- case "text/tsx": return I;
72
- case "text/css": return b;
69
+ case "text/typescript": return N;
70
+ case "text/tsx": return P;
71
+ case "text/css": return v;
73
72
  case "text/x-php":
74
- case "application/x-php": return k;
73
+ case "application/x-php": return D;
75
74
  case "text/x-rustsrc":
76
- case "application/x-rust": return M;
77
- case "text/x-vue": return R;
78
- default: return _;
75
+ case "application/x-rust": return A;
76
+ case "text/x-vue": return I;
77
+ default: return h;
79
78
  }
80
- }, ye = (e) => {
79
+ }, ve = (e) => {
81
80
  let { type: n, contentType: r } = e;
82
- return n === t.Prompt ? re : n === t.Pasted ? m : n === t.Image ? U : ve(r ?? "");
83
- }, be = (e) => {
84
- let t = e.toLowerCase().split(";")[0].trim(), n = r[t];
85
- if (n) return n;
81
+ return n === t.Prompt ? ne : n === t.Pasted ? f : n === t.Image ? H : _e(r ?? "");
82
+ }, ye = (e) => {
83
+ let t = e.toLowerCase().split(";")[0].trim(), r = n[t];
84
+ if (r) return r;
86
85
  let i = t.split("/")[1];
87
86
  if (i && !i.startsWith("vnd.") && !i.includes("+")) return i;
88
- }, xe = (e, n) => {
87
+ }, be = (e, n) => {
89
88
  let { type: r, name: i, contentType: a } = e;
90
89
  if (r === t.Prompt) return n.promptLabel ?? "Prompt";
91
90
  if (r === t.Pasted) return n.pastedLabel ?? "Pasted";
92
91
  if (r === t.Image) return n.imageLabel ?? "Image";
93
92
  if (a) {
94
- let e = be(a);
93
+ let e = ye(a);
95
94
  if (e) return `.${e}`;
96
95
  }
96
+ if (i == null) return "";
97
97
  let o = i.lastIndexOf(".");
98
98
  return o > 0 && o < i.length - 1 ? `.${i.slice(o + 1).toLowerCase()}` : i;
99
- }, Y = (e, n = {}) => {
100
- let { type: r, status: a, previewUrl: o, url: s } = e, c = a === i.Loading, l = a === i.Error, u = r === t.Image && !!(o ?? s) && !l, d = r === t.Audio && !l, f = r === t.Link && !l;
99
+ }, q = (e, n = {}) => {
100
+ let { type: i, status: a, previewUrl: o, url: s } = e, c = a === r.Loading, l = a === r.Error, u = i === t.Image && !!(o ?? s) && !l, d = i === t.Link && !l;
101
101
  return {
102
102
  isLoading: c,
103
103
  isError: l,
104
104
  isImage: u,
105
- isAudio: d,
106
- isLink: f,
107
- BottomIcon: f ? null : ye(e),
108
- typeLabel: f ? null : xe(e, n)
105
+ isLink: d,
106
+ BottomIcon: d ? null : ve(e),
107
+ typeLabel: d ? null : be(e, n)
109
108
  };
110
- }, Se = (e, t) => e <= 0 ? {
111
- layout: J.None,
112
- visibleCount: 0,
113
- hiddenCount: 0
114
- } : e < 5 || t ? {
115
- layout: J.AllVisible,
116
- visibleCount: e,
117
- hiddenCount: 0
118
- } : {
119
- layout: J.Collapsed,
120
- visibleCount: 4,
121
- hiddenCount: e - 4
122
- }, X = {
123
- tile: "_tile_3x6ks_1",
124
- tileLight: "_tileLight_3x6ks_12",
125
- tileError: "_tileError_3x6ks_16",
126
- nameText: "_nameText_3x6ks_23",
127
- typeText: "_typeText_3x6ks_24",
128
- retryIcon: "_retryIcon_3x6ks_36",
129
- hoverIcon: "_hoverIcon_3x6ks_40",
130
- track: "_track_3x6ks_48",
131
- indeterminateFill: "_indeterminateFill_3x6ks_52",
132
- "attachment-tile-indeterminate": "_attachment-tile-indeterminate_3x6ks_1"
133
- }, Z = ({ ariaLabel: e, errorTitle: t, errorDescId: n, onClick: r, id: i, icon: a, className: s }) => /* @__PURE__ */ K(oe, {
134
- icon: a,
135
- size: le.Small,
136
- className: o("absolute end-1 top-1 h-6 w-6 rounded-lg", s ?? X.hoverIcon),
109
+ }, xe = 5, Se = "flex size-[84px] items-center justify-center rounded-xl border", J = {
110
+ tile: "_tile_3jao2_1",
111
+ hovered: "_hovered_3jao2_5",
112
+ selected: "_selected_3jao2_15",
113
+ tileError: "_tileError_3jao2_20",
114
+ nameText: "_nameText_3jao2_25",
115
+ typeText: "_typeText_3jao2_29",
116
+ retryIcon: "_retryIcon_3jao2_33",
117
+ track: "_track_3jao2_37",
118
+ actionButton: "_actionButton_3jao2_43",
119
+ imageActionButton: "_imageActionButton_3jao2_47"
120
+ }, Y = ({ ariaLabel: e, errorTitle: t, errorDescId: n, onClick: r, id: i, icon: o, className: s }) => /* @__PURE__ */ W(de, {
121
+ icon: o,
122
+ size: ae.Small,
123
+ className: a("absolute end-1 top-1 opacity-0 focus-visible:opacity-100 group-focus-within/attachment-tile:opacity-100 group-hover/attachment-tile:opacity-100", J.actionButton, s),
137
124
  "aria-label": e,
138
125
  "aria-describedby": t ? n : void 0,
139
126
  onClick: (e) => {
140
127
  e.stopPropagation(), r(i);
141
128
  }
142
- }), Ce = ({ ...e }) => /* @__PURE__ */ K(Z, {
143
- icon: /* @__PURE__ */ K(ne, {
144
- size: W.SM,
129
+ }), Ce = ({ ...e }) => /* @__PURE__ */ W(Y, {
130
+ icon: /* @__PURE__ */ W(te, {
131
+ size: U.SM,
145
132
  "aria-hidden": !0
146
133
  }),
147
- className: X.retryIcon,
134
+ className: J.retryIcon,
148
135
  ...e
149
- }), we = ({ ...e }) => /* @__PURE__ */ K(Z, {
150
- icon: /* @__PURE__ */ K(h, {
151
- size: W.SM,
136
+ }), we = ({ ...e }) => /* @__PURE__ */ W(Y, {
137
+ icon: /* @__PURE__ */ W(p, {
138
+ size: U.SM,
152
139
  "aria-hidden": !0
153
140
  }),
154
141
  ...e
155
- }), Te = ({ ...e }) => /* @__PURE__ */ K(Z, {
156
- icon: /* @__PURE__ */ K(g, {
157
- size: W.SM,
142
+ }), Te = ({ ...e }) => /* @__PURE__ */ W(Y, {
143
+ icon: /* @__PURE__ */ W(m, {
144
+ size: U.SM,
158
145
  "aria-hidden": !0
159
146
  }),
160
147
  ...e
161
- }), Ee = ({ ...e }) => /* @__PURE__ */ K(Z, {
162
- icon: /* @__PURE__ */ K(ae, {
163
- size: W.SM,
148
+ }), Ee = ({ ...e }) => /* @__PURE__ */ W(Y, {
149
+ icon: /* @__PURE__ */ W(ie, {
150
+ size: U.SM,
164
151
  "aria-hidden": !0
165
152
  }),
166
- className: X.hoverIcon,
167
153
  ...e
168
- }), De = ({ attachment: e, searchQuery: t = "", onClick: r, onDownload: i, onRemove: a, labels: s, styles: c, cssVars: l }) => {
169
- let { clickLabel: u = "Open attachment", downloadLabel: d = "Download attachment", removeLabel: f = "Remove attachment" } = s ?? {}, { typography: p, className: m } = c ?? {}, h = () => {
170
- r?.(e.id);
171
- };
172
- return /* @__PURE__ */ q("div", {
173
- style: l,
174
- ...r == null ? {} : {
175
- role: "button",
176
- tabIndex: 0,
177
- "aria-label": u,
178
- onClick: h,
179
- onKeyDown: (e) => {
180
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), h());
181
- }
182
- },
183
- className: o("group relative flex w-full min-w-[280px] max-w-[300px] flex-col gap-2 rounded-xl border p-3", r && "cursor-pointer", (i || a) && "pe-8", m),
184
- children: [
185
- /* @__PURE__ */ K("span", {
186
- title: e.name,
187
- className: o(p?.fontClassName ?? "dial-tiny-text", "min-w-0 truncate", X.nameText),
188
- children: t ? /* @__PURE__ */ K(n, {
189
- text: e.name,
190
- query: t,
191
- maxLines: 1
192
- }) : e.name
193
- }),
194
- e.playUrl && /* @__PURE__ */ K("audio", {
195
- controls: !0,
196
- src: e.playUrl,
197
- "aria-label": e.name,
198
- className: "w-full",
199
- preload: "metadata",
200
- onClick: (e) => e.stopPropagation()
201
- }),
202
- i && /* @__PURE__ */ K(we, {
203
- ariaLabel: d,
204
- onClick: i,
205
- id: e.id
206
- }),
207
- a && /* @__PURE__ */ K(Ee, {
208
- ariaLabel: f,
209
- onClick: a,
210
- id: e.id
211
- })
212
- ]
213
- });
214
- }, Oe = {
154
+ }), De = {
215
155
  [e.Network]: "Upload failed · network error",
216
156
  [e.UnsupportedType]: "Upload failed · unsupported file type"
217
- }, ke = ({ attachment: t, onClick: n, onRetry: r, labels: a, styles: c, onDownload: d, isPasted: f, isLink: p, cssVars: m, onExpand: h, isExpandable: g, onRemove: _ }) => {
218
- let { clickLabel: v = "Download attachment", retryLabel: y = "Retry upload", sizeLabel: b, uploadingLabel: x = "Uploading", errorReasonLabels: S, genericErrorLabel: C = "Upload failed" } = a ?? {}, { typography: { nameClassName: w = "dial-caption-text", metaClassName: T = "dial-caption-text" } = {}, className: E } = c ?? {}, { id: D, name: O, status: k, errorReason: A } = t, j = k === i.Loading, M = k === i.Error, N = l(), P = M ? A && (S?.[A] ?? Oe[A]) || C : "", { BottomIcon: F, typeLabel: I } = Y(t), L = !M && !j && d && !p, R = M && !!r && A !== e.UnsupportedType, z = L || R ? "pe-5" : void 0, B = (e) => {
219
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), n?.(t.id));
220
- }, V = u(() => f ? O : me(O), [f, O]), ee = s(() => {
157
+ }, Oe = ({ attachment: t, searchQuery: n = "", onClick: i, onRetry: s, labels: u, styles: d, onDownload: f, isPasted: p, isLink: m, cssVars: h, onExpand: g, isExpandable: _, onRemove: v, isSelected: y }) => {
158
+ let { clickLabel: b = "Download attachment", retryLabel: x = "Retry upload", sizeLabel: S, uploadingLabel: C = "Uploading", errorReasonLabels: w, genericErrorLabel: T = "Upload failed" } = u ?? {}, { typography: E, className: D } = d ?? {}, { id: O, name: k, status: A, errorReason: j } = t, M = A === r.Loading, N = A === r.Error, P = c(), F = N ? j && (w?.[j] ?? De[j]) || T : "", { BottomIcon: I, typeLabel: L } = q(t), R = !N && !M && f && !m, z = N && !!s && j !== e.UnsupportedType, B = R || z ? "pe-5" : void 0, ee = (e) => {
159
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), i?.(t.id));
160
+ }, V = l(() => p ? k : pe(k), [p, k]), H = o(() => {
221
161
  window.open(t.referenceUrl, "_blank", "noopener,noreferrer");
222
- }, [t]), te = o(fe, "group relative flex-col justify-between items-start gap-1 overflow-hidden p-1.5", X.tile, !M && X.tileLight, M && X.tileError), H = /* @__PURE__ */ K("div", {
162
+ }, [t]), te = a(Se, "group/attachment-tile relative flex-col justify-between items-start gap-1 overflow-hidden p-1.5", J.tile, !N && J.hovered, y && J.selected, N && J.tileError), ne = /* @__PURE__ */ W("div", {
223
163
  title: V,
224
- className: o(w, "line-clamp-2 min-w-0 break-all", X.nameText, !M && z),
225
- children: V
226
- }), U = F && /* @__PURE__ */ q("div", {
227
- className: o("flex w-full items-center gap-1", M && z),
228
- children: [/* @__PURE__ */ K(F, {
164
+ className: a(E?.nameClassName ?? "dial-caption-text", "line-clamp-2 min-w-0 break-all", J.nameText, !N && B),
165
+ children: n ? /* @__PURE__ */ W(se, {
166
+ text: V,
167
+ query: n,
168
+ maxLines: 2
169
+ }) : V
170
+ }), re = I && /* @__PURE__ */ G("div", {
171
+ className: a("flex w-full items-center gap-1", N && B),
172
+ children: [/* @__PURE__ */ W(I, {
229
173
  size: 16,
230
- className: X.typeText,
174
+ className: J.typeText,
231
175
  "aria-hidden": !0
232
- }), /* @__PURE__ */ K("span", {
233
- className: o(T, "min-w-0 flex-1 truncate", X.typeText),
234
- children: b ? `${I} · ${b}` : I
176
+ }), /* @__PURE__ */ W("span", {
177
+ className: a(E?.metaClassName ?? "dial-caption-text", "min-w-0 flex-1 truncate", J.typeText),
178
+ children: S ? `${L} · ${S}` : L
235
179
  })]
236
- }), ne = () => {
237
- g && h ? h(D) : n && n(D);
238
- }, re = /* @__PURE__ */ q(G, { children: [
239
- M ? /* @__PURE__ */ q(G, { children: [U, H] }) : /* @__PURE__ */ q(G, { children: [H, U] }),
240
- j && /* @__PURE__ */ K("div", {
241
- role: "progressbar",
242
- "aria-label": x,
243
- className: o("absolute inset-x-2 bottom-2 h-[3px] overflow-hidden rounded-full", X.track),
244
- children: /* @__PURE__ */ K("div", { className: o("h-full w-1/3 rounded-full", X.indeterminateFill) })
245
- }),
246
- L && /* @__PURE__ */ K(we, {
247
- ariaLabel: v,
248
- errorTitle: P,
249
- errorDescId: N,
250
- onClick: d,
251
- id: D
252
- }),
253
- R && /* @__PURE__ */ K(Ce, {
254
- ariaLabel: y,
255
- errorTitle: P,
256
- errorDescId: N,
257
- onClick: r,
258
- id: D
180
+ }), ie = () => {
181
+ _ && g ? g(O) : i && i(O);
182
+ }, U = /* @__PURE__ */ G(fe, { children: [
183
+ ne,
184
+ re,
185
+ M && /* @__PURE__ */ W("div", {
186
+ "aria-label": C,
187
+ className: a("absolute left-[-1px] top-[-1px] flex size-full items-center justify-center rounded", J.track),
188
+ children: /* @__PURE__ */ W(ue, { size: 32 })
259
189
  }),
260
- p && /* @__PURE__ */ K(Te, {
261
- ariaLabel: y,
262
- errorTitle: P,
263
- errorDescId: N,
264
- onClick: ee
265
- }),
266
- _ && /* @__PURE__ */ K(Ee, {
267
- ariaLabel: y,
268
- errorTitle: P,
269
- errorDescId: N,
270
- onClick: _,
271
- id: D
190
+ /* @__PURE__ */ G("div", {
191
+ className: a("absolute right-0 top-0 flex gap-1"),
192
+ children: [
193
+ R && /* @__PURE__ */ W(we, {
194
+ ariaLabel: b,
195
+ errorTitle: F,
196
+ errorDescId: P,
197
+ onClick: f,
198
+ id: O
199
+ }),
200
+ z && /* @__PURE__ */ W(Ce, {
201
+ ariaLabel: x,
202
+ errorTitle: F,
203
+ errorDescId: P,
204
+ onClick: s,
205
+ id: O
206
+ }),
207
+ m && /* @__PURE__ */ W(Te, {
208
+ ariaLabel: x,
209
+ errorTitle: F,
210
+ errorDescId: P,
211
+ onClick: H
212
+ }),
213
+ v && /* @__PURE__ */ W(Ee, {
214
+ ariaLabel: x,
215
+ errorTitle: F,
216
+ errorDescId: P,
217
+ onClick: v,
218
+ id: O
219
+ })
220
+ ]
272
221
  }),
273
- M && /* @__PURE__ */ K("span", {
274
- id: N,
222
+ N && /* @__PURE__ */ W("span", {
223
+ id: P,
275
224
  role: "status",
276
225
  "aria-live": "polite",
277
226
  className: "sr-only",
278
- children: P
227
+ children: F
279
228
  })
280
229
  ] });
281
- return /* @__PURE__ */ K("div", {
282
- style: m,
283
- className: o("inline-flex", E),
284
- children: /* @__PURE__ */ K("div", {
230
+ return /* @__PURE__ */ W("div", {
231
+ style: h,
232
+ className: a("inline-flex", D),
233
+ children: /* @__PURE__ */ W("div", {
285
234
  role: "button",
286
235
  tabIndex: 0,
287
- "aria-label": v,
288
- onClick: ne,
289
- onKeyDown: B,
290
- style: m,
291
- className: o(te, "cursor-pointer focus-within:outline focus-within:outline-1 focus-within:outline-offset-1"),
292
- children: re
236
+ "aria-label": b,
237
+ onClick: ie,
238
+ onKeyDown: ee,
239
+ style: h,
240
+ className: a(te, "cursor-pointer focus-within:outline focus-within:outline-1 focus-within:outline-offset-1"),
241
+ children: U
293
242
  })
294
243
  });
295
- }, Q = /* @__PURE__ */ function(e) {
244
+ }, X = /* @__PURE__ */ function(e) {
296
245
  return e.Idle = "idle", e.Loading = "loading", e.Loaded = "loaded", e.Error = "error", e;
297
- }({}), Ae = ({ enabled: e, src: t }) => {
298
- let n = d(null), [r, i] = f("idle");
299
- return c(() => {
246
+ }({}), ke = ({ enabled: e, src: t }) => {
247
+ let n = u(null), [r, i] = d("idle");
248
+ return s(() => {
300
249
  i(e && t ? "loading" : "idle");
301
- }, [e, t]), c(() => {
250
+ }, [e, t]), s(() => {
302
251
  let r = n.current;
303
252
  if (!r || !e || !t) return;
304
253
  let a = () => i("loaded"), o = () => i("error");
@@ -309,15 +258,15 @@ var ue = 5, de = 4, fe = "flex size-[84px] items-center justify-center rounded-x
309
258
  imageRef: n,
310
259
  imageLoadStatus: r
311
260
  };
312
- }, je = ({ attachment: e, onExpand: n, onClick: r, labels: i, onRemove: a, cssVars: s, onDownload: c, styles: l }) => {
313
- let { clickLabel: d = "Open attachment", expandLabel: f = "Expand pasted text" } = i ?? {}, { typography: p, className: m } = l ?? {}, { id: h, name: g } = e, _ = e.previewUrl ?? e.url, v = e.type === t.Pasted && n !== void 0, { isLoading: y, isError: b, isImage: x } = u(() => Y(e), [e]), S = r !== void 0 && !v && !y && !b, { imageRef: C, imageLoadStatus: w } = Ae({
261
+ }, Ae = ({ attachment: e, onExpand: n, onClick: r, labels: i, onRemove: o, cssVars: s, onDownload: c, styles: u, isSelected: d }) => {
262
+ let { clickLabel: f = "Open attachment", expandLabel: p = "Expand pasted text" } = i ?? {}, { className: m } = u ?? {}, { id: h, name: g } = e, _ = e.previewUrl ?? e.url, v = e.type === t.Pasted && n !== void 0, { isLoading: y, isError: b, isImage: x } = l(() => q(e), [e]), S = r !== void 0 && !v && !y && !b, { imageRef: C, imageLoadStatus: w } = ke({
314
263
  enabled: x,
315
264
  src: _
316
265
  }), T = () => {
317
266
  v && n ? n(h) : S && r && r(h);
318
267
  };
319
- return /* @__PURE__ */ K("div", {
320
- className: o(fe, S && "cursor-pointer", X.tile, m),
268
+ return /* @__PURE__ */ W("div", {
269
+ className: a(Se, "group/attachment-tile", S && "cursor-pointer", J.tile, d && J.selected, m),
321
270
  onClick: T,
322
271
  onKeyDown: (e) => {
323
272
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), T());
@@ -325,98 +274,96 @@ var ue = 5, de = 4, fe = "flex size-[84px] items-center justify-center rounded-x
325
274
  tabIndex: 0,
326
275
  role: "button",
327
276
  style: s,
328
- "aria-label": S ? d : v ? f : void 0,
329
- children: /* @__PURE__ */ q("div", {
277
+ "aria-label": S ? f : v ? p : void 0,
278
+ children: /* @__PURE__ */ G("div", {
330
279
  className: "relative h-full w-full overflow-hidden",
331
280
  children: [
332
- a && /* @__PURE__ */ K(Ee, {
333
- onClick: a,
334
- id: h
281
+ o && /* @__PURE__ */ W(Ee, {
282
+ onClick: o,
283
+ id: h,
284
+ className: J.imageActionButton
335
285
  }),
336
- c && /* @__PURE__ */ K(we, {
286
+ c && /* @__PURE__ */ W(we, {
337
287
  onClick: c,
338
- id: h
288
+ id: h,
289
+ className: J.imageActionButton
339
290
  }),
340
- w !== Q.Loaded && /* @__PURE__ */ K(se, {
341
- variant: ce.Rectangular,
291
+ w !== X.Loaded && /* @__PURE__ */ W(ce, {
292
+ variant: le.Rectangular,
342
293
  width: "100%",
343
294
  height: "100%",
344
- active: w === Q.Loading,
345
- overlay: /* @__PURE__ */ K(U, {
346
- size: W.LG,
347
- className: p?.placeholderIconClassName ?? "text-secondary",
295
+ active: w === X.Loading,
296
+ overlay: /* @__PURE__ */ W(H, {
297
+ size: U.LG,
298
+ className: J.typeText,
348
299
  "aria-hidden": !0
349
300
  }),
350
301
  className: "absolute inset-0 rounded-xl"
351
302
  }),
352
- /* @__PURE__ */ K("img", {
303
+ /* @__PURE__ */ W("img", {
353
304
  ref: C,
354
305
  src: _,
355
306
  alt: g,
356
307
  loading: "lazy",
357
308
  decoding: "async",
358
- className: o("h-full w-full rounded-xl object-cover transition-opacity duration-200", w === Q.Loaded ? "opacity-100" : "opacity-0")
309
+ className: a("h-full w-full rounded-xl object-cover transition-opacity duration-200", w === X.Loaded ? "opacity-100" : "opacity-0")
359
310
  })
360
311
  ]
361
312
  })
362
313
  });
363
- }, Me = ({ attachment: e, searchQuery: n = "", onRemove: r, onRetry: i, onExpand: o, onClick: s, onDownload: c, labels: l, styles: d }) => {
364
- let { colors: f } = d ?? {}, p = e.type === t.Pasted, m = p && o !== void 0, h = a({
365
- "--ci-tile-bg": f?.background,
366
- "--ci-tile-border": f?.border,
367
- "--ci-tile-border-hover": f?.borderHover,
368
- "--ci-tile-focus-outline": f?.focusOutline,
369
- "--ci-tile-bg-error": f?.backgroundError,
370
- "--ci-tile-border-error": f?.borderError,
371
- "--ci-tile-error-text": f?.errorText,
372
- "--ci-tile-name-text": f?.nameText,
373
- "--ci-tile-type-text": f?.typeText,
374
- "--ci-tile-hover-icon-bg": f?.hoverIconBackground,
375
- "--ci-tile-hover-icon-color": f?.hoverIconColor,
376
- "--ci-tile-track-bg": f?.trackBackground,
377
- "--ci-tile-fill-bg": f?.fillBackground
378
- }), { isImage: g, isAudio: _, isLink: v } = u(() => Y(e), [e]);
379
- return _ ? /* @__PURE__ */ K(De, {
314
+ }, Z = ({ attachment: e, searchQuery: n = "", onRemove: r, onRetry: a, onExpand: o, onClick: s, onDownload: c, labels: u, styles: d, isSelected: f }) => {
315
+ let { colors: p } = d ?? {}, m = e.type === t.Pasted, h = m && o !== void 0, g = i({
316
+ "--ai-tile-bg": p?.background,
317
+ "--ai-tile-border": p?.border,
318
+ "--ai-tile-bg-hover": p?.backgroundHover,
319
+ "--ai-tile-border-hover": p?.borderHover,
320
+ "--ai-tile-bg-selected": p?.backgroundSelected,
321
+ "--ai-tile-border-selected": p?.borderSelected,
322
+ "--ai-tile-focus-outline": p?.focusOutline,
323
+ "--ai-tile-bg-error": p?.backgroundError,
324
+ "--ai-tile-border-error": p?.borderError,
325
+ "--ai-tile-error-text": p?.errorText,
326
+ "--ai-tile-name-text": p?.nameText,
327
+ "--ai-tile-type-text": p?.typeText,
328
+ "--ai-tile-hover-icon-bg": p?.hoverIconBackground,
329
+ "--ai-tile-hover-icon-color": p?.hoverIconColor,
330
+ "--ai-tile-progress-track": p?.trackBackground
331
+ }), { isImage: _, isLink: v } = l(() => q(e), [e]);
332
+ return _ ? /* @__PURE__ */ W(Ae, {
380
333
  attachment: e,
381
- labels: l,
382
- onClick: s,
383
- onDownload: c,
384
- onRemove: r,
385
- searchQuery: n,
386
- styles: d,
387
- cssVars: h
388
- }) : g ? /* @__PURE__ */ K(je, {
389
- attachment: e,
390
- labels: l,
334
+ labels: u,
391
335
  onClick: s,
392
336
  onExpand: o,
393
337
  styles: d,
394
338
  onRemove: r,
395
- cssVars: h,
396
- onDownload: c
397
- }) : /* @__PURE__ */ K(ke, {
339
+ cssVars: g,
340
+ onDownload: c,
341
+ isSelected: f
342
+ }) : /* @__PURE__ */ W(Oe, {
398
343
  attachment: e,
344
+ searchQuery: n,
399
345
  onClick: s,
400
- onRetry: i,
346
+ onRetry: a,
401
347
  onRemove: r,
402
348
  onDownload: c,
403
349
  isLink: v,
404
- isPasted: p,
350
+ isPasted: m,
405
351
  styles: d,
406
- labels: l,
352
+ labels: u,
407
353
  onExpand: o,
408
- cssVars: h,
409
- isExpandable: m
354
+ cssVars: g,
355
+ isExpandable: h,
356
+ isSelected: f
410
357
  });
411
- }, Ne = ({ attachments: e, onRemove: t, onRetry: n, onExpand: r, onAttachmentClick: i, labels: a, styles: s }) => {
412
- let { ariaLabel: c = "Attached files", removeLabel: l, retryLabel: u, clickLabel: d } = a ?? {}, { className: f } = s ?? {};
413
- return e.length === 0 ? null : /* @__PURE__ */ K("div", {
358
+ }, je = ({ attachments: e, onRemove: t, onRetry: n, onExpand: r, onAttachmentClick: i, labels: o, styles: s }) => {
359
+ let { ariaLabel: c = "Attached files", removeLabel: l, retryLabel: u, clickLabel: d } = o ?? {}, { className: f } = s ?? {};
360
+ return e.length === 0 ? null : /* @__PURE__ */ W("div", {
414
361
  role: "list",
415
362
  "aria-label": c,
416
- className: o("flex w-full min-w-0 gap-2 overflow-x-auto", f),
417
- children: e.map((e) => /* @__PURE__ */ K("div", {
363
+ className: a("flex w-full min-w-0 gap-2 overflow-x-auto", f),
364
+ children: e.map((e) => /* @__PURE__ */ W("div", {
418
365
  role: "listitem",
419
- children: /* @__PURE__ */ K(Me, {
366
+ children: /* @__PURE__ */ W(Z, {
420
367
  attachment: e,
421
368
  onRemove: t,
422
369
  onRetry: n,
@@ -430,200 +377,151 @@ var ue = 5, de = 4, fe = "flex size-[84px] items-center justify-center rounded-x
430
377
  })
431
378
  }, e.id))
432
379
  });
433
- }, Pe = { tile: "_tile_nzsrz_1" }, Fe = ({ count: e, onClick: t, labels: n, children: r, styles: i }) => {
434
- let { ariaLabel: s } = n ?? {}, { typography: { fontClassName: c = "dial-small-semi-text" } = {}, className: l, colors: u } = i ?? {}, d = a({
435
- "--ci-more-tile-bg": u?.background,
436
- "--ci-more-tile-border": u?.border,
437
- "--ci-more-tile-color": u?.color,
438
- "--ci-more-tile-bg-hover": u?.backgroundHover,
439
- "--ci-more-tile-color-hover": u?.colorHover,
440
- "--ci-more-tile-border-hover": u?.borderHover,
441
- "--ci-more-tile-focus-outline": u?.focusOutline
442
- });
443
- return /* @__PURE__ */ K("button", {
444
- type: "button",
445
- onClick: t,
446
- "aria-label": s ?? `Show ${e} more attachments`,
447
- style: d,
448
- className: o(fe, c, Pe.tile, l),
449
- children: r ?? /* @__PURE__ */ K("bdi", {
450
- dir: "ltr",
451
- children: `+${e}`
452
- })
453
- });
454
- }, $ = {
455
- container: "_container_7fktb_1",
456
- headerIcon: "_headerIcon_7fktb_6",
457
- headerLabel: "_headerLabel_7fktb_7",
458
- downloadAllButton: "_downloadAllButton_7fktb_8",
459
- imageTile: "_imageTile_7fktb_12"
460
- }, Ie = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`, Le = ({ attachments: e, onAttachmentClick: n, onDownloadAll: r, onRetry: s, labels: c, styles: l }) => {
461
- let { ariaLabel: d = "Attachments", clickLabel: m = "Download attachment", retryLabel: g = "Retry upload", showLessLabel: v = "Show less", downloadAllLabel: y = "Download all", openInNewTabLabel: b, getHeaderLabel: x = (e) => Ie(e, "attachment"), promptLabel: S, pastedLabel: C, imageLabel: w } = c ?? {}, { typography: { headerLabelClassName: T = "dial-tiny-semi-text" } = {}, colors: E, className: D } = l ?? {}, O = a({
462
- "--ci-group-bg": E?.background,
463
- "--ci-group-border": E?.border,
464
- "--ci-group-text": E?.text
465
- }), [k, A] = f(!1), j = u(() => Se(e.length, k), [e.length, k]);
380
+ }, Q = {
381
+ headerIcon: "_headerIcon_1dmgi_1",
382
+ headerLabel: "_headerLabel_1dmgi_2"
383
+ }, Me = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`, Ne = ({ attachments: e, onAttachmentClick: n, onDownloadAll: o, onRetry: s, labels: c, styles: l, selectedAttachmentId: u }) => {
384
+ let { ariaLabel: d = "Attachments", clickLabel: f = "Download attachment", retryLabel: m = "Retry upload", downloadAllLabel: g = "Download all", openInNewTabLabel: _, getHeaderLabel: v = (e) => Me(e, "attachment"), promptLabel: y, pastedLabel: b, imageLabel: x } = c ?? {}, { typography: S, colors: C, className: w } = l ?? {}, T = i({ "--ai-group-text": C?.text });
466
385
  if (e.length === 0) return null;
467
- let M = e.some((e) => e.type === t.Image), N = e.some((e) => e.type !== t.Image), P = M && N, F = e.length >= 5, I = P ? H : M ? U : _, L = x(e.length), R = e.slice(0, j.visibleCount), z = () => {
468
- let t = e.filter((e) => e.status === i.Idle);
469
- r ? r(t) : t.forEach((e) => n?.(e.id));
470
- }, B = (t) => {
386
+ let E = e.some((e) => e.type === t.Image), D = e.some((e) => e.type !== t.Image), O = E && D, k = e.length >= 5, A = O ? V : E ? H : h, j = v(e.length), M = () => {
387
+ let t = e.filter((e) => e.status === r.Idle);
388
+ o ? o(t) : t.forEach((e) => n?.(e.id));
389
+ }, N = (t) => {
471
390
  let n = e.find((e) => e.id === t);
472
- n && r?.([n]);
391
+ n && o?.([n]);
473
392
  };
474
- return /* @__PURE__ */ q("div", {
393
+ return /* @__PURE__ */ G("div", {
475
394
  role: "group",
476
395
  "aria-label": d,
477
- style: O,
478
- className: o("rounded-2xl border p-3", F ? "w-full min-w-0 max-w-[492px]" : "max-w-[420px]", $.container, D),
479
- children: [/* @__PURE__ */ q("div", {
480
- className: "mb-3 flex min-h-6 items-center gap-2",
481
- children: [
482
- /* @__PURE__ */ K(I, {
483
- size: W.SM,
484
- className: o("shrink-0", $.headerIcon),
396
+ style: T,
397
+ className: a("flex flex-col gap-1", k ? "w-full min-w-0 max-w-[492px]" : "max-w-[420px]", Q.container, w),
398
+ children: [/* @__PURE__ */ G("div", {
399
+ className: "flex items-center justify-between",
400
+ children: [/* @__PURE__ */ G("div", {
401
+ className: "flex items-center gap-1",
402
+ children: [/* @__PURE__ */ W(A, {
403
+ size: U.SM,
404
+ className: a("shrink-0", Q.headerIcon),
405
+ "aria-hidden": !0
406
+ }), /* @__PURE__ */ W("span", {
407
+ className: a(S?.headerLabelClassName ?? "dial-tiny-semi-text", Q.headerLabel),
408
+ children: j
409
+ })]
410
+ }), e.length >= 2 && (o || n) && /* @__PURE__ */ W(oe, {
411
+ icon: /* @__PURE__ */ W(p, {
412
+ size: U.SM,
485
413
  "aria-hidden": !0
486
414
  }),
487
- /* @__PURE__ */ K("span", {
488
- className: o(T, $.headerLabel),
489
- children: L
490
- }),
491
- e.length >= 2 && (r || n) && /* @__PURE__ */ K(oe, {
492
- icon: /* @__PURE__ */ K(h, {
493
- size: W.SM,
494
- "aria-hidden": !0
495
- }),
496
- className: o("ms-auto h-6 w-6 rounded-lg", $.downloadAllButton),
497
- "aria-label": y,
498
- onClick: z
499
- })
500
- ]
501
- }), /* @__PURE__ */ q("div", {
415
+ size: ae.Small,
416
+ "aria-label": g,
417
+ onClick: M
418
+ })]
419
+ }), /* @__PURE__ */ W("div", {
502
420
  role: "list",
503
- "aria-label": L,
504
- className: o("gap-3", F ? "grid grid-cols-[repeat(5,83px)] overflow-x-auto" : "flex flex-wrap"),
505
- children: [
506
- R.map((e) => /* @__PURE__ */ K("div", {
507
- role: "listitem",
508
- children: /* @__PURE__ */ K(Me, {
509
- attachment: e,
510
- onClick: n,
511
- onDownload: B,
512
- onRetry: s,
513
- labels: {
514
- clickLabel: m,
515
- retryLabel: g,
516
- promptLabel: S,
517
- pastedLabel: C,
518
- imageLabel: w,
519
- openInNewTabLabel: b
520
- }
521
- })
522
- }, e.id)),
523
- j.layout === J.Collapsed && /* @__PURE__ */ K("div", {
524
- role: "listitem",
525
- children: /* @__PURE__ */ K(Fe, {
526
- count: j.hiddenCount,
527
- onClick: () => A(!0)
528
- })
529
- }),
530
- F && k && /* @__PURE__ */ K("div", {
531
- role: "listitem",
532
- children: /* @__PURE__ */ K(Fe, {
533
- count: 0,
534
- onClick: () => A(!1),
535
- labels: { ariaLabel: v },
536
- children: /* @__PURE__ */ K(p, {
537
- size: W.MD,
538
- "aria-hidden": !0
539
- })
540
- })
421
+ "aria-label": j,
422
+ className: a("gap-3", k ? "grid grid-cols-[repeat(5,83px)]" : "flex flex-wrap"),
423
+ children: e.map((e, t) => /* @__PURE__ */ W("div", {
424
+ role: "listitem",
425
+ children: /* @__PURE__ */ W(Z, {
426
+ attachment: e,
427
+ onClick: n,
428
+ onDownload: N,
429
+ onRetry: s,
430
+ labels: {
431
+ clickLabel: f,
432
+ retryLabel: m,
433
+ promptLabel: y,
434
+ pastedLabel: b,
435
+ imageLabel: x,
436
+ openInNewTabLabel: _
437
+ },
438
+ isSelected: e.id === u
541
439
  })
542
- ]
440
+ }, `${e.id}-${t}`))
543
441
  })]
544
442
  });
545
- }, Re = {
546
- overlay: "_overlay_1f3nw_1",
547
- icon: "_icon_1f3nw_5",
548
- deniedIcon: "_deniedIcon_1f3nw_9"
549
- }, ze = ({ isVisible: e, isAttachmentsAllowed: t = !0, labels: n, styles: r }) => {
550
- let { title: i, subtitle: s } = n ?? {}, { colors: c, typography: l } = r ?? {};
443
+ }, $ = {
444
+ overlay: "_overlay_mzpdp_1",
445
+ icon: "_icon_mzpdp_5",
446
+ deniedIcon: "_deniedIcon_mzpdp_9"
447
+ }, Pe = ({ isVisible: e, isAttachmentsAllowed: t = !0, labels: n, styles: r }) => {
448
+ let { title: o, subtitle: s } = n ?? {}, { colors: c, typography: l } = r ?? {};
551
449
  if (!e) return null;
552
- let u = a({
553
- "--fd-bg": c?.background,
554
- "--fd-icon": c?.icon,
555
- "--fd-denied-icon": c?.deniedIcon
556
- }), d = i ?? (t ? "Attach files" : "No attachments allowed"), f = s ?? (t ? "Drop files here to attach them to message" : "Attachments can't be added to message"), p = t ? Re.icon : Re.deniedIcon, m = (e) => {
450
+ let u = i({
451
+ "--ai-fd-bg": c?.background,
452
+ "--ai-fd-icon": c?.icon,
453
+ "--ai-fd-denied-icon": c?.deniedIcon
454
+ }), d = o ?? (t ? "Attach files" : "No attachments allowed"), f = s ?? (t ? "Drop files here to attach them to message" : "Attachments can't be added to message"), p = t ? $.icon : $.deniedIcon, m = (e) => {
557
455
  e.preventDefault();
558
- }, h = t ? v : ee;
559
- return /* @__PURE__ */ K("div", {
456
+ }, h = t ? g : B;
457
+ return /* @__PURE__ */ W("div", {
560
458
  role: "status",
561
459
  "aria-live": "polite",
562
- className: o("fixed inset-0 z-[9999] flex items-center justify-center backdrop-blur-sm", Re.overlay, t ? "pointer-events-none" : "pointer-events-auto cursor-not-allowed"),
460
+ className: a("fixed inset-0 z-[9999] flex items-center justify-center backdrop-blur-sm", $.overlay, t ? "pointer-events-none" : "pointer-events-auto cursor-not-allowed"),
563
461
  onDragOver: t ? void 0 : m,
564
462
  onDrop: t ? void 0 : m,
565
463
  style: u,
566
- children: /* @__PURE__ */ q("div", {
464
+ children: /* @__PURE__ */ G("div", {
567
465
  className: "flex flex-col items-center text-center",
568
466
  children: [
569
- /* @__PURE__ */ K(h, {
467
+ /* @__PURE__ */ W(h, {
570
468
  size: 100,
571
469
  className: p,
572
470
  "aria-hidden": !0
573
471
  }),
574
- /* @__PURE__ */ K("span", {
575
- className: o("mt-5", l?.titleClassName ?? "dial-h3-text"),
472
+ /* @__PURE__ */ W("span", {
473
+ className: a("mt-5", l?.titleClassName ?? "dial-h3-text"),
576
474
  children: d
577
475
  }),
578
- /* @__PURE__ */ K("span", {
579
- className: o("mt-4", l?.subtitleClassName ?? "dial-small-text"),
476
+ /* @__PURE__ */ W("span", {
477
+ className: a("mt-4", l?.subtitleClassName ?? "dial-small-text"),
580
478
  children: f
581
479
  })
582
480
  ]
583
481
  })
584
482
  });
585
- }, Be = (e, n, r = {}) => {
586
- let { screenshotName: a = "Screenshot.png", pastedTextName: o = "Pasted text" } = r;
587
- return { handlePaste: s((r) => {
588
- if (!r.clipboardData) return;
589
- let s = Array.from(r.clipboardData.items).filter((e) => e.kind === "file" && e.type.startsWith("image/")), c = r.clipboardData.getData("text/plain").length > 0;
590
- if (s.length > 0 && !c) {
483
+ }, Fe = (e, n, i = {}) => {
484
+ let { screenshotName: a = "Screenshot.png", pastedTextName: s = "Pasted text" } = i;
485
+ return { handlePaste: o((i) => {
486
+ if (!i.clipboardData) return;
487
+ let o = Array.from(i.clipboardData.items).filter((e) => e.kind === "file" && e.type.startsWith("image/")), c = i.clipboardData.getData("text/plain").length > 0;
488
+ if (o.length > 0 && !c) {
591
489
  let n = [];
592
- for (let e of s) {
593
- let r = e.getAsFile();
594
- if (!r) continue;
595
- let o = new File([r], a, { type: r.type }), s = {
596
- id: pe(),
490
+ for (let e of o) {
491
+ let i = e.getAsFile();
492
+ if (!i) continue;
493
+ let o = new File([i], a, { type: i.type }), s = {
494
+ id: K(),
597
495
  name: a,
598
- contentType: r.type,
496
+ contentType: i.type,
599
497
  file: o,
600
498
  type: t.Image,
601
- status: i.Idle,
499
+ status: r.Idle,
602
500
  previewUrl: URL.createObjectURL(o)
603
501
  };
604
502
  n.push(s);
605
503
  }
606
- r.preventDefault(), e(n);
504
+ i.preventDefault(), e(n);
607
505
  return;
608
506
  }
609
- let l = r.clipboardData.getData("text/plain");
507
+ let l = i.clipboardData.getData("text/plain");
610
508
  if (l.length > n) {
611
- let n = l.trim(), a = (n.length > 80 ? `${n.slice(0, 80).trimEnd()}…` : n) || o, s = new File([l], a, { type: "text/plain" }), c = {
612
- id: pe(),
509
+ let n = l.trim(), a = (n.length > 80 ? `${n.slice(0, 80).trimEnd()}…` : n) || s, o = new File([l], a, { type: "text/plain" }), c = {
510
+ id: K(),
613
511
  name: a,
614
512
  contentType: "text/plain",
615
- file: s,
513
+ file: o,
616
514
  type: t.Pasted,
617
- status: i.Idle
515
+ status: r.Idle
618
516
  };
619
- r.preventDefault(), e([c]);
517
+ i.preventDefault(), e([c]);
620
518
  }
621
519
  }, [
622
520
  e,
623
521
  n,
624
522
  a,
625
- o
523
+ s
626
524
  ]) };
627
- }, Ve = 100;
525
+ }, Ie = 100;
628
526
  //#endregion
629
- export { de as ATTACHMENT_COLLAPSED_VISIBLE_COUNT, ue as ATTACHMENT_COLLAPSE_THRESHOLD, Me as AttachmentCard, Le as AttachmentGroup, Fe as AttachmentMoreTile, J as AttachmentTilesLayout, Ne as AttachmentTray, ze as FileDndOverlay, Q as LazyImageLoadStatus, Ve as MAX_UPLOADS_PER_MINUTE, pe as generateAttachmentId, Y as getAttachmentCardState, ve as getAttachmentIcon, Se as getAttachmentTilesPlan, be as getExtFromContentType, me as getNameWithoutExtension, _e as isMimeTypeAllowed, ge as mimeTypesToExtensionLabels, Be as useClipboardPaste, Ae as useLazyImageLoad };
527
+ export { xe as ATTACHMENT_COLLAPSE_THRESHOLD, Z as AttachmentCard, Ne as AttachmentGroup, je as AttachmentTray, Pe as FileDndOverlay, X as LazyImageLoadStatus, Ie as MAX_UPLOADS_PER_MINUTE, K as generateAttachmentId, q as getAttachmentCardState, _e as getAttachmentIcon, ye as getExtFromContentType, pe as getNameWithoutExtension, ge as isMimeTypeAllowed, he as mimeTypesToExtensionLabels, Fe as useClipboardPaste, ke as useLazyImageLoad };