@epam/ai-dial-conversation-panel 1.1.0-dev.45 → 1.1.0-dev.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ConversationGroup/ConversationGroup.d.ts +1 -5
- package/components/ConversationGroup/ConversationGroup.d.ts.map +1 -1
- package/components/ConversationGroup/ConversationRow.d.ts +2 -9
- package/components/ConversationGroup/ConversationRow.d.ts.map +1 -1
- package/components/ConversationGroupHeader/ConversationGroupHeader.d.ts +1 -4
- package/components/ConversationGroupHeader/ConversationGroupHeader.d.ts.map +1 -1
- package/components/ConversationPanel/ConversationPanel.d.ts.map +1 -1
- package/components/NewChatButton/NewChatButton.d.ts +4 -1
- package/components/NewChatButton/NewChatButton.d.ts.map +1 -1
- package/index.css +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +238 -225
- package/models/panel-props.d.ts +38 -66
- package/models/panel-props.d.ts.map +1 -1
- package/models/virtual-row.d.ts +1 -6
- package/models/virtual-row.d.ts.map +1 -1
- package/package.json +4 -4
- package/types/conversation-classification.d.ts +1 -4
- package/types/conversation-classification.d.ts.map +1 -1
- package/utils/conversation-row.d.ts +1 -7
- package/utils/conversation-row.d.ts.map +1 -1
- package/utils/drag.d.ts +2 -14
- package/utils/drag.d.ts.map +1 -1
package/models/panel-props.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DropdownItem } from '@epam/ai-dial-ui-kit';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { FilterTab } from '../types/conversation-classification';
|
|
4
|
-
/** Labels for each filter tab
|
|
4
|
+
/** Labels for each filter tab. */
|
|
5
5
|
export interface FilterLabels {
|
|
6
6
|
/** Label for the "All" tab. */
|
|
7
7
|
all: string;
|
|
@@ -16,7 +16,7 @@ export interface FilterLabels {
|
|
|
16
16
|
export interface ConversationItem {
|
|
17
17
|
/** Unique conversation identifier (path or UUID). */
|
|
18
18
|
id: string;
|
|
19
|
-
/** Human-readable title
|
|
19
|
+
/** Human-readable conversation title. */
|
|
20
20
|
title: string;
|
|
21
21
|
/** When true the item is shown in the Pinned section. */
|
|
22
22
|
isPinned?: boolean;
|
|
@@ -24,15 +24,11 @@ export interface ConversationItem {
|
|
|
24
24
|
source?: FilterTab;
|
|
25
25
|
/** URL of the model or conversation icon. When absent a default icon is shown. */
|
|
26
26
|
iconUrl?: string;
|
|
27
|
-
/** Tooltip text shown on the deployment icon.
|
|
27
|
+
/** Tooltip text shown on the deployment icon. */
|
|
28
28
|
iconTooltip?: string;
|
|
29
29
|
/** When `true`, a skeleton placeholder is shown instead of the deployment icon. */
|
|
30
30
|
isIconLoading?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Browser-navigable URL for the conversation (e.g. `/conversations/<id>`).
|
|
33
|
-
* When provided, a middle mouse button click on the row opens this URL in a new tab,
|
|
34
|
-
* matching standard browser link behaviour.
|
|
35
|
-
*/
|
|
31
|
+
/** Conversation URL. When provided, middle-click opens it in a new tab. */
|
|
36
32
|
href?: string;
|
|
37
33
|
}
|
|
38
34
|
/** Font overrides for the header title in `ConversationPanel`. */
|
|
@@ -48,6 +44,29 @@ export interface ConversationPanelTypography {
|
|
|
48
44
|
/** Class applied to each filter tab. Defaults to `'dial-tiny-semi-text'` (an additional `'flex-1'` class is always applied). */
|
|
49
45
|
tabClassName?: string;
|
|
50
46
|
}
|
|
47
|
+
/** CSS custom-property overrides for the New chat button. */
|
|
48
|
+
export interface NewChatButtonColors {
|
|
49
|
+
/** Default background. */
|
|
50
|
+
background?: string;
|
|
51
|
+
/** Hover background. */
|
|
52
|
+
hoverBackground?: string;
|
|
53
|
+
/** Active/pressed background. */
|
|
54
|
+
activeBackground?: string;
|
|
55
|
+
/** Label and icon color. */
|
|
56
|
+
text?: string;
|
|
57
|
+
/** Blue shadow in the default state. */
|
|
58
|
+
shadowBlue?: string;
|
|
59
|
+
/** Blue shadow on hover. */
|
|
60
|
+
shadowBlueHover?: string;
|
|
61
|
+
/** Blue shadow while active/pressed. */
|
|
62
|
+
shadowBlueActive?: string;
|
|
63
|
+
/** Purple shadow in the default state. */
|
|
64
|
+
shadowPurple?: string;
|
|
65
|
+
/** Purple shadow on hover. */
|
|
66
|
+
shadowPurpleHover?: string;
|
|
67
|
+
/** Purple shadow while active/pressed. */
|
|
68
|
+
shadowPurpleActive?: string;
|
|
69
|
+
}
|
|
51
70
|
/** CSS custom-property overrides for `ConversationPanel`. */
|
|
52
71
|
export interface ConversationColors {
|
|
53
72
|
/** Panel background color. */
|
|
@@ -62,26 +81,6 @@ export interface ConversationColors {
|
|
|
62
81
|
text?: string;
|
|
63
82
|
/** Secondary text color (dates, metadata). */
|
|
64
83
|
textSecondary?: string;
|
|
65
|
-
/** Hover background of the New chat button. */
|
|
66
|
-
newChatHoverBackground?: string;
|
|
67
|
-
/** Active/pressed background of the New chat button. */
|
|
68
|
-
newChatActiveBackground?: string;
|
|
69
|
-
/** Background of the New chat button. */
|
|
70
|
-
newChatBackground?: string;
|
|
71
|
-
/** Label/icon text color of the New chat button. */
|
|
72
|
-
newChatText?: string;
|
|
73
|
-
/** Blue shadow color of the New chat button in the default state. */
|
|
74
|
-
newChatShadowBlue?: string;
|
|
75
|
-
/** Blue shadow color of the New chat button on hover. */
|
|
76
|
-
newChatShadowBlueHover?: string;
|
|
77
|
-
/** Blue shadow color of the New chat button while active/pressed. */
|
|
78
|
-
newChatShadowBlueActive?: string;
|
|
79
|
-
/** Purple shadow color of the New chat button in the default state. */
|
|
80
|
-
newChatShadowPurple?: string;
|
|
81
|
-
/** Purple shadow color of the New chat button on hover. */
|
|
82
|
-
newChatShadowPurpleHover?: string;
|
|
83
|
-
/** Purple shadow color of the New chat button while active/pressed. */
|
|
84
|
-
newChatShadowPurpleActive?: string;
|
|
85
84
|
/** Ring color shown around a group header acting as a drag-and-drop target. */
|
|
86
85
|
dropZoneRing?: string;
|
|
87
86
|
/** Background color of the active row actions trigger button. */
|
|
@@ -97,6 +96,8 @@ export interface ConversationColors {
|
|
|
97
96
|
export interface ConversationPanelStyles {
|
|
98
97
|
/** Color overrides applied as CSS custom properties. */
|
|
99
98
|
colors?: ConversationColors;
|
|
99
|
+
/** Color overrides forwarded to the New chat button. */
|
|
100
|
+
newChatButton?: NewChatButtonColors;
|
|
100
101
|
/** Typography overrides for the panel and its children. */
|
|
101
102
|
typography?: ConversationPanelTypography;
|
|
102
103
|
/** CSS class applied to the icon badge in each conversation row. Defaults to `'rounded-full'`. */
|
|
@@ -156,48 +157,22 @@ export interface ConversationPanelProps {
|
|
|
156
157
|
styles?: ConversationPanelStyles;
|
|
157
158
|
/** Extra class name(s) merged onto the panel root element. */
|
|
158
159
|
className?: string;
|
|
159
|
-
/**
|
|
160
|
-
* Builds the dropdown menu items for a conversation row.
|
|
161
|
-
* Receives the full item so actions can reflect per-item state (e.g. `isPinned` toggle).
|
|
162
|
-
* When omitted or returns an empty array, no actions trigger is rendered on rows.
|
|
163
|
-
*/
|
|
160
|
+
/** Builds dropdown actions for a row. When absent or empty, no action trigger is rendered. */
|
|
164
161
|
getActions?: (item: ConversationItem) => DropdownItem[];
|
|
165
|
-
/** Called when a row action menu opens
|
|
162
|
+
/** Called when a row action menu opens; receives the trigger button. */
|
|
166
163
|
onActionMenuOpen?: (item: ConversationItem, trigger: HTMLButtonElement) => void;
|
|
167
|
-
/**
|
|
168
|
-
* Called when the mobile sidebar toggle icon in the panel header is clicked.
|
|
169
|
-
* When provided, the toggle button becomes visible on mobile screens.
|
|
170
|
-
* The parent is responsible for managing `isOpen` state in response to this callback.
|
|
171
|
-
*/
|
|
164
|
+
/** Called when the panel header toggle button is clicked. When provided, the toggle is visible on mobile. */
|
|
172
165
|
onToggle?: () => void;
|
|
173
|
-
/**
|
|
174
|
-
* Content rendered in the end action group of the panel header bar.
|
|
175
|
-
* The app supplies any ReactNode — the library does not prescribe its content.
|
|
176
|
-
*/
|
|
166
|
+
/** Extra content rendered in the panel header action area. */
|
|
177
167
|
headerActions?: ReactNode;
|
|
178
168
|
/**
|
|
179
|
-
* Called when the user completes a
|
|
180
|
-
* `
|
|
181
|
-
* `targetGroupKey` is the group it was dropped into.
|
|
182
|
-
* `afterId` is the id of the item the dragged conversation should be placed after,
|
|
183
|
-
* or `null` when dropped at the top of the target group.
|
|
184
|
-
*
|
|
185
|
-
* The app derives the action type from `targetGroupKey`:
|
|
186
|
-
* - dropping into `Pinned` → pin the conversation
|
|
187
|
-
* - dragging from `Pinned` into another group → unpin
|
|
188
|
-
* - same-group drop → reorder
|
|
169
|
+
* Called when the user completes a drag-and-drop move.
|
|
170
|
+
* See `ConversationMove` for the payload shape.
|
|
189
171
|
*/
|
|
190
172
|
onMoveConversation?: (move: ConversationMove) => void;
|
|
191
|
-
/**
|
|
192
|
-
* Imperatively sets the active filter tab. When provided the panel switches
|
|
193
|
-
* to this tab; the user can still change it afterwards. Pass `undefined` to
|
|
194
|
-
* leave the current tab unchanged.
|
|
195
|
-
*/
|
|
173
|
+
/** Programmatically sets the active filter tab. Pass `undefined` to leave the tab unchanged. */
|
|
196
174
|
activeFilter?: FilterTab;
|
|
197
|
-
/**
|
|
198
|
-
* Called whenever the active filter tab changes — either because the user
|
|
199
|
-
* clicked a tab or because `activeFilter` drove a programmatic switch.
|
|
200
|
-
*/
|
|
175
|
+
/** Called when the active filter tab changes. */
|
|
201
176
|
onActiveFilterChange?: (tab: FilterTab) => void;
|
|
202
177
|
}
|
|
203
178
|
/** Describes a completed drag-and-drop move in the conversation panel. */
|
|
@@ -206,10 +181,7 @@ export interface ConversationMove {
|
|
|
206
181
|
draggedId: string;
|
|
207
182
|
/** The group the item was dropped into. */
|
|
208
183
|
targetGroupKey: FilterTab;
|
|
209
|
-
/**
|
|
210
|
-
* Id of the item the dragged conversation should be placed after.
|
|
211
|
-
* `null` means the item was dropped at the top of the target group.
|
|
212
|
-
*/
|
|
184
|
+
/** Item to insert after; `null` means top of the target group. */
|
|
213
185
|
afterId: string | null;
|
|
214
186
|
}
|
|
215
187
|
//# sourceMappingURL=panel-props.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-props.d.ts","sourceRoot":"","sources":["../../src/models/panel-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,
|
|
1
|
+
{"version":3,"file":"panel-props.d.ts","sourceRoot":"","sources":["../../src/models/panel-props.ts"],"names":[],"mappings":"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"}
|
package/models/virtual-row.d.ts
CHANGED
|
@@ -70,12 +70,7 @@ export interface RowRendererData {
|
|
|
70
70
|
onDragOver: (id: string) => void;
|
|
71
71
|
/** Called when the drag cursor leaves a row. */
|
|
72
72
|
onDragLeave: () => void;
|
|
73
|
-
/**
|
|
74
|
-
* Called when the user drops onto a target row or group header.
|
|
75
|
-
* `targetId` is the item id or `FilterTab` sentinel for header drops.
|
|
76
|
-
* `targetGroupKey` is the group the item was dropped into.
|
|
77
|
-
* `afterId` is the id of the item to insert after, or `null` for top of group.
|
|
78
|
-
*/
|
|
73
|
+
/** Called when the user drops a conversation row onto a target position. */
|
|
79
74
|
onDrop: (targetId: string, targetGroupKey: FilterTab, afterId: string | null) => void;
|
|
80
75
|
}
|
|
81
76
|
//# sourceMappingURL=virtual-row.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-row.d.ts","sourceRoot":"","sources":["../../src/models/virtual-row.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,0DAA0D;AAC1D,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;IAC5B,qDAAqD;IACrD,QAAQ,EAAE,SAAS,CAAC;IACpB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1B,kCAAkC;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,gDAAgD;AAChD,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,mBAAmB,CAAC;AAE9D,kEAAkE;AAClE,MAAM,WAAW,SAAS;IACxB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,qDAAqD;IACrD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,qDAAqD;IACrD,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,iGAAiG;IACjG,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,uDAAuD;IACvD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,YAAY,EAAE,CAAC;IACxD,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,iBAAiB,KACvB,IAAI,CAAC;IACV,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qFAAqF;IACrF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mGAAmG;IACnG,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACzC,+DAA+D;IAC/D,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kDAAkD;IAClD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gDAAgD;IAChD,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,gDAAgD;IAChD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB
|
|
1
|
+
{"version":3,"file":"virtual-row.d.ts","sourceRoot":"","sources":["../../src/models/virtual-row.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,0DAA0D;AAC1D,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;IAC5B,qDAAqD;IACrD,QAAQ,EAAE,SAAS,CAAC;IACpB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1B,kCAAkC;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,gDAAgD;AAChD,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,mBAAmB,CAAC;AAE9D,kEAAkE;AAClE,MAAM,WAAW,SAAS;IACxB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,qDAAqD;IACrD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,qDAAqD;IACrD,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,iGAAiG;IACjG,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,uDAAuD;IACvD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,YAAY,EAAE,CAAC;IACxD,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,iBAAiB,KACvB,IAAI,CAAC;IACV,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qFAAqF;IACrF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mGAAmG;IACnG,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACzC,+DAA+D;IAC/D,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kDAAkD;IAClD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gDAAgD;IAChD,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,gDAAgD;IAChD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,4EAA4E;IAC5E,MAAM,EAAE,CACN,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,SAAS,EACzB,OAAO,EAAE,MAAM,GAAG,IAAI,KACnB,IAAI,CAAC;CACX"}
|
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.
|
|
4
|
+
"version": "1.1.0-dev.49",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"react-window": "^2.2.7",
|
|
21
|
-
"@epam/ai-dial-kit": "1.1.0-dev.
|
|
21
|
+
"@epam/ai-dial-kit": "1.1.0-dev.49",
|
|
22
22
|
"@epam/ai-dial-ui-kit": "^0.13.0-dev.12"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": "^19.0.0",
|
|
26
26
|
"@tabler/icons-react": "^3.0.0",
|
|
27
|
-
"@epam/ai-dial-chat-shared": "1.1.0-dev.
|
|
28
|
-
"@epam/ai-dial-sidebar": "1.1.0-dev.
|
|
27
|
+
"@epam/ai-dial-chat-shared": "1.1.0-dev.49",
|
|
28
|
+
"@epam/ai-dial-sidebar": "1.1.0-dev.49"
|
|
29
29
|
},
|
|
30
30
|
"repository": {
|
|
31
31
|
"type": "git",
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Active filter tab value; also used as the source/ownership of a conversation
|
|
3
|
-
* and to identify one of the collapsible groups in the conversation panel.
|
|
4
|
-
*/
|
|
1
|
+
/** Filter tab identifier; also used as conversation source and group key. */
|
|
5
2
|
export declare enum FilterTab {
|
|
6
3
|
All = "all",
|
|
7
4
|
Pinned = "pinned",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-classification.d.ts","sourceRoot":"","sources":["../../src/types/conversation-classification.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"conversation-classification.d.ts","sourceRoot":"","sources":["../../src/types/conversation-classification.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,aAAa;IACpB,MAAM,WAAW;IACjB,YAAY,iBAAiB;CAC9B"}
|
|
@@ -5,12 +5,6 @@ export declare const SKELETON_ROW_COUNT = 15;
|
|
|
5
5
|
export declare const getSkeletonWidth: (i: number) => string;
|
|
6
6
|
/** Returns the inline-end padding Tailwind class for the row's ghost button based on action state. */
|
|
7
7
|
export declare const getButtonPaddingEnd: (hasActions: boolean, isMenuOpen: boolean) => string;
|
|
8
|
-
/**
|
|
9
|
-
* Returns the pixel height for a virtual list row.
|
|
10
|
-
*
|
|
11
|
-
* Items use `ITEM_ROW_HEIGHT` (32px content + 4px top gap).
|
|
12
|
-
* The first group header uses `FIRST_GROUP_HEADER_ROW_HEIGHT` (24px, no gap above).
|
|
13
|
-
* Subsequent group headers use `GROUP_HEADER_ROW_HEIGHT` (24px + 8px top gap).
|
|
14
|
-
*/
|
|
8
|
+
/** Returns the pixel height for a virtual list row (item, first group header, or subsequent group header). */
|
|
15
9
|
export declare const getRowHeight: (index: number, rowProps: RowRendererData) => number;
|
|
16
10
|
//# sourceMappingURL=conversation-row.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-row.d.ts","sourceRoot":"","sources":["../../src/utils/conversation-row.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,uBAAuB,CAAC;AAE7E,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
|
|
1
|
+
{"version":3,"file":"conversation-row.d.ts","sourceRoot":"","sources":["../../src/utils/conversation-row.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,uBAAuB,CAAC;AAE7E,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"}
|
package/utils/drag.d.ts
CHANGED
|
@@ -6,20 +6,8 @@ import { FilterTab } from '../types/conversation-classification';
|
|
|
6
6
|
export declare const sourceToGroupKey: (source?: FilterTab) => FilterTab;
|
|
7
7
|
/** Returns the `FilterTab` of the virtual row containing the given item id. */
|
|
8
8
|
export declare const findGroupKeyForItem: (rows: VirtualRow[], id: string) => FilterTab | null;
|
|
9
|
-
/**
|
|
10
|
-
* Returns the set of groups that are valid drop targets for the given dragged item.
|
|
11
|
-
*
|
|
12
|
-
* Rules:
|
|
13
|
-
* - Same group as the drag source is always allowed (reorder).
|
|
14
|
-
* - Any non-Pinned group → Pinned is allowed (pin action).
|
|
15
|
-
* - Pinned → non-Pinned is allowed only when the item's `source` matches the target group (unpin action).
|
|
16
|
-
*/
|
|
9
|
+
/** Returns the set of groups that are valid drop targets for the given dragged item. */
|
|
17
10
|
export declare const computeAllowedDropGroups: (draggedId: string, draggingGroupKey: FilterTab | null, conversations: ConversationItem[]) => Set<FilterTab>;
|
|
18
|
-
/**
|
|
19
|
-
* Computes the `afterId` for a drop based on cursor vertical position within a row.
|
|
20
|
-
*
|
|
21
|
-
* - Bottom half of the row → insert after the item (`afterId = itemId`).
|
|
22
|
-
* - Top half → insert before the item (`afterId` = id of the preceding item in the group, or `null` for first).
|
|
23
|
-
*/
|
|
11
|
+
/** Returns the `afterId` for a drop based on cursor vertical position within a row. */
|
|
24
12
|
export declare const getDropAfterId: (e: Pick<DragEvent, "currentTarget" | "clientY">, itemId: string, rows: VirtualRow[], targetGroupKey: FilterTab) => string | null;
|
|
25
13
|
//# sourceMappingURL=drag.d.ts.map
|
package/utils/drag.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drag.d.ts","sourceRoot":"","sources":["../../src/utils/drag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,2FAA2F;AAC3F,eAAO,MAAM,gBAAgB,GAAI,SAAS,SAAS,KAAG,SASrD,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,GAC9B,MAAM,UAAU,EAAE,EAClB,IAAI,MAAM,KACT,SAAS,GAAG,IAUd,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"drag.d.ts","sourceRoot":"","sources":["../../src/utils/drag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,2FAA2F;AAC3F,eAAO,MAAM,gBAAgB,GAAI,SAAS,SAAS,KAAG,SASrD,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,GAC9B,MAAM,UAAU,EAAE,EAClB,IAAI,MAAM,KACT,SAAS,GAAG,IAUd,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,wBAAwB,GACnC,WAAW,MAAM,EACjB,kBAAkB,SAAS,GAAG,IAAI,EAClC,eAAe,gBAAgB,EAAE,KAChC,GAAG,CAAC,SAAS,CAiBf,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,cAAc,GACzB,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC,EAC/C,QAAQ,MAAM,EACd,MAAM,UAAU,EAAE,EAClB,gBAAgB,SAAS,KACxB,MAAM,GAAG,IAkBX,CAAC"}
|