@epam/ai-dial-conversation-panel 1.3.0-dev.106 → 1.3.0-dev.110
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 +3 -0
- package/components/ConversationGroupHeader/ConversationGroupHeader.d.ts.map +1 -1
- package/components/ConversationList/ConversationList.d.ts +5 -0
- package/components/ConversationList/ConversationList.d.ts.map +1 -0
- package/components/ConversationListHeader/ConversationListHeader.d.ts +5 -0
- package/components/ConversationListHeader/ConversationListHeader.d.ts.map +1 -0
- package/components/ConversationListSection/ConversationListSection.d.ts +5 -0
- package/components/ConversationListSection/ConversationListSection.d.ts.map +1 -0
- package/components/ConversationPanel/ConversationPanel.d.ts.map +1 -1
- package/components/ConversationRow/ConversationRow.d.ts +3 -0
- package/components/ConversationRow/ConversationRow.d.ts.map +1 -1
- package/components/RowRenderer/RowRenderer.d.ts +1 -1
- package/components/RowRenderer/RowRenderer.d.ts.map +1 -1
- package/constants/public-class-names.d.ts +6 -0
- package/constants/public-class-names.d.ts.map +1 -1
- package/constants/virtual-list.d.ts +6 -0
- package/constants/virtual-list.d.ts.map +1 -1
- package/index.css +2 -2
- package/index.d.ts +7 -0
- package/index.d.ts.map +1 -1
- package/index.js +735 -458
- package/models/conversation-list-header.d.ts +71 -0
- package/models/conversation-list-header.d.ts.map +1 -0
- package/models/conversation-list-section.d.ts +52 -0
- package/models/conversation-list-section.d.ts.map +1 -0
- package/models/conversation-list.d.ts +107 -0
- package/models/conversation-list.d.ts.map +1 -0
- package/models/panel-props.d.ts +9 -52
- package/models/panel-props.d.ts.map +1 -1
- package/models/virtual-row.d.ts +3 -0
- package/models/virtual-row.d.ts.map +1 -1
- package/package.json +4 -4
- package/types/conversation-row-variant.d.ts +8 -0
- package/types/conversation-row-variant.d.ts.map +1 -0
- package/{components/ConversationPanel/utils.d.ts → utils/conversation-filter.d.ts} +2 -2
- package/utils/conversation-filter.d.ts.map +1 -0
- package/utils/conversation-row.d.ts +1 -1
- package/utils/conversation-row.d.ts.map +1 -1
- package/components/ConversationPanel/utils.d.ts.map +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { FilterLabels } from './panel-props';
|
|
4
|
+
/** Localised labels for `ConversationListHeader`. */
|
|
5
|
+
export interface ConversationListHeaderLabels {
|
|
6
|
+
/** Visible heading, rendered uppercase by its typography class. */
|
|
7
|
+
title: string;
|
|
8
|
+
/** Accessible name of the button that opens the search field. */
|
|
9
|
+
searchOpenLabel: string;
|
|
10
|
+
/** Accessible name of the button that closes the search field. */
|
|
11
|
+
searchCloseLabel: string;
|
|
12
|
+
/** Placeholder and accessible name of the search field. */
|
|
13
|
+
searchPlaceholder: string;
|
|
14
|
+
/** Accessible name of the search field's clear button. */
|
|
15
|
+
searchClearLabel: string;
|
|
16
|
+
/** Labels of the filter options; `groupAriaLabel` names the filter trigger. */
|
|
17
|
+
filterLabels: FilterLabels;
|
|
18
|
+
}
|
|
19
|
+
/** Color overrides for `ConversationListHeader`, applied as CSS custom properties on its root. */
|
|
20
|
+
export interface ConversationListHeaderColors {
|
|
21
|
+
/** Title color at rest and on hover. Defaults to `--text-secondary`. */
|
|
22
|
+
title?: string;
|
|
23
|
+
/** Title color while the title button has keyboard focus. Defaults to `--text-primary`. */
|
|
24
|
+
titleFocus?: string;
|
|
25
|
+
}
|
|
26
|
+
/** Typography overrides for `ConversationListHeader`. */
|
|
27
|
+
export interface ConversationListHeaderTypography {
|
|
28
|
+
/** Typography class applied to the title. Defaults to `'dial-tiny-lead-semi-text'`. */
|
|
29
|
+
titleClassName?: string;
|
|
30
|
+
/** Typography class applied to the search field text. Defaults to `'dial-tiny-text'`. */
|
|
31
|
+
searchTextClassName?: string;
|
|
32
|
+
}
|
|
33
|
+
/** Style overrides for `ConversationListHeader`. */
|
|
34
|
+
export interface ConversationListHeaderStyles {
|
|
35
|
+
/** Color overrides for the title. */
|
|
36
|
+
colors?: ConversationListHeaderColors;
|
|
37
|
+
/** Typography overrides for the title and the search field. */
|
|
38
|
+
typography?: ConversationListHeaderTypography;
|
|
39
|
+
}
|
|
40
|
+
/** Props accepted by `ConversationListHeader`. */
|
|
41
|
+
export interface ConversationListHeaderProps {
|
|
42
|
+
/** Localised labels for the header. */
|
|
43
|
+
labels: ConversationListHeaderLabels;
|
|
44
|
+
/** Whether the list under the header is expanded; drives the title's `aria-expanded`. Defaults to `true`. */
|
|
45
|
+
isExpanded?: boolean;
|
|
46
|
+
/** Called when the title is activated. When absent the title is plain text, not a button. */
|
|
47
|
+
onToggleExpanded?: () => void;
|
|
48
|
+
/** `id` of the element the title controls, referenced through `aria-controls`. */
|
|
49
|
+
controlsId?: string;
|
|
50
|
+
/** Current search text. Defaults to `''`. */
|
|
51
|
+
searchQuery?: string;
|
|
52
|
+
/** Whether the search field replaces the header row. Defaults to `false`. */
|
|
53
|
+
isSearchOpen?: boolean;
|
|
54
|
+
/** Called with the search text on every edit and with `''` when the search closes. The search control renders only when this and `onSearchOpenChange` are both provided. */
|
|
55
|
+
onSearchChange?: (query: string) => void;
|
|
56
|
+
/** Called when the search field opens or closes. */
|
|
57
|
+
onSearchOpenChange?: (isOpen: boolean) => void;
|
|
58
|
+
/** Filter tab marked as chosen in the filter menu. Defaults to `FilterTab.All`. */
|
|
59
|
+
activeFilter?: FilterTab;
|
|
60
|
+
/** Called when a filter option is chosen. The filter trigger renders only when this is provided. */
|
|
61
|
+
onFilterChange?: (tab: FilterTab) => void;
|
|
62
|
+
/** Filter options to omit from the menu (see `ConversationListProps.hiddenSources`). */
|
|
63
|
+
hiddenSources?: FilterTab[];
|
|
64
|
+
/** Extra controls rendered after the filter trigger, e.g. an overflow menu. */
|
|
65
|
+
actions?: ReactNode;
|
|
66
|
+
/** Color and typography overrides. */
|
|
67
|
+
styles?: ConversationListHeaderStyles;
|
|
68
|
+
/** Extra class name(s) merged onto the header root. */
|
|
69
|
+
className?: string;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=conversation-list-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-list-header.d.ts","sourceRoot":"","sources":["../../src/models/conversation-list-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,qDAAqD;AACrD,MAAM,WAAW,4BAA4B;IAC3C,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,kGAAkG;AAClG,MAAM,WAAW,4BAA4B;IAC3C,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yDAAyD;AACzD,MAAM,WAAW,gCAAgC;IAC/C,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,oDAAoD;AACpD,MAAM,WAAW,4BAA4B;IAC3C,qCAAqC;IACrC,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,gCAAgC,CAAC;CAC/C;AAED,kDAAkD;AAClD,MAAM,WAAW,2BAA2B;IAC1C,uCAAuC;IACvC,MAAM,EAAE,4BAA4B,CAAC;IACrC,6GAA6G;IAC7G,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4KAA4K;IAC5K,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,mFAAmF;IACnF,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,oGAAoG;IACpG,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,wFAAwF;IACxF,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,sCAAsC;IACtC,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
import { DropdownItem } from '@epam/ai-dial-ui-kit';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import { ConversationListLabels, ConversationListStyles } from './conversation-list';
|
|
5
|
+
import { ConversationListHeaderLabels, ConversationListHeaderStyles } from './conversation-list-header';
|
|
6
|
+
import { ConversationItem, ConversationMove } from './panel-props';
|
|
7
|
+
/** Localised labels for `ConversationListSection`: those of its header and of its list. */
|
|
8
|
+
export interface ConversationListSectionLabels extends ConversationListHeaderLabels, ConversationListLabels {
|
|
9
|
+
}
|
|
10
|
+
/** Style overrides for `ConversationListSection`. */
|
|
11
|
+
export interface ConversationListSectionStyles {
|
|
12
|
+
/** Overrides for the header. */
|
|
13
|
+
header?: ConversationListHeaderStyles;
|
|
14
|
+
/** Overrides for the list. */
|
|
15
|
+
list?: ConversationListStyles;
|
|
16
|
+
}
|
|
17
|
+
/** Props accepted by `ConversationListSection`. */
|
|
18
|
+
export interface ConversationListSectionProps {
|
|
19
|
+
/** Ordered list of conversations to display. */
|
|
20
|
+
conversations: ConversationItem[];
|
|
21
|
+
/** When true, renders skeleton rows instead of the conversation list. */
|
|
22
|
+
isLoading?: boolean;
|
|
23
|
+
/** Called with the conversation `id` when a row is clicked. */
|
|
24
|
+
onSelectConversation: (id: string) => void;
|
|
25
|
+
/** `id` of the currently viewed conversation; that row gets `aria-current="page"`. */
|
|
26
|
+
activeConversationId?: string;
|
|
27
|
+
/** Localised labels for the header and the list; `labels.title` also names the section. */
|
|
28
|
+
labels: ConversationListSectionLabels;
|
|
29
|
+
/** Filter tab the host asks for; the section adopts it whenever it changes. */
|
|
30
|
+
requestedFilter?: FilterTab;
|
|
31
|
+
/** Hides the filter trigger in the header. Defaults to `false`. */
|
|
32
|
+
isFilterHidden?: boolean;
|
|
33
|
+
/** Called when the user chooses a filter in the header. */
|
|
34
|
+
onFilterChange?: (tab: FilterTab) => void;
|
|
35
|
+
/** Sources to exclude entirely, before filtering and grouping. */
|
|
36
|
+
hiddenSources?: FilterTab[];
|
|
37
|
+
/** Extra controls rendered at the end of the header, e.g. an overflow menu. */
|
|
38
|
+
headerActions?: ReactNode;
|
|
39
|
+
/** Builds dropdown actions for a row. When absent or empty, no action trigger is rendered. */
|
|
40
|
+
getActions?: (item: ConversationItem) => DropdownItem[];
|
|
41
|
+
/** Called when a row action menu opens; receives the trigger button. */
|
|
42
|
+
onActionMenuOpen?: (item: ConversationItem, trigger: HTMLButtonElement) => void;
|
|
43
|
+
/** Called when the user completes a drag-and-drop move. */
|
|
44
|
+
onMoveConversation?: (move: ConversationMove) => void;
|
|
45
|
+
/** Style overrides for the header and the list. */
|
|
46
|
+
styles?: ConversationListSectionStyles;
|
|
47
|
+
/** Extra class name(s) merged onto the list root, e.g. a host anchor. */
|
|
48
|
+
listClassName?: string;
|
|
49
|
+
/** Extra class name(s) merged onto the section root. */
|
|
50
|
+
className?: string;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=conversation-list-section.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-list-section.d.ts","sourceRoot":"","sources":["../../src/models/conversation-list-section.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAExE,2FAA2F;AAC3F,MAAM,WAAW,6BACf,SAAQ,4BAA4B,EAAE,sBAAsB;CAAG;AAEjE,qDAAqD;AACrD,MAAM,WAAW,6BAA6B;IAC5C,gCAAgC;IAChC,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,sBAAsB,CAAC;CAC/B;AAED,mDAAmD;AACnD,MAAM,WAAW,4BAA4B;IAC3C,gDAAgD;IAChD,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2FAA2F;IAC3F,MAAM,EAAE,6BAA6B,CAAC;IACtC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,mEAAmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,kEAAkE;IAClE,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,8FAA8F;IAC9F,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,YAAY,EAAE,CAAC;IACxD,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,iBAAiB,KACvB,IAAI,CAAC;IACV,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,mDAAmD;IACnD,MAAM,CAAC,EAAE,6BAA6B,CAAC;IACvC,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
import { DropdownItem } from '@epam/ai-dial-ui-kit';
|
|
3
|
+
import { ConversationRowVariant } from '../types/conversation-row-variant';
|
|
4
|
+
import { ConversationItem, ConversationMove } from './panel-props';
|
|
5
|
+
/** CSS custom-property overrides for the conversation list and its rows. */
|
|
6
|
+
export interface ConversationListColors {
|
|
7
|
+
/** Hover background for a conversation row. */
|
|
8
|
+
itemHover?: string;
|
|
9
|
+
/** Active/selected background for a conversation row. */
|
|
10
|
+
itemActive?: string;
|
|
11
|
+
/** Primary text color. */
|
|
12
|
+
text?: string;
|
|
13
|
+
/** Secondary text color (dates, metadata). */
|
|
14
|
+
textSecondary?: string;
|
|
15
|
+
/** Ring color shown around a group header acting as a drag-and-drop target. */
|
|
16
|
+
dropZoneRing?: string;
|
|
17
|
+
/** Background color of the active row actions trigger button. */
|
|
18
|
+
triggerBackground?: string;
|
|
19
|
+
/** Icon color of the row actions trigger button while active. */
|
|
20
|
+
triggerIcon?: string;
|
|
21
|
+
/** Icon color of the row actions trigger button in its idle state. */
|
|
22
|
+
triggerIconIdle?: string;
|
|
23
|
+
/** Shimmer color of the loading skeleton avatar. */
|
|
24
|
+
skeletonColor?: string;
|
|
25
|
+
/** Fill color of the unread indicator dot. Defaults to `--text-accent`. */
|
|
26
|
+
unreadDot?: string;
|
|
27
|
+
/** Border color of the read indicator dot of `Indicator` rows; no effect on `Avatar` rows, so none in `ConversationPanel`. Defaults to `--stroke-secondary`. */
|
|
28
|
+
indicatorDot?: string;
|
|
29
|
+
}
|
|
30
|
+
/** Typography overrides for the conversation list. */
|
|
31
|
+
export interface ConversationListTypography {
|
|
32
|
+
/** Typography class applied to the list root, inherited by rows and group headers that set none of their own. */
|
|
33
|
+
fontClassName?: string;
|
|
34
|
+
/** `font-family` applied to the list root. */
|
|
35
|
+
fontFamily?: string;
|
|
36
|
+
/** Typography class applied to collapsible group header buttons. Defaults to `'dial-tiny-lead-text'`. */
|
|
37
|
+
groupHeaderClassName?: string;
|
|
38
|
+
/** Typography class applied to conversation title text in each row. Defaults to `'dial-small-text'`. */
|
|
39
|
+
itemTitleClassName?: string;
|
|
40
|
+
}
|
|
41
|
+
/** Style overrides for `ConversationList`. */
|
|
42
|
+
export interface ConversationListStyles {
|
|
43
|
+
/** Color overrides applied as CSS custom properties on the list root. */
|
|
44
|
+
colors?: ConversationListColors;
|
|
45
|
+
/** Typography overrides for group headers and row titles. */
|
|
46
|
+
typography?: ConversationListTypography;
|
|
47
|
+
/** CSS class applied to the icon badge in each conversation row. Defaults to `'rounded-full'`. */
|
|
48
|
+
itemIconBadgeClassName?: string;
|
|
49
|
+
}
|
|
50
|
+
/** Localised labels for `ConversationList`. */
|
|
51
|
+
export interface ConversationListLabels {
|
|
52
|
+
/** Message shown when `conversations` is empty. */
|
|
53
|
+
emptyLabel: string;
|
|
54
|
+
/** Message shown when conversations exist but none match the filter and search. */
|
|
55
|
+
noResultsLabel: string;
|
|
56
|
+
/** Status message announced to assistive tech while conversations are loading. Defaults to `'Loading conversations'`. */
|
|
57
|
+
loadingLabel?: string;
|
|
58
|
+
/** Labels for collapsible group section headings. */
|
|
59
|
+
groupLabels?: {
|
|
60
|
+
/** Heading for the Pinned section. Defaults to `"Pinned"`. */
|
|
61
|
+
pinned?: string;
|
|
62
|
+
/** Heading for the My chats section. Defaults to `"My chats"`. */
|
|
63
|
+
myChats?: string;
|
|
64
|
+
/** Heading for the Shared section. Defaults to `"Shared"`. */
|
|
65
|
+
shared?: string;
|
|
66
|
+
/** Heading for the Organization section. Defaults to `"Organization"`. */
|
|
67
|
+
organization?: string;
|
|
68
|
+
};
|
|
69
|
+
/** Accessible label for the row actions trigger button. Defaults to `"More actions"`. */
|
|
70
|
+
actionsLabel?: string;
|
|
71
|
+
/** Accessible (visually hidden) label announced for the unread indicator dot. Defaults to `"Unread"`. */
|
|
72
|
+
unreadIndicatorLabel?: string;
|
|
73
|
+
}
|
|
74
|
+
/** Props accepted by `ConversationList`. */
|
|
75
|
+
export interface ConversationListProps {
|
|
76
|
+
/** Ordered list of conversations to display. */
|
|
77
|
+
conversations: ConversationItem[];
|
|
78
|
+
/** When true, renders skeleton rows instead of the conversation list. */
|
|
79
|
+
isLoading?: boolean;
|
|
80
|
+
/** Called with the conversation `id` when a row is clicked. */
|
|
81
|
+
onSelectConversation: (id: string) => void;
|
|
82
|
+
/** `id` of the currently viewed conversation; that row gets `aria-current="page"`. */
|
|
83
|
+
activeConversationId?: string;
|
|
84
|
+
/** Localised labels for the list. */
|
|
85
|
+
labels: ConversationListLabels;
|
|
86
|
+
/** Current search text. Rows whose title does not contain it are dropped and matches are highlighted. Defaults to `''`. */
|
|
87
|
+
searchQuery?: string;
|
|
88
|
+
/** Filter tab applied to the list. Defaults to `FilterTab.All`. */
|
|
89
|
+
activeFilter?: FilterTab;
|
|
90
|
+
/** Sources to exclude entirely, before filtering and grouping. */
|
|
91
|
+
hiddenSources?: FilterTab[];
|
|
92
|
+
/** Presentation of rows and group headers. Defaults to `ConversationRowVariant.Avatar`. */
|
|
93
|
+
rowVariant?: ConversationRowVariant;
|
|
94
|
+
/** Builds dropdown actions for a row. When absent or empty, no action trigger is rendered. */
|
|
95
|
+
getActions?: (item: ConversationItem) => DropdownItem[];
|
|
96
|
+
/** Called when a row action menu opens; receives the trigger button. */
|
|
97
|
+
onActionMenuOpen?: (item: ConversationItem, trigger: HTMLButtonElement) => void;
|
|
98
|
+
/** Called when the user completes a drag-and-drop move. */
|
|
99
|
+
onMoveConversation?: (move: ConversationMove) => void;
|
|
100
|
+
/** Style overrides for colors, typography and the row icon badge. */
|
|
101
|
+
styles?: ConversationListStyles;
|
|
102
|
+
/** `id` of the list root, for a header's `aria-controls` to reference. */
|
|
103
|
+
id?: string;
|
|
104
|
+
/** Extra class name(s) merged onto the list root. */
|
|
105
|
+
className?: string;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=conversation-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-list.d.ts","sourceRoot":"","sources":["../../src/models/conversation-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAExE,4EAA4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gKAAgK;IAChK,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,sDAAsD;AACtD,MAAM,WAAW,0BAA0B;IACzC,iHAAiH;IACjH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wGAAwG;IACxG,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,8CAA8C;AAC9C,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,kGAAkG;IAClG,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,+CAA+C;AAC/C,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAC;IACvB,yHAAyH;IACzH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,WAAW,CAAC,EAAE;QACZ,8DAA8D;QAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kEAAkE;QAClE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,8DAA8D;QAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,0EAA0E;QAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,4CAA4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qCAAqC;IACrC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,2HAA2H;IAC3H,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,kEAAkE;IAClE,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,2FAA2F;IAC3F,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,8FAA8F;IAC9F,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,YAAY,EAAE,CAAC;IACxD,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,iBAAiB,KACvB,IAAI,CAAC;IACV,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,qEAAqE;IACrE,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,0EAA0E;IAC1E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/models/panel-props.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
2
2
|
import { DropdownItem } from '@epam/ai-dial-ui-kit';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
|
+
import { ConversationListColors, ConversationListLabels, ConversationListTypography } from './conversation-list';
|
|
4
5
|
/** Labels for each filter tab. */
|
|
5
6
|
export interface FilterLabels {
|
|
6
7
|
/** Label for the "All" tab. */
|
|
@@ -41,18 +42,15 @@ export interface ConversationItem {
|
|
|
41
42
|
leadingIcon?: ReactNode;
|
|
42
43
|
/**
|
|
43
44
|
* When `true`, the title renders in a heavier weight and an unread dot with a
|
|
44
|
-
* visually hidden label is rendered at the row's trailing edge
|
|
45
|
+
* visually hidden label is rendered: at the row's trailing edge for `Avatar`
|
|
46
|
+
* rows, as the leading dot for `Indicator` rows.
|
|
45
47
|
*/
|
|
46
48
|
isUnread?: boolean;
|
|
47
49
|
}
|
|
48
|
-
/**
|
|
49
|
-
export interface ConversationPanelTypography {
|
|
50
|
-
/** A single utility class (e.g. `'dial-body-semi-text'`) applied to the title span. */
|
|
50
|
+
/** Typography overrides for `ConversationPanel`; the list's own fields are inherited from `ConversationListTypography`. */
|
|
51
|
+
export interface ConversationPanelTypography extends ConversationListTypography {
|
|
52
|
+
/** A single utility class (e.g. `'dial-body-semi-text'`) applied to the title span; unlike `ConversationListTypography.fontClassName`, it does not reach the list. */
|
|
51
53
|
fontClassName?: string;
|
|
52
|
-
/** Typography class applied to collapsible group header buttons. Defaults to `'dial-tiny-lead-semi-text'`. */
|
|
53
|
-
groupHeaderClassName?: string;
|
|
54
|
-
/** Typography class applied to conversation title text in each row. Defaults to `'dial-small-text'`. */
|
|
55
|
-
itemTitleClassName?: string;
|
|
56
54
|
/** Typography class applied to the New chat button label. Defaults to `'dial-small-semi-text'`. */
|
|
57
55
|
newChatLabelClassName?: string;
|
|
58
56
|
/** Class applied to each filter tab. Defaults to `'dial-tiny-semi-text'` (an additional `'flex-1'` class is always applied). */
|
|
@@ -68,31 +66,11 @@ export interface NewChatButtonColors {
|
|
|
68
66
|
focusOutline?: string;
|
|
69
67
|
}
|
|
70
68
|
/** CSS custom-property overrides for `ConversationPanel`. */
|
|
71
|
-
export interface ConversationColors {
|
|
69
|
+
export interface ConversationColors extends ConversationListColors {
|
|
72
70
|
/** Panel background color. */
|
|
73
71
|
background?: string;
|
|
74
72
|
/** Inner-edge divider border color. */
|
|
75
73
|
border?: string;
|
|
76
|
-
/** Hover background for a conversation row. */
|
|
77
|
-
itemHover?: string;
|
|
78
|
-
/** Active/selected background for a conversation row. */
|
|
79
|
-
itemActive?: string;
|
|
80
|
-
/** Primary text color. */
|
|
81
|
-
text?: string;
|
|
82
|
-
/** Secondary text color (dates, metadata). */
|
|
83
|
-
textSecondary?: string;
|
|
84
|
-
/** Ring color shown around a group header acting as a drag-and-drop target. */
|
|
85
|
-
dropZoneRing?: string;
|
|
86
|
-
/** Background color of the active row actions trigger button. */
|
|
87
|
-
triggerBackground?: string;
|
|
88
|
-
/** Icon color of the row actions trigger button while active. */
|
|
89
|
-
triggerIcon?: string;
|
|
90
|
-
/** Icon color of the row actions trigger button in its idle state. */
|
|
91
|
-
triggerIconIdle?: string;
|
|
92
|
-
/** Shimmer color of the loading skeleton avatar. */
|
|
93
|
-
skeletonColor?: string;
|
|
94
|
-
/** Fill color of the unread indicator dot. Defaults to `--text-accent`. */
|
|
95
|
-
unreadDot?: string;
|
|
96
74
|
}
|
|
97
75
|
/** Combined style overrides (colors and typography) for `ConversationPanel`. */
|
|
98
76
|
export interface ConversationPanelStyles {
|
|
@@ -128,16 +106,10 @@ export interface ConversationPanelStyles {
|
|
|
128
106
|
*/
|
|
129
107
|
searchWrapperClassName?: string;
|
|
130
108
|
}
|
|
131
|
-
/** Localised labels and text content for `ConversationPanel`. */
|
|
132
|
-
export interface ConversationPanelLabels {
|
|
109
|
+
/** Localised labels and text content for `ConversationPanel`; the list's own labels are inherited from `ConversationListLabels`. */
|
|
110
|
+
export interface ConversationPanelLabels extends ConversationListLabels {
|
|
133
111
|
/** Panel heading text (e.g. `"Chats"`). */
|
|
134
112
|
title: string;
|
|
135
|
-
/** Message shown when `conversations` is empty. */
|
|
136
|
-
emptyLabel: string;
|
|
137
|
-
/** Message shown when conversations exist but none match the active filter. */
|
|
138
|
-
noResultsLabel: string;
|
|
139
|
-
/** Status message announced to assistive tech while conversations are loading. Defaults to `'Loading conversations'`. */
|
|
140
|
-
loadingLabel?: string;
|
|
141
113
|
/** Label for the New chat button (e.g. `"New chat"`). */
|
|
142
114
|
newChatLabel: string;
|
|
143
115
|
/** Placeholder text for the search input (e.g. `"Search chat…"`). */
|
|
@@ -146,21 +118,6 @@ export interface ConversationPanelLabels {
|
|
|
146
118
|
searchClearLabel: string;
|
|
147
119
|
/** Labels for the four filter tabs. */
|
|
148
120
|
filterLabels: FilterLabels;
|
|
149
|
-
/** Labels for collapsible group section headings. */
|
|
150
|
-
groupLabels?: {
|
|
151
|
-
/** Heading for the Pinned section. Defaults to `"Pinned"`. */
|
|
152
|
-
pinned?: string;
|
|
153
|
-
/** Heading for the My chats section. Defaults to `"My chats"`. */
|
|
154
|
-
myChats?: string;
|
|
155
|
-
/** Heading for the Shared section. Defaults to `"Shared"`. */
|
|
156
|
-
shared?: string;
|
|
157
|
-
/** Heading for the Organization section. Defaults to `"Organization"`. */
|
|
158
|
-
organization?: string;
|
|
159
|
-
};
|
|
160
|
-
/** Accessible label for the row actions trigger button. Defaults to `"More actions"`. */
|
|
161
|
-
actionsLabel?: string;
|
|
162
|
-
/** Accessible (visually hidden) label announced for the unread indicator dot. Defaults to `"Unread"`. */
|
|
163
|
-
unreadIndicatorLabel?: string;
|
|
164
121
|
/** Accessible label for the sidebar toggle icon button. Required when `onToggle` is provided. */
|
|
165
122
|
closeAriaLabel?: string;
|
|
166
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-props.d.ts","sourceRoot":"","sources":["../../src/models/panel-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
2
2
|
import { DropdownItem } from '@epam/ai-dial-ui-kit';
|
|
3
|
+
import { ConversationRowVariant } from '../types/conversation-row-variant';
|
|
3
4
|
import { VirtualRowKind } from '../types/virtual-row';
|
|
4
5
|
import { ConversationItem } from './panel-props';
|
|
5
6
|
/** A collapsible group header row in the virtual list. */
|
|
@@ -57,6 +58,8 @@ export interface RowRendererData {
|
|
|
57
58
|
unreadIndicatorLabel?: string;
|
|
58
59
|
/** Typography/class overrides applied to virtual row elements. */
|
|
59
60
|
styles?: RowStyles;
|
|
61
|
+
/** Presentation of conversation rows and group headers. Defaults to `ConversationRowVariant.Avatar`. */
|
|
62
|
+
rowVariant?: ConversationRowVariant;
|
|
60
63
|
/** Id of the conversation currently being dragged. `null` when no drag is in progress. */
|
|
61
64
|
draggingId: string | null;
|
|
62
65
|
/** Id of the row (item or group header sentinel) currently under the drag cursor. */
|
|
@@ -1 +1 @@
|
|
|
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;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,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"}
|
|
1
|
+
{"version":3,"file":"virtual-row.d.ts","sourceRoot":"","sources":["../../src/models/virtual-row.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.3.0-dev.
|
|
4
|
+
"version": "1.3.0-dev.110",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"react-window": "^2.2.7",
|
|
21
21
|
"@tabler/icons-react": "^3.44.0",
|
|
22
|
-
"@epam/ai-dial-sidebar": "1.3.0-dev.
|
|
22
|
+
"@epam/ai-dial-sidebar": "1.3.0-dev.110"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": "^19.2.8",
|
|
26
|
-
"@epam/ai-dial-chat-shared": "1.3.0-dev.
|
|
27
|
-
"@epam/ai-dial-ui-kit": "^0.16.0-dev.
|
|
26
|
+
"@epam/ai-dial-chat-shared": "1.3.0-dev.110",
|
|
27
|
+
"@epam/ai-dial-ui-kit": "^0.16.0-dev.20"
|
|
28
28
|
},
|
|
29
29
|
"repository": {
|
|
30
30
|
"type": "git",
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** How a conversation row presents its leading slot and metrics. */
|
|
2
|
+
export declare enum ConversationRowVariant {
|
|
3
|
+
/** Deployment avatar (or `leadingIcon`) with a trailing unread dot — the panel's rows. */
|
|
4
|
+
Avatar = "avatar",
|
|
5
|
+
/** Leading status dot with no avatar — the navigation sidebar's rows. */
|
|
6
|
+
Indicator = "indicator"
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=conversation-row-variant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-row-variant.d.ts","sourceRoot":"","sources":["../../src/types/conversation-row-variant.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,oBAAY,sBAAsB;IAChC,0FAA0F;IAC1F,MAAM,WAAW;IACjB,yEAAyE;IACzE,SAAS,cAAc;CACxB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
2
|
-
import { ConversationItem } from '
|
|
2
|
+
import { ConversationItem } from '../models/panel-props';
|
|
3
3
|
/** Returns whether a conversation item matches the currently selected filter tab. */
|
|
4
4
|
export declare const matchesTab: (item: ConversationItem, tab: FilterTab) => boolean;
|
|
5
5
|
/** Returns whether a conversation item title matches the current search query. */
|
|
6
6
|
export declare const matchesSearch: (item: ConversationItem, query: string) => boolean;
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=conversation-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-filter.d.ts","sourceRoot":"","sources":["../../src/utils/conversation-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qFAAqF;AACrF,eAAO,MAAM,UAAU,GAAI,MAAM,gBAAgB,EAAE,KAAK,SAAS,KAAG,OAGnE,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,aAAa,GACxB,MAAM,gBAAgB,EACtB,OAAO,MAAM,KACZ,OAGF,CAAC"}
|
|
@@ -12,7 +12,7 @@ export declare const getSkeletonWidth: (i: number) => string;
|
|
|
12
12
|
* painted on top of the title's ellipsis once the pointer moved away.
|
|
13
13
|
*/
|
|
14
14
|
export declare const getButtonPaddingEnd: (hasActions: boolean, isMenuOpen: boolean) => string;
|
|
15
|
-
/** Returns the pixel height for a virtual list row (item, first group header, or subsequent group header). */
|
|
15
|
+
/** Returns the pixel height for a virtual list row (item, first group header, or subsequent group header) in the active row variant. */
|
|
16
16
|
export declare const getRowHeight: (index: number, rowProps: RowRendererData) => number;
|
|
17
17
|
/** Returns how many rows to render beyond each edge of a viewport `height` pixels tall: half a viewport, at least 5. */
|
|
18
18
|
export declare const getOverscanCount: (height: number) => number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-row.d.ts","sourceRoot":"","sources":["../../src/utils/conversation-row.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conversation-row.d.ts","sourceRoot":"","sources":["../../src/utils/conversation-row.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,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,wIAAwI;AACxI,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,EACb,UAAU,eAAe,KACxB,MAUF,CAAC;AAKF,wHAAwH;AACxH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAI/C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/ConversationPanel/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,qFAAqF;AACrF,eAAO,MAAM,UAAU,GAAI,MAAM,gBAAgB,EAAE,KAAK,SAAS,KAAG,OAGnE,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,aAAa,GACxB,MAAM,gBAAgB,EACtB,OAAO,MAAM,KACZ,OAGF,CAAC"}
|