@epam/ai-dial-conversation-panel 1.1.0-dev.49 → 1.1.0-dev.491
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/ConversationGroupHeader/ConversationGroupHeader.d.ts +2 -2
- package/components/ConversationGroupHeader/ConversationGroupHeader.d.ts.map +1 -1
- package/components/ConversationPanel/ConversationPanel.d.ts.map +1 -1
- package/components/ConversationPanel/utils.d.ts +1 -1
- package/components/ConversationPanel/utils.d.ts.map +1 -1
- package/components/{ConversationGroup → ConversationRow}/ConversationRow.d.ts +5 -1
- package/components/ConversationRow/ConversationRow.d.ts.map +1 -0
- package/components/FilterTabs/FilterTabs.d.ts +6 -2
- package/components/FilterTabs/FilterTabs.d.ts.map +1 -1
- package/components/ImportExportQueue/ImportExportQueue.d.ts +6 -0
- package/components/ImportExportQueue/ImportExportQueue.d.ts.map +1 -0
- package/components/ImportExportQueueHeader/ImportExportQueueHeader.d.ts +24 -0
- package/components/ImportExportQueueHeader/ImportExportQueueHeader.d.ts.map +1 -0
- package/components/ImportExportQueueRow/ImportExportQueueRow.d.ts +17 -0
- package/components/ImportExportQueueRow/ImportExportQueueRow.d.ts.map +1 -0
- package/components/NewChatButton/NewChatButton.d.ts.map +1 -1
- package/components/RenameConversationPopup/RenameConversationPopup.d.ts +5 -0
- package/components/RenameConversationPopup/RenameConversationPopup.d.ts.map +1 -0
- package/components/RowRenderer/RowRenderer.d.ts +1 -1
- package/components/RowRenderer/RowRenderer.d.ts.map +1 -1
- package/constants/import-export-queue.d.ts +4 -0
- package/constants/import-export-queue.d.ts.map +1 -0
- package/index.css +1 -1
- package/index.d.ts +5 -2
- package/index.d.ts.map +1 -1
- package/index.js +777 -481
- package/models/import-export-queue.d.ts +113 -0
- package/models/import-export-queue.d.ts.map +1 -0
- package/models/panel-props.d.ts +53 -18
- package/models/panel-props.d.ts.map +1 -1
- package/models/rename-conversation-popup.d.ts +47 -0
- package/models/rename-conversation-popup.d.ts.map +1 -0
- package/models/virtual-row.d.ts +9 -5
- package/models/virtual-row.d.ts.map +1 -1
- package/package.json +7 -8
- package/utils/conversation-row.d.ts +8 -1
- package/utils/conversation-row.d.ts.map +1 -1
- package/utils/drag.d.ts +1 -1
- package/utils/drag.d.ts.map +1 -1
- package/utils/transfer-file.d.ts +10 -0
- package/utils/transfer-file.d.ts.map +1 -0
- package/components/ConversationGroup/ConversationGroup.d.ts +0 -27
- package/components/ConversationGroup/ConversationGroup.d.ts.map +0 -1
- package/components/ConversationGroup/ConversationRow.d.ts.map +0 -1
- package/types/conversation-classification.d.ts +0 -9
- package/types/conversation-classification.d.ts.map +0 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { ConversationTransferErrorCode, ConversationTransferJob, ConversationTransferWarningCode } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
import { CSSProperties } from 'react';
|
|
3
|
+
/** Labels for every user-visible string in `ImportExportQueue`. */
|
|
4
|
+
export interface ImportExportQueueLabels {
|
|
5
|
+
/** Returns the accessible name for the cancel control of an in-progress job. */
|
|
6
|
+
cancelJobAriaLabel: (fileName: string) => string;
|
|
7
|
+
/** Trailing text shown on a canceled row. */
|
|
8
|
+
canceledLabel: string;
|
|
9
|
+
/** Returns the tooltip text explaining why a job failed. */
|
|
10
|
+
jobErrorMessage: (code: ConversationTransferErrorCode | undefined) => string;
|
|
11
|
+
/** Returns the accessible name for a row's in-progress spinner. */
|
|
12
|
+
jobProgressAriaLabel: (fileName: string) => string;
|
|
13
|
+
/** Returns the tooltip text explaining what a warned job left out. */
|
|
14
|
+
jobWarningMessage: (code: ConversationTransferWarningCode | undefined) => string;
|
|
15
|
+
/** Accessible name for the collapsed queue's aggregate progress bar. */
|
|
16
|
+
queueProgressAriaLabel: string;
|
|
17
|
+
/**
|
|
18
|
+
* Returns the aggregate bar's `aria-valuetext`. Given settled and total job
|
|
19
|
+
* counts rather than a percentage, because "3 of 10 files" reads better than
|
|
20
|
+
* "36%" when the work is a list of files.
|
|
21
|
+
*/
|
|
22
|
+
queueProgressValueText: (completed: number, total: number) => string;
|
|
23
|
+
/** Accessible name for the queue collapse toggle when the panel is expanded. */
|
|
24
|
+
collapseQueueAriaLabel: string;
|
|
25
|
+
/** Accessible name for the queue expand toggle when the panel is collapsed. */
|
|
26
|
+
expandQueueAriaLabel: string;
|
|
27
|
+
/** Accessible name for the queue close button. */
|
|
28
|
+
closeQueueAriaLabel: string;
|
|
29
|
+
/** Heading text of the close-confirmation dialog. */
|
|
30
|
+
closeQueueConfirmHeader: string;
|
|
31
|
+
/** Confirmation dialog description when at least one job is InProgress and none are Failed. */
|
|
32
|
+
closeQueueConfirmDescriptionInProgress: string;
|
|
33
|
+
/** Confirmation dialog description when at least one job is Failed and none are InProgress. */
|
|
34
|
+
closeQueueConfirmDescriptionFailed: string;
|
|
35
|
+
/** Confirmation dialog description when there are both InProgress and Failed jobs. */
|
|
36
|
+
closeQueueConfirmDescriptionMixed: string;
|
|
37
|
+
/** Label for the confirmation dialog's confirm button. */
|
|
38
|
+
closeLabel: string;
|
|
39
|
+
/** Label for the confirmation dialog's cancel button. */
|
|
40
|
+
cancelLabel: string;
|
|
41
|
+
}
|
|
42
|
+
/** Color overrides for `ImportExportQueue`. */
|
|
43
|
+
export interface ImportExportQueueColors {
|
|
44
|
+
/** Queue panel background. */
|
|
45
|
+
background?: string;
|
|
46
|
+
/** Heading and job-label text. */
|
|
47
|
+
text?: string;
|
|
48
|
+
/** Neutral icon color and the canceled row's dimmed file name. */
|
|
49
|
+
textSecondary?: string;
|
|
50
|
+
/** Successful-job status icon color. */
|
|
51
|
+
successIcon?: string;
|
|
52
|
+
/** Failed-job status icon color. */
|
|
53
|
+
errorIcon?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Warned-job status icon color. The aggregate progress bar has no
|
|
56
|
+
* counterpart here: it is the UI kit's `ProgressBar`, which themes its own
|
|
57
|
+
* track and fill from the same 2.0 tokens.
|
|
58
|
+
*/
|
|
59
|
+
warningIcon?: string;
|
|
60
|
+
/** Divider between the header and the job rows. */
|
|
61
|
+
divider?: string;
|
|
62
|
+
/** Failed-job count badge background. */
|
|
63
|
+
failureCountBackground?: string;
|
|
64
|
+
/** Failed-job count badge text. */
|
|
65
|
+
failureCountText?: string;
|
|
66
|
+
}
|
|
67
|
+
/** Typography class overrides for `ImportExportQueue`. */
|
|
68
|
+
export interface ImportExportQueueTypography {
|
|
69
|
+
/** Class applied to the queue heading. Defaults to `'dial-small-semi-text'`. */
|
|
70
|
+
titleClassName?: string;
|
|
71
|
+
/** Class applied to a job's file name. Defaults to `'dial-small-text'`. */
|
|
72
|
+
jobLabelClassName?: string;
|
|
73
|
+
/** Class applied to the canceled row's trailing label. Defaults to `'dial-small-text'`. */
|
|
74
|
+
canceledLabelClassName?: string;
|
|
75
|
+
/** Class applied to the failed-job count badge. Defaults to `'dial-small-semi-text'`. */
|
|
76
|
+
failureCountClassName?: string;
|
|
77
|
+
}
|
|
78
|
+
/** Combined style overrides for `ImportExportQueue`. */
|
|
79
|
+
export interface ImportExportQueueStyles {
|
|
80
|
+
/** Color overrides applied as CSS custom properties. */
|
|
81
|
+
colors?: ImportExportQueueColors;
|
|
82
|
+
/** Typography class overrides. */
|
|
83
|
+
typography?: ImportExportQueueTypography;
|
|
84
|
+
/** Extra class name(s) merged onto the queue root. */
|
|
85
|
+
rootClassName?: string;
|
|
86
|
+
/** Extra class name(s) merged onto the scrollable jobs container. */
|
|
87
|
+
bodyClassName?: string;
|
|
88
|
+
/** Arbitrary CSS custom properties applied after typed color overrides. */
|
|
89
|
+
cssVars?: CSSProperties;
|
|
90
|
+
}
|
|
91
|
+
/** Props accepted by `ImportExportQueue`. */
|
|
92
|
+
export interface ImportExportQueueProps {
|
|
93
|
+
/**
|
|
94
|
+
* Queue panel heading, rendered verbatim. The host composes any count into
|
|
95
|
+
* it (e.g. `t(key, { count: jobs.length })`); the component never pluralizes.
|
|
96
|
+
*/
|
|
97
|
+
title: string;
|
|
98
|
+
/** Current list of transfer jobs. */
|
|
99
|
+
jobs: ConversationTransferJob[];
|
|
100
|
+
/** Called when the queue should close (after confirmation if needed). */
|
|
101
|
+
onClose: () => void;
|
|
102
|
+
/**
|
|
103
|
+
* Called with the job id when the user cancels an in-progress job. The host
|
|
104
|
+
* is expected to abort the work and leave the job in `jobs` with status
|
|
105
|
+
* `Canceled`.
|
|
106
|
+
*/
|
|
107
|
+
onCancel: (jobId: string) => void;
|
|
108
|
+
/** User-visible string labels. */
|
|
109
|
+
labels: ImportExportQueueLabels;
|
|
110
|
+
/** Color, typography, class, and CSS-variable overrides. */
|
|
111
|
+
styles?: ImportExportQueueStyles;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=import-export-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-export-queue.d.ts","sourceRoot":"","sources":["../../src/models/import-export-queue.ts"],"names":[],"mappings":"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"}
|
package/models/panel-props.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
1
2
|
import { DropdownItem } from '@epam/ai-dial-ui-kit';
|
|
2
3
|
import { ReactNode } from 'react';
|
|
3
|
-
import { FilterTab } from '../types/conversation-classification';
|
|
4
4
|
/** Labels for each filter tab. */
|
|
5
5
|
export interface FilterLabels {
|
|
6
6
|
/** Label for the "All" tab. */
|
|
@@ -11,6 +11,8 @@ export interface FilterLabels {
|
|
|
11
11
|
shared: string;
|
|
12
12
|
/** Label for the "Organization" tab. */
|
|
13
13
|
organization: string;
|
|
14
|
+
/** Accessible name of the filter row itself. Defaults to `"Filter chats"`. */
|
|
15
|
+
groupAriaLabel?: string;
|
|
14
16
|
}
|
|
15
17
|
/** A single conversation entry shown in the history panel. */
|
|
16
18
|
export interface ConversationItem {
|
|
@@ -30,12 +32,18 @@ export interface ConversationItem {
|
|
|
30
32
|
isIconLoading?: boolean;
|
|
31
33
|
/** Conversation URL. When provided, middle-click opens it in a new tab. */
|
|
32
34
|
href?: string;
|
|
35
|
+
/** When `true`, a "TASK" pill badge is rendered at the end of the row. */
|
|
36
|
+
showTaskBadge?: boolean;
|
|
37
|
+
/** Text shown inside the task badge. When `showTaskBadge` is `true` and this is omitted, the badge renders with no text. */
|
|
38
|
+
taskBadgeLabel?: string;
|
|
39
|
+
/** When `true`, an unread indicator dot is rendered before the row's leading icon. */
|
|
40
|
+
isUnread?: boolean;
|
|
33
41
|
}
|
|
34
42
|
/** Font overrides for the header title in `ConversationPanel`. */
|
|
35
43
|
export interface ConversationPanelTypography {
|
|
36
44
|
/** A single utility class (e.g. `'dial-body-semi-text'`) applied to the title span. */
|
|
37
45
|
fontClassName?: string;
|
|
38
|
-
/** Typography class applied to collapsible group header buttons. Defaults to `'dial-tiny-semi-text
|
|
46
|
+
/** Typography class applied to collapsible group header buttons. Defaults to `'dial-tiny-lead-semi-text'`. */
|
|
39
47
|
groupHeaderClassName?: string;
|
|
40
48
|
/** Typography class applied to conversation title text in each row. Defaults to `'dial-small-text'`. */
|
|
41
49
|
itemTitleClassName?: string;
|
|
@@ -48,24 +56,10 @@ export interface ConversationPanelTypography {
|
|
|
48
56
|
export interface NewChatButtonColors {
|
|
49
57
|
/** Default background. */
|
|
50
58
|
background?: string;
|
|
51
|
-
/** Hover background. */
|
|
52
|
-
hoverBackground?: string;
|
|
53
|
-
/** Active/pressed background. */
|
|
54
|
-
activeBackground?: string;
|
|
55
59
|
/** Label and icon color. */
|
|
56
60
|
text?: string;
|
|
57
|
-
/**
|
|
58
|
-
|
|
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;
|
|
61
|
+
/** Keyboard focus ring color. Defaults to `--stroke-focus-black`. */
|
|
62
|
+
focusOutline?: string;
|
|
69
63
|
}
|
|
70
64
|
/** CSS custom-property overrides for `ConversationPanel`. */
|
|
71
65
|
export interface ConversationColors {
|
|
@@ -91,6 +85,14 @@ export interface ConversationColors {
|
|
|
91
85
|
triggerIconIdle?: string;
|
|
92
86
|
/** Shimmer color of the loading skeleton avatar. */
|
|
93
87
|
skeletonColor?: string;
|
|
88
|
+
/** Border color of the task pill badge. Defaults to `--stroke-tertiary`. */
|
|
89
|
+
taskBadgeBorder?: string;
|
|
90
|
+
/** Background color of the task pill badge. Defaults to `--bg-layer-base`. */
|
|
91
|
+
taskBadgeBackground?: string;
|
|
92
|
+
/** Text color of the task pill badge. Defaults to `--text-secondary`. */
|
|
93
|
+
taskBadgeText?: string;
|
|
94
|
+
/** Fill color of the unread indicator dot. Defaults to `--text-accent`. */
|
|
95
|
+
unreadDot?: string;
|
|
94
96
|
}
|
|
95
97
|
/** Combined style overrides (colors and typography) for `ConversationPanel`. */
|
|
96
98
|
export interface ConversationPanelStyles {
|
|
@@ -102,6 +104,15 @@ export interface ConversationPanelStyles {
|
|
|
102
104
|
typography?: ConversationPanelTypography;
|
|
103
105
|
/** CSS class applied to the icon badge in each conversation row. Defaults to `'rounded-full'`. */
|
|
104
106
|
itemIconBadgeClassName?: string;
|
|
107
|
+
/** Typography class applied to the task pill badge in each conversation row. Defaults to `'dial-caption-lead-semi-text'`. Colors come from the module stylesheet. */
|
|
108
|
+
taskBadgeClassName?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Extra CSS class merged onto the search field's wrapper. The wrapper's
|
|
111
|
+
* corner radius is themed with the `--cp-search-radius` custom property, so
|
|
112
|
+
* this is only needed for anything the panel's own stylesheet does not
|
|
113
|
+
* cover; a `rounded-*` utility passed here still wins over that property.
|
|
114
|
+
*/
|
|
115
|
+
searchWrapperClassName?: string;
|
|
105
116
|
}
|
|
106
117
|
/** Localised labels and text content for `ConversationPanel`. */
|
|
107
118
|
export interface ConversationPanelLabels {
|
|
@@ -134,6 +145,8 @@ export interface ConversationPanelLabels {
|
|
|
134
145
|
};
|
|
135
146
|
/** Accessible label for the row actions trigger button. Defaults to `"More actions"`. */
|
|
136
147
|
actionsLabel?: string;
|
|
148
|
+
/** Accessible (visually hidden) label announced for the unread indicator dot. Defaults to `"Unread"`. */
|
|
149
|
+
unreadIndicatorLabel?: string;
|
|
137
150
|
/** Accessible label for the sidebar toggle icon button. Required when `onToggle` is provided. */
|
|
138
151
|
closeAriaLabel?: string;
|
|
139
152
|
}
|
|
@@ -157,6 +170,12 @@ export interface ConversationPanelProps {
|
|
|
157
170
|
styles?: ConversationPanelStyles;
|
|
158
171
|
/** Extra class name(s) merged onto the panel root element. */
|
|
159
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;
|
|
160
179
|
/** Builds dropdown actions for a row. When absent or empty, no action trigger is rendered. */
|
|
161
180
|
getActions?: (item: ConversationItem) => DropdownItem[];
|
|
162
181
|
/** Called when a row action menu opens; receives the trigger button. */
|
|
@@ -174,6 +193,22 @@ export interface ConversationPanelProps {
|
|
|
174
193
|
activeFilter?: FilterTab;
|
|
175
194
|
/** Called when the active filter tab changes. */
|
|
176
195
|
onActiveFilterChange?: (tab: FilterTab) => void;
|
|
196
|
+
/**
|
|
197
|
+
* When `true`, the filter tabs are not rendered and the list stays on
|
|
198
|
+
* whichever tab is active — `FilterTab.All` unless `activeFilter` says
|
|
199
|
+
* otherwise. Defaults to `false`.
|
|
200
|
+
*/
|
|
201
|
+
isFilterTabsHidden?: boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Sources to exclude entirely. A conversation whose `source` is listed here
|
|
204
|
+
* is dropped before filtering/grouping, so it never appears under any tab
|
|
205
|
+
* (including `All`) or in a group heading, and its tab pill is not rendered
|
|
206
|
+
* in `FilterTabs`. Use this to fully gate a source (e.g. `Organization`)
|
|
207
|
+
* behind a deployment/config toggle, as opposed to `isFilterTabsHidden`,
|
|
208
|
+
* which only hides the tab row while leaving every source's conversations
|
|
209
|
+
* visible under `All`.
|
|
210
|
+
*/
|
|
211
|
+
hiddenSources?: FilterTab[];
|
|
177
212
|
}
|
|
178
213
|
/** Describes a completed drag-and-drop move in the conversation panel. */
|
|
179
214
|
export interface ConversationMove {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-props.d.ts","sourceRoot":"","sources":["../../src/models/panel-props.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"panel-props.d.ts","sourceRoot":"","sources":["../../src/models/panel-props.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
/** Labels for every user-visible string in `RenameConversationPopup`. */
|
|
3
|
+
export interface RenameConversationPopupLabels {
|
|
4
|
+
/** Popup dialog heading. */
|
|
5
|
+
popupTitle: string;
|
|
6
|
+
/** Placeholder text for the name input. */
|
|
7
|
+
inputPlaceholder: string;
|
|
8
|
+
/** Accessible name and tooltip for the AI-generation trigger button. */
|
|
9
|
+
renameWithAiLabel: string;
|
|
10
|
+
/** Error shown when the AI name generation request fails. */
|
|
11
|
+
renameWithAiError: string;
|
|
12
|
+
/** Error shown when the trimmed name's UTF-8 byte length exceeds 255. */
|
|
13
|
+
nameTooLongError: string;
|
|
14
|
+
/** Label for the save/confirm button. */
|
|
15
|
+
saveLabel: string;
|
|
16
|
+
/** Label for the cancel button. */
|
|
17
|
+
cancelLabel: string;
|
|
18
|
+
}
|
|
19
|
+
/** Style overrides for `RenameConversationPopup` content. */
|
|
20
|
+
export interface RenameConversationPopupStyles {
|
|
21
|
+
/** Extra class name(s) merged onto the popup body wrapper. */
|
|
22
|
+
bodyClassName?: string;
|
|
23
|
+
/** Arbitrary CSS custom properties inherited by the popup content. */
|
|
24
|
+
cssVars?: CSSProperties;
|
|
25
|
+
}
|
|
26
|
+
/** Props accepted by `RenameConversationPopup`. */
|
|
27
|
+
export interface RenameConversationPopupProps {
|
|
28
|
+
/** Whether the popup is visible. */
|
|
29
|
+
isOpen: boolean;
|
|
30
|
+
/** The conversation's current name, pre-filled into the input on open. */
|
|
31
|
+
currentTitle: string;
|
|
32
|
+
/** While `true`, the input/buttons are replaced by a loading indicator. */
|
|
33
|
+
isSaving: boolean;
|
|
34
|
+
/** API-level error message, or `null` when none. */
|
|
35
|
+
error: string | null;
|
|
36
|
+
/** Called with the trimmed, sanitized new name when the user confirms. */
|
|
37
|
+
onSave: (newTitle: string) => void;
|
|
38
|
+
/** Called when the user cancels or closes the popup. */
|
|
39
|
+
onCancel: () => void;
|
|
40
|
+
/** Called to request an AI-generated name; must resolve with the generated string. */
|
|
41
|
+
onGenerateWithAi: () => Promise<string>;
|
|
42
|
+
/** User-visible string labels. */
|
|
43
|
+
labels: RenameConversationPopupLabels;
|
|
44
|
+
/** Class and CSS-variable overrides for the popup content. */
|
|
45
|
+
styles?: RenameConversationPopupStyles;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=rename-conversation-popup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename-conversation-popup.d.ts","sourceRoot":"","sources":["../../src/models/rename-conversation-popup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,yEAAyE;AACzE,MAAM,WAAW,6BAA6B;IAC5C,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,6DAA6D;AAC7D,MAAM,WAAW,6BAA6B;IAC5C,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,mDAAmD;AACnD,MAAM,WAAW,4BAA4B;IAC3C,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,0EAA0E;IAC1E,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,wDAAwD;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,sFAAsF;IACtF,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,kCAAkC;IAClC,MAAM,EAAE,6BAA6B,CAAC;IACtC,8DAA8D;IAC9D,MAAM,CAAC,EAAE,6BAA6B,CAAC;CACxC"}
|
package/models/virtual-row.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
1
2
|
import { DropdownItem } from '@epam/ai-dial-ui-kit';
|
|
2
|
-
import { FilterTab } from '../types/conversation-classification';
|
|
3
3
|
import { VirtualRowKind } from '../types/virtual-row';
|
|
4
4
|
import { ConversationItem } from './panel-props';
|
|
5
|
-
export { VirtualRowKind };
|
|
6
5
|
/** A collapsible group header row in the virtual list. */
|
|
7
|
-
|
|
6
|
+
interface GroupHeaderRow {
|
|
8
7
|
/** Row discriminant. */
|
|
9
8
|
kind: VirtualRowKind.Header;
|
|
10
9
|
/** Identifies which group this header belongs to. */
|
|
@@ -13,7 +12,7 @@ export interface GroupHeaderRow {
|
|
|
13
12
|
label: string;
|
|
14
13
|
}
|
|
15
14
|
/** A single conversation item row in the virtual list. */
|
|
16
|
-
|
|
15
|
+
interface ConversationItemRow {
|
|
17
16
|
/** Row discriminant. */
|
|
18
17
|
kind: VirtualRowKind.Item;
|
|
19
18
|
/** The conversation to render. */
|
|
@@ -24,13 +23,15 @@ export interface ConversationItemRow {
|
|
|
24
23
|
/** Union of all possible virtual row shapes. */
|
|
25
24
|
export type VirtualRow = GroupHeaderRow | ConversationItemRow;
|
|
26
25
|
/** Typography/class overrides applied to virtual row elements. */
|
|
27
|
-
|
|
26
|
+
interface RowStyles {
|
|
28
27
|
/** Typography class applied to group header buttons. */
|
|
29
28
|
groupHeaderClassName?: string;
|
|
30
29
|
/** Typography class applied to conversation title text. */
|
|
31
30
|
itemTitleClassName?: string;
|
|
32
31
|
/** CSS class applied to the icon badge in each conversation row. */
|
|
33
32
|
itemIconBadgeClassName?: string;
|
|
33
|
+
/** CSS class applied to the task pill badge in each conversation row. */
|
|
34
|
+
taskBadgeClassName?: string;
|
|
34
35
|
}
|
|
35
36
|
/** Data passed to every virtual row renderer via `react-window`'s `rowProps`. */
|
|
36
37
|
export interface RowRendererData {
|
|
@@ -54,6 +55,8 @@ export interface RowRendererData {
|
|
|
54
55
|
onActionMenuOpen?: (item: ConversationItem, trigger: HTMLButtonElement) => void;
|
|
55
56
|
/** Accessible label for the actions trigger button. */
|
|
56
57
|
actionsLabel?: string;
|
|
58
|
+
/** Accessible (visually hidden) label announced for the unread indicator dot. */
|
|
59
|
+
unreadIndicatorLabel?: string;
|
|
57
60
|
/** Typography/class overrides applied to virtual row elements. */
|
|
58
61
|
styles?: RowStyles;
|
|
59
62
|
/** Id of the conversation currently being dragged. `null` when no drag is in progress. */
|
|
@@ -73,4 +76,5 @@ export interface RowRendererData {
|
|
|
73
76
|
/** Called when the user drops a conversation row onto a target position. */
|
|
74
77
|
onDrop: (targetId: string, targetGroupKey: FilterTab, afterId: string | null) => void;
|
|
75
78
|
}
|
|
79
|
+
export {};
|
|
76
80
|
//# 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,
|
|
1
|
+
{"version":3,"file":"virtual-row.d.ts","sourceRoot":"","sources":["../../src/models/virtual-row.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,0DAA0D;AAC1D,UAAU,cAAc;IACtB,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,UAAU,mBAAmB;IAC3B,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,UAAU,SAAS;IACjB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;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,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,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.491",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"types": "./index.d.ts",
|
|
10
10
|
"exports": {
|
|
11
11
|
"./package.json": "./package.json",
|
|
12
|
-
"./styles.css": "./
|
|
12
|
+
"./styles.css": "./index.css",
|
|
13
13
|
".": {
|
|
14
14
|
"types": "./index.d.ts",
|
|
15
15
|
"import": "./index.js",
|
|
@@ -18,14 +18,13 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"react-window": "^2.2.7",
|
|
21
|
-
"@
|
|
22
|
-
"@epam/ai-dial-
|
|
21
|
+
"@tabler/icons-react": "^3.44.0",
|
|
22
|
+
"@epam/ai-dial-sidebar": "1.1.0-dev.491"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"react": "^19.
|
|
26
|
-
"@
|
|
27
|
-
"@epam/ai-dial-
|
|
28
|
-
"@epam/ai-dial-sidebar": "1.1.0-dev.49"
|
|
25
|
+
"react": "^19.2.8",
|
|
26
|
+
"@epam/ai-dial-chat-shared": "1.1.0-dev.491",
|
|
27
|
+
"@epam/ai-dial-ui-kit": "^0.14.2"
|
|
29
28
|
},
|
|
30
29
|
"repository": {
|
|
31
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
|
-
/**
|
|
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,EAAE,
|
|
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"}
|
package/utils/drag.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
1
2
|
import { DragEvent } from 'react';
|
|
2
3
|
import { ConversationItem } from '../models/panel-props';
|
|
3
4
|
import { VirtualRow } from '../models/virtual-row';
|
|
4
|
-
import { FilterTab } from '../types/conversation-classification';
|
|
5
5
|
/** Resolves a conversation's `source` to its group, defaulting to `MyChats` when unset. */
|
|
6
6
|
export declare const sourceToGroupKey: (source?: FilterTab) => FilterTab;
|
|
7
7
|
/** Returns the `FilterTab` of the virtual row containing the given item id. */
|
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,
|
|
1
|
+
{"version":3,"file":"drag.d.ts","sourceRoot":"","sources":["../../src/utils/drag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,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;AAGxD,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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IconFile } from '@tabler/icons-react';
|
|
2
|
+
type TransferFileIcon = typeof IconFile;
|
|
3
|
+
/**
|
|
4
|
+
* Returns the icon for a transfer row, chosen from the file name's extension:
|
|
5
|
+
* the archive icon for `.dial`/`.zip`, the JSON icon for `.json`, and a
|
|
6
|
+
* generic file icon for anything else.
|
|
7
|
+
*/
|
|
8
|
+
export declare const getTransferFileIcon: (fileName: string) => TransferFileIcon;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=transfer-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-file.d.ts","sourceRoot":"","sources":["../../src/utils/transfer-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAyB,MAAM,qBAAqB,CAAC;AAGtE,KAAK,gBAAgB,GAAG,OAAO,QAAQ,CAAC;AAIxC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,gBAStD,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { DropdownItem } from '@epam/ai-dial-ui-kit';
|
|
2
|
-
import { FC } from 'react';
|
|
3
|
-
import { ConversationItem } from '../../models/panel-props';
|
|
4
|
-
/** Props for `ConversationGroup`. */
|
|
5
|
-
export interface ConversationGroupProps {
|
|
6
|
-
/** Section heading label. */
|
|
7
|
-
label: string;
|
|
8
|
-
/** Conversation items belonging to this group. */
|
|
9
|
-
items: ConversationItem[];
|
|
10
|
-
/** `id` of the currently active conversation. */
|
|
11
|
-
activeConversationId?: string;
|
|
12
|
-
/** Called when the user selects a conversation row. */
|
|
13
|
-
onSelectConversation: (id: string) => void;
|
|
14
|
-
/** Builds dropdown actions for a row. When absent or empty, no action trigger is rendered. */
|
|
15
|
-
getActions?: (item: ConversationItem) => DropdownItem[];
|
|
16
|
-
/** Called when a row action menu opens. */
|
|
17
|
-
onActionMenuOpen?: (item: ConversationItem, trigger: HTMLButtonElement) => void;
|
|
18
|
-
/** Accessible label for the actions trigger button. Defaults to `"More actions"`. */
|
|
19
|
-
actionsLabel?: string;
|
|
20
|
-
/** Typography class applied to the group header button. Defaults to `'dial-tiny-semi-text uppercase'`. */
|
|
21
|
-
groupHeaderClassName?: string;
|
|
22
|
-
/** Typography class applied to the conversation title text. */
|
|
23
|
-
itemTitleClassName?: string;
|
|
24
|
-
}
|
|
25
|
-
/** Collapsible section rendering a labelled group of conversation rows. */
|
|
26
|
-
export declare const ConversationGroup: FC<ConversationGroupProps>;
|
|
27
|
-
//# sourceMappingURL=ConversationGroup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationGroup.d.ts","sourceRoot":"","sources":["../../../src/components/ConversationGroup/ConversationGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,KAAK,EAAE,EAAyB,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,qCAAqC;AACrC,MAAM,WAAW,sBAAsB;IACrC,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,8FAA8F;IAC9F,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,YAAY,EAAE,CAAC;IAExD,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,iBAAiB,KACvB,IAAI,CAAC;IACV,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0GAA0G;IAC1G,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAmExD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationRow.d.ts","sourceRoot":"","sources":["../../../src/components/ConversationGroup/ConversationRow.tsx"],"names":[],"mappings":"AAKA,OAAO,EASL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAiD,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,IAAI,EAAE,gBAAgB,CAAC;IACvB,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sGAAsG;IACtG,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,YAAY,EAAE,CAAC;IACxD,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,iBAAiB,KACvB,IAAI,CAAC;IACV,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oEAAoE;IACpE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IACpB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC1C,qDAAqD;IACrD,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gDAAgD;IAChD,MAAM,CAAC,EAAE,CACP,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,SAAS,EACzB,OAAO,EAAE,MAAM,GAAG,IAAI,KACnB,IAAI,CAAC;CACX;AAED,8GAA8G;AAC9G,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAoLpD,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/** Filter tab identifier; also used as conversation source and group key. */
|
|
2
|
-
export declare enum FilterTab {
|
|
3
|
-
All = "all",
|
|
4
|
-
Pinned = "pinned",
|
|
5
|
-
MyChats = "my-chats",
|
|
6
|
-
Shared = "shared",
|
|
7
|
-
Organization = "organization"
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=conversation-classification.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|