@epam/ai-dial-attachment-input 1.1.0-dev.331 → 1.1.0-dev.334

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 CHANGED
@@ -14,21 +14,26 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
14
14
  video: "Video files",
15
15
  text: "Text files",
16
16
  "*": "All files"
17
- }, he = (e, t = me) => e.map((e) => {
18
- if (e.endsWith("/*")) {
19
- let n = e.slice(0, -2);
20
- return t[n] ?? `${n} files`;
17
+ }, he = { "image/jpeg": "JPEG" }, ge = (e, t = me) => e.map((e) => {
18
+ let r = e.toLowerCase().split(";")[0].trim();
19
+ if (r.endsWith("/*")) {
20
+ let e = r.slice(0, -2);
21
+ return t[e] ?? `${e} files`;
21
22
  }
22
- let n = e.split("/")[1];
23
- return n == null ? e.toUpperCase() : n.toUpperCase();
24
- }).join(", "), ge = (e, t) => t.length === 0 ? !1 : t.some((t) => {
23
+ let i = he[r];
24
+ if (i) return i;
25
+ let a = n[r];
26
+ if (a) return a.toUpperCase();
27
+ let o = r.split("/")[1];
28
+ return o == null ? e.toUpperCase() : o.toUpperCase();
29
+ }).join(", "), _e = (e, t) => t.length === 0 ? !1 : t.some((t) => {
25
30
  if (t === "*" || t === "*/*") return !0;
26
31
  if (t.endsWith("/*")) {
27
32
  let n = t.slice(0, -2);
28
33
  return e.startsWith(`${n}/`);
29
34
  }
30
35
  return e === t;
31
- }), _e = (e) => {
36
+ }), ve = (e) => {
32
37
  if (!e) return h;
33
38
  if (e.startsWith("image/")) switch (e) {
34
39
  case "image/jpeg":
@@ -77,21 +82,21 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
77
82
  case "text/x-vue": return I;
78
83
  default: return h;
79
84
  }
80
- }, ve = (e) => {
81
- let { type: n, contentType: r } = e;
82
- return n === t.Prompt ? ne : n === t.Pasted ? f : n === t.Image ? H : _e(r ?? "");
83
85
  }, ye = (e) => {
86
+ let { type: n, contentType: r } = e;
87
+ return n === t.Prompt ? ne : n === t.Pasted ? f : n === t.Image ? H : ve(r ?? "");
88
+ }, be = (e) => {
84
89
  let t = e.toLowerCase().split(";")[0].trim(), r = n[t];
85
90
  if (r) return r;
86
91
  let i = t.split("/")[1];
87
92
  if (i && !i.startsWith("vnd.") && !i.includes("+")) return i;
88
- }, be = (e, n) => {
93
+ }, xe = (e, n) => {
89
94
  let { type: r, name: i, contentType: a } = e;
90
95
  if (r === t.Prompt) return n.promptLabel ?? "Prompt";
91
96
  if (r === t.Pasted) return n.pastedLabel ?? "Pasted";
92
97
  if (r === t.Image) return n.imageLabel ?? "Image";
93
98
  if (a) {
94
- let e = ye(a);
99
+ let e = be(a);
95
100
  if (e) return `.${e}`;
96
101
  }
97
102
  if (i == null) return "";
@@ -104,10 +109,10 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
104
109
  isError: l,
105
110
  isImage: u,
106
111
  isLink: d,
107
- BottomIcon: d ? null : ve(e),
108
- typeLabel: d ? null : be(e, n)
112
+ BottomIcon: d ? null : ye(e),
113
+ typeLabel: d ? null : xe(e, n)
109
114
  };
110
- }, xe = 5, Se = "flex size-[84px] items-center justify-center rounded-xl border", Y = {
115
+ }, Se = 5, Ce = "flex size-[84px] items-center justify-center rounded-xl border", Y = {
111
116
  tile: "_tile_1whwz_1",
112
117
  hovered: "_hovered_1whwz_5",
113
118
  selected: "_selected_1whwz_15",
@@ -127,7 +132,7 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
127
132
  onClick: (e) => {
128
133
  e.stopPropagation(), r(i);
129
134
  }
130
- }), Ce = ({ ...e }) => /* @__PURE__ */ G(X, {
135
+ }), we = ({ ...e }) => /* @__PURE__ */ G(X, {
131
136
  icon: /* @__PURE__ */ G(te, {
132
137
  size: U.SM,
133
138
  "aria-hidden": !0,
@@ -135,36 +140,36 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
135
140
  }),
136
141
  className: Y.retryIcon,
137
142
  ...e
138
- }), we = ({ ...e }) => /* @__PURE__ */ G(X, {
143
+ }), Te = ({ ...e }) => /* @__PURE__ */ G(X, {
139
144
  icon: /* @__PURE__ */ G(p, {
140
145
  size: U.SM,
141
146
  "aria-hidden": !0,
142
147
  stroke: W
143
148
  }),
144
149
  ...e
145
- }), Te = ({ ...e }) => /* @__PURE__ */ G(X, {
150
+ }), Ee = ({ ...e }) => /* @__PURE__ */ G(X, {
146
151
  icon: /* @__PURE__ */ G(m, {
147
152
  size: U.SM,
148
153
  "aria-hidden": !0,
149
154
  stroke: W
150
155
  }),
151
156
  ...e
152
- }), Ee = ({ ...e }) => /* @__PURE__ */ G(X, {
157
+ }), De = ({ ...e }) => /* @__PURE__ */ G(X, {
153
158
  icon: /* @__PURE__ */ G(ie, {
154
159
  size: U.SM,
155
160
  "aria-hidden": !0,
156
161
  stroke: W
157
162
  }),
158
163
  ...e
159
- }), De = {
164
+ }), Oe = {
160
165
  [e.Network]: "Upload failed · network error",
161
166
  [e.UnsupportedType]: "Upload failed · unsupported file type"
162
- }, 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 }) => {
163
- 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 } = J(t), R = !N && !M && f && !m, z = N && !!s && j !== e.UnsupportedType, B = R || z ? "pe-5" : void 0, ee = (e) => {
167
+ }, ke = ({ 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 }) => {
168
+ 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] ?? Oe[j]) || T : "", { BottomIcon: I, typeLabel: L } = J(t), R = !N && !M && f && !m, z = N && !!s && j !== e.UnsupportedType, B = R || z ? "pe-5" : void 0, ee = (e) => {
164
169
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), i?.(t.id));
165
170
  }, V = l(() => p ? k : pe(k), [p, k]), H = o(() => {
166
171
  window.open(t.referenceUrl, "_blank", "noopener,noreferrer");
167
- }, [t]), te = a(Se, "group/attachment-tile relative flex-col justify-between items-start gap-1 overflow-hidden p-1.5", Y.tile, !N && Y.hovered, y && Y.selected, N && Y.tileError), ne = /* @__PURE__ */ G("div", {
172
+ }, [t]), te = a(Ce, "group/attachment-tile relative flex-col justify-between items-start gap-1 overflow-hidden p-1.5", Y.tile, !N && Y.hovered, y && Y.selected, N && Y.tileError), ne = /* @__PURE__ */ G("div", {
168
173
  title: V,
169
174
  className: a(E?.nameClassName ?? "dial-caption-text", "line-clamp-2 min-w-0 break-words", Y.nameText, !N && B),
170
175
  children: n ? /* @__PURE__ */ G(se, {
@@ -195,27 +200,27 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
195
200
  /* @__PURE__ */ K("div", {
196
201
  className: a("absolute right-0 top-0 flex gap-1"),
197
202
  children: [
198
- R && /* @__PURE__ */ G(we, {
203
+ R && /* @__PURE__ */ G(Te, {
199
204
  ariaLabel: b,
200
205
  errorTitle: F,
201
206
  errorDescId: P,
202
207
  onClick: f,
203
208
  id: O
204
209
  }),
205
- z && /* @__PURE__ */ G(Ce, {
210
+ z && /* @__PURE__ */ G(we, {
206
211
  ariaLabel: x,
207
212
  errorTitle: F,
208
213
  errorDescId: P,
209
214
  onClick: s,
210
215
  id: O
211
216
  }),
212
- m && /* @__PURE__ */ G(Te, {
217
+ m && /* @__PURE__ */ G(Ee, {
213
218
  ariaLabel: x,
214
219
  errorTitle: F,
215
220
  errorDescId: P,
216
221
  onClick: H
217
222
  }),
218
- v && /* @__PURE__ */ G(Ee, {
223
+ v && /* @__PURE__ */ G(De, {
219
224
  ariaLabel: x,
220
225
  errorTitle: F,
221
226
  errorDescId: P,
@@ -248,7 +253,7 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
248
253
  });
249
254
  }, Z = /* @__PURE__ */ function(e) {
250
255
  return e.Idle = "idle", e.Loading = "loading", e.Loaded = "loaded", e.Error = "error", e;
251
- }({}), ke = ({ enabled: e, src: t }) => {
256
+ }({}), Ae = ({ enabled: e, src: t }) => {
252
257
  let n = u(null), [r, i] = d("idle");
253
258
  return s(() => {
254
259
  i(e && t ? "loading" : "idle");
@@ -263,15 +268,15 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
263
268
  imageRef: n,
264
269
  imageLoadStatus: r
265
270
  };
266
- }, Ae = ({ attachment: e, onExpand: n, onClick: r, labels: i, onRemove: o, cssVars: s, onDownload: c, styles: u, isSelected: d }) => {
267
- 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(() => J(e), [e]), S = r !== void 0 && !v && !y && !b, { imageRef: C, imageLoadStatus: w } = ke({
271
+ }, je = ({ attachment: e, onExpand: n, onClick: r, labels: i, onRemove: o, cssVars: s, onDownload: c, styles: u, isSelected: d }) => {
272
+ 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(() => J(e), [e]), S = r !== void 0 && !v && !y && !b, { imageRef: C, imageLoadStatus: w } = Ae({
268
273
  enabled: x,
269
274
  src: _
270
275
  }), T = () => {
271
276
  v && n ? n(h) : S && r && r(h);
272
277
  };
273
278
  return /* @__PURE__ */ G("div", {
274
- className: a(Se, "group/attachment-tile", S && "cursor-pointer", Y.tile, d && Y.selected, m),
279
+ className: a(Ce, "group/attachment-tile", S && "cursor-pointer", Y.tile, d && Y.selected, m),
275
280
  onClick: T,
276
281
  onKeyDown: (e) => {
277
282
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), T());
@@ -283,12 +288,12 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
283
288
  children: /* @__PURE__ */ K("div", {
284
289
  className: "relative h-full w-full overflow-hidden",
285
290
  children: [
286
- o && /* @__PURE__ */ G(Ee, {
291
+ o && /* @__PURE__ */ G(De, {
287
292
  onClick: o,
288
293
  id: h,
289
294
  className: Y.imageActionButton
290
295
  }),
291
- c && /* @__PURE__ */ G(we, {
296
+ c && /* @__PURE__ */ G(Te, {
292
297
  onClick: c,
293
298
  id: h,
294
299
  className: Y.imageActionButton
@@ -335,7 +340,7 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
335
340
  "--ai-tile-hover-icon-color": p?.hoverIconColor,
336
341
  "--ai-tile-progress-track": p?.trackBackground
337
342
  }), { isImage: _, isLink: v } = l(() => J(e), [e]);
338
- return _ ? /* @__PURE__ */ G(Ae, {
343
+ return _ ? /* @__PURE__ */ G(je, {
339
344
  attachment: e,
340
345
  labels: u,
341
346
  onClick: s,
@@ -345,7 +350,7 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
345
350
  cssVars: g,
346
351
  onDownload: c,
347
352
  isSelected: f
348
- }) : /* @__PURE__ */ G(Oe, {
353
+ }) : /* @__PURE__ */ G(ke, {
349
354
  attachment: e,
350
355
  searchQuery: n,
351
356
  onClick: s,
@@ -361,7 +366,7 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
361
366
  isExpandable: h,
362
367
  isSelected: f
363
368
  });
364
- }, je = ({ attachments: e, onRemove: t, onRetry: n, onExpand: r, onAttachmentClick: i, labels: o, styles: s }) => {
369
+ }, Me = ({ attachments: e, onRemove: t, onRetry: n, onExpand: r, onAttachmentClick: i, labels: o, styles: s }) => {
365
370
  let { ariaLabel: c = "Attached files", removeLabel: l, retryLabel: u, clickLabel: d } = o ?? {}, { className: f } = s ?? {};
366
371
  return e.length === 0 ? null : /* @__PURE__ */ G("div", {
367
372
  role: "list",
@@ -386,8 +391,8 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
386
391
  }, $ = {
387
392
  headerIcon: "_headerIcon_1dmgi_1",
388
393
  headerLabel: "_headerLabel_1dmgi_2"
389
- }, Me = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`, Ne = ({ attachments: e, onAttachmentClick: n, onDownloadAll: o, onRetry: s, labels: c, styles: l, selectedAttachmentId: u }) => {
390
- 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 });
394
+ }, Ne = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`, Pe = ({ attachments: e, onAttachmentClick: n, onDownloadAll: o, onRetry: s, labels: c, styles: l, selectedAttachmentId: u }) => {
395
+ let { ariaLabel: d = "Attachments", clickLabel: f = "Download attachment", retryLabel: m = "Retry upload", downloadAllLabel: g = "Download all", openInNewTabLabel: _, getHeaderLabel: v = (e) => Ne(e, "attachment"), promptLabel: y, pastedLabel: b, imageLabel: x } = c ?? {}, { typography: S, colors: C, className: w } = l ?? {}, T = i({ "--ai-group-text": C?.text });
391
396
  if (e.length === 0) return null;
392
397
  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 = () => {
393
398
  let t = e.filter((e) => e.status === r.Idle);
@@ -447,24 +452,24 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
447
452
  }, `${e.id}-${t}`))
448
453
  })]
449
454
  });
450
- }, Pe = {
455
+ }, Fe = {
451
456
  overlay: "_overlay_mzpdp_1",
452
457
  icon: "_icon_mzpdp_5",
453
458
  deniedIcon: "_deniedIcon_mzpdp_9"
454
- }, Fe = ({ isVisible: e, isAttachmentsAllowed: t = !0, labels: n, styles: r }) => {
459
+ }, Ie = ({ isVisible: e, isAttachmentsAllowed: t = !0, labels: n, styles: r }) => {
455
460
  let { title: o, subtitle: s } = n ?? {}, { colors: c, typography: l } = r ?? {};
456
461
  if (!e) return null;
457
462
  let u = i({
458
463
  "--ai-fd-bg": c?.background,
459
464
  "--ai-fd-icon": c?.icon,
460
465
  "--ai-fd-denied-icon": c?.deniedIcon
461
- }), 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 ? Pe.icon : Pe.deniedIcon, m = (e) => {
466
+ }), 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 ? Fe.icon : Fe.deniedIcon, m = (e) => {
462
467
  e.preventDefault();
463
468
  }, h = t ? g : B;
464
469
  return /* @__PURE__ */ G("div", {
465
470
  role: "status",
466
471
  "aria-live": "polite",
467
- className: a("fixed inset-0 z-[9999] flex items-center justify-center backdrop-blur-sm", Pe.overlay, t ? "pointer-events-none" : "pointer-events-auto cursor-not-allowed"),
472
+ className: a("fixed inset-0 z-[9999] flex items-center justify-center backdrop-blur-sm", Fe.overlay, t ? "pointer-events-none" : "pointer-events-auto cursor-not-allowed"),
468
473
  onDragOver: t ? void 0 : m,
469
474
  onDrop: t ? void 0 : m,
470
475
  style: u,
@@ -487,7 +492,7 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
487
492
  ]
488
493
  })
489
494
  });
490
- }, Ie = (e, n, i = {}) => {
495
+ }, Le = (e, n, i = {}) => {
491
496
  let { screenshotName: a = "Screenshot.png", pastedTextName: s = "Pasted text" } = i;
492
497
  return { handlePaste: o((i) => {
493
498
  if (!i.clipboardData) return;
@@ -529,6 +534,6 @@ var q = () => `${Date.now()}-${Math.random().toString(36).slice(2)}`, pe = (e) =
529
534
  a,
530
535
  s
531
536
  ]) };
532
- }, Le = 100;
537
+ }, Re = 100;
533
538
  //#endregion
534
- export { xe as ATTACHMENT_COLLAPSE_THRESHOLD, Q as AttachmentCard, Ne as AttachmentGroup, je as AttachmentTray, Fe as FileDndOverlay, Z as LazyImageLoadStatus, Le as MAX_UPLOADS_PER_MINUTE, q as generateAttachmentId, J as getAttachmentCardState, _e as getAttachmentIcon, ye as getExtFromContentType, pe as getNameWithoutExtension, ge as isMimeTypeAllowed, he as mimeTypesToExtensionLabels, Ie as useClipboardPaste, ke as useLazyImageLoad };
539
+ export { Se as ATTACHMENT_COLLAPSE_THRESHOLD, Q as AttachmentCard, Pe as AttachmentGroup, Me as AttachmentTray, Ie as FileDndOverlay, Z as LazyImageLoadStatus, Re as MAX_UPLOADS_PER_MINUTE, q as generateAttachmentId, J as getAttachmentCardState, ve as getAttachmentIcon, be as getExtFromContentType, pe as getNameWithoutExtension, _e as isMimeTypeAllowed, ge as mimeTypesToExtensionLabels, Le as useClipboardPaste, Ae as useLazyImageLoad };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-attachment-input",
3
3
  "description": "File attachment input components with upload validation, drag-and-drop, and progress tracking",
4
- "version": "1.1.0-dev.331",
4
+ "version": "1.1.0-dev.334",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -17,7 +17,7 @@
17
17
  }
18
18
  },
19
19
  "peerDependencies": {
20
- "@epam/ai-dial-chat-shared": "1.1.0-dev.331",
20
+ "@epam/ai-dial-chat-shared": "1.1.0-dev.334",
21
21
  "@tabler/icons-react": "^3.44.0",
22
22
  "react": "^19.0.0",
23
23
  "@epam/ai-dial-ui-kit": "^0.14.0-dev.15"
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.d.ts","sourceRoot":"","sources":["../../src/utils/attachment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAMnE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAgChD,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAEnC,uDAAuD;AACvD,eAAO,MAAM,oBAAoB,QAAO,MACgB,CAAC;AAEzD,4GAA4G;AAC5G,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,MAItD,CAAC;AAUF,uHAAuH;AACvH,eAAO,MAAM,0BAA0B,GACrC,OAAO,MAAM,EAAE,EACf,iBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAwB,KAC5D,MAUF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,MAAM,EAChB,cAAc,MAAM,EAAE,KACrB,OAUF,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,iBAAiB,GAAI,aAAa,MAAM,KAAG,IA0FvD,CAAC;AAUF,4GAA4G;AAC5G,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,KAClB,MAAM,GAAG,SAUX,CAAC;AA6BF,qHAAqH;AACrH,eAAO,MAAM,sBAAsB,GACjC,YAAY,iBAAiB,EAC7B,aAAY,oBAAyB,KACpC,mBAiBF,CAAC"}
1
+ {"version":3,"file":"attachment.d.ts","sourceRoot":"","sources":["../../src/utils/attachment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAMnE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAgChD,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAEnC,uDAAuD;AACvD,eAAO,MAAM,oBAAoB,QAAO,MACgB,CAAC;AAEzD,4GAA4G;AAC5G,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,MAItD,CAAC;AAcF,uHAAuH;AACvH,eAAO,MAAM,0BAA0B,GACrC,OAAO,MAAM,EAAE,EACf,iBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAwB,KAC5D,MAeF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,MAAM,EAChB,cAAc,MAAM,EAAE,KACrB,OAUF,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,iBAAiB,GAAI,aAAa,MAAM,KAAG,IA0FvD,CAAC;AAUF,4GAA4G;AAC5G,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,KAClB,MAAM,GAAG,SAUX,CAAC;AA6BF,qHAAqH;AACrH,eAAO,MAAM,sBAAsB,GACjC,YAAY,iBAAiB,EAC7B,aAAY,oBAAyB,KACpC,mBAiBF,CAAC"}