@epam/ai-dial-conversation-panel 1.1.0-dev.405 → 1.1.0-dev.413

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ConversationPanel/ConversationPanel.tsx"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,EAAE,EAQR,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAyBlE,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA4axD,CAAC"}
1
+ {"version":3,"file":"ConversationPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ConversationPanel/ConversationPanel.tsx"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,EAAE,EAQR,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAyBlE,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA8axD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { RowComponentProps } from 'react-window';
2
2
  import { RowRendererData } from '../../models/virtual-row';
3
3
  /** Renders a single virtual row — either a collapsible group header or a conversation item. */
4
- export declare const RowRenderer: ({ index, style, rows, expandedGroups, onToggleGroup, listId, activeConversationId, searchQuery, onSelectConversation, getActions, onActionMenuOpen, actionsLabel, unreadIndicatorLabel, styles, draggingId, dragOverId, allowedDropGroups, onDragStart, onDragEnd, onDragOver, onDragLeave, onDrop, }: RowComponentProps<RowRendererData>) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const RowRenderer: ({ index, style, rows, expandedGroups, onToggleGroup, listId, activeConversationId, searchQuery, onSelectConversation, getActions, onActionMenuOpen, actionsLabel, unreadIndicatorLabel, styles, draggingId, dragOverId, allowedDropGroups, onDragStart, onDragEnd, onDragOver, onDragLeave, onDrop, }: RowComponentProps<RowRendererData>) => import("react").JSX.Element;
5
5
  //# sourceMappingURL=RowRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RowRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/RowRenderer/RowRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAKhE,+FAA+F;AAC/F,eAAO,MAAM,WAAW,GAAI,uSAuBzB,iBAAiB,CAAC,eAAe,CAAC,4CAsDpC,CAAC"}
1
+ {"version":3,"file":"RowRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/RowRenderer/RowRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAKhE,+FAA+F;AAC/F,eAAO,MAAM,WAAW,GAAI,uSAuBzB,iBAAiB,CAAC,eAAe,CAAC,gCAsDpC,CAAC"}
package/index.js CHANGED
@@ -1,11 +1,11 @@
1
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
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 ee, Spinner as k, Tag as A, TagAppearance as j, Tooltip as te, mergeClasses as ne } from "@epam/ai-dial-ui-kit";
4
- import { createElement as M, memo as N, useCallback as P, useEffect as F, useId as re, useImperativeHandle as ie, useLayoutEffect as I, 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 U, IconCaretRightFilled as se, IconCheck as ce, IconChevronDown as le, IconChevronUp as W, IconClock as ue, IconDotsVertical as de, IconFile as fe, IconFileZip as pe, IconJson as me, IconPlus as he, IconSparkles as ge, IconX as _e } from "@tabler/icons-react";
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 ee, Tag as A, TagAppearance as j, Tooltip as te, mergeClasses as ne } from "@epam/ai-dial-ui-kit";
4
+ import { createElement as re, memo as M, useCallback as N, useEffect as P, useId as ie, useImperativeHandle as ae, useLayoutEffect as oe, useMemo as F, useRef as I, useState as L } from "react";
5
+ import { Fragment as R, jsx as z, jsxs as B } from "react/jsx-runtime";
6
+ import { IconAlertCircleFilled as V, IconAlertTriangleFilled as se, IconCaretDownFilled as ce, IconCaretRightFilled as H, IconCheck as le, IconChevronDown as U, IconChevronUp as ue, IconClock as W, IconDotsVertical as de, IconFile as fe, IconFileZip as pe, IconJson as me, IconPlus as he, IconSparkles as ge, IconX as _e } from "@tabler/icons-react";
7
7
  //#region ../../node_modules/react-window/dist/react-window.js
8
- var G = typeof window < "u" ? I : F;
8
+ var G = typeof window < "u" ? oe : P;
9
9
  function ve(e) {
10
10
  if (e !== void 0) switch (typeof e) {
11
11
  case "number": return e;
@@ -15,10 +15,10 @@ function ve(e) {
15
15
  }
16
16
  }
17
17
  function ye({ box: e, defaultHeight: t, defaultWidth: n, disabled: r, element: i, mode: a, style: o }) {
18
- let { styleHeight: s, styleWidth: c } = L(() => ({
18
+ let { styleHeight: s, styleWidth: c } = F(() => ({
19
19
  styleHeight: ve(o?.height),
20
20
  styleWidth: ve(o?.width)
21
- }), [o?.height, o?.width]), [l, u] = z({
21
+ }), [o?.height, o?.width]), [l, u] = L({
22
22
  height: t,
23
23
  width: n
24
24
  }), d = r || a === "only-height" && s !== void 0 || a === "only-width" && c !== void 0 || s !== void 0 && c !== void 0;
@@ -42,7 +42,7 @@ function ye({ box: e, defaultHeight: t, defaultWidth: n, disabled: r, element: i
42
42
  i,
43
43
  s,
44
44
  c
45
- ]), L(() => ({
45
+ ]), F(() => ({
46
46
  height: s ?? l.height,
47
47
  width: c ?? l.width
48
48
  }), [
@@ -52,12 +52,12 @@ function ye({ box: e, defaultHeight: t, defaultWidth: n, disabled: r, element: i
52
52
  ]);
53
53
  }
54
54
  function be(e) {
55
- let t = R(() => {
55
+ let t = I(() => {
56
56
  throw Error("Cannot call during render.");
57
57
  });
58
58
  return G(() => {
59
59
  t.current = e;
60
- }, [e]), P((e) => t.current?.(e), [t]);
60
+ }, [e]), N((e) => t.current?.(e), [t]);
61
61
  }
62
62
  var K = null;
63
63
  function xe(e = !1) {
@@ -69,7 +69,7 @@ function xe(e = !1) {
69
69
  }
70
70
  return K;
71
71
  }
72
- function Se({ containerElement: e, direction: t, isRtl: n, scrollOffset: r }) {
72
+ function q({ containerElement: e, direction: t, isRtl: n, scrollOffset: r }) {
73
73
  if (t === "horizontal" && n) switch (xe()) {
74
74
  case "negative": return -r;
75
75
  case "positive-descending":
@@ -81,12 +81,12 @@ function Se({ containerElement: e, direction: t, isRtl: n, scrollOffset: r }) {
81
81
  }
82
82
  return r;
83
83
  }
84
- function q(e, t = "Assertion error") {
84
+ function J(e, t = "Assertion error") {
85
85
  if (!e) throw console.error(t), Error(t);
86
86
  }
87
- function J(e, t) {
87
+ function Se(e, t) {
88
88
  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;
89
+ if (!!e != !!t || (J(e !== void 0), J(t !== void 0), Object.keys(e).length !== Object.keys(t).length)) return !1;
90
90
  for (let n in e) if (!Object.is(t[n], e[n])) return !1;
91
91
  return !0;
92
92
  }
@@ -95,7 +95,7 @@ function Ce({ cachedBounds: e, itemCount: t, itemSize: n }) {
95
95
  if (typeof n == "number") return t * n;
96
96
  {
97
97
  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);
98
+ return J(n !== void 0, "Unexpected bounds cache miss"), t * ((n.scrollOffset + n.size) / e.size);
99
99
  }
100
100
  }
101
101
  function we({ align: e, cachedBounds: t, index: n, itemCount: r, itemSize: i, containerScrollOffset: a, containerSize: o }) {
@@ -135,7 +135,7 @@ function Ee({ itemCount: e, itemProps: t, itemSize: n }) {
135
135
  let r = /* @__PURE__ */ new Map();
136
136
  return {
137
137
  get(i) {
138
- for (q(i < e, `Invalid index ${i}`); r.size - 1 < i;) {
138
+ for (J(i < e, `Invalid index ${i}`); r.size - 1 < i;) {
139
139
  let e = r.size, a;
140
140
  switch (typeof n) {
141
141
  case "function":
@@ -151,14 +151,14 @@ function Ee({ itemCount: e, itemProps: t, itemSize: n }) {
151
151
  });
152
152
  else {
153
153
  let t = r.get(e - 1);
154
- q(t !== void 0, `Unexpected bounds cache miss for index ${i}`), r.set(e, {
154
+ J(t !== void 0, `Unexpected bounds cache miss for index ${i}`), r.set(e, {
155
155
  scrollOffset: t.scrollOffset + t.size,
156
156
  size: a
157
157
  });
158
158
  }
159
159
  }
160
160
  let a = r.get(i);
161
- return q(a !== void 0, `Unexpected bounds cache miss for index ${i}`), a;
161
+ return J(a !== void 0, `Unexpected bounds cache miss for index ${i}`), a;
162
162
  },
163
163
  set(e, t) {
164
164
  r.set(e, t);
@@ -169,7 +169,7 @@ function Ee({ itemCount: e, itemProps: t, itemSize: n }) {
169
169
  };
170
170
  }
171
171
  function De({ itemCount: e, itemProps: t, itemSize: n }) {
172
- return L(() => Ee({
172
+ return F(() => Ee({
173
173
  itemCount: e,
174
174
  itemProps: t,
175
175
  itemSize: n
@@ -183,7 +183,7 @@ function Oe({ containerSize: e, itemSize: t }) {
183
183
  let n;
184
184
  switch (typeof t) {
185
185
  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;
186
+ J(t.endsWith("%"), `Invalid item size: "${t}"; string values must be percentages (e.g. "100%")`), J(e !== void 0, "Container size must be defined if a percentage item size is specified"), n = e * parseInt(t) / 100;
187
187
  break;
188
188
  default:
189
189
  n = t;
@@ -198,14 +198,14 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
198
198
  element: e,
199
199
  mode: r === "vertical" ? "only-height" : "only-width",
200
200
  style: t
201
- }), f = R({
201
+ }), f = I({
202
202
  height: 0,
203
203
  width: 0
204
204
  }), p = r === "vertical" ? u : d, m = Oe({
205
205
  containerSize: p,
206
206
  itemSize: s
207
207
  });
208
- I(() => {
208
+ oe(() => {
209
209
  if (typeof c == "function") {
210
210
  let e = f.current;
211
211
  (e.height !== u || e.width !== d) && (c({
@@ -222,7 +222,7 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
222
222
  itemCount: a,
223
223
  itemProps: o,
224
224
  itemSize: m
225
- }), g = P((e) => h.get(e), [h]), [_, v] = z(() => Te({
225
+ }), g = N((e) => h.get(e), [h]), [_, v] = L(() => Te({
226
226
  cachedBounds: h,
227
227
  containerScrollOffset: 0,
228
228
  containerSize: p,
@@ -233,7 +233,7 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
233
233
  startIndexOverscan: Math.min(a - 1, _.startIndexOverscan),
234
234
  stopIndexVisible: Math.min(a - 1, _.stopIndexVisible),
235
235
  stopIndexOverscan: Math.min(a - 1, _.stopIndexOverscan)
236
- }, C = P(() => Ce({
236
+ }, C = N(() => Ce({
237
237
  cachedBounds: h,
238
238
  itemCount: a,
239
239
  itemSize: m
@@ -241,9 +241,9 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
241
241
  h,
242
242
  a,
243
243
  m
244
- ]), w = P((t) => Te({
244
+ ]), w = N((t) => Te({
245
245
  cachedBounds: h,
246
- containerScrollOffset: Se({
246
+ containerScrollOffset: q({
247
247
  containerElement: e,
248
248
  direction: r,
249
249
  isRtl: i,
@@ -273,7 +273,7 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
273
273
  v((t) => {
274
274
  let { scrollLeft: n, scrollTop: o } = e, s = Te({
275
275
  cachedBounds: h,
276
- containerScrollOffset: Se({
276
+ containerScrollOffset: q({
277
277
  containerElement: e,
278
278
  direction: r,
279
279
  isRtl: i,
@@ -283,7 +283,7 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
283
283
  itemCount: a,
284
284
  overscanCount: l
285
285
  });
286
- return J(s, t) ? t : s;
286
+ return Se(s, t) ? t : s;
287
287
  });
288
288
  };
289
289
  return e.addEventListener("scroll", t), () => {
@@ -310,14 +310,14 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
310
310
  itemSize: m
311
311
  });
312
312
  if (e) {
313
- if (s = Se({
313
+ if (s = q({
314
314
  containerElement: e,
315
315
  direction: r,
316
316
  isRtl: i,
317
317
  scrollOffset: s
318
318
  }), typeof e.scrollTo != "function") {
319
319
  let e = w(s);
320
- J(_, e) || v(e);
320
+ Se(_, e) || v(e);
321
321
  }
322
322
  return s;
323
323
  }
@@ -328,30 +328,30 @@ function ke({ containerElement: e, containerStyle: t, defaultContainerSize: n =
328
328
  stopIndexVisible: x
329
329
  };
330
330
  }
331
- function Y(e) {
332
- return L(() => e, Object.values(e));
331
+ function Ae(e) {
332
+ return F(() => e, Object.values(e));
333
333
  }
334
- function Ae(e, t) {
334
+ function Y(e, t) {
335
335
  let { ariaAttributes: n, style: r, ...i } = e, { ariaAttributes: a, style: o, ...s } = t;
336
- return J(n, a) && J(r, o) && J(i, s);
336
+ return Se(n, a) && Se(r, o) && Se(i, s);
337
337
  }
338
338
  function je(e) {
339
339
  return typeof e == "object" && !!e && "getAverageRowHeight" in e && typeof e.getAverageRowHeight == "function";
340
340
  }
341
341
  var Me = "data-react-window-index";
342
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 = Y(u), h = L(() => N(s, Ae), [s]), [g, _] = z(null), v = je(l), { getCellBounds: y, getEstimatedSize: b, scrollToIndex: x, startIndexOverscan: S, startIndexVisible: C, stopIndexOverscan: w, stopIndexVisible: T } = ke({
343
+ let m = Ae(u), h = F(() => M(s, Y), [s]), [g, _] = L(null), v = je(l), { getCellBounds: y, getEstimatedSize: b, scrollToIndex: x, startIndexOverscan: S, startIndexVisible: C, stopIndexOverscan: w, stopIndexVisible: T } = ke({
344
344
  containerElement: g,
345
345
  containerStyle: f,
346
346
  defaultContainerSize: n,
347
347
  direction: "vertical",
348
348
  itemCount: c,
349
349
  itemProps: m,
350
- itemSize: L(() => v ? (e) => l.getRowHeight(e) ?? l.getAverageRowHeight() : l, [v, l]),
350
+ itemSize: F(() => v ? (e) => l.getRowHeight(e) ?? l.getAverageRowHeight() : l, [v, l]),
351
351
  onResize: i,
352
352
  overscanCount: o
353
353
  });
354
- ie(r, () => ({
354
+ ae(r, () => ({
355
355
  get element() {
356
356
  return g;
357
357
  },
@@ -380,7 +380,7 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
380
380
  l,
381
381
  S,
382
382
  w
383
- ]), F(() => {
383
+ ]), P(() => {
384
384
  S >= 0 && w >= 0 && a && a({
385
385
  startIndex: C,
386
386
  stopIndex: T
@@ -395,11 +395,11 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
395
395
  w,
396
396
  T
397
397
  ]);
398
- let E = L(() => {
398
+ let E = F(() => {
399
399
  let e = [];
400
400
  if (c > 0) for (let t = S; t <= w; t++) {
401
401
  let n = y(t);
402
- e.push(/* @__PURE__ */ M(h, {
402
+ e.push(/* @__PURE__ */ re(h, {
403
403
  ...m,
404
404
  ariaAttributes: {
405
405
  "aria-posinset": t + 1,
@@ -426,7 +426,7 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
426
426
  m,
427
427
  S,
428
428
  w
429
- ]), D = /* @__PURE__ */ B("div", {
429
+ ]), D = /* @__PURE__ */ z("div", {
430
430
  "aria-hidden": !0,
431
431
  style: {
432
432
  height: b(),
@@ -434,7 +434,7 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
434
434
  zIndex: -1
435
435
  }
436
436
  });
437
- return M(d, {
437
+ return re(d, {
438
438
  role: "list",
439
439
  ...p,
440
440
  className: t,
@@ -452,7 +452,7 @@ function Ne({ children: e, className: t, defaultHeight: n = 0, listRef: r, onRes
452
452
  //#region src/types/virtual-row.ts
453
453
  var X = /* @__PURE__ */ function(e) {
454
454
  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-hover/conversation:pe-9" : "pe-3", Ie = (e, t) => t.rows[e].kind === X.Item ? 36 : e === 0 ? 24 : 56, Le = (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) => {
456
456
  switch (e) {
457
457
  case n.Shared: return n.Shared;
458
458
  case n.Organization: return n.Organization;
@@ -470,7 +470,7 @@ var X = /* @__PURE__ */ function(e) {
470
470
  t && i.add(Le(t.source));
471
471
  } else i.add(n.Pinned);
472
472
  return i;
473
- }, Z = (e, t, n, r) => {
473
+ }, Be = (e, t, n, r) => {
474
474
  let i = e.currentTarget.getBoundingClientRect();
475
475
  if (e.clientY >= i.top + i.height / 2) return t;
476
476
  let a = null, o = !1;
@@ -480,7 +480,7 @@ var X = /* @__PURE__ */ function(e) {
480
480
  a = e.item.id;
481
481
  }
482
482
  return null;
483
- }, Be = [
483
+ }, Z = [
484
484
  {
485
485
  value: n.All,
486
486
  labelKey: "all"
@@ -497,33 +497,33 @@ var X = /* @__PURE__ */ function(e) {
497
497
  value: n.Organization,
498
498
  labelKey: "organization"
499
499
  }
500
- ], Ve = N(({ activeTab: e, labels: t, onChange: n, tabClassName: r = "dial-tiny-semi-text" }) => /* @__PURE__ */ B("div", {
500
+ ], Ve = M(({ activeTab: e, labels: t, onChange: n, tabClassName: r = "dial-tiny-semi-text" }) => /* @__PURE__ */ z("div", {
501
501
  role: "group",
502
502
  "aria-label": t.groupAriaLabel ?? "Filter chats",
503
503
  className: "flex flex-nowrap gap-1 px-3 py-2",
504
- children: Be.map(({ value: i, labelKey: a }) => /* @__PURE__ */ B(A, {
504
+ children: Z.map(({ value: i, labelKey: a }) => /* @__PURE__ */ z(A, {
505
505
  label: t[a],
506
506
  appearance: j.Selectable,
507
507
  selected: e === i,
508
508
  onClick: () => n(i),
509
509
  className: ne("flex-1 justify-center rounded-full", r)
510
510
  }, i))
511
- })), He = { button: "_button_1vksy_1" }, Ue = N(({ label: e, onClick: t, labelClassName: n = "dial-small-semi-text", colors: i }) => /* @__PURE__ */ B("div", {
511
+ })), He = { button: "_button_1vksy_1" }, Ue = M(({ label: e, onClick: t, labelClassName: n = "dial-small-semi-text", colors: i }) => /* @__PURE__ */ z("div", {
512
512
  className: "px-3 py-2",
513
513
  style: r({
514
514
  "--cp-new-chat-bg": i?.background,
515
515
  "--cp-new-chat-text": i?.text,
516
516
  "--cp-new-chat-focus-outline": i?.focusOutline
517
517
  }),
518
- children: /* @__PURE__ */ V("button", {
518
+ children: /* @__PURE__ */ B("button", {
519
519
  onClick: t,
520
520
  type: "button",
521
521
  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", He.button),
522
- children: [/* @__PURE__ */ B(he, {
522
+ children: [/* @__PURE__ */ z(he, {
523
523
  size: 18,
524
524
  stroke: _,
525
525
  className: "shrink-0"
526
- }), /* @__PURE__ */ B("span", {
526
+ }), /* @__PURE__ */ z("span", {
527
527
  className: n,
528
528
  children: e
529
529
  })]
@@ -541,7 +541,7 @@ var X = /* @__PURE__ */ function(e) {
541
541
  search: "_search_i3lsf_54"
542
542
  }, We = ({ label: e, isExpanded: t, onToggle: n, listId: r, className: i = "dial-tiny-lead-text", dropZoneGroupKey: o, isDragOver: s, onDragOver: c, onDragLeave: l, onDrop: u }) => {
543
543
  let d = o != null;
544
- return /* @__PURE__ */ V("button", {
544
+ return /* @__PURE__ */ B("button", {
545
545
  type: "button",
546
546
  "aria-expanded": t,
547
547
  "aria-controls": r,
@@ -556,104 +556,104 @@ var X = /* @__PURE__ */ function(e) {
556
556
  d && (e.preventDefault(), u?.(o, o, null));
557
557
  } : void 0,
558
558
  className: a("flex h-6 w-full items-center gap-1 rounded py-1 pe-3 text-start", i, Q.groupHeader, s && Q.dropZoneActive),
559
- children: [t ? /* @__PURE__ */ B(U, {
559
+ children: [t ? /* @__PURE__ */ z(ce, {
560
560
  size: 12,
561
561
  className: "shrink-0",
562
562
  "aria-hidden": !0
563
- }) : /* @__PURE__ */ B(se, {
563
+ }) : /* @__PURE__ */ z(H, {
564
564
  size: 12,
565
565
  className: "shrink-0 rtl:scale-x-[-1]",
566
566
  "aria-hidden": !0
567
- }), /* @__PURE__ */ B(b, { text: e })]
567
+ }), /* @__PURE__ */ z(b, { text: e })]
568
568
  });
569
- }, 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: k, onDrop: A }) => {
570
- let [j, te] = z(!1), ne = R(null), M = P((t) => {
569
+ }, 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: ee, onDrop: A }) => {
570
+ let [j, te] = L(!1), ne = I(null), re = N((t) => {
571
571
  te(t), t && ne.current && s?.(e, ne.current);
572
- }, [e, s]), N = o?.(e) ?? [], F = N.length > 0, re = e.isIconLoading ? /* @__PURE__ */ B(O, {
573
- variant: ee.Circular,
572
+ }, [e, s]), M = o?.(e) ?? [], P = M.length > 0, ie = e.isIconLoading ? /* @__PURE__ */ z(O, {
573
+ variant: k.Circular,
574
574
  width: g.LG,
575
575
  height: g.LG,
576
576
  color: Q.skeletonColor,
577
577
  "aria-hidden": !0
578
- }) : /* @__PURE__ */ B(t, {
578
+ }) : /* @__PURE__ */ z(t, {
579
579
  src: e.iconUrl,
580
580
  size: g.LG,
581
581
  initialsName: e.iconTooltip ?? "",
582
582
  labels: { tooltip: e.iconTooltip },
583
583
  styles: { badgeClassName: u }
584
- }), ie = /* @__PURE__ */ V("span", {
584
+ }), ae = /* @__PURE__ */ B("span", {
585
585
  className: "flex shrink-0 items-center",
586
- children: [/* @__PURE__ */ B("span", {
586
+ children: [/* @__PURE__ */ z("span", {
587
587
  className: "relative flex size-3 shrink-0 items-center justify-center",
588
- children: e.isUnread && /* @__PURE__ */ V(ae, { children: [/* @__PURE__ */ B("span", {
588
+ children: e.isUnread && /* @__PURE__ */ B(R, { children: [/* @__PURE__ */ z("span", {
589
589
  className: a("size-[5.33px] rounded-full", Q.unreadDot),
590
590
  "aria-hidden": !0
591
- }), /* @__PURE__ */ B("span", {
591
+ }), /* @__PURE__ */ z("span", {
592
592
  className: "sr-only",
593
593
  children: p
594
594
  })] })
595
- }), re]
596
- }), I = Fe(F, j), L = e.showTaskBadge ? /* @__PURE__ */ V("span", {
595
+ }), ie]
596
+ }), oe = Fe(P, j), F = e.showTaskBadge ? /* @__PURE__ */ B("span", {
597
597
  className: a("flex h-5 shrink-0 items-center justify-center gap-0.5 rounded-full border pe-2 ps-1", Q.taskBadge, d),
598
- children: [/* @__PURE__ */ B(ue, {
598
+ children: [/* @__PURE__ */ z(W, {
599
599
  size: 12,
600
600
  "aria-hidden": !0,
601
601
  stroke: _
602
602
  }), e.taskBadgeLabel]
603
- }) : void 0, H = m != null, oe = P((e) => {
604
- e.currentTarget.contains(e.relatedTarget) || k?.();
605
- }, [k]), U = P((t) => {
603
+ }) : void 0, V = m != null, se = N((e) => {
604
+ e.currentTarget.contains(e.relatedTarget) || ee?.();
605
+ }, [ee]), ce = N((t) => {
606
606
  if (!m || !h || !A) return;
607
607
  t.preventDefault();
608
- let n = Z(t, e.id, h, m);
608
+ let n = Be(t, e.id, h, m);
609
609
  A(e.id, m, n);
610
610
  }, [
611
611
  e.id,
612
612
  h,
613
613
  m,
614
614
  A
615
- ]), se = e.id === b, ce = e.id === C, le = m != null && (w?.has(m) ?? !1), W = b != null;
616
- return /* @__PURE__ */ V("li", {
617
- className: a("group/conversation relative", se && "cursor-grabbing opacity-50", ce && le && "rounded", ce && le && Q.dropZoneActive, W && !se && !le && "cursor-not-allowed"),
618
- draggable: H || void 0,
619
- onDragStart: H ? () => T?.(e.id) : void 0,
620
- onDragEnd: H ? E : void 0,
621
- onDragOver: H ? (t) => {
615
+ ]), H = e.id === b, le = e.id === C, U = m != null && (w?.has(m) ?? !1), ue = b != null;
616
+ return /* @__PURE__ */ B("li", {
617
+ className: a("group/conversation relative", H && "cursor-grabbing opacity-50", le && U && "rounded", le && U && Q.dropZoneActive, ue && !H && !U && "cursor-not-allowed"),
618
+ draggable: V || void 0,
619
+ onDragStart: V ? () => T?.(e.id) : void 0,
620
+ onDragEnd: V ? E : void 0,
621
+ onDragOver: V ? (t) => {
622
622
  t.preventDefault(), D?.(e.id);
623
623
  } : void 0,
624
- onDragLeave: H ? oe : void 0,
625
- onDrop: H ? U : void 0,
626
- children: [/* @__PURE__ */ B("a", {
624
+ onDragLeave: V ? se : void 0,
625
+ onDrop: V ? ce : void 0,
626
+ children: [/* @__PURE__ */ z("a", {
627
627
  href: e.href,
628
628
  className: "contents",
629
629
  onClick: (t) => {
630
630
  e.href && (t.preventDefault(), r(e.id));
631
631
  },
632
- children: /* @__PURE__ */ B(f, {
633
- iconBefore: ie,
634
- label: /* @__PURE__ */ B(S, {
632
+ children: /* @__PURE__ */ z(f, {
633
+ iconBefore: ae,
634
+ label: /* @__PURE__ */ z(S, {
635
635
  text: e.title,
636
636
  query: i,
637
637
  className: l,
638
638
  maxLines: 1
639
639
  }),
640
- iconAfter: L,
640
+ iconAfter: F,
641
641
  textClassName: "min-w-0 flex-1",
642
642
  "aria-current": n ? "page" : void 0,
643
643
  onClick: e.href ? void 0 : () => r(e.id),
644
644
  tabIndex: e.href ? -1 : void 0,
645
- className: a("h-8 w-full justify-start gap-2 py-2 ps-0 after:pointer-events-none", I, Q.item, n && Q.itemActive, j && Q.itemActive)
645
+ className: a("h-8 w-full justify-start gap-2 py-2 ps-0 after:pointer-events-none", oe, Q.item, n && Q.itemActive, j && Q.itemActive)
646
646
  })
647
- }), F && /* @__PURE__ */ B("div", {
647
+ }), P && /* @__PURE__ */ z("div", {
648
648
  className: a("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"),
649
- children: /* @__PURE__ */ B(v, {
650
- items: N,
651
- onOpenChange: M,
649
+ children: /* @__PURE__ */ z(v, {
650
+ items: M,
651
+ onOpenChange: re,
652
652
  matchReferenceWidth: !1,
653
653
  listClassName: "w-[200px]",
654
- children: /* @__PURE__ */ B(x, {
654
+ children: /* @__PURE__ */ z(x, {
655
655
  ref: ne,
656
- icon: /* @__PURE__ */ B(de, {
656
+ icon: /* @__PURE__ */ z(de, {
657
657
  size: g.SM,
658
658
  className: Q.triggerIcon,
659
659
  "aria-hidden": !0,
@@ -670,11 +670,11 @@ var X = /* @__PURE__ */ function(e) {
670
670
  let C = r[e];
671
671
  if (C.kind === X.Header) {
672
672
  let r = C.groupKey === n.Pinned;
673
- return /* @__PURE__ */ B("div", {
673
+ return /* @__PURE__ */ z("div", {
674
674
  role: "presentation",
675
675
  style: t,
676
676
  className: e === 0 ? "pt-0" : "pt-8",
677
- children: /* @__PURE__ */ B(We, {
677
+ children: /* @__PURE__ */ z(We, {
678
678
  label: C.label,
679
679
  isExpanded: i.has(C.groupKey),
680
680
  onToggle: () => a(C.groupKey),
@@ -688,11 +688,11 @@ var X = /* @__PURE__ */ function(e) {
688
688
  })
689
689
  });
690
690
  }
691
- return /* @__PURE__ */ B("div", {
691
+ return /* @__PURE__ */ z("div", {
692
692
  role: "presentation",
693
693
  style: t,
694
694
  className: "pt-1",
695
- children: /* @__PURE__ */ B(Ge, {
695
+ children: /* @__PURE__ */ z(Ge, {
696
696
  item: C.item,
697
697
  isActive: C.item.id === s,
698
698
  searchQuery: c,
@@ -721,89 +721,89 @@ var X = /* @__PURE__ */ function(e) {
721
721
  n.MyChats,
722
722
  n.Shared,
723
723
  n.Organization
724
- ]), Xe = N(({ conversations: e, isLoading: t, isOpen: i, onSelectConversation: o, activeConversationId: s, labels: f, onNewChat: p, styles: m, className: h, getActions: g, onActionMenuOpen: _, onToggle: v, headerActions: y, onMoveConversation: b, activeFilter: x, onActiveFilterChange: S, isFilterTabsHidden: C = !1 }) => {
725
- let { colors: w, typography: T, newChatButton: E, searchWrapperClassName: ee } = m ?? {}, { title: k, emptyLabel: A, noResultsLabel: j, loadingLabel: te = "Loading conversations", newChatLabel: ne, searchPlaceholder: M, searchClearLabel: N, filterLabels: ie, groupLabels: I, actionsLabel: ae, unreadIndicatorLabel: H, closeAriaLabel: oe } = f, [U, se] = z(""), [ce, le] = z(n.All);
726
- F(() => {
727
- x != null && le(x);
728
- }, [x]);
729
- let [W, ue] = z(() => Ye), [de, fe] = z(5), pe = re(), me = R(null), he = R(null), [ge, _e] = z(null), [G, ve] = z(null), [ye, be] = z(null), K = R(null), xe = R(null), Se = P(({ height: e }) => {
730
- fe(Math.ceil(e / 36 * 2));
731
- }, []), q = P((e) => {
732
- se(e ?? "");
733
- }, []), J = P((e) => {
734
- ue((t) => {
724
+ ]), Xe = M(({ 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 }) => {
725
+ let { colors: T, typography: E, newChatButton: k, searchWrapperClassName: ee } = m ?? {}, { title: A, emptyLabel: j, noResultsLabel: te, loadingLabel: ne = "Loading conversations", newChatLabel: re, searchPlaceholder: M, searchClearLabel: ae, filterLabels: oe, groupLabels: R, actionsLabel: V, unreadIndicatorLabel: se, closeAriaLabel: ce } = f, [H, le] = L(""), [U, ue] = L(n.All);
726
+ P(() => {
727
+ S != null && ue(S);
728
+ }, [S]);
729
+ let [W, de] = L(() => Ye), [fe, pe] = L(5), me = ie(), he = I(null), ge = I(null), [_e, G] = L(null), [ve, ye] = L(null), [be, K] = L(null), xe = I(null), q = I(null), J = N(({ height: e }) => {
730
+ pe(Math.ceil(e / 36 * 2));
731
+ }, []), Se = N((e) => {
732
+ le(e ?? "");
733
+ }, []), Ce = N((e) => {
734
+ de((t) => {
735
735
  let n = new Set(t);
736
736
  return n.has(e) ? n.delete(e) : n.add(e), n;
737
737
  });
738
- }, []), Ce = P(() => {
739
- K.current = null, xe.current = null, _e(null), ve(null), be(null);
740
- }, []), we = P((t, n) => {
738
+ }, []), we = N(() => {
739
+ xe.current = null, q.current = null, G(null), ye(null), K(null);
740
+ }, []), Te = N((t, n) => {
741
741
  let r = ze(t, Re(n, t), e);
742
- K.current = t, xe.current = r, _e(t), be(r);
743
- }, [e]), Te = P(() => {
744
- Ce();
745
- }, [Ce]), Ee = P((e) => {
746
- ve(e);
747
- }, []), De = P(() => {
748
- ve(null);
749
- }, []), Oe = P((e, t, n) => {
750
- let r = K.current, i = xe.current;
751
- Ce(), r != null && r !== e && i?.has(t) && b?.({
742
+ xe.current = t, q.current = r, G(t), K(r);
743
+ }, [e]), Ee = N(() => {
744
+ we();
745
+ }, [we]), De = N((e) => {
746
+ ye(e);
747
+ }, []), Oe = N(() => {
748
+ ye(null);
749
+ }, []), ke = N((e, t, n) => {
750
+ let r = xe.current, i = q.current;
751
+ we(), r != null && r !== e && i?.has(t) && x?.({
752
752
  draggedId: r,
753
753
  targetGroupKey: t,
754
754
  afterId: n
755
755
  });
756
- }, [Ce, b]), ke = r({
757
- "--cp-item-hover": w?.itemHover,
758
- "--cp-item-active": w?.itemActive,
759
- "--cp-text": w?.text,
760
- "--cp-text-secondary": w?.textSecondary,
761
- "--cp-new-chat-bg": E?.background,
762
- "--cp-new-chat-text": E?.text,
763
- "--cp-new-chat-focus-outline": E?.focusOutline,
764
- "--cp-drop-zone-ring": w?.dropZoneRing,
765
- "--cp-trigger-bg": w?.triggerBackground,
766
- "--cp-trigger-icon": w?.triggerIcon,
767
- "--cp-trigger-icon-idle": w?.triggerIconIdle,
768
- "--cp-skeleton-color": w?.skeletonColor,
769
- "--cp-task-badge-border": w?.taskBadgeBorder,
770
- "--cp-task-badge-bg": w?.taskBadgeBackground,
771
- "--cp-task-badge-text": w?.taskBadgeText,
772
- "--cp-unread-dot": w?.unreadDot
773
- }), Y = L(() => e.filter((e) => qe(e, ce) && Je(e, U)), [
756
+ }, [we, x]), Ae = r({
757
+ "--cp-item-hover": T?.itemHover,
758
+ "--cp-item-active": T?.itemActive,
759
+ "--cp-text": T?.text,
760
+ "--cp-text-secondary": T?.textSecondary,
761
+ "--cp-new-chat-bg": k?.background,
762
+ "--cp-new-chat-text": k?.text,
763
+ "--cp-new-chat-focus-outline": k?.focusOutline,
764
+ "--cp-drop-zone-ring": T?.dropZoneRing,
765
+ "--cp-trigger-bg": T?.triggerBackground,
766
+ "--cp-trigger-icon": T?.triggerIcon,
767
+ "--cp-trigger-icon-idle": T?.triggerIconIdle,
768
+ "--cp-skeleton-color": T?.skeletonColor,
769
+ "--cp-task-badge-border": T?.taskBadgeBorder,
770
+ "--cp-task-badge-bg": T?.taskBadgeBackground,
771
+ "--cp-task-badge-text": T?.taskBadgeText,
772
+ "--cp-unread-dot": T?.unreadDot
773
+ }), Y = F(() => e.filter((e) => qe(e, U) && Je(e, H)), [
774
774
  e,
775
- ce,
776
- U
777
- ]), Ae = L(() => Y.filter((e) => e.isPinned), [Y]), je = L(() => Y.filter((e) => !e.isPinned && e.source !== n.Shared && e.source !== n.Organization), [Y]), Me = L(() => Y.filter((e) => !e.isPinned && e.source === n.Shared), [Y]), Fe = L(() => Y.filter((e) => !e.isPinned && e.source === n.Organization), [Y]), Le = L(() => [
775
+ U,
776
+ H
777
+ ]), je = F(() => Y.filter((e) => e.isPinned), [Y]), Me = F(() => Y.filter((e) => !e.isPinned && e.source !== n.Shared && e.source !== n.Organization), [Y]), Fe = F(() => Y.filter((e) => !e.isPinned && e.source === n.Shared), [Y]), Le = F(() => Y.filter((e) => !e.isPinned && e.source === n.Organization), [Y]), Be = F(() => [
778
778
  {
779
779
  key: n.Pinned,
780
- label: I?.pinned ?? "Pinned",
781
- items: Ae
780
+ label: R?.pinned ?? "Pinned",
781
+ items: je
782
782
  },
783
783
  {
784
784
  key: n.MyChats,
785
- label: I?.myChats ?? "My chats",
786
- items: je
785
+ label: R?.myChats ?? "My chats",
786
+ items: Me
787
787
  },
788
788
  {
789
789
  key: n.Shared,
790
- label: I?.shared ?? "Shared",
791
- items: Me
790
+ label: R?.shared ?? "Shared",
791
+ items: Fe
792
792
  },
793
793
  {
794
794
  key: n.Organization,
795
- label: I?.organization ?? "Organization",
796
- items: Fe
795
+ label: R?.organization ?? "Organization",
796
+ items: Le
797
797
  }
798
798
  ], [
799
- I,
800
- Ae,
799
+ R,
801
800
  je,
802
801
  Me,
803
- Fe
804
- ]), Z = L(() => {
802
+ Fe,
803
+ Le
804
+ ]), Z = F(() => {
805
805
  let e = [];
806
- for (let t of Le) if (t.items.length !== 0 && (e.push({
806
+ for (let t of Be) if (t.items.length !== 0 && (e.push({
807
807
  kind: X.Header,
808
808
  groupKey: t.key,
809
809
  label: t.label
@@ -813,149 +813,150 @@ var X = /* @__PURE__ */ function(e) {
813
813
  groupKey: t.key
814
814
  });
815
815
  return e;
816
- }, [Le, W]);
817
- F(() => {
818
- if (!s || he.current === s) return;
816
+ }, [Be, W]);
817
+ P(() => {
818
+ if (!s || ge.current === s) return;
819
819
  let e = Z.findIndex((e) => e.kind === X.Item && e.item.id === s);
820
- e >= 0 && (me.current?.scrollToRow({
820
+ e >= 0 && (he.current?.scrollToRow({
821
821
  index: e,
822
822
  align: "smart",
823
823
  behavior: "smooth"
824
- }), he.current = s);
824
+ }), ge.current = s);
825
825
  }, [
826
826
  s,
827
- Le,
827
+ Be,
828
828
  W,
829
829
  Z
830
830
  ]);
831
- let Be = L(() => ({
831
+ let He = F(() => ({
832
832
  rows: Z,
833
833
  expandedGroups: W,
834
- onToggleGroup: J,
835
- listId: pe,
834
+ onToggleGroup: Ce,
835
+ listId: me,
836
836
  activeConversationId: s,
837
- searchQuery: U,
837
+ searchQuery: H,
838
838
  onSelectConversation: o,
839
- getActions: g,
840
- onActionMenuOpen: _,
841
- actionsLabel: ae,
842
- unreadIndicatorLabel: H,
839
+ getActions: _,
840
+ onActionMenuOpen: v,
841
+ actionsLabel: V,
842
+ unreadIndicatorLabel: se,
843
843
  styles: {
844
- groupHeaderClassName: T?.groupHeaderClassName,
845
- itemTitleClassName: T?.itemTitleClassName,
844
+ groupHeaderClassName: E?.groupHeaderClassName,
845
+ itemTitleClassName: E?.itemTitleClassName,
846
846
  itemIconBadgeClassName: m?.itemIconBadgeClassName,
847
847
  taskBadgeClassName: m?.taskBadgeClassName
848
848
  },
849
- draggingId: ge,
850
- dragOverId: G,
851
- allowedDropGroups: ye,
852
- onDragStart: (e) => we(e, Z),
853
- onDragEnd: Te,
854
- onDragOver: Ee,
855
- onDragLeave: De,
856
- onDrop: Oe
849
+ draggingId: _e,
850
+ dragOverId: ve,
851
+ allowedDropGroups: be,
852
+ onDragStart: (e) => Te(e, Z),
853
+ onDragEnd: Ee,
854
+ onDragOver: De,
855
+ onDragLeave: Oe,
856
+ onDrop: ke
857
857
  }), [
858
858
  Z,
859
859
  W,
860
- J,
861
- pe,
860
+ Ce,
861
+ me,
862
862
  s,
863
- U,
863
+ H,
864
864
  o,
865
- g,
866
865
  _,
867
- ae,
868
- H,
869
- T?.groupHeaderClassName,
870
- T?.itemTitleClassName,
866
+ v,
867
+ V,
868
+ se,
869
+ E?.groupHeaderClassName,
870
+ E?.itemTitleClassName,
871
871
  m?.itemIconBadgeClassName,
872
872
  m?.taskBadgeClassName,
873
- ge,
874
- G,
875
- ye,
876
- we,
873
+ _e,
874
+ ve,
875
+ be,
877
876
  Te,
878
877
  Ee,
879
878
  De,
880
- Oe
881
- ]), He = e.length === 0, We = e.length > 0 && Y.length === 0;
882
- return /* @__PURE__ */ V(d, {
879
+ Oe,
880
+ ke
881
+ ]), We = e.length === 0, Ge = e.length > 0 && Y.length === 0;
882
+ return /* @__PURE__ */ B(d, {
883
883
  isOpen: i,
884
+ isOverlay: g,
884
885
  orientation: u.Left,
885
- title: k,
886
+ title: A,
886
887
  labels: {
887
- ariaLabel: k,
888
- closeLabel: oe
888
+ ariaLabel: A,
889
+ closeLabel: ce
889
890
  },
890
- onClose: v,
891
+ onClose: y,
891
892
  styles: {
892
893
  colors: {
893
- background: w?.background,
894
- border: w?.border
894
+ background: T?.background,
895
+ border: T?.border
895
896
  },
896
- typography: { fontClassName: T?.fontClassName },
897
+ typography: { fontClassName: E?.fontClassName },
897
898
  bodyClassName: "flex flex-col overflow-hidden p-0 gap-3",
898
- cssVars: ke,
899
- titleClassName: T?.fontClassName,
899
+ cssVars: Ae,
900
+ titleClassName: E?.fontClassName,
900
901
  headerClassName: "h-[64px]",
901
902
  className: a(i ? "w-[324px] mobile:w-full" : "w-0", h)
902
903
  },
903
- rightActions: y,
904
+ rightActions: b,
904
905
  children: [
905
- /* @__PURE__ */ B(Ue, {
906
- label: ne,
906
+ /* @__PURE__ */ z(Ue, {
907
+ label: re,
907
908
  onClick: p,
908
- labelClassName: T?.newChatLabelClassName,
909
- colors: E
909
+ labelClassName: E?.newChatLabelClassName,
910
+ colors: k
910
911
  }),
911
- /* @__PURE__ */ B("div", {
912
+ /* @__PURE__ */ z("div", {
912
913
  role: "search",
913
914
  className: "px-3 py-2",
914
- children: /* @__PURE__ */ B(D, {
915
+ children: /* @__PURE__ */ z(D, {
915
916
  wrapperClassName: a(Q.search, ee),
916
- value: U,
917
- onChange: q,
917
+ value: H,
918
+ onChange: Se,
918
919
  placeholder: M,
919
- clearLabel: N,
920
+ clearLabel: ae,
920
921
  "aria-label": M
921
922
  })
922
923
  }),
923
- !C && /* @__PURE__ */ B(Ve, {
924
- activeTab: ce,
925
- labels: ie,
924
+ !w && /* @__PURE__ */ z(Ve, {
925
+ activeTab: U,
926
+ labels: oe,
926
927
  onChange: (e) => {
927
- le(e), S?.(e);
928
+ ue(e), C?.(e);
928
929
  },
929
- tabClassName: T?.tabClassName
930
+ tabClassName: E?.tabClassName
930
931
  }),
931
- /* @__PURE__ */ B("span", {
932
+ /* @__PURE__ */ z("span", {
932
933
  role: "status",
933
934
  "aria-live": "polite",
934
935
  className: "sr-only",
935
- children: t ? te : He ? A : We ? j : ""
936
+ children: t ? ne : We ? j : Ge ? te : ""
936
937
  }),
937
- /* @__PURE__ */ B("div", {
938
+ /* @__PURE__ */ z("div", {
938
939
  className: "flex-1 overflow-hidden px-2 py-1",
939
- children: t ? /* @__PURE__ */ B("div", {
940
+ children: t ? /* @__PURE__ */ z("div", {
940
941
  className: "flex flex-col gap-3 px-2 py-3",
941
- children: Array.from({ length: 15 }, (e, t) => /* @__PURE__ */ B(O, {
942
+ children: Array.from({ length: 15 }, (e, t) => /* @__PURE__ */ z(O, {
942
943
  avatar: { size: 24 },
943
944
  showTitle: { width: Pe(t) },
944
945
  paragraph: !1,
945
946
  active: !0,
946
947
  color: Q.skeletonColor
947
948
  }, t))
948
- }) : He ? /* @__PURE__ */ B(c, { label: A }) : We ? /* @__PURE__ */ B(l, { label: j }) : /* @__PURE__ */ B(Ne, {
949
- listRef: me,
950
- id: pe,
949
+ }) : We ? /* @__PURE__ */ z(c, { label: j }) : Ge ? /* @__PURE__ */ z(l, { label: te }) : /* @__PURE__ */ z(Ne, {
950
+ listRef: he,
951
+ id: me,
951
952
  role: "list",
952
953
  style: { height: "100%" },
953
954
  rowComponent: Ke,
954
955
  rowCount: Z.length,
955
956
  rowHeight: Ie,
956
- overscanCount: de,
957
- onResize: Se,
958
- rowProps: Be
957
+ overscanCount: fe,
958
+ onResize: J,
959
+ rowProps: He
959
960
  })
960
961
  })
961
962
  ]
@@ -971,25 +972,25 @@ var X = /* @__PURE__ */ function(e) {
971
972
  warningIcon: "_warningIcon_11lia_35"
972
973
  }, $e = ({ title: e, failedCount: t, isCollapsed: n, jobsId: r, labels: i, styles: o, onToggleCollapse: s, onClose: c }) => {
973
974
  let l = o?.typography;
974
- return /* @__PURE__ */ V("div", {
975
+ return /* @__PURE__ */ B("div", {
975
976
  className: a($.divider, "mx-4 flex items-center justify-between py-3"),
976
- children: [/* @__PURE__ */ V("div", {
977
+ children: [/* @__PURE__ */ B("div", {
977
978
  className: "flex min-w-0 items-center gap-2",
978
- children: [/* @__PURE__ */ B("span", {
979
+ children: [/* @__PURE__ */ z("span", {
979
980
  className: a($.text, "truncate", l?.titleClassName || "dial-small-paragraph-semi-text"),
980
981
  children: e
981
- }), t > 0 && /* @__PURE__ */ B("span", {
982
+ }), t > 0 && /* @__PURE__ */ z("span", {
982
983
  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"),
983
984
  children: t
984
985
  })]
985
- }), /* @__PURE__ */ V("div", {
986
+ }), /* @__PURE__ */ B("div", {
986
987
  className: "flex shrink-0 items-center gap-1",
987
- children: [/* @__PURE__ */ B(x, {
988
+ children: [/* @__PURE__ */ z(x, {
988
989
  "aria-label": n ? i.expandQueueAriaLabel : i.collapseQueueAriaLabel,
989
990
  size: y.Small,
990
991
  "aria-expanded": !n,
991
992
  "aria-controls": r,
992
- icon: B(n ? W : le, {
993
+ icon: z(n ? ue : U, {
993
994
  size: g.SM,
994
995
  className: $.textSecondary,
995
996
  stroke: _,
@@ -997,10 +998,10 @@ var X = /* @__PURE__ */ function(e) {
997
998
  }),
998
999
  onClick: s,
999
1000
  className: Qe
1000
- }), /* @__PURE__ */ B(x, {
1001
+ }), /* @__PURE__ */ z(x, {
1001
1002
  "aria-label": i.closeQueueAriaLabel,
1002
1003
  size: y.Small,
1003
- icon: /* @__PURE__ */ B(_e, {
1004
+ icon: /* @__PURE__ */ z(_e, {
1004
1005
  size: g.SM,
1005
1006
  className: $.textSecondary,
1006
1007
  stroke: _,
@@ -1016,30 +1017,30 @@ var X = /* @__PURE__ */ function(e) {
1016
1017
  return et.some((e) => t.endsWith(e)) ? pe : t.endsWith(".json") ? me : fe;
1017
1018
  }, nt = ({ job: t, labels: n, onCancel: r, styles: i }) => {
1018
1019
  let o = i?.typography, s = tt(t.fileName), c = t.status === e.Canceled;
1019
- return /* @__PURE__ */ V("div", {
1020
+ return /* @__PURE__ */ B("div", {
1020
1021
  className: "group flex items-center gap-2 px-4 py-2",
1021
1022
  children: [
1022
- /* @__PURE__ */ B(s, {
1023
+ /* @__PURE__ */ z(s, {
1023
1024
  size: g.SM,
1024
1025
  stroke: _,
1025
1026
  className: $.textSecondary,
1026
1027
  "aria-hidden": !0
1027
1028
  }),
1028
- /* @__PURE__ */ B(b, {
1029
+ /* @__PURE__ */ z(b, {
1029
1030
  text: t.fileName,
1030
1031
  className: a(c ? $.textSecondary : $.text, o?.jobLabelClassName || "dial-small-text"),
1031
1032
  contentClassName: "!z-[80]"
1032
1033
  }),
1033
- t.status === e.InProgress && /* @__PURE__ */ V("div", {
1034
+ t.status === e.InProgress && /* @__PURE__ */ B("div", {
1034
1035
  className: a("flex size-7 shrink-0 items-center justify-center", "grid"),
1035
- children: [/* @__PURE__ */ B(k, {
1036
+ children: [/* @__PURE__ */ z(ee, {
1036
1037
  size: g.SM,
1037
1038
  ariaLabel: n.jobProgressAriaLabel(t.fileName),
1038
1039
  className: "col-start-1 row-start-1 opacity-100 transition-opacity group-focus-within:opacity-0 group-hover:opacity-0"
1039
- }), /* @__PURE__ */ B(x, {
1040
+ }), /* @__PURE__ */ z(x, {
1040
1041
  "aria-label": n.cancelJobAriaLabel(t.fileName),
1041
1042
  size: y.Small,
1042
- icon: /* @__PURE__ */ B(_e, {
1043
+ icon: /* @__PURE__ */ z(_e, {
1043
1044
  size: g.SM,
1044
1045
  className: $.textSecondary,
1045
1046
  stroke: _,
@@ -1049,55 +1050,55 @@ var X = /* @__PURE__ */ function(e) {
1049
1050
  className: "col-start-1 row-start-1 opacity-0 transition-opacity group-focus-within:opacity-100 group-hover:opacity-100"
1050
1051
  })]
1051
1052
  }),
1052
- t.status === e.Success && /* @__PURE__ */ B("span", {
1053
+ t.status === e.Success && /* @__PURE__ */ z("span", {
1053
1054
  className: "flex size-7 shrink-0 items-center justify-center",
1054
- children: /* @__PURE__ */ B(ce, {
1055
+ children: /* @__PURE__ */ z(le, {
1055
1056
  size: g.SM,
1056
1057
  stroke: _,
1057
1058
  className: $.successIcon,
1058
1059
  "aria-hidden": !0
1059
1060
  })
1060
1061
  }),
1061
- t.status === e.Warning && /* @__PURE__ */ B(te, {
1062
+ t.status === e.Warning && /* @__PURE__ */ z(te, {
1062
1063
  tooltip: n.jobWarningMessage(t.warningCode),
1063
1064
  contentClassName: "!z-[80]",
1064
1065
  asChild: !0,
1065
- children: /* @__PURE__ */ B("span", {
1066
+ children: /* @__PURE__ */ z("span", {
1066
1067
  className: "flex size-7 shrink-0 items-center justify-center",
1067
1068
  role: "img",
1068
1069
  "aria-label": n.jobWarningMessage(t.warningCode),
1069
1070
  tabIndex: 0,
1070
- children: /* @__PURE__ */ B(oe, {
1071
+ children: /* @__PURE__ */ z(se, {
1071
1072
  size: g.SM,
1072
1073
  className: $.warningIcon,
1073
1074
  "aria-hidden": !0
1074
1075
  })
1075
1076
  })
1076
1077
  }),
1077
- t.status === e.Failed && /* @__PURE__ */ B(te, {
1078
+ t.status === e.Failed && /* @__PURE__ */ z(te, {
1078
1079
  tooltip: n.jobErrorMessage(t.errorCode),
1079
1080
  contentClassName: "!z-[80]",
1080
1081
  asChild: !0,
1081
- children: /* @__PURE__ */ B("span", {
1082
+ children: /* @__PURE__ */ z("span", {
1082
1083
  className: "flex size-7 shrink-0 items-center justify-center",
1083
1084
  role: "img",
1084
1085
  "aria-label": n.jobErrorMessage(t.errorCode),
1085
1086
  tabIndex: 0,
1086
- children: /* @__PURE__ */ B(H, {
1087
+ children: /* @__PURE__ */ z(V, {
1087
1088
  size: g.SM,
1088
1089
  className: $.errorIcon,
1089
1090
  "aria-hidden": !0
1090
1091
  })
1091
1092
  })
1092
1093
  }),
1093
- c && /* @__PURE__ */ B("span", {
1094
+ c && /* @__PURE__ */ z("span", {
1094
1095
  className: a($.textSecondary, "shrink-0", o?.canceledLabelClassName || "dial-small-text"),
1095
1096
  children: n.canceledLabel
1096
1097
  })
1097
1098
  ]
1098
1099
  });
1099
- }, 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 = N(({ title: t, jobs: n, onClose: i, onCancel: o, labels: s, styles: c }) => {
1100
- let [l, u] = z(!1), d = re(), [f, p] = z(!1), g = c?.colors, _ = {
1100
+ }, 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 = M(({ title: t, jobs: n, onClose: i, onCancel: o, labels: s, styles: c }) => {
1101
+ let [l, u] = L(!1), d = ie(), [f, p] = L(!1), g = c?.colors, _ = {
1101
1102
  ...r({
1102
1103
  "--cp-transfer-queue-bg": g?.background,
1103
1104
  "--cp-transfer-queue-text": g?.text,
@@ -1110,30 +1111,30 @@ var X = /* @__PURE__ */ function(e) {
1110
1111
  "--cp-transfer-queue-failure-count-text": g?.failureCountText
1111
1112
  }),
1112
1113
  ...c?.cssVars
1113
- }, 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 = P(() => {
1114
+ }, 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 = N(() => {
1114
1115
  v || b ? p(!0) : i();
1115
1116
  }, [
1116
1117
  v,
1117
1118
  b,
1118
1119
  i
1119
- ]), C = P(() => {
1120
+ ]), C = N(() => {
1120
1121
  p(!1), i();
1121
- }, [i]), w = P(() => {
1122
+ }, [i]), w = N(() => {
1122
1123
  u((e) => !e);
1123
1124
  }, []);
1124
- if (F(() => {
1125
+ if (P(() => {
1125
1126
  if (!x) return;
1126
1127
  let e = setTimeout(i, Ze);
1127
1128
  return () => clearTimeout(e);
1128
1129
  }, [x, i]), n.length === 0) return null;
1129
1130
  let T = n.filter((t) => t.status === e.Failed).length;
1130
- return /* @__PURE__ */ V("div", {
1131
+ return /* @__PURE__ */ B("div", {
1131
1132
  role: "status",
1132
1133
  "aria-live": "polite",
1133
1134
  style: _,
1134
1135
  className: a($.root, "w-[370px] max-w-[calc(100vw-2rem)] rounded-xl shadow-md", c?.rootClassName),
1135
1136
  children: [
1136
- /* @__PURE__ */ B($e, {
1137
+ /* @__PURE__ */ z($e, {
1137
1138
  title: t,
1138
1139
  failedCount: T,
1139
1140
  isCollapsed: l,
@@ -1143,23 +1144,23 @@ var X = /* @__PURE__ */ function(e) {
1143
1144
  onToggleCollapse: w,
1144
1145
  onClose: S
1145
1146
  }),
1146
- l && v && /* @__PURE__ */ B(E, {
1147
+ l && v && /* @__PURE__ */ z(E, {
1147
1148
  value: rt(n),
1148
1149
  size: y.Small,
1149
1150
  "aria-label": s.queueProgressAriaLabel,
1150
1151
  "aria-valuetext": s.queueProgressValueText(it(n), n.length)
1151
1152
  }),
1152
- !l && /* @__PURE__ */ B("div", {
1153
+ !l && /* @__PURE__ */ z("div", {
1153
1154
  id: d,
1154
1155
  className: a("flex max-h-[40vh] flex-col overflow-y-auto py-1", c?.bodyClassName),
1155
- children: n.map((e) => /* @__PURE__ */ B(nt, {
1156
+ children: n.map((e) => /* @__PURE__ */ z(nt, {
1156
1157
  job: e,
1157
1158
  labels: s,
1158
1159
  onCancel: o,
1159
1160
  styles: c
1160
1161
  }, e.id))
1161
1162
  }),
1162
- /* @__PURE__ */ B(m, {
1163
+ /* @__PURE__ */ z(m, {
1163
1164
  open: f,
1164
1165
  header: s.closeQueueConfirmHeader,
1165
1166
  description: at(v, b, s),
@@ -1175,9 +1176,9 @@ var X = /* @__PURE__ */ function(e) {
1175
1176
  ot.displayName = "ImportExportQueue";
1176
1177
  //#endregion
1177
1178
  //#region src/components/RenameConversationPopup/RenameConversationPopup.tsx
1178
- var st = N(({ isOpen: e, currentTitle: t, isSaving: n, error: r, onSave: a, onCancel: c, onGenerateWithAi: l, labels: u, styles: d }) => {
1179
- let [f, m] = z(t), [h, v] = z(!1), [y, b] = z(null), S = R(null), E = R(!1), D = R(0);
1180
- F(() => {
1179
+ var st = M(({ isOpen: e, currentTitle: t, isSaving: n, error: r, onSave: a, onCancel: c, onGenerateWithAi: l, labels: u, styles: d }) => {
1180
+ let [f, m] = L(t), [h, v] = L(!1), [y, b] = L(null), S = I(null), E = I(!1), D = I(0);
1181
+ P(() => {
1181
1182
  let n = e && !E.current;
1182
1183
  if (E.current = e, !e) {
1183
1184
  D.current += 1, v(!1);
@@ -1187,18 +1188,18 @@ var st = N(({ isOpen: e, currentTitle: t, isSaving: n, error: r, onSave: a, onCa
1187
1188
  D.current += 1, m(t), b(null), v(!1);
1188
1189
  let r = setTimeout(() => S.current?.focus(), 0);
1189
1190
  return () => clearTimeout(r);
1190
- }, [e, t]), F(() => () => {
1191
+ }, [e, t]), P(() => () => {
1191
1192
  D.current += 1;
1192
1193
  }, []);
1193
- let O = s(f.trim()), ee = i(O) > 255, A = n || O === "" || O === t.trim() || ee, j = P(() => {
1194
+ let O = s(f.trim()), k = i(O) > 255, A = n || O === "" || O === t.trim() || k, j = N(() => {
1194
1195
  A || a(O);
1195
1196
  }, [
1196
1197
  A,
1197
1198
  a,
1198
1199
  O
1199
- ]), te = P((e) => {
1200
+ ]), te = N((e) => {
1200
1201
  e.key === "Enter" && j();
1201
- }, [j]), ne = P(async () => {
1202
+ }, [j]), ne = N(async () => {
1202
1203
  if (h) return;
1203
1204
  let e = ++D.current;
1204
1205
  v(!0), b(null);
@@ -1216,8 +1217,8 @@ var st = N(({ isOpen: e, currentTitle: t, isSaving: n, error: r, onSave: a, onCa
1216
1217
  h,
1217
1218
  l,
1218
1219
  u.renameWithAiError
1219
- ]), M;
1220
- return M = ee ? u.nameTooLongError : y ?? r ?? void 0, /* @__PURE__ */ B(w, {
1220
+ ]), re;
1221
+ return re = k ? u.nameTooLongError : y ?? r ?? void 0, /* @__PURE__ */ z(w, {
1221
1222
  open: e,
1222
1223
  header: u.popupTitle,
1223
1224
  size: T.Sm,
@@ -1231,30 +1232,30 @@ var st = N(({ isOpen: e, currentTitle: t, isSaving: n, error: r, onSave: a, onCa
1231
1232
  disabled: A,
1232
1233
  onClick: j
1233
1234
  }],
1234
- children: /* @__PURE__ */ B("div", {
1235
+ children: /* @__PURE__ */ z("div", {
1235
1236
  className: d?.bodyClassName,
1236
1237
  style: d?.cssVars,
1237
- children: n ? /* @__PURE__ */ B("div", {
1238
+ children: n ? /* @__PURE__ */ z("div", {
1238
1239
  className: "h-[120px] px-6 py-4",
1239
- children: /* @__PURE__ */ B(k, { size: 50 })
1240
- }) : /* @__PURE__ */ V("div", {
1240
+ children: /* @__PURE__ */ z(ee, { size: 50 })
1241
+ }) : /* @__PURE__ */ B("div", {
1241
1242
  className: "flex items-start gap-2 px-6 py-3",
1242
- children: [/* @__PURE__ */ B("div", {
1243
+ children: [/* @__PURE__ */ z("div", {
1243
1244
  className: "min-w-0 flex-1",
1244
- children: /* @__PURE__ */ B(C, {
1245
+ children: /* @__PURE__ */ z(C, {
1245
1246
  inputRef: S,
1246
1247
  value: f,
1247
1248
  placeholder: u.inputPlaceholder,
1248
- error: M,
1249
+ error: re,
1249
1250
  onChange: (e) => m(o(e ?? "")),
1250
1251
  onKeyDown: te
1251
1252
  })
1252
- }), /* @__PURE__ */ B(x, {
1253
+ }), /* @__PURE__ */ z(x, {
1253
1254
  "aria-label": u.renameWithAiLabel,
1254
1255
  tooltipProps: { tooltip: u.renameWithAiLabel },
1255
1256
  disabled: h || n,
1256
1257
  onClick: ne,
1257
- icon: h ? /* @__PURE__ */ B(k, { size: g.MD }) : /* @__PURE__ */ B(ge, {
1258
+ icon: h ? /* @__PURE__ */ z(ee, { size: g.MD }) : /* @__PURE__ */ z(ge, {
1258
1259
  size: g.MD,
1259
1260
  stroke: _
1260
1261
  })
@@ -170,6 +170,12 @@ export interface ConversationPanelProps {
170
170
  styles?: ConversationPanelStyles;
171
171
  /** Extra class name(s) merged onto the panel root element. */
172
172
  className?: string;
173
+ /**
174
+ * Renders the panel as a drawer that slides over the content instead of
175
+ * collapsing its width beside it. Set it when `className` positions the panel
176
+ * over the page. Defaults to `false`.
177
+ */
178
+ isOverlay?: boolean;
173
179
  /** Builds dropdown actions for a row. When absent or empty, no action trigger is rendered. */
174
180
  getActions?: (item: ConversationItem) => DropdownItem[];
175
181
  /** Called when a row action menu opens; receives the trigger button. */
@@ -1 +1 @@
1
- {"version":3,"file":"panel-props.d.ts","sourceRoot":"","sources":["../../src/models/panel-props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel-props.d.ts","sourceRoot":"","sources":["../../src/models/panel-props.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-conversation-panel",
3
3
  "description": "Virtualized sidebar panel for browsing conversation history with grouping, tabs, and search",
4
- "version": "1.1.0-dev.405",
4
+ "version": "1.1.0-dev.413",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -23,8 +23,8 @@
23
23
  "peerDependencies": {
24
24
  "react": "^19.0.0",
25
25
  "@tabler/icons-react": "^3.0.0",
26
- "@epam/ai-dial-chat-shared": "1.1.0-dev.405",
27
- "@epam/ai-dial-sidebar": "1.1.0-dev.405"
26
+ "@epam/ai-dial-chat-shared": "1.1.0-dev.413",
27
+ "@epam/ai-dial-sidebar": "1.1.0-dev.413"
28
28
  },
29
29
  "repository": {
30
30
  "type": "git",
@@ -3,7 +3,14 @@ import { RowRendererData } from '../models/virtual-row';
3
3
  export declare const SKELETON_ROW_COUNT = 15;
4
4
  /** Returns a pseudo-randomised width percentage for the skeleton title bar at index `i`. */
5
5
  export declare const getSkeletonWidth: (i: number) => string;
6
- /** Returns the inline-end padding Tailwind class for the row's ghost button based on action state. */
6
+ /**
7
+ * Returns the inline-end padding Tailwind class for the row's ghost button based
8
+ * on action state. The reserved gutter has to cover every state in which the
9
+ * actions trigger is actually visible — hover *and* focus-within (see the
10
+ * trigger's own visibility classes in `ConversationRow`). A row keeps focus
11
+ * after it is clicked or dragged, so reserving on hover alone left the trigger
12
+ * painted on top of the title's ellipsis once the pointer moved away.
13
+ */
7
14
  export declare const getButtonPaddingEnd: (hasActions: boolean, isMenuOpen: boolean) => string;
8
15
  /** Returns the pixel height for a virtual list row (item, first group header, or subsequent group header). */
9
16
  export declare const getRowHeight: (index: number, rowProps: RowRendererData) => number;
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-row.d.ts","sourceRoot":"","sources":["../../src/utils/conversation-row.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,4FAA4F;AAC5F,eAAO,MAAM,gBAAgB,GAAI,GAAG,MAAM,WAA+B,CAAC;AAE1E,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,GAC9B,YAAY,OAAO,EACnB,YAAY,OAAO,KAClB,MAIF,CAAC;AAEF,8GAA8G;AAC9G,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,EACb,UAAU,eAAe,KACxB,MAIF,CAAC"}
1
+ {"version":3,"file":"conversation-row.d.ts","sourceRoot":"","sources":["../../src/utils/conversation-row.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,4FAA4F;AAC5F,eAAO,MAAM,gBAAgB,GAAI,GAAG,MAAM,WAA+B,CAAC;AAE1E;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,YAAY,OAAO,EACnB,YAAY,OAAO,KAClB,MAIF,CAAC;AAEF,8GAA8G;AAC9G,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,EACb,UAAU,eAAe,KACxB,MAIF,CAAC"}