@epam/ai-dial-conversation-panel 1.2.0-dev.21 → 1.2.0-dev.213

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 (32) hide show
  1. package/components/ConversationGroupHeader/ConversationGroupHeader.d.ts.map +1 -1
  2. package/components/ConversationPanel/ConversationPanel.d.ts.map +1 -1
  3. package/components/ConversationRow/ConversationRow.d.ts +0 -2
  4. package/components/ConversationRow/ConversationRow.d.ts.map +1 -1
  5. package/components/FilterTabs/FilterTabs.d.ts +5 -0
  6. package/components/FilterTabs/FilterTabs.d.ts.map +1 -1
  7. package/components/NewChatButton/NewChatButton.d.ts +7 -0
  8. package/components/NewChatButton/NewChatButton.d.ts.map +1 -1
  9. package/components/RowRenderer/RowRenderer.d.ts.map +1 -1
  10. package/constants/public-class-names.d.ts +7 -0
  11. package/constants/public-class-names.d.ts.map +1 -0
  12. package/index.css +2 -2
  13. package/index.d.ts +1 -3
  14. package/index.d.ts.map +1 -1
  15. package/index.js +426 -654
  16. package/models/panel-props.d.ts +27 -13
  17. package/models/panel-props.d.ts.map +1 -1
  18. package/models/virtual-row.d.ts +0 -2
  19. package/models/virtual-row.d.ts.map +1 -1
  20. package/package.json +4 -4
  21. package/components/ImportExportQueue/ImportExportQueue.d.ts +0 -6
  22. package/components/ImportExportQueue/ImportExportQueue.d.ts.map +0 -1
  23. package/components/ImportExportQueueHeader/ImportExportQueueHeader.d.ts +0 -24
  24. package/components/ImportExportQueueHeader/ImportExportQueueHeader.d.ts.map +0 -1
  25. package/components/ImportExportQueueRow/ImportExportQueueRow.d.ts +0 -17
  26. package/components/ImportExportQueueRow/ImportExportQueueRow.d.ts.map +0 -1
  27. package/constants/import-export-queue.d.ts +0 -4
  28. package/constants/import-export-queue.d.ts.map +0 -1
  29. package/models/import-export-queue.d.ts +0 -113
  30. package/models/import-export-queue.d.ts.map +0 -1
  31. package/utils/transfer-file.d.ts +0 -10
  32. package/utils/transfer-file.d.ts.map +0 -1
package/index.js CHANGED
@@ -1,12 +1,15 @@
1
- import { ConversationTransferJobStatus as e, DeploymentIcon as t, FilterTab as n, buildCssVars as r, getUtf8ByteLength as i, mergeClasses as a, sanitizeConversationName as o, stripTrailingDots as s } from "@epam/ai-dial-chat-shared";
2
- import { PanelEmpty as c, PanelNoResults as l, SidebarOrientation as u, SidebarPanel as d } from "@epam/ai-dial-sidebar";
3
- import { Button as f, ButtonVariant as p, ConfirmationPopup as m, ConfirmationPopupVariant as h, DIAL_ICON_SIZE as g, DIAL_KIT_ICON_STROKE as _, Dropdown as v, ElementSize as y, EllipsisTooltip as b, GhostIconButton as x, Highlight as S, Input as C, Popup as w, PopupSize as T, ProgressBar as E, Search as D, Skeleton as O, SkeletonVariant as k, Spinner as A, Tag as j, TagAppearance as M, Tooltip as ee, mergeClasses as N } from "@epam/ai-dial-ui-kit";
4
- import { createElement as te, memo as P, useCallback as F, useEffect as I, useId as ne, useImperativeHandle as re, useLayoutEffect as ie, useMemo as L, useRef as R, useState as z } from "react";
5
- import { Fragment as ae, jsx as B, jsxs as V } from "react/jsx-runtime";
6
- import { IconAlertCircleFilled as H, IconAlertTriangleFilled as oe, IconCaretDownFilled as se, IconCaretRightFilled as ce, IconCheck as U, IconChevronDown as le, IconChevronUp as ue, IconClock as de, IconDotsVertical as W, IconFile as fe, IconFileZip as pe, IconJson as me, IconPlus as he, IconSparkles as ge, IconX as _e } from "@tabler/icons-react";
7
- //#region ../../node_modules/react-window/dist/react-window.js
8
- var G = typeof window < "u" ? ie : I;
9
- function ve(e) {
1
+ import { DeploymentIcon as e, FilterTab as t, buildCssVars as n, getUtf8ByteLength as r, mergeClasses as i, sanitizeConversationName as a, stripTrailingDots as o } from "@epam/ai-dial-chat-shared";
2
+ import { PanelEmpty as s, PanelNoResults as c, SidebarOrientation as l, SidebarPanel as u } from "@epam/ai-dial-sidebar";
3
+ import { Button as d, ButtonVariant as f, DIAL_ICON_SIZE as p, DIAL_KIT_ICON_STROKE as m, Dropdown as h, ElementSize as g, EllipsisTooltip as _, FilterChips as v, GhostIconButton as y, Highlight as b, Input as x, Popup as S, PopupSize as C, Search as w, Skeleton as T, SkeletonVariant as ee, Spinner as E, mergeClasses as D } from "@epam/ai-dial-ui-kit";
4
+ import { createElement as O, memo as k, useCallback as A, useEffect as j, useId as M, useImperativeHandle as N, useLayoutEffect as te, useMemo as P, useRef as F, useState as I } from "react";
5
+ import { jsx as L, jsxs as R } from "react/jsx-runtime";
6
+ import { IconCaretDownFilled as z, IconCaretRightFilled as ne, IconDotsVertical as re, IconPlus as ie, IconSparkles as ae } from "@tabler/icons-react";
7
+ //#region src/constants/public-class-names.ts
8
+ var B = {
9
+ newChatButton: "dial-cp-new-chat-button",
10
+ search: "dial-cp-search"
11
+ }, V = typeof window < "u" ? te : j;
12
+ function oe(e) {
10
13
  if (e !== void 0) switch (typeof e) {
11
14
  case "number": return e;
12
15
  case "string":
@@ -14,15 +17,15 @@ function ve(e) {
14
17
  break;
15
18
  }
16
19
  }
17
- function ye({ box: e, defaultHeight: t, defaultWidth: n, disabled: r, element: i, mode: a, style: o }) {
18
- let { styleHeight: s, styleWidth: c } = L(() => ({
19
- styleHeight: ve(o?.height),
20
- styleWidth: ve(o?.width)
21
- }), [o?.height, o?.width]), [l, u] = z({
20
+ function se({ box: e, defaultHeight: t, defaultWidth: n, disabled: r, element: i, mode: a, style: o }) {
21
+ let { styleHeight: s, styleWidth: c } = P(() => ({
22
+ styleHeight: oe(o?.height),
23
+ styleWidth: oe(o?.width)
24
+ }), [o?.height, o?.width]), [l, u] = I({
22
25
  height: t,
23
26
  width: n
24
27
  }), d = r || a === "only-height" && s !== void 0 || a === "only-width" && c !== void 0 || s !== void 0 && c !== void 0;
25
- return G(() => {
28
+ return V(() => {
26
29
  if (i === null || d) return;
27
30
  let t = new ResizeObserver((e) => {
28
31
  for (let t of e) {
@@ -42,7 +45,7 @@ function ye({ box: e, defaultHeight: t, defaultWidth: n, disabled: r, element: i
42
45
  i,
43
46
  s,
44
47
  c
45
- ]), L(() => ({
48
+ ]), P(() => ({
46
49
  height: s ?? l.height,
47
50
  width: c ?? l.width
48
51
  }), [
@@ -51,26 +54,26 @@ function ye({ box: e, defaultHeight: t, defaultWidth: n, disabled: r, element: i
51
54
  c
52
55
  ]);
53
56
  }
54
- function be(e) {
55
- let t = R(() => {
57
+ function ce(e) {
58
+ let t = F(() => {
56
59
  throw Error("Cannot call during render.");
57
60
  });
58
- return G(() => {
61
+ return V(() => {
59
62
  t.current = e;
60
- }, [e]), F((e) => t.current?.(e), [t]);
63
+ }, [e]), A((e) => t.current?.(e), [t]);
61
64
  }
62
- var K = null;
63
- function xe(e = !1) {
64
- if (K === null || e) {
65
+ var H = null;
66
+ function U(e = !1) {
67
+ if (H === null || e) {
65
68
  let e = document.createElement("div"), t = e.style;
66
69
  t.width = "50px", t.height = "50px", t.overflow = "scroll", t.direction = "rtl";
67
70
  let n = document.createElement("div"), r = n.style;
68
- return r.width = "100px", r.height = "100px", e.appendChild(n), document.body.appendChild(e), e.scrollLeft > 0 ? K = "positive-descending" : (e.scrollLeft = 1, K = e.scrollLeft === 0 ? "negative" : "positive-ascending"), document.body.removeChild(e), K;
71
+ return r.width = "100px", r.height = "100px", e.appendChild(n), document.body.appendChild(e), e.scrollLeft > 0 ? H = "positive-descending" : (e.scrollLeft = 1, H = e.scrollLeft === 0 ? "negative" : "positive-ascending"), document.body.removeChild(e), H;
69
72
  }
70
- return K;
73
+ return H;
71
74
  }
72
- function Se({ containerElement: e, direction: t, isRtl: n, scrollOffset: r }) {
73
- if (t === "horizontal" && n) switch (xe()) {
75
+ function le({ containerElement: e, direction: t, isRtl: n, scrollOffset: r }) {
76
+ if (t === "horizontal" && n) switch (U()) {
74
77
  case "negative": return -r;
75
78
  case "positive-descending":
76
79
  if (e) {
@@ -81,26 +84,26 @@ function Se({ containerElement: e, direction: t, isRtl: n, scrollOffset: r }) {
81
84
  }
82
85
  return r;
83
86
  }
84
- function q(e, t = "Assertion error") {
87
+ function W(e, t = "Assertion error") {
85
88
  if (!e) throw console.error(t), Error(t);
86
89
  }
87
- function J(e, t) {
90
+ function G(e, t) {
88
91
  if (e === t) return !0;
89
- if (!!e != !!t || (q(e !== void 0), q(t !== void 0), Object.keys(e).length !== Object.keys(t).length)) return !1;
92
+ if (!!e != !!t || (W(e !== void 0), W(t !== void 0), Object.keys(e).length !== Object.keys(t).length)) return !1;
90
93
  for (let n in e) if (!Object.is(t[n], e[n])) return !1;
91
94
  return !0;
92
95
  }
93
- function Ce({ cachedBounds: e, itemCount: t, itemSize: n }) {
96
+ function K({ cachedBounds: e, itemCount: t, itemSize: n }) {
94
97
  if (t === 0) return 0;
95
98
  if (typeof n == "number") return t * n;
96
99
  {
97
100
  let n = e.get(e.size === 0 ? 0 : e.size - 1);
98
- return q(n !== void 0, "Unexpected bounds cache miss"), t * ((n.scrollOffset + n.size) / e.size);
101
+ return W(n !== void 0, "Unexpected bounds cache miss"), t * ((n.scrollOffset + n.size) / e.size);
99
102
  }
100
103
  }
101
- function we({ align: e, cachedBounds: t, index: n, itemCount: r, itemSize: i, containerScrollOffset: a, containerSize: o }) {
104
+ function ue({ align: e, cachedBounds: t, index: n, itemCount: r, itemSize: i, containerScrollOffset: a, containerSize: o }) {
102
105
  if (n < 0 || n >= r) throw RangeError(`Invalid index specified: ${n}`, { cause: `Index ${n} is not within the range of 0 - ${r - 1}` });
103
- let s = Ce({
106
+ let s = K({
104
107
  cachedBounds: t,
105
108
  itemCount: r,
106
109
  itemSize: i
@@ -112,7 +115,7 @@ function we({ align: e, cachedBounds: t, index: n, itemCount: r, itemSize: i, co
112
115
  default: return a >= u && a <= l ? a : a < u ? u : l;
113
116
  }
114
117
  }
115
- function Te({ cachedBounds: e, containerScrollOffset: t, containerSize: n, itemCount: r, overscanCount: i }) {
118
+ function q({ cachedBounds: e, containerScrollOffset: t, containerSize: n, itemCount: r, overscanCount: i }) {
116
119
  let a = r - 1, o = 0, s = -1, c = 0, l = -1, u = 0;
117
120
  for (; u < a;) {
118
121
  let n = e.get(u);
@@ -131,11 +134,11 @@ function Te({ cachedBounds: e, containerScrollOffset: t, containerSize: n, itemC
131
134
  stopIndexOverscan: l
132
135
  };
133
136
  }
134
- function Ee({ itemCount: e, itemProps: t, itemSize: n }) {
137
+ function de({ itemCount: e, itemProps: t, itemSize: n }) {
135
138
  let r = /* @__PURE__ */ new Map();
136
139
  return {
137
140
  get(i) {
138
- for (q(i < e, `Invalid index ${i}`); r.size - 1 < i;) {
141
+ for (W(i < e, `Invalid index ${i}`); r.size - 1 < i;) {
139
142
  let e = r.size, a;
140
143
  switch (typeof n) {
141
144
  case "function":
@@ -151,14 +154,14 @@ function Ee({ itemCount: e, itemProps: t, itemSize: n }) {
151
154
  });
152
155
  else {
153
156
  let t = r.get(e - 1);
154
- q(t !== void 0, `Unexpected bounds cache miss for index ${i}`), r.set(e, {
157
+ W(t !== void 0, `Unexpected bounds cache miss for index ${i}`), r.set(e, {
155
158
  scrollOffset: t.scrollOffset + t.size,
156
159
  size: a
157
160
  });
158
161
  }
159
162
  }
160
163
  let a = r.get(i);
161
- return q(a !== void 0, `Unexpected bounds cache miss for index ${i}`), a;
164
+ return W(a !== void 0, `Unexpected bounds cache miss for index ${i}`), a;
162
165
  },
163
166
  set(e, t) {
164
167
  r.set(e, t);
@@ -168,8 +171,8 @@ function Ee({ itemCount: e, itemProps: t, itemSize: n }) {
168
171
  }
169
172
  };
170
173
  }
171
- function De({ itemCount: e, itemProps: t, itemSize: n }) {
172
- return L(() => Ee({
174
+ function J({ itemCount: e, itemProps: t, itemSize: n }) {
175
+ return P(() => de({
173
176
  itemCount: e,
174
177
  itemProps: t,
175
178
  itemSize: n
@@ -179,11 +182,11 @@ function De({ itemCount: e, itemProps: t, itemSize: n }) {
179
182
  n
180
183
  ]);
181
184
  }
182
- function Oe({ containerSize: e, itemSize: t }) {
185
+ function Y({ containerSize: e, itemSize: t }) {
183
186
  let n;
184
187
  switch (typeof t) {
185
188
  case "string":
186
- q(t.endsWith("%"), `Invalid item size: "${t}"; string values must be percentages (e.g. "100%")`), q(e !== void 0, "Container size must be defined if a percentage item size is specified"), n = e * parseInt(t) / 100;
189
+ W(t.endsWith("%"), `Invalid item size: "${t}"; string values must be percentages (e.g. "100%")`), W(e !== void 0, "Container size must be defined if a percentage item size is specified"), n = e * parseInt(t) / 100;
187
190
  break;
188
191
  default:
189
192
  n = t;
@@ -191,21 +194,21 @@ function Oe({ containerSize: e, itemSize: t }) {
191
194
  }
192
195
  return n;
193
196
  }
194
- function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n = 0, direction: r, isRtl: i = !1, itemCount: a, itemProps: o, itemSize: s, onResize: c, overscanCount: l }) {
195
- let { height: u = n, width: d = n } = ye({
197
+ function fe({ containerElement: e, containerStyle: t, defaultContainerSize: n = 0, direction: r, isRtl: i = !1, itemCount: a, itemProps: o, itemSize: s, onResize: c, overscanCount: l }) {
198
+ let { height: u = n, width: d = n } = se({
196
199
  defaultHeight: r === "vertical" ? n : void 0,
197
200
  defaultWidth: r === "horizontal" ? n : void 0,
198
201
  element: e,
199
202
  mode: r === "vertical" ? "only-height" : "only-width",
200
203
  style: t
201
- }), f = R({
204
+ }), f = F({
202
205
  height: 0,
203
206
  width: 0
204
- }), p = r === "vertical" ? u : d, m = Oe({
207
+ }), p = r === "vertical" ? u : d, m = Y({
205
208
  containerSize: p,
206
209
  itemSize: s
207
210
  });
208
- ie(() => {
211
+ te(() => {
209
212
  if (typeof c == "function") {
210
213
  let e = f.current;
211
214
  (e.height !== u || e.width !== d) && (c({
@@ -218,11 +221,11 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
218
221
  c,
219
222
  d
220
223
  ]);
221
- let h = De({
224
+ let h = J({
222
225
  itemCount: a,
223
226
  itemProps: o,
224
227
  itemSize: m
225
- }), g = F((e) => h.get(e), [h]), [_, v] = z(() => Te({
228
+ }), g = A((e) => h.get(e), [h]), [_, v] = I(() => q({
226
229
  cachedBounds: h,
227
230
  containerScrollOffset: 0,
228
231
  containerSize: p,
@@ -233,7 +236,7 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
233
236
  startIndexOverscan: Math.min(a - 1, _.startIndexOverscan),
234
237
  stopIndexVisible: Math.min(a - 1, _.stopIndexVisible),
235
238
  stopIndexOverscan: Math.min(a - 1, _.stopIndexOverscan)
236
- }, C = F(() => Ce({
239
+ }, C = A(() => K({
237
240
  cachedBounds: h,
238
241
  itemCount: a,
239
242
  itemSize: m
@@ -241,9 +244,9 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
241
244
  h,
242
245
  a,
243
246
  m
244
- ]), w = F((t) => Te({
247
+ ]), w = A((t) => q({
245
248
  cachedBounds: h,
246
- containerScrollOffset: Se({
249
+ containerScrollOffset: le({
247
250
  containerElement: e,
248
251
  direction: r,
249
252
  isRtl: i,
@@ -261,19 +264,19 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
261
264
  a,
262
265
  l
263
266
  ]);
264
- return G(() => {
267
+ return V(() => {
265
268
  v(w((r === "vertical" ? e?.scrollTop : e?.scrollLeft) ?? 0));
266
269
  }, [
267
270
  e,
268
271
  r,
269
272
  w
270
- ]), G(() => {
273
+ ]), V(() => {
271
274
  if (!e) return;
272
275
  let t = () => {
273
276
  v((t) => {
274
- let { scrollLeft: n, scrollTop: o } = e, s = Te({
277
+ let { scrollLeft: n, scrollTop: o } = e, s = q({
275
278
  cachedBounds: h,
276
- containerScrollOffset: Se({
279
+ containerScrollOffset: le({
277
280
  containerElement: e,
278
281
  direction: r,
279
282
  isRtl: i,
@@ -283,7 +286,7 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
283
286
  itemCount: a,
284
287
  overscanCount: l
285
288
  });
286
- return J(s, t) ? t : s;
289
+ return G(s, t) ? t : s;
287
290
  });
288
291
  };
289
292
  return e.addEventListener("scroll", t), () => {
@@ -299,8 +302,8 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
299
302
  ]), {
300
303
  getCellBounds: g,
301
304
  getEstimatedSize: C,
302
- scrollToIndex: be(({ align: t = "auto", containerScrollOffset: n, index: o }) => {
303
- let s = we({
305
+ scrollToIndex: ce(({ align: t = "auto", containerScrollOffset: n, index: o }) => {
306
+ let s = ue({
304
307
  align: t,
305
308
  cachedBounds: h,
306
309
  containerScrollOffset: n,
@@ -310,14 +313,14 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
310
313
  itemSize: m
311
314
  });
312
315
  if (e) {
313
- if (s = Se({
316
+ if (s = le({
314
317
  containerElement: e,
315
318
  direction: r,
316
319
  isRtl: i,
317
320
  scrollOffset: s
318
321
  }), typeof e.scrollTo != "function") {
319
322
  let e = w(s);
320
- J(_, e) || v(e);
323
+ G(_, e) || v(e);
321
324
  }
322
325
  return s;
323
326
  }
@@ -328,30 +331,30 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
328
331
  stopIndexVisible: x
329
332
  };
330
333
  }
331
- function Ae(e) {
332
- return L(() => e, Object.values(e));
334
+ function pe(e) {
335
+ return P(() => e, Object.values(e));
333
336
  }
334
- function je(e, t) {
337
+ function me(e, t) {
335
338
  let { ariaAttributes: n, style: r, ...i } = e, { ariaAttributes: a, style: o, ...s } = t;
336
- return J(n, a) && J(r, o) && J(i, s);
339
+ return G(n, a) && G(r, o) && G(i, s);
337
340
  }
338
- function Me(e) {
341
+ function he(e) {
339
342
  return typeof e == "object" && !!e && "getAverageRowHeight" in e && typeof e.getAverageRowHeight == "function";
340
343
  }
341
- var Y = "data-react-window-index";
342
- function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onResize: i, onRowsRendered: a, overscanCount: o = 3, rowComponent: s, rowCount: c, rowHeight: l, rowProps: u, tagName: d = "div", style: f, ...p }) {
343
- let m = Ae(u), h = L(() => P(s, je), [s]), [g, _] = z(null), v = Me(l), { getCellBounds: y, getEstimatedSize: b, scrollToIndex: x, startIndexOverscan: S, startIndexVisible: C, stopIndexOverscan: w, stopIndexVisible: T } = ke({
344
+ var ge = "data-react-window-index";
345
+ function _e({ children: e, className: t, defaultHeight: n = 0, listRef: r, onResize: i, onRowsRendered: a, overscanCount: o = 3, rowComponent: s, rowCount: c, rowHeight: l, rowProps: u, tagName: d = "div", style: f, ...p }) {
346
+ let m = pe(u), h = P(() => k(s, me), [s]), [g, _] = I(null), v = he(l), { getCellBounds: y, getEstimatedSize: b, scrollToIndex: x, startIndexOverscan: S, startIndexVisible: C, stopIndexOverscan: w, stopIndexVisible: T } = fe({
344
347
  containerElement: g,
345
348
  containerStyle: f,
346
349
  defaultContainerSize: n,
347
350
  direction: "vertical",
348
351
  itemCount: c,
349
352
  itemProps: m,
350
- itemSize: L(() => v ? (e) => l.getRowHeight(e) ?? l.getAverageRowHeight() : l, [v, l]),
353
+ itemSize: P(() => v ? (e) => l.getRowHeight(e) ?? l.getAverageRowHeight() : l, [v, l]),
351
354
  onResize: i,
352
355
  overscanCount: o
353
356
  });
354
- re(r, () => ({
357
+ N(r, () => ({
355
358
  get element() {
356
359
  return g;
357
360
  },
@@ -366,12 +369,12 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
366
369
  top: r
367
370
  });
368
371
  }
369
- }), [g, x]), G(() => {
372
+ }), [g, x]), V(() => {
370
373
  if (!g) return;
371
374
  let e = Array.from(g.children).filter((e, t) => {
372
375
  if (e.hasAttribute("aria-hidden")) return !1;
373
376
  let n = `${S + t}`;
374
- return e.setAttribute(Y, n), !0;
377
+ return e.setAttribute(ge, n), !0;
375
378
  });
376
379
  if (v) return l.observeRowElements(e);
377
380
  }, [
@@ -380,7 +383,7 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
380
383
  l,
381
384
  S,
382
385
  w
383
- ]), I(() => {
386
+ ]), j(() => {
384
387
  S >= 0 && w >= 0 && a && a({
385
388
  startIndex: C,
386
389
  stopIndex: T
@@ -395,11 +398,11 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
395
398
  w,
396
399
  T
397
400
  ]);
398
- let E = L(() => {
401
+ let ee = P(() => {
399
402
  let e = [];
400
403
  if (c > 0) for (let t = S; t <= w; t++) {
401
404
  let n = y(t);
402
- e.push(/* @__PURE__ */ te(h, {
405
+ e.push(/* @__PURE__ */ O(h, {
403
406
  ...m,
404
407
  ariaAttributes: {
405
408
  "aria-posinset": t + 1,
@@ -426,7 +429,7 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
426
429
  m,
427
430
  S,
428
431
  w
429
- ]), D = /* @__PURE__ */ B("div", {
432
+ ]), E = /* @__PURE__ */ L("div", {
430
433
  "aria-hidden": !0,
431
434
  style: {
432
435
  height: b(),
@@ -434,7 +437,7 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
434
437
  zIndex: -1
435
438
  }
436
439
  });
437
- return te(d, {
440
+ return O(d, {
438
441
  role: "list",
439
442
  ...p,
440
443
  className: t,
@@ -446,31 +449,31 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
446
449
  overflowY: "auto",
447
450
  ...f
448
451
  }
449
- }, E, e, D);
452
+ }, ee, e, E);
450
453
  }
451
454
  //#endregion
452
455
  //#region src/types/virtual-row.ts
453
456
  var X = /* @__PURE__ */ function(e) {
454
457
  return e.Header = "header", e.Item = "item", e;
455
- }({}), Pe = (e) => `${60 + e * 23 % 35}%`, Fe = (e, t) => e ? t ? "pe-9" : "pe-2 group-focus-within/conversation:pe-9 group-hover/conversation:pe-9" : "pe-3", Ie = (e, t) => t.rows[e].kind === X.Item ? 36 : e === 0 ? 24 : 56, Le = (e) => {
458
+ }({}), ve = (e) => `${60 + e * 23 % 35}%`, ye = (e, t) => e ? t ? "pe-9" : "pe-2 group-focus-within/conversation:pe-9 group-hover/conversation:pe-9" : "pe-3", be = (e, t) => t.rows[e].kind === X.Item ? 36 : e === 0 ? 24 : 56, xe = (e) => {
456
459
  switch (e) {
457
- case n.Shared: return n.Shared;
458
- case n.Organization: return n.Organization;
459
- default: return n.MyChats;
460
+ case t.Shared: return t.Shared;
461
+ case t.Organization: return t.Organization;
462
+ default: return t.MyChats;
460
463
  }
461
- }, Re = (e, t) => {
464
+ }, Se = (e, t) => {
462
465
  let n = null;
463
466
  for (let r of e) if (r.kind === X.Header) n = r.groupKey;
464
467
  else if (r.item.id === t) return n;
465
468
  return null;
466
- }, ze = (e, t, r) => {
469
+ }, Ce = (e, n, r) => {
467
470
  let i = /* @__PURE__ */ new Set();
468
- if (t != null && i.add(t), t === n.Pinned) {
471
+ if (n != null && i.add(n), n === t.Pinned) {
469
472
  let t = r.find((t) => t.id === e);
470
- t && i.add(Le(t.source));
471
- } else i.add(n.Pinned);
473
+ t && i.add(xe(t.source));
474
+ } else i.add(t.Pinned);
472
475
  return i;
473
- }, Be = (e, t, n, r) => {
476
+ }, we = (e, t, n, r) => {
474
477
  let i = e.currentTarget.getBoundingClientRect();
475
478
  if (e.clientY >= i.top + i.height / 2) return t;
476
479
  let a = null, o = !1;
@@ -480,71 +483,66 @@ var X = /* @__PURE__ */ function(e) {
480
483
  a = e.item.id;
481
484
  }
482
485
  return null;
483
- }, Ve = [
486
+ }, Te = [
484
487
  {
485
- value: n.All,
488
+ value: t.All,
486
489
  labelKey: "all"
487
490
  },
488
491
  {
489
- value: n.MyChats,
492
+ value: t.MyChats,
490
493
  labelKey: "myChats"
491
494
  },
492
495
  {
493
- value: n.Shared,
496
+ value: t.Shared,
494
497
  labelKey: "shared"
495
498
  },
496
499
  {
497
- value: n.Organization,
500
+ value: t.Organization,
498
501
  labelKey: "organization"
499
502
  }
500
- ], He = P(({ activeTab: e, labels: t, onChange: n, tabClassName: r = "dial-tiny-semi-text", hiddenSources: i }) => {
501
- let a = Ve.filter(({ value: e }) => !i?.includes(e));
502
- return /* @__PURE__ */ B("div", {
503
- role: "group",
504
- "aria-label": t.groupAriaLabel ?? "Filter chats",
505
- className: "flex flex-nowrap gap-1 px-3 py-2",
506
- children: a.map(({ value: i, labelKey: a }) => /* @__PURE__ */ B(j, {
507
- label: t[a],
508
- appearance: M.Selectable,
509
- selected: e === i,
510
- onClick: () => n(i),
511
- className: N("flex-1 justify-center rounded-full", r)
512
- }, i))
513
- });
514
- }), Ue = { button: "_button_1vksy_1" }, We = P(({ label: e, onClick: t, labelClassName: n = "dial-small-semi-text", colors: i }) => /* @__PURE__ */ B("div", {
503
+ ], Ee = k(({ activeTab: e, labels: t, onChange: n, tabClassName: r = "dial-tiny-semi-text", hiddenSources: i }) => /* @__PURE__ */ L(v, {
504
+ items: P(() => Te.filter(({ value: e }) => !i?.includes(e)).map(({ value: e, labelKey: n }) => ({
505
+ value: e,
506
+ label: t[n]
507
+ })), [t, i]),
508
+ value: e,
509
+ onChange: n,
510
+ stretch: !0,
511
+ "aria-label": t.groupAriaLabel ?? "Filter chats",
512
+ className: "px-3 py-2",
513
+ chipClassName: D("!px-2", r)
514
+ })), De = { button: "_button_1pnt8_1" }, Oe = k(({ label: e, onClick: t, labelClassName: r = "dial-small-semi-text", colors: a, className: o }) => /* @__PURE__ */ L("div", {
515
515
  className: "px-3 py-2",
516
- style: r({
517
- "--cp-new-chat-bg": i?.background,
518
- "--cp-new-chat-text": i?.text,
519
- "--cp-new-chat-focus-outline": i?.focusOutline
516
+ style: n({
517
+ "--cp-new-chat-bg": a?.background,
518
+ "--cp-new-chat-text": a?.text,
519
+ "--cp-new-chat-focus-outline": a?.focusOutline
520
520
  }),
521
- children: /* @__PURE__ */ V("button", {
522
- onClick: t,
523
- type: "button",
524
- className: a("flex h-[36px] w-full cursor-pointer items-center justify-center gap-2 px-3 py-1 shadow-chat-button hover:shadow-xs focus-visible:shadow-xs active:shadow-xs", Ue.button),
525
- children: [/* @__PURE__ */ B(he, {
521
+ children: /* @__PURE__ */ L(d, {
522
+ label: e,
523
+ textClassName: r,
524
+ iconBefore: /* @__PURE__ */ L(ie, {
526
525
  size: 18,
527
- stroke: _,
528
- className: "shrink-0"
529
- }), /* @__PURE__ */ B("span", {
530
- className: n,
531
- children: e
532
- })]
526
+ stroke: m,
527
+ className: "shrink-0",
528
+ "aria-hidden": !0
529
+ }),
530
+ onClick: t,
531
+ className: i("h-[36px] w-full gap-2 px-3 py-1 shadow-chat-button hover:shadow-xs focus-visible:shadow-xs active:shadow-xs", De.button, o, B.newChatButton)
533
532
  })
534
533
  })), Z = {
535
534
  skeletonColor: "var(--cp-skeleton-color, var(--bg-control-disable-primary, #dce0e8))",
536
- item: "_item_i3lsf_2",
537
- itemActive: "_itemActive_i3lsf_15",
538
- groupHeader: "_groupHeader_i3lsf_20",
539
- taskBadge: "_taskBadge_i3lsf_24",
540
- dropZoneActive: "_dropZoneActive_i3lsf_30",
541
- triggerActive: "_triggerActive_i3lsf_35",
542
- triggerIcon: "_triggerIcon_i3lsf_38",
543
- unreadDot: "_unreadDot_i3lsf_46",
544
- search: "_search_i3lsf_54"
545
- }, Q = ({ label: e, isExpanded: t, onToggle: n, listId: r, className: i = "dial-tiny-lead-text", dropZoneGroupKey: o, isDragOver: s, onDragOver: c, onDragLeave: l, onDrop: u }) => {
535
+ item: "_item_j0zft_2",
536
+ itemActive: "_itemActive_j0zft_15",
537
+ groupHeader: "_groupHeader_j0zft_20",
538
+ dropZoneActive: "_dropZoneActive_j0zft_24",
539
+ triggerActive: "_triggerActive_j0zft_29",
540
+ triggerIcon: "_triggerIcon_j0zft_32",
541
+ unreadDot: "_unreadDot_j0zft_40",
542
+ search: "_search_j0zft_48"
543
+ }, ke = ({ label: e, isExpanded: t, onToggle: n, listId: r, className: a = "dial-tiny-lead-text", dropZoneGroupKey: o, isDragOver: s, onDragOver: c, onDragLeave: l, onDrop: u }) => {
546
544
  let d = o != null;
547
- return /* @__PURE__ */ V("button", {
545
+ return /* @__PURE__ */ R("button", {
548
546
  type: "button",
549
547
  "aria-expanded": t,
550
548
  "aria-controls": r,
@@ -558,144 +556,137 @@ var X = /* @__PURE__ */ function(e) {
558
556
  onDrop: d ? (e) => {
559
557
  d && (e.preventDefault(), u?.(o, o, null));
560
558
  } : void 0,
561
- className: a("flex h-6 w-full items-center gap-1 rounded py-1 pe-3 text-start", i, Z.groupHeader, s && Z.dropZoneActive),
562
- children: [t ? /* @__PURE__ */ B(se, {
559
+ className: i("group flex h-6 w-full items-center gap-1 rounded py-1 pe-3 text-start", a, Z.groupHeader, s && Z.dropZoneActive),
560
+ children: [t ? /* @__PURE__ */ L(z, {
563
561
  size: 12,
564
- className: "shrink-0",
562
+ className: "shrink-0 opacity-0 transition-opacity duration-150 group-hover:opacity-100 group-focus-visible:opacity-100",
565
563
  "aria-hidden": !0
566
- }) : /* @__PURE__ */ B(ce, {
564
+ }) : /* @__PURE__ */ L(ne, {
567
565
  size: 12,
568
- className: "shrink-0 rtl:scale-x-[-1]",
566
+ className: "shrink-0 opacity-0 transition-opacity duration-150 group-hover:opacity-100 group-focus-visible:opacity-100 rtl:scale-x-[-1]",
569
567
  "aria-hidden": !0
570
- }), /* @__PURE__ */ B(b, { text: e })]
568
+ }), /* @__PURE__ */ L(_, { text: e })]
571
569
  });
572
- }, Ge = ({ item: e, isActive: n, onSelectConversation: r, searchQuery: i = "", getActions: o, onActionMenuOpen: s, actionsLabel: c = "More actions", itemTitleClassName: l = "dial-small-text", itemIconBadgeClassName: u, taskBadgeClassName: d = "dial-caption-lead-semi-text", unreadIndicatorLabel: p = "Unread", rowGroupKey: m, rows: h, draggingId: b, dragOverId: C, allowedDropGroups: w, onDragStart: T, onDragEnd: E, onDragOver: D, onDragLeave: A, onDrop: j }) => {
573
- let [M, ee] = z(!1), N = R(null), te = F((t) => {
574
- ee(t), t && N.current && s?.(e, N.current);
575
- }, [e, s]), P = o?.(e) ?? [], I = P.length > 0, ne = e.isIconLoading ? /* @__PURE__ */ B(O, {
576
- variant: k.Circular,
577
- width: g.LG,
578
- height: g.LG,
570
+ }, Ae = ({ item: t, isActive: n, onSelectConversation: r, searchQuery: a = "", getActions: o, onActionMenuOpen: s, actionsLabel: c = "More actions", itemTitleClassName: l = "dial-small-text", itemIconBadgeClassName: u, unreadIndicatorLabel: f = "Unread", rowGroupKey: _, rows: v, draggingId: x, dragOverId: S, allowedDropGroups: C, onDragStart: w, onDragEnd: E, onDragOver: D, onDragLeave: O, onDrop: k }) => {
571
+ let [j, M] = I(!1), N = F(null), te = A((e) => {
572
+ M(e), e && N.current && s?.(t, N.current);
573
+ }, [t, s]), P = o?.(t) ?? [], z = P.length > 0, ne = t.leadingIcon ? /* @__PURE__ */ L("span", {
574
+ className: "flex size-6 shrink-0 items-center justify-center",
575
+ children: t.leadingIcon
576
+ }) : t.isIconLoading ? /* @__PURE__ */ L(T, {
577
+ variant: ee.Circular,
578
+ width: p.LG,
579
+ height: p.LG,
579
580
  color: Z.skeletonColor,
580
581
  "aria-hidden": !0
581
- }) : /* @__PURE__ */ B(t, {
582
- src: e.iconUrl,
583
- size: g.LG,
584
- initialsName: e.iconTooltip ?? "",
585
- labels: { tooltip: e.iconTooltip },
582
+ }) : /* @__PURE__ */ L(e, {
583
+ src: t.iconUrl,
584
+ size: p.LG,
585
+ initialsName: t.iconTooltip ?? "",
586
+ labels: { tooltip: t.iconTooltip },
586
587
  styles: { badgeClassName: u }
587
- }), re = /* @__PURE__ */ V("span", {
588
- className: "flex shrink-0 items-center",
589
- children: [/* @__PURE__ */ B("span", {
590
- className: "relative flex size-3 shrink-0 items-center justify-center",
591
- children: e.isUnread && /* @__PURE__ */ V(ae, { children: [/* @__PURE__ */ B("span", {
592
- className: a("size-[5.33px] rounded-full", Z.unreadDot),
593
- "aria-hidden": !0
594
- }), /* @__PURE__ */ B("span", {
595
- className: "sr-only",
596
- children: p
597
- })] })
598
- }), ne]
599
- }), ie = Fe(I, M), L = e.showTaskBadge ? /* @__PURE__ */ V("span", {
600
- className: a("flex h-5 shrink-0 items-center justify-center gap-0.5 rounded-full border pe-2 ps-1", Z.taskBadge, d),
601
- children: [/* @__PURE__ */ B(de, {
602
- size: 12,
603
- "aria-hidden": !0,
604
- stroke: _
605
- }), e.taskBadgeLabel]
606
- }) : void 0, H = m != null, oe = F((e) => {
607
- e.currentTarget.contains(e.relatedTarget) || A?.();
608
- }, [A]), se = F((t) => {
609
- if (!m || !h || !j) return;
610
- t.preventDefault();
611
- let n = Be(t, e.id, h, m);
612
- j(e.id, m, n);
588
+ }), ie = ye(z, j), ae = t.isUnread ? /* @__PURE__ */ R("span", {
589
+ className: "flex size-6 shrink-0 items-center justify-center",
590
+ children: [/* @__PURE__ */ L("span", {
591
+ className: i("size-[7.11px] rounded-full", Z.unreadDot, z && (j ? "opacity-0" : "group-focus-within/conversation:opacity-0 group-hover/conversation:opacity-0")),
592
+ "aria-hidden": !0
593
+ }), /* @__PURE__ */ L("span", {
594
+ className: "sr-only",
595
+ children: f
596
+ })]
597
+ }) : void 0, B = _ != null, V = A((e) => {
598
+ e.currentTarget.contains(e.relatedTarget) || O?.();
599
+ }, [O]), oe = A((e) => {
600
+ if (!_ || !v || !k) return;
601
+ e.preventDefault();
602
+ let n = we(e, t.id, v, _);
603
+ k(t.id, _, n);
613
604
  }, [
614
- e.id,
615
- h,
616
- m,
617
- j
618
- ]), ce = e.id === b, U = e.id === C, le = m != null && (w?.has(m) ?? !1), ue = b != null;
619
- return /* @__PURE__ */ V("li", {
620
- className: a("group/conversation relative", ce && "cursor-grabbing opacity-50", U && le && "rounded", U && le && Z.dropZoneActive, ue && !ce && !le && "cursor-not-allowed"),
621
- draggable: H || void 0,
622
- onDragStart: H ? () => T?.(e.id) : void 0,
623
- onDragEnd: H ? E : void 0,
624
- onDragOver: H ? (t) => {
625
- t.preventDefault(), D?.(e.id);
605
+ t.id,
606
+ v,
607
+ _,
608
+ k
609
+ ]), se = t.id === x, ce = t.id === S, H = _ != null && (C?.has(_) ?? !1), U = x != null;
610
+ return /* @__PURE__ */ R("li", {
611
+ className: i("group/conversation relative", se && "cursor-grabbing opacity-50", ce && H && "rounded", ce && H && Z.dropZoneActive, U && !se && !H && "cursor-not-allowed"),
612
+ draggable: B || void 0,
613
+ onDragStart: B ? () => w?.(t.id) : void 0,
614
+ onDragEnd: B ? E : void 0,
615
+ onDragOver: B ? (e) => {
616
+ e.preventDefault(), D?.(t.id);
626
617
  } : void 0,
627
- onDragLeave: H ? oe : void 0,
628
- onDrop: H ? se : void 0,
629
- children: [/* @__PURE__ */ B("a", {
630
- href: e.href,
618
+ onDragLeave: B ? V : void 0,
619
+ onDrop: B ? oe : void 0,
620
+ children: [/* @__PURE__ */ L("a", {
621
+ href: t.href,
631
622
  className: "contents",
632
- onClick: (t) => {
633
- e.href && (t.preventDefault(), r(e.id));
623
+ onClick: (e) => {
624
+ t.href && (e.preventDefault(), r(t.id));
634
625
  },
635
- children: /* @__PURE__ */ B(f, {
636
- iconBefore: re,
637
- label: /* @__PURE__ */ B(S, {
638
- text: e.title,
639
- query: i,
640
- className: l,
626
+ children: /* @__PURE__ */ L(d, {
627
+ iconBefore: ne,
628
+ label: /* @__PURE__ */ L(b, {
629
+ text: t.title,
630
+ query: a,
631
+ className: t.isUnread ? "dial-small-semi-text" : l,
641
632
  maxLines: 1
642
633
  }),
643
- iconAfter: L,
634
+ iconAfter: ae,
644
635
  textClassName: "min-w-0 flex-1",
645
636
  "aria-current": n ? "page" : void 0,
646
- onClick: e.href ? void 0 : () => r(e.id),
647
- tabIndex: e.href ? -1 : void 0,
648
- className: a("h-8 w-full justify-start gap-2 py-2 ps-0 after:pointer-events-none", ie, Z.item, n && Z.itemActive, M && Z.itemActive)
637
+ onClick: t.href ? void 0 : () => r(t.id),
638
+ tabIndex: t.href ? -1 : void 0,
639
+ className: i("h-8 w-full justify-start gap-2 py-2 ps-3 after:pointer-events-none", ie, Z.item, n && Z.itemActive, j && Z.itemActive)
649
640
  })
650
- }), I && /* @__PURE__ */ B("div", {
651
- className: a("absolute inset-y-0 end-1 flex items-center", M ? "opacity-100" : "opacity-0 group-focus-within/conversation:opacity-100 group-hover/conversation:opacity-100"),
652
- children: /* @__PURE__ */ B(v, {
641
+ }), z && /* @__PURE__ */ L("div", {
642
+ className: i("absolute inset-y-0 end-1 flex items-center", j ? "opacity-100" : "opacity-0 group-focus-within/conversation:opacity-100 group-hover/conversation:opacity-100"),
643
+ children: /* @__PURE__ */ L(h, {
653
644
  items: P,
654
645
  onOpenChange: te,
655
646
  matchReferenceWidth: !1,
656
647
  listClassName: "w-[200px]",
657
- children: /* @__PURE__ */ B(x, {
648
+ children: /* @__PURE__ */ L(y, {
658
649
  ref: N,
659
- icon: /* @__PURE__ */ B(W, {
660
- size: g.SM,
650
+ icon: /* @__PURE__ */ L(re, {
651
+ size: p.SM,
661
652
  className: Z.triggerIcon,
662
653
  "aria-hidden": !0,
663
- stroke: _
654
+ stroke: m
664
655
  }),
665
- size: y.Small,
656
+ size: g.Small,
666
657
  "aria-label": c,
667
- className: a(M && Z.triggerActive)
658
+ className: i(j && Z.triggerActive)
668
659
  })
669
660
  })
670
661
  })]
671
662
  });
672
- }, Ke = ({ index: e, style: t, rows: r, expandedGroups: i, onToggleGroup: a, listId: o, activeConversationId: s, searchQuery: c, onSelectConversation: l, getActions: u, onActionMenuOpen: d, actionsLabel: f, unreadIndicatorLabel: p, styles: m, draggingId: h, dragOverId: g, allowedDropGroups: _, onDragStart: v, onDragEnd: y, onDragOver: b, onDragLeave: x, onDrop: S }) => {
663
+ }, je = ({ index: e, style: n, rows: r, expandedGroups: i, onToggleGroup: a, listId: o, activeConversationId: s, searchQuery: c, onSelectConversation: l, getActions: u, onActionMenuOpen: d, actionsLabel: f, unreadIndicatorLabel: p, styles: m, draggingId: h, dragOverId: g, allowedDropGroups: _, onDragStart: v, onDragEnd: y, onDragOver: b, onDragLeave: x, onDrop: S }) => {
673
664
  let C = r[e];
674
665
  if (C.kind === X.Header) {
675
- let r = C.groupKey === n.Pinned;
676
- return /* @__PURE__ */ B("div", {
666
+ let r = C.groupKey === t.Pinned;
667
+ return /* @__PURE__ */ L("div", {
677
668
  role: "presentation",
678
- style: t,
669
+ style: n,
679
670
  className: e === 0 ? "pt-0" : "pt-8",
680
- children: /* @__PURE__ */ B(Q, {
671
+ children: /* @__PURE__ */ L(ke, {
681
672
  label: C.label,
682
673
  isExpanded: i.has(C.groupKey),
683
674
  onToggle: () => a(C.groupKey),
684
675
  listId: o,
685
676
  className: m?.groupHeaderClassName,
686
- dropZoneGroupKey: r ? n.Pinned : void 0,
687
- isDragOver: r && g === n.Pinned,
677
+ dropZoneGroupKey: r ? t.Pinned : void 0,
678
+ isDragOver: r && g === t.Pinned,
688
679
  onDragOver: r ? b : void 0,
689
680
  onDragLeave: r ? x : void 0,
690
681
  onDrop: r ? S : void 0
691
682
  })
692
683
  });
693
684
  }
694
- return /* @__PURE__ */ B("div", {
685
+ return /* @__PURE__ */ L("div", {
695
686
  role: "presentation",
696
- style: t,
687
+ style: n,
697
688
  className: "pt-1",
698
- children: /* @__PURE__ */ B(Ge, {
689
+ children: /* @__PURE__ */ L(Ae, {
699
690
  item: C.item,
700
691
  isActive: C.item.id === s,
701
692
  searchQuery: c,
@@ -706,7 +697,6 @@ var X = /* @__PURE__ */ function(e) {
706
697
  unreadIndicatorLabel: p,
707
698
  itemTitleClassName: m?.itemTitleClassName,
708
699
  itemIconBadgeClassName: m?.itemIconBadgeClassName,
709
- taskBadgeClassName: m?.taskBadgeClassName,
710
700
  rowGroupKey: C.groupKey,
711
701
  rows: r,
712
702
  draggingId: h,
@@ -719,555 +709,337 @@ var X = /* @__PURE__ */ function(e) {
719
709
  onDrop: S
720
710
  })
721
711
  });
722
- }, qe = (e, t) => t === n.All ? !0 : e.source === t, Je = (e, t) => t ? e.title.toLowerCase().includes(t.toLowerCase()) : !0, Ye = new Set([
723
- n.Pinned,
724
- n.MyChats,
725
- n.Shared,
726
- n.Organization
727
- ]), Xe = P(({ conversations: e, isLoading: t, isOpen: i, onSelectConversation: o, activeConversationId: s, labels: f, onNewChat: p, styles: m, className: h, isOverlay: g = !1, getActions: _, onActionMenuOpen: v, onToggle: y, headerActions: b, onMoveConversation: x, activeFilter: S, onActiveFilterChange: C, isFilterTabsHidden: w = !1, hiddenSources: T }) => {
728
- let { colors: E, typography: k, newChatButton: A, searchWrapperClassName: j } = m ?? {}, { title: M, emptyLabel: ee, noResultsLabel: N, loadingLabel: te = "Loading conversations", newChatLabel: P, searchPlaceholder: re, searchClearLabel: ie, filterLabels: ae, groupLabels: H, actionsLabel: oe, unreadIndicatorLabel: se, closeAriaLabel: ce } = f, [U, le] = z(""), [ue, de] = z(n.All);
729
- I(() => {
712
+ }, Me = (e, n) => n === t.All ? !0 : e.source === n, Ne = (e, t) => t ? e.title.toLowerCase().includes(t.toLowerCase()) : !0, Pe = new Set([
713
+ t.Pinned,
714
+ t.MyChats,
715
+ t.Shared,
716
+ t.Organization
717
+ ]), Fe = k(({ conversations: e, isLoading: r, isOpen: a, onSelectConversation: o, activeConversationId: d, labels: f, onNewChat: p, styles: m, className: h, isOverlay: g = !1, getActions: _, onActionMenuOpen: v, onToggle: y, headerActions: b, onMoveConversation: x, activeFilter: S, onActiveFilterChange: C, isFilterTabsHidden: ee = !1, hiddenSources: E }) => {
718
+ let { colors: D, typography: O, newChatButton: k, searchWrapperClassName: N, headerClassName: te, headerActionsClassName: z, newChatButtonClassName: ne } = m ?? {}, { title: re, emptyLabel: ie, noResultsLabel: ae, loadingLabel: V = "Loading conversations", newChatLabel: oe, searchPlaceholder: se, searchClearLabel: ce, filterLabels: H, groupLabels: U, actionsLabel: le, unreadIndicatorLabel: W, closeAriaLabel: G } = f, [K, ue] = I(""), [q, de] = I(t.All);
719
+ j(() => {
730
720
  S != null && de(S);
731
721
  }, [S]);
732
- let W = L(() => T?.length ? e.filter((e) => e.source == null || !T.includes(e.source)) : e, [e, T]), [fe, pe] = z(() => Ye), [me, he] = z(5), ge = ne(), _e = R(null), G = R(null), [ve, ye] = z(null), [be, K] = z(null), [xe, Se] = z(null), q = R(null), J = R(null), Ce = F(({ height: e }) => {
733
- he(Math.ceil(e / 36 * 2));
734
- }, []), we = F((e) => {
735
- le(e ?? "");
736
- }, []), Te = F((e) => {
737
- pe((t) => {
722
+ let J = P(() => E?.length ? e.filter((e) => e.source == null || !E.includes(e.source)) : e, [e, E]), [Y, fe] = I(() => Pe), [pe, me] = I(5), he = M(), ge = F(null), ye = F(null), [xe, we] = I(null), [Te, De] = I(null), [ke, Ae] = I(null), Fe = F(null), Ie = F(null), Le = A(({ height: e }) => {
723
+ me(Math.ceil(e / 36 * 2));
724
+ }, []), Re = A((e) => {
725
+ ue(e ?? "");
726
+ }, []), ze = A((e) => {
727
+ fe((t) => {
738
728
  let n = new Set(t);
739
729
  return n.has(e) ? n.delete(e) : n.add(e), n;
740
730
  });
741
- }, []), Ee = F(() => {
742
- q.current = null, J.current = null, ye(null), K(null), Se(null);
743
- }, []), De = F((e, t) => {
744
- let n = ze(e, Re(t, e), W);
745
- q.current = e, J.current = n, ye(e), Se(n);
746
- }, [W]), Oe = F(() => {
747
- Ee();
748
- }, [Ee]), ke = F((e) => {
749
- K(e);
750
- }, []), Ae = F(() => {
751
- K(null);
752
- }, []), je = F((e, t, n) => {
753
- let r = q.current, i = J.current;
754
- Ee(), r != null && r !== e && i?.has(t) && x?.({
731
+ }, []), Be = A(() => {
732
+ Fe.current = null, Ie.current = null, we(null), De(null), Ae(null);
733
+ }, []), Ve = A((e, t) => {
734
+ let n = Ce(e, Se(t, e), J);
735
+ Fe.current = e, Ie.current = n, we(e), Ae(n);
736
+ }, [J]), He = A(() => {
737
+ Be();
738
+ }, [Be]), Ue = A((e) => {
739
+ De(e);
740
+ }, []), We = A(() => {
741
+ De(null);
742
+ }, []), Ge = A((e, t, n) => {
743
+ let r = Fe.current, i = Ie.current;
744
+ Be(), r != null && r !== e && i?.has(t) && x?.({
755
745
  draggedId: r,
756
746
  targetGroupKey: t,
757
747
  afterId: n
758
748
  });
759
- }, [Ee, x]), Me = r({
760
- "--cp-item-hover": E?.itemHover,
761
- "--cp-item-active": E?.itemActive,
762
- "--cp-text": E?.text,
763
- "--cp-text-secondary": E?.textSecondary,
764
- "--cp-new-chat-bg": A?.background,
765
- "--cp-new-chat-text": A?.text,
766
- "--cp-new-chat-focus-outline": A?.focusOutline,
767
- "--cp-drop-zone-ring": E?.dropZoneRing,
768
- "--cp-trigger-bg": E?.triggerBackground,
769
- "--cp-trigger-icon": E?.triggerIcon,
770
- "--cp-trigger-icon-idle": E?.triggerIconIdle,
771
- "--cp-skeleton-color": E?.skeletonColor,
772
- "--cp-task-badge-border": E?.taskBadgeBorder,
773
- "--cp-task-badge-bg": E?.taskBadgeBackground,
774
- "--cp-task-badge-text": E?.taskBadgeText,
775
- "--cp-unread-dot": E?.unreadDot
776
- }), Y = L(() => W.filter((e) => qe(e, ue) && Je(e, U)), [
777
- W,
778
- ue,
779
- U
780
- ]), Fe = L(() => Y.filter((e) => e.isPinned), [Y]), Le = L(() => Y.filter((e) => !e.isPinned && e.source !== n.Shared && e.source !== n.Organization), [Y]), Be = L(() => Y.filter((e) => !e.isPinned && e.source === n.Shared), [Y]), Ve = L(() => Y.filter((e) => !e.isPinned && e.source === n.Organization), [Y]), Ue = L(() => [
749
+ }, [Be, x]), Ke = n({
750
+ "--cp-item-hover": D?.itemHover,
751
+ "--cp-item-active": D?.itemActive,
752
+ "--cp-text": D?.text,
753
+ "--cp-text-secondary": D?.textSecondary,
754
+ "--cp-new-chat-bg": k?.background,
755
+ "--cp-new-chat-text": k?.text,
756
+ "--cp-new-chat-focus-outline": k?.focusOutline,
757
+ "--cp-drop-zone-ring": D?.dropZoneRing,
758
+ "--cp-trigger-bg": D?.triggerBackground,
759
+ "--cp-trigger-icon": D?.triggerIcon,
760
+ "--cp-trigger-icon-idle": D?.triggerIconIdle,
761
+ "--cp-skeleton-color": D?.skeletonColor,
762
+ "--cp-unread-dot": D?.unreadDot
763
+ }), Q = P(() => J.filter((e) => Me(e, q) && Ne(e, K)), [
764
+ J,
765
+ q,
766
+ K
767
+ ]), qe = P(() => Q.filter((e) => e.isPinned), [Q]), Je = P(() => Q.filter((e) => !e.isPinned && e.source !== t.Shared && e.source !== t.Organization), [Q]), Ye = P(() => Q.filter((e) => !e.isPinned && e.source === t.Shared), [Q]), Xe = P(() => Q.filter((e) => !e.isPinned && e.source === t.Organization), [Q]), Ze = P(() => [
781
768
  {
782
- key: n.Pinned,
783
- label: H?.pinned ?? "Pinned",
784
- items: Fe
769
+ key: t.Pinned,
770
+ label: U?.pinned ?? "Pinned",
771
+ items: qe
785
772
  },
786
773
  {
787
- key: n.MyChats,
788
- label: H?.myChats ?? "My chats",
789
- items: Le
774
+ key: t.MyChats,
775
+ label: U?.myChats ?? "My chats",
776
+ items: Je
790
777
  },
791
778
  {
792
- key: n.Shared,
793
- label: H?.shared ?? "Shared",
794
- items: Be
779
+ key: t.Shared,
780
+ label: U?.shared ?? "Shared",
781
+ items: Ye
795
782
  },
796
783
  {
797
- key: n.Organization,
798
- label: H?.organization ?? "Organization",
799
- items: Ve
784
+ key: t.Organization,
785
+ label: U?.organization ?? "Organization",
786
+ items: Xe
800
787
  }
801
788
  ], [
802
- H,
803
- Fe,
804
- Le,
805
- Be,
806
- Ve
807
- ]), Q = L(() => {
789
+ U,
790
+ qe,
791
+ Je,
792
+ Ye,
793
+ Xe
794
+ ]), $ = P(() => {
808
795
  let e = [];
809
- for (let t of Ue) if (t.items.length !== 0 && (e.push({
796
+ for (let t of Ze) if (t.items.length !== 0 && (e.push({
810
797
  kind: X.Header,
811
798
  groupKey: t.key,
812
799
  label: t.label
813
- }), fe.has(t.key))) for (let n of t.items) e.push({
800
+ }), Y.has(t.key))) for (let n of t.items) e.push({
814
801
  kind: X.Item,
815
802
  item: n,
816
803
  groupKey: t.key
817
804
  });
818
805
  return e;
819
- }, [Ue, fe]);
820
- I(() => {
821
- if (!s || G.current === s) return;
822
- let e = Q.findIndex((e) => e.kind === X.Item && e.item.id === s);
823
- e >= 0 && (_e.current?.scrollToRow({
806
+ }, [Ze, Y]);
807
+ j(() => {
808
+ if (!d || ye.current === d) return;
809
+ let e = $.findIndex((e) => e.kind === X.Item && e.item.id === d);
810
+ e >= 0 && (ge.current?.scrollToRow({
824
811
  index: e,
825
812
  align: "smart",
826
813
  behavior: "smooth"
827
- }), G.current = s);
814
+ }), ye.current = d);
828
815
  }, [
829
- s,
830
- Ue,
831
- fe,
832
- Q
816
+ d,
817
+ Ze,
818
+ Y,
819
+ $
833
820
  ]);
834
- let Ge = L(() => ({
835
- rows: Q,
836
- expandedGroups: fe,
837
- onToggleGroup: Te,
838
- listId: ge,
839
- activeConversationId: s,
840
- searchQuery: U,
821
+ let Qe = P(() => ({
822
+ rows: $,
823
+ expandedGroups: Y,
824
+ onToggleGroup: ze,
825
+ listId: he,
826
+ activeConversationId: d,
827
+ searchQuery: K,
841
828
  onSelectConversation: o,
842
829
  getActions: _,
843
830
  onActionMenuOpen: v,
844
- actionsLabel: oe,
845
- unreadIndicatorLabel: se,
831
+ actionsLabel: le,
832
+ unreadIndicatorLabel: W,
846
833
  styles: {
847
- groupHeaderClassName: k?.groupHeaderClassName,
848
- itemTitleClassName: k?.itemTitleClassName,
849
- itemIconBadgeClassName: m?.itemIconBadgeClassName,
850
- taskBadgeClassName: m?.taskBadgeClassName
834
+ groupHeaderClassName: O?.groupHeaderClassName,
835
+ itemTitleClassName: O?.itemTitleClassName,
836
+ itemIconBadgeClassName: m?.itemIconBadgeClassName
851
837
  },
852
- draggingId: ve,
853
- dragOverId: be,
854
- allowedDropGroups: xe,
855
- onDragStart: (e) => De(e, Q),
856
- onDragEnd: Oe,
857
- onDragOver: ke,
858
- onDragLeave: Ae,
859
- onDrop: je
838
+ draggingId: xe,
839
+ dragOverId: Te,
840
+ allowedDropGroups: ke,
841
+ onDragStart: (e) => Ve(e, $),
842
+ onDragEnd: He,
843
+ onDragOver: Ue,
844
+ onDragLeave: We,
845
+ onDrop: Ge
860
846
  }), [
861
- Q,
862
- fe,
863
- Te,
864
- ge,
865
- s,
866
- U,
847
+ $,
848
+ Y,
849
+ ze,
850
+ he,
851
+ d,
852
+ K,
867
853
  o,
868
854
  _,
869
855
  v,
870
- oe,
871
- se,
872
- k?.groupHeaderClassName,
873
- k?.itemTitleClassName,
856
+ le,
857
+ W,
858
+ O?.groupHeaderClassName,
859
+ O?.itemTitleClassName,
874
860
  m?.itemIconBadgeClassName,
875
- m?.taskBadgeClassName,
876
- ve,
877
- be,
878
861
  xe,
879
- De,
880
- Oe,
862
+ Te,
881
863
  ke,
882
- Ae,
883
- je
884
- ]), Xe = W.length === 0, Ze = W.length > 0 && Y.length === 0;
885
- return /* @__PURE__ */ V(d, {
886
- isOpen: i,
864
+ Ve,
865
+ He,
866
+ Ue,
867
+ We,
868
+ Ge
869
+ ]), $e = J.length === 0, et = J.length > 0 && Q.length === 0;
870
+ return /* @__PURE__ */ R(u, {
871
+ isOpen: a,
887
872
  isOverlay: g,
888
- orientation: u.Left,
889
- title: M,
873
+ orientation: l.Left,
874
+ title: re,
890
875
  labels: {
891
- ariaLabel: M,
892
- closeLabel: ce
876
+ ariaLabel: re,
877
+ closeLabel: G
893
878
  },
894
879
  onClose: y,
895
880
  styles: {
896
881
  colors: {
897
- background: E?.background,
898
- border: E?.border
882
+ background: D?.background,
883
+ border: D?.border
899
884
  },
900
- typography: { fontClassName: k?.fontClassName },
885
+ typography: { fontClassName: O?.fontClassName },
901
886
  bodyClassName: "flex flex-col overflow-hidden p-0 gap-3",
902
- cssVars: Me,
903
- titleClassName: k?.fontClassName,
904
- headerClassName: "h-[64px]",
905
- className: a(i ? "w-[324px] mobile:w-full" : "w-0", h)
887
+ cssVars: Ke,
888
+ titleClassName: O?.fontClassName,
889
+ headerClassName: i("h-[64px]", te),
890
+ headerActionsClassName: z,
891
+ className: i(a ? "w-[324px] mobile:w-full" : "w-0", h)
906
892
  },
907
893
  rightActions: b,
908
894
  children: [
909
- /* @__PURE__ */ B(We, {
910
- label: P,
895
+ /* @__PURE__ */ L(Oe, {
896
+ label: oe,
911
897
  onClick: p,
912
- labelClassName: k?.newChatLabelClassName,
913
- colors: A
898
+ labelClassName: O?.newChatLabelClassName,
899
+ colors: k,
900
+ className: ne
914
901
  }),
915
- /* @__PURE__ */ B("div", {
902
+ /* @__PURE__ */ L("div", {
916
903
  role: "search",
917
- className: "px-3 py-2",
918
- children: /* @__PURE__ */ B(D, {
919
- wrapperClassName: a(Z.search, j),
920
- value: U,
921
- onChange: we,
922
- placeholder: re,
923
- clearLabel: ie,
924
- "aria-label": re
904
+ className: i("px-3 py-2", B.search),
905
+ children: /* @__PURE__ */ L(w, {
906
+ wrapperClassName: i(Z.search, N),
907
+ value: K,
908
+ onChange: Re,
909
+ placeholder: se,
910
+ clearLabel: ce,
911
+ "aria-label": se
925
912
  })
926
913
  }),
927
- !w && /* @__PURE__ */ B(He, {
928
- activeTab: ue,
929
- labels: ae,
914
+ !ee && /* @__PURE__ */ L(Ee, {
915
+ activeTab: q,
916
+ labels: H,
930
917
  onChange: (e) => {
931
918
  de(e), C?.(e);
932
919
  },
933
- tabClassName: k?.tabClassName,
934
- hiddenSources: T
920
+ tabClassName: O?.tabClassName,
921
+ hiddenSources: E
935
922
  }),
936
- /* @__PURE__ */ B("span", {
923
+ /* @__PURE__ */ L("span", {
937
924
  role: "status",
938
925
  "aria-live": "polite",
939
926
  className: "sr-only",
940
- children: t ? te : Xe ? ee : Ze ? N : ""
927
+ children: r ? V : $e ? ie : et ? ae : ""
941
928
  }),
942
- /* @__PURE__ */ B("div", {
943
- className: "flex-1 overflow-hidden px-2 py-1",
944
- children: t ? /* @__PURE__ */ B("div", {
929
+ /* @__PURE__ */ L("div", {
930
+ className: "flex-1 overflow-hidden px-3 py-1",
931
+ children: r ? /* @__PURE__ */ L("div", {
945
932
  className: "flex flex-col gap-3 px-2 py-3",
946
- children: Array.from({ length: 15 }, (e, t) => /* @__PURE__ */ B(O, {
933
+ children: Array.from({ length: 15 }, (e, t) => /* @__PURE__ */ L(T, {
947
934
  avatar: { size: 24 },
948
- showTitle: { width: Pe(t) },
935
+ showTitle: { width: ve(t) },
949
936
  paragraph: !1,
950
937
  active: !0,
951
938
  color: Z.skeletonColor
952
939
  }, t))
953
- }) : Xe ? /* @__PURE__ */ B(c, { label: ee }) : Ze ? /* @__PURE__ */ B(l, { label: N }) : /* @__PURE__ */ B(Ne, {
954
- listRef: _e,
955
- id: ge,
940
+ }) : $e ? /* @__PURE__ */ L(s, { label: ie }) : et ? /* @__PURE__ */ L(c, { label: ae }) : /* @__PURE__ */ L(_e, {
941
+ listRef: ge,
942
+ id: he,
956
943
  role: "list",
957
944
  style: { height: "100%" },
958
- rowComponent: Ke,
959
- rowCount: Q.length,
960
- rowHeight: Ie,
961
- overscanCount: me,
962
- onResize: Ce,
963
- rowProps: Ge
945
+ rowComponent: je,
946
+ rowCount: $.length,
947
+ rowHeight: be,
948
+ overscanCount: pe,
949
+ onResize: Le,
950
+ rowProps: Qe
964
951
  })
965
952
  })
966
953
  ]
967
954
  });
968
- }), Ze = 8e3, Qe = "flex size-7 shrink-0 items-center justify-center", $ = {
969
- root: "_root_11lia_1",
970
- text: "_text_11lia_5",
971
- textSecondary: "_textSecondary_11lia_9",
972
- divider: "_divider_11lia_13",
973
- successIcon: "_successIcon_11lia_17",
974
- errorIcon: "_errorIcon_11lia_21",
975
- failureCount: "_failureCount_11lia_25",
976
- warningIcon: "_warningIcon_11lia_35"
977
- }, $e = ({ title: e, failedCount: t, isCollapsed: n, jobsId: r, labels: i, styles: o, onToggleCollapse: s, onClose: c }) => {
978
- let l = o?.typography;
979
- return /* @__PURE__ */ V("div", {
980
- className: a($.divider, "mx-4 flex items-center justify-between py-3"),
981
- children: [/* @__PURE__ */ V("div", {
982
- className: "flex min-w-0 items-center gap-2",
983
- children: [/* @__PURE__ */ B("span", {
984
- className: a($.text, "truncate", l?.titleClassName || "dial-small-paragraph-semi-text"),
985
- children: e
986
- }), t > 0 && /* @__PURE__ */ B("span", {
987
- className: a($.failureCount, "inline-flex h-4 min-w-4 shrink-0 items-center justify-center rounded-full px-1", l?.failureCountClassName || "dial-small-paragraph-semi-text"),
988
- children: t
989
- })]
990
- }), /* @__PURE__ */ V("div", {
991
- className: "flex shrink-0 items-center gap-1",
992
- children: [/* @__PURE__ */ B(x, {
993
- "aria-label": n ? i.expandQueueAriaLabel : i.collapseQueueAriaLabel,
994
- size: y.Small,
995
- "aria-expanded": !n,
996
- "aria-controls": r,
997
- icon: B(n ? ue : le, {
998
- size: g.SM,
999
- className: $.textSecondary,
1000
- stroke: _,
1001
- "aria-hidden": !0
1002
- }),
1003
- onClick: s,
1004
- className: Qe
1005
- }), /* @__PURE__ */ B(x, {
1006
- "aria-label": i.closeQueueAriaLabel,
1007
- size: y.Small,
1008
- icon: /* @__PURE__ */ B(_e, {
1009
- size: g.SM,
1010
- className: $.textSecondary,
1011
- stroke: _,
1012
- "aria-hidden": !0
1013
- }),
1014
- onClick: c,
1015
- className: Qe
1016
- })]
1017
- })]
1018
- });
1019
- }, et = [".dial", ".zip"], tt = (e) => {
1020
- let t = e.toLowerCase();
1021
- return et.some((e) => t.endsWith(e)) ? pe : t.endsWith(".json") ? me : fe;
1022
- }, nt = ({ job: t, labels: n, onCancel: r, styles: i }) => {
1023
- let o = i?.typography, s = tt(t.fileName), c = t.status === e.Canceled;
1024
- return /* @__PURE__ */ V("div", {
1025
- className: "group flex items-center gap-2 px-4 py-2",
1026
- children: [
1027
- /* @__PURE__ */ B(s, {
1028
- size: g.SM,
1029
- stroke: _,
1030
- className: $.textSecondary,
1031
- "aria-hidden": !0
1032
- }),
1033
- /* @__PURE__ */ B(b, {
1034
- text: t.fileName,
1035
- className: a(c ? $.textSecondary : $.text, o?.jobLabelClassName || "dial-small-text"),
1036
- contentClassName: "!z-[80]"
1037
- }),
1038
- t.status === e.InProgress && /* @__PURE__ */ V("div", {
1039
- className: a("flex size-7 shrink-0 items-center justify-center", "grid"),
1040
- children: [/* @__PURE__ */ B(A, {
1041
- size: g.SM,
1042
- ariaLabel: n.jobProgressAriaLabel(t.fileName),
1043
- className: "pointer-events-none col-start-1 row-start-1 opacity-100 transition-opacity group-focus-within:opacity-0 group-hover:opacity-0"
1044
- }), /* @__PURE__ */ B(x, {
1045
- "aria-label": n.cancelJobAriaLabel(t.fileName),
1046
- size: y.Small,
1047
- icon: /* @__PURE__ */ B(_e, {
1048
- size: g.SM,
1049
- className: $.textSecondary,
1050
- stroke: _,
1051
- "aria-hidden": !0
1052
- }),
1053
- onClick: () => r(t.id),
1054
- className: "col-start-1 row-start-1 opacity-0 transition-opacity group-focus-within:opacity-100 group-hover:opacity-100"
1055
- })]
1056
- }),
1057
- t.status === e.Success && /* @__PURE__ */ B("span", {
1058
- className: "flex size-7 shrink-0 items-center justify-center",
1059
- children: /* @__PURE__ */ B(U, {
1060
- size: g.SM,
1061
- stroke: _,
1062
- className: $.successIcon,
1063
- "aria-hidden": !0
1064
- })
1065
- }),
1066
- t.status === e.Warning && /* @__PURE__ */ B(ee, {
1067
- tooltip: n.jobWarningMessage(t.warningCode),
1068
- contentClassName: "!z-[80]",
1069
- asChild: !0,
1070
- children: /* @__PURE__ */ B("span", {
1071
- className: "flex size-7 shrink-0 items-center justify-center",
1072
- role: "img",
1073
- "aria-label": n.jobWarningMessage(t.warningCode),
1074
- tabIndex: 0,
1075
- children: /* @__PURE__ */ B(oe, {
1076
- size: g.SM,
1077
- className: $.warningIcon,
1078
- "aria-hidden": !0
1079
- })
1080
- })
1081
- }),
1082
- t.status === e.Failed && /* @__PURE__ */ B(ee, {
1083
- tooltip: n.jobErrorMessage(t.errorCode),
1084
- contentClassName: "!z-[80]",
1085
- asChild: !0,
1086
- children: /* @__PURE__ */ B("span", {
1087
- className: "flex size-7 shrink-0 items-center justify-center",
1088
- role: "img",
1089
- "aria-label": n.jobErrorMessage(t.errorCode),
1090
- tabIndex: 0,
1091
- children: /* @__PURE__ */ B(H, {
1092
- size: g.SM,
1093
- className: $.errorIcon,
1094
- "aria-hidden": !0
1095
- })
1096
- })
1097
- }),
1098
- c && /* @__PURE__ */ B("span", {
1099
- className: a($.textSecondary, "shrink-0", o?.canceledLabelClassName || "dial-small-text"),
1100
- children: n.canceledLabel
1101
- })
1102
- ]
1103
- });
1104
- }, rt = (e) => Math.round(e.reduce((e, t) => e + t.progress.percent, 0) / e.length), it = (t) => t.filter((t) => t.status !== e.InProgress).length, at = (e, t, n) => e && t ? n.closeQueueConfirmDescriptionMixed : t ? n.closeQueueConfirmDescriptionFailed : n.closeQueueConfirmDescriptionInProgress, ot = P(({ title: t, jobs: n, onClose: i, onCancel: o, labels: s, styles: c }) => {
1105
- let [l, u] = z(!1), d = ne(), [f, p] = z(!1), g = c?.colors, _ = {
1106
- ...r({
1107
- "--cp-transfer-queue-bg": g?.background,
1108
- "--cp-transfer-queue-text": g?.text,
1109
- "--cp-transfer-queue-text-secondary": g?.textSecondary,
1110
- "--cp-transfer-queue-success-icon": g?.successIcon,
1111
- "--cp-transfer-queue-error-icon": g?.errorIcon,
1112
- "--cp-transfer-queue-warning-icon": g?.warningIcon,
1113
- "--cp-transfer-queue-divider": g?.divider,
1114
- "--cp-transfer-queue-failure-count-bg": g?.failureCountBackground,
1115
- "--cp-transfer-queue-failure-count-text": g?.failureCountText
1116
- }),
1117
- ...c?.cssVars
1118
- }, v = n.some((t) => t.status === e.InProgress), b = n.some((t) => t.status === e.Failed), x = n.length > 0 && n.every((t) => t.status === e.Success), S = F(() => {
1119
- v || b ? p(!0) : i();
1120
- }, [
1121
- v,
1122
- b,
1123
- i
1124
- ]), C = F(() => {
1125
- p(!1), i();
1126
- }, [i]), w = F(() => {
1127
- u((e) => !e);
1128
- }, []);
1129
- if (I(() => {
1130
- if (!x) return;
1131
- let e = setTimeout(i, Ze);
1132
- return () => clearTimeout(e);
1133
- }, [x, i]), n.length === 0) return null;
1134
- let T = n.filter((t) => t.status === e.Failed).length;
1135
- return /* @__PURE__ */ V("div", {
1136
- role: "status",
1137
- "aria-live": "polite",
1138
- style: _,
1139
- className: a($.root, "w-[370px] max-w-[calc(100vw-2rem)] rounded-xl shadow-md", c?.rootClassName),
1140
- children: [
1141
- /* @__PURE__ */ B($e, {
1142
- title: t,
1143
- failedCount: T,
1144
- isCollapsed: l,
1145
- jobsId: d,
1146
- labels: s,
1147
- styles: c,
1148
- onToggleCollapse: w,
1149
- onClose: S
1150
- }),
1151
- l && v && /* @__PURE__ */ B(E, {
1152
- value: rt(n),
1153
- size: y.Small,
1154
- "aria-label": s.queueProgressAriaLabel,
1155
- "aria-valuetext": s.queueProgressValueText(it(n), n.length)
1156
- }),
1157
- !l && /* @__PURE__ */ B("div", {
1158
- id: d,
1159
- className: a("flex max-h-[40vh] flex-col overflow-y-auto py-1", c?.bodyClassName),
1160
- children: n.map((e) => /* @__PURE__ */ B(nt, {
1161
- job: e,
1162
- labels: s,
1163
- onCancel: o,
1164
- styles: c
1165
- }, e.id))
1166
- }),
1167
- /* @__PURE__ */ B(m, {
1168
- open: f,
1169
- header: s.closeQueueConfirmHeader,
1170
- description: at(v, b, s),
1171
- confirmLabel: s.closeLabel,
1172
- cancelLabel: s.cancelLabel,
1173
- variant: h.Danger,
1174
- onConfirm: C,
1175
- onClose: () => p(!1)
1176
- })
1177
- ]
1178
- });
1179
- });
1180
- ot.displayName = "ImportExportQueue";
1181
- //#endregion
1182
- //#region src/components/RenameConversationPopup/RenameConversationPopup.tsx
1183
- var st = P(({ isOpen: e, currentTitle: t, isSaving: n, error: r, onSave: a, onCancel: c, onGenerateWithAi: l, labels: u, styles: d }) => {
1184
- let [f, m] = z(t), [h, v] = z(!1), [y, b] = z(null), S = R(null), E = R(!1), D = R(0);
1185
- I(() => {
1186
- let n = e && !E.current;
1187
- if (E.current = e, !e) {
955
+ }), Ie = k(({ isOpen: e, currentTitle: t, isSaving: n, error: i, onSave: s, onCancel: c, onGenerateWithAi: l, labels: u, styles: d }) => {
956
+ let [h, g] = I(t), [_, v] = I(!1), [b, w] = I(null), T = F(null), ee = F(!1), D = F(0);
957
+ j(() => {
958
+ let n = e && !ee.current;
959
+ if (ee.current = e, !e) {
1188
960
  D.current += 1, v(!1);
1189
961
  return;
1190
962
  }
1191
963
  if (!n) return;
1192
- D.current += 1, m(t), b(null), v(!1);
1193
- let r = setTimeout(() => S.current?.focus(), 0);
964
+ D.current += 1, g(t), w(null), v(!1);
965
+ let r = setTimeout(() => T.current?.focus(), 0);
1194
966
  return () => clearTimeout(r);
1195
- }, [e, t]), I(() => () => {
967
+ }, [e, t]), j(() => () => {
1196
968
  D.current += 1;
1197
969
  }, []);
1198
- let O = s(f.trim()), k = i(O) > 255, j = n || O === "" || O === t.trim() || k, M = F(() => {
1199
- j || a(O);
970
+ let O = o(h.trim()), k = r(O) > 255, M = n || O === "" || O === t.trim() || k, N = A(() => {
971
+ M || s(O);
1200
972
  }, [
1201
- j,
1202
- a,
973
+ M,
974
+ s,
1203
975
  O
1204
- ]), ee = F((e) => {
1205
- e.key === "Enter" && M();
1206
- }, [M]), N = F(async () => {
1207
- if (h) return;
976
+ ]), te = A((e) => {
977
+ e.key === "Enter" && N();
978
+ }, [N]), P = A(async () => {
979
+ if (_) return;
1208
980
  let e = ++D.current;
1209
- v(!0), b(null);
981
+ v(!0), w(null);
1210
982
  try {
1211
983
  let t = await l();
1212
984
  if (e !== D.current) return;
1213
- m(o(t));
985
+ g(a(t));
1214
986
  } catch {
1215
987
  if (e !== D.current) return;
1216
- b(u.renameWithAiError);
988
+ w(u.renameWithAiError);
1217
989
  } finally {
1218
990
  e === D.current && v(!1);
1219
991
  }
1220
992
  }, [
1221
- h,
993
+ _,
1222
994
  l,
1223
995
  u.renameWithAiError
1224
- ]), te;
1225
- return te = k ? u.nameTooLongError : y ?? r ?? void 0, /* @__PURE__ */ B(w, {
996
+ ]), z;
997
+ return z = k ? u.nameTooLongError : b ?? i ?? void 0, /* @__PURE__ */ L(S, {
1226
998
  open: e,
1227
999
  header: u.popupTitle,
1228
- size: T.Sm,
1000
+ size: C.Sm,
1229
1001
  onClose: c,
1230
1002
  mainButtons: n ? void 0 : [{
1231
1003
  label: u.cancelLabel,
1232
1004
  onClick: c
1233
1005
  }, {
1234
1006
  label: u.saveLabel,
1235
- variant: p.Primary,
1236
- disabled: j,
1237
- onClick: M
1007
+ variant: f.Primary,
1008
+ disabled: M,
1009
+ onClick: N
1238
1010
  }],
1239
- children: /* @__PURE__ */ B("div", {
1011
+ children: /* @__PURE__ */ L("div", {
1240
1012
  className: d?.bodyClassName,
1241
1013
  style: d?.cssVars,
1242
- children: n ? /* @__PURE__ */ B("div", {
1014
+ children: n ? /* @__PURE__ */ L("div", {
1243
1015
  className: "h-[120px] px-6 py-4",
1244
- children: /* @__PURE__ */ B(A, { size: 50 })
1245
- }) : /* @__PURE__ */ V("div", {
1016
+ children: /* @__PURE__ */ L(E, { size: 50 })
1017
+ }) : /* @__PURE__ */ R("div", {
1246
1018
  className: "flex items-start gap-2 px-6 py-3",
1247
- children: [/* @__PURE__ */ B("div", {
1019
+ children: [/* @__PURE__ */ L("div", {
1248
1020
  className: "min-w-0 flex-1",
1249
- children: /* @__PURE__ */ B(C, {
1250
- inputRef: S,
1251
- value: f,
1021
+ children: /* @__PURE__ */ L(x, {
1022
+ inputRef: T,
1023
+ value: h,
1252
1024
  placeholder: u.inputPlaceholder,
1253
- error: te,
1254
- onChange: (e) => m(o(e ?? "")),
1255
- onKeyDown: ee
1025
+ error: z,
1026
+ onChange: (e) => g(a(e ?? "")),
1027
+ onKeyDown: te
1256
1028
  })
1257
- }), /* @__PURE__ */ B(x, {
1029
+ }), /* @__PURE__ */ L(y, {
1258
1030
  "aria-label": u.renameWithAiLabel,
1259
1031
  tooltipProps: { tooltip: u.renameWithAiLabel },
1260
- disabled: h || n,
1261
- onClick: N,
1262
- icon: h ? /* @__PURE__ */ B(A, { size: g.MD }) : /* @__PURE__ */ B(ge, {
1263
- size: g.MD,
1264
- stroke: _
1032
+ disabled: _ || n,
1033
+ onClick: P,
1034
+ icon: _ ? /* @__PURE__ */ L(E, { size: p.MD }) : /* @__PURE__ */ L(ae, {
1035
+ size: p.MD,
1036
+ stroke: m
1265
1037
  })
1266
1038
  })]
1267
1039
  })
1268
1040
  })
1269
1041
  });
1270
1042
  });
1271
- st.displayName = "RenameConversationPopup";
1043
+ Ie.displayName = "RenameConversationPopup";
1272
1044
  //#endregion
1273
- export { Xe as ConversationPanel, ot as ImportExportQueue, st as RenameConversationPopup, tt as getTransferFileIcon };
1045
+ export { B as CONVERSATION_PANEL_CLASS, Fe as ConversationPanel, Ie as RenameConversationPopup };