@epam/ai-dial-catalog 1.1.0-dev.44 → 1.1.0-dev.440
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/AppIdentity/AppIdentity.d.ts +9 -14
- package/components/AppIdentity/AppIdentity.d.ts.map +1 -1
- package/components/CardGrid/Card.d.ts.map +1 -1
- package/components/CardGrid/CardGrid.d.ts.map +1 -1
- package/components/CardGrid/CardRowRenderer.d.ts.map +1 -1
- package/components/CardTag/CardTag.d.ts +24 -0
- package/components/CardTag/CardTag.d.ts.map +1 -0
- package/components/Catalog/Catalog.d.ts +1 -5
- package/components/Catalog/Catalog.d.ts.map +1 -1
- package/components/Catalog/CreateButton.d.ts +2 -2
- package/components/Catalog/CreateButton.d.ts.map +1 -1
- package/components/CredentialsBadge/CredentialsBadge.d.ts +12 -5
- package/components/CredentialsBadge/CredentialsBadge.d.ts.map +1 -1
- package/components/Details/ApiDetails.d.ts +6 -2
- package/components/Details/ApiDetails.d.ts.map +1 -1
- package/components/Details/ConfirmationView/ConfirmationFooter.d.ts +29 -0
- package/components/Details/ConfirmationView/ConfirmationFooter.d.ts.map +1 -0
- package/components/Details/ConfirmationView/ConfirmationView.d.ts +28 -0
- package/components/Details/ConfirmationView/ConfirmationView.d.ts.map +1 -0
- package/components/Details/Credentials/CredentialsBanner/CredentialsBanner.d.ts +16 -0
- package/components/Details/Credentials/CredentialsBanner/CredentialsBanner.d.ts.map +1 -0
- package/components/Details/Credentials/CredentialsIdentityIcon/CredentialsIdentityIcon.d.ts +29 -0
- package/components/Details/Credentials/CredentialsIdentityIcon/CredentialsIdentityIcon.d.ts.map +1 -0
- package/components/Details/Credentials/CredentialsInfoCard/CredentialsInfoCard.d.ts +20 -0
- package/components/Details/Credentials/CredentialsInfoCard/CredentialsInfoCard.d.ts.map +1 -0
- package/components/Details/Credentials/CredentialsManagementPanel/CredentialsManagementPanel.d.ts +31 -0
- package/components/Details/Credentials/CredentialsManagementPanel/CredentialsManagementPanel.d.ts.map +1 -0
- package/components/Details/DetailsPanel.d.ts.map +1 -1
- package/components/Details/Header/CredentialsApiKeyOverlay/CredentialsApiKeyOverlay.d.ts +34 -0
- package/components/Details/Header/CredentialsApiKeyOverlay/CredentialsApiKeyOverlay.d.ts.map +1 -0
- package/components/Details/Header/Header.d.ts +99 -19
- package/components/Details/Header/Header.d.ts.map +1 -1
- package/components/Details/Header/ShareButton/ShareButton.d.ts.map +1 -1
- package/components/Details/TabsContent/About.d.ts +3 -2
- package/components/Details/TabsContent/About.d.ts.map +1 -1
- package/components/Details/TabsContent/Content.d.ts +53 -0
- package/components/Details/TabsContent/Content.d.ts.map +1 -0
- package/components/Details/TabsContent/ContentFileTree/ContentFileTree.d.ts +28 -0
- package/components/Details/TabsContent/ContentFileTree/ContentFileTree.d.ts.map +1 -0
- package/components/Details/TabsContent/DataGrid/DataGrid.d.ts +1 -1
- package/components/Details/TabsContent/DataGrid/DataGrid.d.ts.map +1 -1
- package/components/Details/TabsContent/Limits/LimitGroupSection.d.ts +11 -0
- package/components/Details/TabsContent/Limits/LimitGroupSection.d.ts.map +1 -0
- package/components/Details/TabsContent/Limits/LimitRow.d.ts +10 -0
- package/components/Details/TabsContent/Limits/LimitRow.d.ts.map +1 -0
- package/components/Details/TabsContent/Limits/Limits.d.ts +5 -0
- package/components/Details/TabsContent/Limits/Limits.d.ts.map +1 -0
- package/components/Favorites/FavoriteCard.d.ts +9 -4
- package/components/Favorites/FavoriteCard.d.ts.map +1 -1
- package/components/Favorites/Favorites.d.ts.map +1 -1
- package/components/Filter/Filter.d.ts +36 -6
- package/components/Filter/Filter.d.ts.map +1 -1
- package/components/InfoCard/InfoCard.d.ts +15 -0
- package/components/InfoCard/InfoCard.d.ts.map +1 -0
- package/components/ListView/ListView.d.ts +1 -5
- package/components/ListView/ListView.d.ts.map +1 -1
- package/components/ListView/Renders/EntityTypeCellRenderer.d.ts +1 -0
- package/components/ListView/Renders/EntityTypeCellRenderer.d.ts.map +1 -1
- package/components/ListView/Renders/FolderCellRenderer.d.ts +4 -0
- package/components/ListView/Renders/FolderCellRenderer.d.ts.map +1 -1
- package/components/ListView/Renders/NameCellRenderer.d.ts +1 -0
- package/components/ListView/Renders/NameCellRenderer.d.ts.map +1 -1
- package/components/ListView/Renders/StarCellRenderer.d.ts +1 -0
- package/components/ListView/Renders/StarCellRenderer.d.ts.map +1 -1
- package/components/ListView/Renders/TagsCellRenderer.d.ts +1 -0
- package/components/ListView/Renders/TagsCellRenderer.d.ts.map +1 -1
- package/components/ListView/columns.d.ts +25 -2
- package/components/ListView/columns.d.ts.map +1 -1
- package/components/StarToggleButton/StarToggleButton.d.ts +2 -0
- package/components/StarToggleButton/StarToggleButton.d.ts.map +1 -1
- package/components/TableView/TableView.d.ts +19 -0
- package/components/TableView/TableView.d.ts.map +1 -1
- package/components/Toolbar/Rows/TitleRow.d.ts +8 -4
- package/components/Toolbar/Rows/TitleRow.d.ts.map +1 -1
- package/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/components/TopicTag/TopicTag.d.ts +12 -7
- package/components/TopicTag/TopicTag.d.ts.map +1 -1
- package/constants/virtual-grid.d.ts +7 -0
- package/constants/virtual-grid.d.ts.map +1 -1
- package/entry-points/mapping.d.ts +16 -0
- package/entry-points/mapping.d.ts.map +1 -0
- package/index.css +1 -1
- package/index.d.ts +24 -41
- package/index.d.ts.map +1 -1
- package/index.js +3161 -28618
- package/mapping-FVCFAmAc.js +64 -0
- package/mapping.js +2 -0
- package/models/app-identity-styles.d.ts +28 -0
- package/models/app-identity-styles.d.ts.map +1 -0
- package/models/card-props.d.ts +21 -15
- package/models/card-props.d.ts.map +1 -1
- package/models/card-row-data.d.ts +5 -1
- package/models/card-row-data.d.ts.map +1 -1
- package/models/catalog-item-credentials.d.ts +4 -0
- package/models/catalog-item-credentials.d.ts.map +1 -1
- package/models/catalog-item.d.ts +3 -6
- package/models/catalog-item.d.ts.map +1 -1
- package/models/catalog-props.d.ts +208 -38
- package/models/catalog-props.d.ts.map +1 -1
- package/models/catalog-styles.d.ts +4 -41
- package/models/catalog-styles.d.ts.map +1 -1
- package/models/favorites.d.ts +24 -8
- package/models/favorites.d.ts.map +1 -1
- package/models/grid-context.d.ts +6 -1
- package/models/grid-context.d.ts.map +1 -1
- package/models/grid-props.d.ts +20 -1
- package/models/grid-props.d.ts.map +1 -1
- package/models/item-details-data.d.ts +94 -4
- package/models/item-details-data.d.ts.map +1 -1
- package/models/item-details-props.d.ts +453 -59
- package/models/item-details-props.d.ts.map +1 -1
- package/models/item-overview.d.ts +1 -7
- package/models/item-overview.d.ts.map +1 -1
- package/models/limits-props.d.ts +61 -0
- package/models/limits-props.d.ts.map +1 -0
- package/models/list-props.d.ts +41 -6
- package/models/list-props.d.ts.map +1 -1
- package/models/toolbar-props.d.ts +22 -22
- package/models/toolbar-props.d.ts.map +1 -1
- package/package.json +14 -6
- package/types/catalog-content-type.d.ts +13 -0
- package/types/catalog-content-type.d.ts.map +1 -0
- package/types/deployment-icon-size.d.ts +5 -0
- package/types/deployment-icon-size.d.ts.map +1 -0
- package/types/detail-tab.d.ts +4 -1
- package/types/detail-tab.d.ts.map +1 -1
- package/types/details-confirmation.d.ts +28 -0
- package/types/details-confirmation.d.ts.map +1 -0
- package/types/recipients-count.d.ts +12 -0
- package/types/recipients-count.d.ts.map +1 -0
- package/types/toolset-auth.d.ts +9 -0
- package/types/toolset-auth.d.ts.map +1 -1
- package/types/view-mode.d.ts +1 -1
- package/types/view-mode.d.ts.map +1 -1
- package/utils/catalog-content-tree.d.ts +8 -0
- package/utils/catalog-content-tree.d.ts.map +1 -0
- package/utils/catalog-filter.d.ts +10 -1
- package/utils/catalog-filter.d.ts.map +1 -1
- package/utils/catalog-sort.d.ts +1 -8
- package/utils/catalog-sort.d.ts.map +1 -1
- package/utils/catalog-tabs.d.ts +2 -2
- package/utils/catalog-tabs.d.ts.map +1 -1
- package/utils/scroll-window.d.ts +19 -0
- package/utils/scroll-window.d.ts.map +1 -0
- package/utils/styles.d.ts +1 -3
- package/utils/styles.d.ts.map +1 -1
- package/utils/toolset-credentials.d.ts +6 -19
- package/utils/toolset-credentials.d.ts.map +1 -1
- package/utils/usage-limits.d.ts +15 -0
- package/utils/usage-limits.d.ts.map +1 -0
- package/utils/use-fav-columns.d.ts +1 -4
- package/utils/use-fav-columns.d.ts.map +1 -1
- package/utils/use-scroll-virtualizer.d.ts +14 -8
- package/utils/use-scroll-virtualizer.d.ts.map +1 -1
- package/components/Details/Credentials/CredentialsSection.d.ts +0 -21
- package/components/Details/Credentials/CredentialsSection.d.ts.map +0 -1
- package/components/Details/Header/ConnectButton/ConnectButton.d.ts +0 -25
- package/components/Details/Header/ConnectButton/ConnectButton.d.ts.map +0 -1
- package/components/Details/Header/DeleteButton/DeleteButton.d.ts +0 -25
- package/components/Details/Header/DeleteButton/DeleteButton.d.ts.map +0 -1
- package/components/Details/Summary/Limits.d.ts +0 -18
- package/components/Details/Summary/Limits.d.ts.map +0 -1
- package/components/Details/Summary/Summary.d.ts +0 -12
- package/components/Details/Summary/Summary.d.ts.map +0 -1
- package/components/Details/TabsContent/Limits.d.ts +0 -14
- package/components/Details/TabsContent/Limits.d.ts.map +0 -1
- package/components/EntityHeader/EntityHeader.d.ts +0 -32
- package/components/EntityHeader/EntityHeader.d.ts.map +0 -1
- package/components/EntityTypeLabel/EntityTypeLabel.d.ts +0 -16
- package/components/EntityTypeLabel/EntityTypeLabel.d.ts.map +0 -1
- package/components/FeaturedChip/FeaturedChip.d.ts +0 -11
- package/components/FeaturedChip/FeaturedChip.d.ts.map +0 -1
- package/components/FolderPath/FolderPath.d.ts +0 -25
- package/components/FolderPath/FolderPath.d.ts.map +0 -1
- package/components/ItemHeader/ItemHeader.d.ts +0 -14
- package/components/ItemHeader/ItemHeader.d.ts.map +0 -1
- package/components/PublishFoldersTree/PublishFoldersTree.d.ts +0 -72
- package/components/PublishFoldersTree/PublishFoldersTree.d.ts.map +0 -1
- package/components/PublishHistoryList/PublishHistoryList.d.ts +0 -44
- package/components/PublishHistoryList/PublishHistoryList.d.ts.map +0 -1
- package/components/PublishPanel/PublishFooter.d.ts +0 -37
- package/components/PublishPanel/PublishFooter.d.ts.map +0 -1
- package/components/PublishPanel/PublishPanel.d.ts +0 -109
- package/components/PublishPanel/PublishPanel.d.ts.map +0 -1
- package/components/PublishPanel/StandalonePublishPanel.d.ts +0 -90
- package/components/PublishPanel/StandalonePublishPanel.d.ts.map +0 -1
- package/components/SearchBar/SearchBar.d.ts +0 -29
- package/components/SearchBar/SearchBar.d.ts.map +0 -1
- package/constants/catalog-defaults.d.ts +0 -4
- package/constants/catalog-defaults.d.ts.map +0 -1
- package/constants/entity-colors.d.ts +0 -6
- package/constants/entity-colors.d.ts.map +0 -1
- package/models/entity-summary.d.ts +0 -23
- package/models/entity-summary.d.ts.map +0 -1
- package/models/publish.d.ts +0 -89
- package/models/publish.d.ts.map +0 -1
- package/models/sort.d.ts +0 -8
- package/models/sort.d.ts.map +0 -1
- package/types/entity-tag.d.ts +0 -9
- package/types/entity-tag.d.ts.map +0 -1
- package/types/entity-type.d.ts +0 -11
- package/types/entity-type.d.ts.map +0 -1
- package/utils/format-published-date.d.ts +0 -8
- package/utils/format-published-date.d.ts.map +0 -1
- package/utils/parse-about-content.d.ts +0 -32
- package/utils/parse-about-content.d.ts.map +0 -1
- package/utils/publish-folder-tree.d.ts +0 -45
- package/utils/publish-folder-tree.d.ts.map +0 -1
- package/utils/publish-state.d.ts +0 -9
- package/utils/publish-state.d.ts.map +0 -1
- package/utils/use-publish-flow.d.ts +0 -77
- package/utils/use-publish-flow.d.ts.map +0 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { CatalogEntityType as e } from "@epam/ai-dial-chat-shared";
|
|
2
|
+
//#region src/types/toolset-auth.ts
|
|
3
|
+
var t = /* @__PURE__ */ function(e) {
|
|
4
|
+
return e.None = "NONE", e.ApiKey = "API_KEY", e.OAuth = "OAUTH", e;
|
|
5
|
+
}({}), n = /* @__PURE__ */ function(e) {
|
|
6
|
+
return e.SignedIn = "SIGNED_IN", e.SignedOut = "SIGNED_OUT", e.Failed = "FAILED", e;
|
|
7
|
+
}({}), r = /* @__PURE__ */ function(e) {
|
|
8
|
+
return e.User = "USER", e.Global = "GLOBAL", e;
|
|
9
|
+
}({}), i = /* @__PURE__ */ function(e) {
|
|
10
|
+
return e.ManageCredentials = "MANAGE_CREDENTIALS", e.LoginWithMyCreds = "LOGIN_WITH_MY_CREDS", e.LogIn = "LOG_IN", e.LogOut = "LOG_OUT", e;
|
|
11
|
+
}({}), a = /* @__PURE__ */ function(e) {
|
|
12
|
+
return e.LoggedOut = "LOGGED_OUT", e;
|
|
13
|
+
}({}), o = /* @__PURE__ */ function(e) {
|
|
14
|
+
return e.UsingOrgCredentials = "USING_ORG_CREDENTIALS", e.OrgCredentialsActive = "ORG_CREDENTIALS_ACTIVE", e.PersonalCredentialsActive = "PERSONAL_CREDENTIALS_ACTIVE", e;
|
|
15
|
+
}({}), s = /* @__PURE__ */ function(e) {
|
|
16
|
+
return e.RecentlyUpdated = "recently-updated", e.Newest = "newest", e.NameAZ = "name-az", e;
|
|
17
|
+
}({}), c = (e, t, n = "From") => {
|
|
18
|
+
let r = t?.size ?? 0, i = e.size;
|
|
19
|
+
if (i === 0 || i === r) return n;
|
|
20
|
+
if (r - i === 1) {
|
|
21
|
+
let r = [...t ?? []].find((t) => !e.has(t));
|
|
22
|
+
return r == null ? n : `${n}: All except ${r}`;
|
|
23
|
+
}
|
|
24
|
+
return `${n}: ${i} of ${r}`;
|
|
25
|
+
}, l = (e, t) => t.size === 0 ? e : e.filter((e) => e.topics.some((e) => t.has(e))), u = (e) => e.filter((e) => e.isMyApp === !0), d = (e) => new Set(e.flatMap((e) => e.topics)), f = (e, t) => {
|
|
26
|
+
let n = t.trim().toLowerCase();
|
|
27
|
+
return n ? e.filter((e) => e.name.toLowerCase().includes(n)) : e;
|
|
28
|
+
}, p = (e, t) => {
|
|
29
|
+
let n = e.filter((e) => e.isFeatured), r = e.filter((e) => !e.isFeatured), i = (e) => t === s.NameAZ ? [...e].sort((e, t) => e.name.trim().toLowerCase().localeCompare(t.name.trim().toLowerCase())) : t === s.RecentlyUpdated ? [...e].sort((e, t) => !e.updatedAt && !t.updatedAt ? 0 : e.updatedAt ? t.updatedAt ? t.updatedAt - e.updatedAt : -1 : 1) : t === s.Newest ? [...e].sort((e, t) => !e.createdAt && !t.createdAt ? 0 : e.createdAt ? t.createdAt ? t.createdAt - e.createdAt : -1 : 1) : e;
|
|
30
|
+
return [...i(n), ...i(r)];
|
|
31
|
+
}, m = {
|
|
32
|
+
[e.Model]: "Models",
|
|
33
|
+
[e.Agent]: "Agents",
|
|
34
|
+
[e.Toolset]: "Toolsets",
|
|
35
|
+
[e.Prompt]: "Prompts",
|
|
36
|
+
[e.Skill]: "Skills"
|
|
37
|
+
}, h = [
|
|
38
|
+
e.Model,
|
|
39
|
+
e.Agent,
|
|
40
|
+
e.Toolset,
|
|
41
|
+
e.Skill,
|
|
42
|
+
e.Prompt
|
|
43
|
+
], g = (e, t) => {
|
|
44
|
+
let n = {
|
|
45
|
+
...m,
|
|
46
|
+
...t
|
|
47
|
+
}, r = new Set(e.map((e) => e.type));
|
|
48
|
+
return h.filter((e) => r.has(e)).map((e) => ({
|
|
49
|
+
id: e,
|
|
50
|
+
label: n[e] ?? e
|
|
51
|
+
}));
|
|
52
|
+
}, _ = (e) => e === n.SignedIn, v = (e) => {
|
|
53
|
+
let t = _(e.userStatus), n = _(e.globalStatus);
|
|
54
|
+
return e.isManageableByAdmin ? i.ManageCredentials : e.isPublic && !t ? i.LoginWithMyCreds : !t && !n ? i.LogIn : i.LogOut;
|
|
55
|
+
}, y = (e) => {
|
|
56
|
+
if (e.authenticationType === t.None) return;
|
|
57
|
+
let n = _(e.userStatus), r = _(e.globalStatus);
|
|
58
|
+
return !n && !r ? a.LoggedOut : void 0;
|
|
59
|
+
}, b = (e) => _(e.userStatus) ? r.User : r.Global, x = (e) => {
|
|
60
|
+
if (e.isManageableByAdmin) return _(e.userStatus) ? o.PersonalCredentialsActive : _(e.globalStatus) ? o.OrgCredentialsActive : void 0;
|
|
61
|
+
if (_(e.globalStatus) && e.isPublic && !_(e.userStatus)) return o.UsingOrgCredentials;
|
|
62
|
+
};
|
|
63
|
+
//#endregion
|
|
64
|
+
export { i as _, g as a, l as c, d, s as f, r as g, o as h, b as i, f as l, a as m, x as n, p as o, n as p, v as r, u as s, y as t, c as u, t as v };
|
package/mapping.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { _ as e, a as t, d as n, f as r, g as i, i as a, l as o, m as s, o as c, p as l, r as u, t as d, v as f } from "./mapping-FVCFAmAc.js";
|
|
2
|
+
export { r as CatalogSortKey, l as CredentialStatus, s as CredentialsBadgeState, i as CredentialsLevel, e as CredentialsUiState, f as ToolsetAuthenticationType, t as buildCatalogTabs, o as filterCatalogItems, d as getCredentialsBadgeState, u as getCredentialsUiState, a as getSignedInLevel, n as getTopicOptions, c as sortCatalogItems };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Color overrides for `AppIdentity`, applied as CSS custom properties. */
|
|
2
|
+
export interface AppIdentityColors {
|
|
3
|
+
/** Entity name text color. Fallback: `--text-primary`. */
|
|
4
|
+
nameColor?: string;
|
|
5
|
+
/** Last-used line text color. Fallback: `--text-tertiary`. */
|
|
6
|
+
lastUsedColor?: string;
|
|
7
|
+
/** Version text color. Fallback: `--text-secondary`. */
|
|
8
|
+
versionColor?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Typography class overrides for `AppIdentity`. */
|
|
11
|
+
export interface AppIdentityTypography {
|
|
12
|
+
/** CSS class for the type label. Default: `'dial-caption-lead-semi-text'`. */
|
|
13
|
+
typeClassName?: string;
|
|
14
|
+
/** Typography CSS class for the entity name. Default: `'dial-body-semi-text'`. */
|
|
15
|
+
nameClassName?: string;
|
|
16
|
+
/** Typography CSS class for the version string. Default: `'dial-tiny-text'`. */
|
|
17
|
+
versionClassName?: string;
|
|
18
|
+
/** Typography CSS class for the last-used line text and icon. Default: `'dial-tiny-text'`. */
|
|
19
|
+
lastUsedClassName?: string;
|
|
20
|
+
}
|
|
21
|
+
/** Grouped style overrides for `AppIdentity`. */
|
|
22
|
+
export interface AppIdentityStyles {
|
|
23
|
+
/** Color overrides applied as CSS custom properties. */
|
|
24
|
+
colors?: AppIdentityColors;
|
|
25
|
+
/** Typography class overrides. */
|
|
26
|
+
typography?: AppIdentityTypography;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=app-identity-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-identity-styles.d.ts","sourceRoot":"","sources":["../../src/models/app-identity-styles.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oDAAoD;AACpD,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,kCAAkC;IAClC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC"}
|
package/models/card-props.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { CatalogItem } from './catalog-item';
|
|
2
2
|
/** Typography class overrides for `Card` content. */
|
|
3
3
|
export interface CardTypography {
|
|
4
|
-
/** Typography class applied to the item name. Default: `'dial-
|
|
4
|
+
/** Typography class applied to the item name. Default: `'dial-body-semi-text'`. */
|
|
5
5
|
nameClassName?: string;
|
|
6
6
|
/** Typography class applied to the version text. Default: `'dial-tiny-text'`. */
|
|
7
7
|
versionClassName?: string;
|
|
8
|
-
/** Typography class applied to the description text. Default: `'dial-small-text'`. */
|
|
8
|
+
/** Typography class applied to the description text. Default: `'dial-small-paragraph-text'`. */
|
|
9
9
|
descriptionClassName?: string;
|
|
10
|
-
/** Typography class applied to the featured chip label. Default: `'dial-tiny-semi-text
|
|
10
|
+
/** Typography class applied to the featured chip label. Default: `'dial-tiny-lead-semi-text'`. */
|
|
11
11
|
featuredChipClassName?: string;
|
|
12
12
|
/** Typography class applied to folder path separator labels. Default: `'dial-tiny-text'`. */
|
|
13
13
|
folderLabelClassName?: string;
|
|
@@ -16,22 +16,20 @@ export interface CardTypography {
|
|
|
16
16
|
}
|
|
17
17
|
/** Color overrides applied as CSS custom properties for `Card`. */
|
|
18
18
|
export interface CardColors {
|
|
19
|
-
/** Default card background color. Fallback: `--bg-layer-
|
|
19
|
+
/** Default card background color. Fallback: `--bg-layer-sunken`. */
|
|
20
20
|
background?: string;
|
|
21
|
-
/** Hovered card background color. Fallback: `--bg-layer-3`. */
|
|
22
|
-
hoverBackground?: string;
|
|
23
21
|
/** Card border color. Fallback: `--stroke-secondary`. */
|
|
24
22
|
border?: string;
|
|
25
|
-
/** Featured card glow color. Fallback: `rgba(125, 164, 255, 0.5)`. */
|
|
26
|
-
featuredGlow?: string;
|
|
27
|
-
/** Featured top accent bar color. Fallback: `--stroke-accent-primary`. */
|
|
28
|
-
featuredBar?: string;
|
|
29
|
-
/** Item name and description text color. Fallback: `--text-primary`. */
|
|
30
|
-
textPrimary?: string;
|
|
31
23
|
/** Version text color. Fallback: `--text-secondary`. */
|
|
32
24
|
textSecondary?: string;
|
|
33
|
-
/**
|
|
34
|
-
|
|
25
|
+
/** Border color of a selected card. Fallback: `--stroke-accent`. */
|
|
26
|
+
selectedBorder?: string;
|
|
27
|
+
/** Background color (tint) of a selected card. Fallback: `--bg-control-accent-alpha-active`. */
|
|
28
|
+
selectedBackground?: string;
|
|
29
|
+
/** Selected-checkmark icon color. Fallback: `--text-accent`. */
|
|
30
|
+
checkIcon?: string;
|
|
31
|
+
/** Top border color of the footer row (folder path / star button). Fallback: `--stroke-tertiary`. */
|
|
32
|
+
footerBorder?: string;
|
|
35
33
|
}
|
|
36
34
|
/** Grouped style overrides for `Card`. */
|
|
37
35
|
export interface CardStyles {
|
|
@@ -52,6 +50,8 @@ export interface CardProps {
|
|
|
52
50
|
initialIsStarred?: boolean;
|
|
53
51
|
/** Called when the star button is toggled. */
|
|
54
52
|
onToggle?: (id: string, isStarred: boolean) => void;
|
|
53
|
+
/** Rule for whether the favorite star is shown; `false` hides the star and makes the item non-favoritable. Defaults to visible when omitted. */
|
|
54
|
+
isFavoriteVisible?: (item: CatalogItem) => boolean;
|
|
55
55
|
/** Called when the card body is clicked (excluding the star button). */
|
|
56
56
|
onClick?: (item: CatalogItem) => void;
|
|
57
57
|
/** Grouped color and typography overrides. */
|
|
@@ -64,7 +64,13 @@ export interface CardProps {
|
|
|
64
64
|
removeFromFavoritesAriaLabel?: string;
|
|
65
65
|
/** Whether this card represents the currently selected item — shows an accent border, tinted background, and a checkmark. Default: false. */
|
|
66
66
|
isSelected?: boolean;
|
|
67
|
-
/**
|
|
67
|
+
/** Accessible label for the logged-out warning icon on the entity avatar, and the text shown in its hover tooltip. Default: `'Authorize to use this toolset.'`. */
|
|
68
68
|
credentialsBadgeLoggedOutLabel?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Renders the card as a read-only browsing surface: no favorite star, no
|
|
71
|
+
* footer divider, and no "Featured" tag. The footer row is dropped entirely
|
|
72
|
+
* when the item has no folder path left to show. Default: false.
|
|
73
|
+
*/
|
|
74
|
+
isReadonly?: boolean;
|
|
69
75
|
}
|
|
70
76
|
//# sourceMappingURL=card-props.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-props.d.ts","sourceRoot":"","sources":["../../src/models/card-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,
|
|
1
|
+
{"version":3,"file":"card-props.d.ts","sourceRoot":"","sources":["../../src/models/card-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gGAAgG;IAChG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kGAAkG;IAClG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yGAAyG;IACzG,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACzB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gGAAgG;IAChG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qGAAqG;IACrG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,0CAA0C;AAC1C,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,yDAAyD;IACzD,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,wBAAwB;AACxB,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,gJAAgJ;IAChJ,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IACnD,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4GAA4G;IAC5G,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iHAAiH;IACjH,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,6IAA6I;IAC7I,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mKAAmK;IACnK,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -9,6 +9,8 @@ export interface CardRowData {
|
|
|
9
9
|
query: string;
|
|
10
10
|
/** Called when a card's star is toggled. */
|
|
11
11
|
onToggleFavorite?: (id: string, isStarred: boolean) => void;
|
|
12
|
+
/** Rule for whether the favorite star is shown on a card; `false` hides it. Defaults to visible when omitted. */
|
|
13
|
+
isFavoriteVisible?: (item: CatalogItem) => boolean;
|
|
12
14
|
/** Called when a card body is clicked. */
|
|
13
15
|
onItemClick?: (item: CatalogItem) => void;
|
|
14
16
|
/** Label for the "Featured" tag rendered on featured cards. */
|
|
@@ -19,7 +21,9 @@ export interface CardRowData {
|
|
|
19
21
|
removeFromFavoritesAriaLabel: string;
|
|
20
22
|
/** ID of an item to visually mark as selected (border, tint, and checkmark). */
|
|
21
23
|
selectedItemId?: string;
|
|
22
|
-
/**
|
|
24
|
+
/** Accessible label for the logged-out warning icon on the entity avatar, and the text shown in its hover tooltip. */
|
|
23
25
|
credentialsBadgeLoggedOutLabel: string;
|
|
26
|
+
/** Renders every card read-only: no favorite star, no footer divider, and no "Featured" tag. */
|
|
27
|
+
isReadonly?: boolean;
|
|
24
28
|
}
|
|
25
29
|
//# sourceMappingURL=card-row-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-row-data.d.ts","sourceRoot":"","sources":["../../src/models/card-row-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,uBAAuB,EAAE,MAAM,CAAC;IAChC,6EAA6E;IAC7E,4BAA4B,EAAE,MAAM,CAAC;IACrC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"card-row-data.d.ts","sourceRoot":"","sources":["../../src/models/card-row-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,iHAAiH;IACjH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IACnD,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,uBAAuB,EAAE,MAAM,CAAC;IAChC,6EAA6E;IAC7E,4BAA4B,EAAE,MAAM,CAAC;IACrC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sHAAsH;IACtH,8BAA8B,EAAE,MAAM,CAAC;IACvC,gGAAgG;IAChG,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -13,5 +13,9 @@ export interface CatalogItemCredentials {
|
|
|
13
13
|
isManageableByAdmin?: boolean;
|
|
14
14
|
/** Name of the API key header, shown as a hint in the login form. Only set for `API_KEY` authentication. */
|
|
15
15
|
apiKeyHeader?: string;
|
|
16
|
+
/** Already-formatted relative time (e.g. `'3 weeks ago'`) since the personal API key was added. Only set for `API_KEY` authentication when `userStatus` is `SIGNED_IN`. Omit to hide the "Added …" caption. */
|
|
17
|
+
userApiKeyAddedWhen?: string;
|
|
18
|
+
/** Already-formatted relative time since the organization-wide API key was added. Only set for `API_KEY` authentication when `globalStatus` is `SIGNED_IN`. Omit to hide the "Added …" caption. */
|
|
19
|
+
globalApiKeyAddedWhen?: string;
|
|
16
20
|
}
|
|
17
21
|
//# sourceMappingURL=catalog-item-credentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-item-credentials.d.ts","sourceRoot":"","sources":["../../src/models/catalog-item-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,oFAAoF;AACpF,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,kBAAkB,EAAE,yBAAyB,CAAC;IAC9C,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8HAA8H;IAC9H,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4GAA4G;IAC5G,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog-item-credentials.d.ts","sourceRoot":"","sources":["../../src/models/catalog-item-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,oFAAoF;AACpF,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,kBAAkB,EAAE,yBAAyB,CAAC;IAC9C,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8HAA8H;IAC9H,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4GAA4G;IAC5G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+MAA+M;IAC/M,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mMAAmM;IACnM,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC"}
|
package/models/catalog-item.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { CatalogEntityType } from '
|
|
1
|
+
import { CatalogEntityType } from '@epam/ai-dial-chat-shared';
|
|
2
2
|
import { CatalogItemCredentials } from './catalog-item-credentials';
|
|
3
|
-
import { CatalogItemSummary } from './entity-summary';
|
|
4
3
|
import { CatalogItemTabData } from './item-details-data';
|
|
5
4
|
/** Full catalog item shown in the Browse section. */
|
|
6
5
|
export interface CatalogItem {
|
|
@@ -26,8 +25,6 @@ export interface CatalogItem {
|
|
|
26
25
|
isFeatured?: boolean;
|
|
27
26
|
/** Short description, typically 1–2 lines. */
|
|
28
27
|
description: string;
|
|
29
|
-
/** Longer-form intro text shown in the details panel's Intro section. Falls back to `description` when absent. */
|
|
30
|
-
intro?: string;
|
|
31
28
|
/** When true the item is hidden from the main Browse view and only shown in Search results. */
|
|
32
29
|
isHidden?: boolean;
|
|
33
30
|
/** Whether the item is marked as a favorite by the user. */
|
|
@@ -44,13 +41,13 @@ export interface CatalogItem {
|
|
|
44
41
|
folder: string[];
|
|
45
42
|
/** Topics associated with the item. */
|
|
46
43
|
topics: string[];
|
|
47
|
-
/** Header-level summary metadata (tag, badge image, daily limit). When absent the summary block is hidden. */
|
|
48
|
-
summary?: CatalogItemSummary;
|
|
49
44
|
/** Tab-specific detail data. A tab is shown only when its field is non-null. */
|
|
50
45
|
details?: CatalogItemTabData;
|
|
51
46
|
/** Credential status for the item's own authentication. Absent when the item requires no authentication. */
|
|
52
47
|
credentials?: CatalogItemCredentials;
|
|
53
48
|
/** Whether this application supports the MCP protocol; only meaningful for `Application` items. */
|
|
54
49
|
supportsMcp?: boolean;
|
|
50
|
+
/** Whether this item can be used in chat. Default: true. Set to false to hide the "Use in chat" primary action for a Model or Application that does not expose a chat interface. */
|
|
51
|
+
supportsChat?: boolean;
|
|
55
52
|
}
|
|
56
53
|
//# sourceMappingURL=catalog-item.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-item.d.ts","sourceRoot":"","sources":["../../src/models/catalog-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"catalog-item.d.ts","sourceRoot":"","sources":["../../src/models/catalog-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,IAAI,EAAE,iBAAiB,CAAC;IACxB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sGAAsG;IACtG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oGAAoG;IACpG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8IAA8I;IAC9I,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gFAAgF;IAChF,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,4GAA4G;IAC5G,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,mGAAmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oLAAoL;IACpL,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
|
@@ -1,31 +1,15 @@
|
|
|
1
|
+
import { CatalogEntityType } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
import { PublicationRule, PublishFolderNode, PublishFooterLabels, PublishHistoryEntry, PublishPanelLabels } from '@epam/ai-dial-publish-panel';
|
|
3
|
+
import { DropdownItem, TabModel } from '@epam/ai-dial-ui-kit';
|
|
1
4
|
import { ReactNode } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { PublishPanelTexts } from '../components/PublishPanel/PublishPanel';
|
|
4
|
-
import { CatalogEntityType } from '../types/entity-type';
|
|
5
|
+
import { ListViewColumnVisibility } from '../components/ListView/columns';
|
|
5
6
|
import { CatalogSortKey } from '../types/sort';
|
|
6
7
|
import { CredentialsLevel } from '../types/toolset-auth';
|
|
7
8
|
import { CatalogViewMode } from '../types/view-mode';
|
|
8
9
|
import { CatalogItem } from './catalog-item';
|
|
9
10
|
import { CatalogStyles } from './catalog-styles';
|
|
10
|
-
import { CatalogItemDetailsFetchResult } from './item-details-data';
|
|
11
|
+
import { CatalogContentFilePreview, CatalogItemDetailsFetchResult } from './item-details-data';
|
|
11
12
|
import { ItemDetailsTexts } from './item-details-props';
|
|
12
|
-
import { PublishFolderNode, PublishHistoryEntry } from './publish';
|
|
13
|
-
/** A single option in the Create dropdown. */
|
|
14
|
-
export interface CreateOption {
|
|
15
|
-
/** Display label shown in the dropdown menu. */
|
|
16
|
-
label: string;
|
|
17
|
-
/** Short description shown below the label (single line, truncated). */
|
|
18
|
-
description?: string;
|
|
19
|
-
/** Leading icon rendered inside a tinted 32 px square. */
|
|
20
|
-
icon?: ReactNode;
|
|
21
|
-
/**
|
|
22
|
-
* Tailwind classes applied to the icon container — controls background tint
|
|
23
|
-
* and icon colour. Example: `'bg-accent-secondary-alpha text-accent-secondary'`.
|
|
24
|
-
*/
|
|
25
|
-
iconContainerClassName?: string;
|
|
26
|
-
/** Called when this option is selected. */
|
|
27
|
-
onClick: () => void;
|
|
28
|
-
}
|
|
29
13
|
/** Text labels used by the `Catalog` surface. */
|
|
30
14
|
export interface CatalogTitles {
|
|
31
15
|
/** Page heading. Default: 'Catalog'. */
|
|
@@ -43,6 +27,8 @@ export interface CatalogTitles {
|
|
|
43
27
|
* Default: (q) => `No results for "${q}"`.
|
|
44
28
|
*/
|
|
45
29
|
noResultsTitle?: (query: string) => string;
|
|
30
|
+
/** The sort control's own name, prepended to its accessible name. Default: 'Sort'. */
|
|
31
|
+
sortLabel?: string;
|
|
46
32
|
/** Label for the "Recently Updated" sort option. Default: 'Recently Updated'. */
|
|
47
33
|
sortRecentlyUpdatedLabel?: string;
|
|
48
34
|
/** Label for the "Newest" sort option. Default: 'Newest'. */
|
|
@@ -55,12 +41,15 @@ export interface CatalogTitles {
|
|
|
55
41
|
gridViewLabel?: string;
|
|
56
42
|
/** Accessible label for switching to list view. Default: 'List view'. */
|
|
57
43
|
listViewLabel?: string;
|
|
44
|
+
/** Accessible label naming the grid/list view toggle group. Default: 'View mode'. */
|
|
45
|
+
viewToggleLabel?: string;
|
|
58
46
|
/** ARIA label for the page/grid. Default: 'Catalog'. */
|
|
59
47
|
ariaLabel?: string;
|
|
60
48
|
/**
|
|
61
49
|
* Display labels for entity-type filter tabs. Only types present in `items`
|
|
62
|
-
* are shown
|
|
63
|
-
*
|
|
50
|
+
* are shown, and the row is hidden entirely when fewer than two types are
|
|
51
|
+
* present. Defaults: Model → 'Models', Agent → 'Agents',
|
|
52
|
+
* Toolset → 'Toolsets', Skill → 'Skills', Prompt → 'Prompts'.
|
|
64
53
|
*/
|
|
65
54
|
tabLabels?: Partial<Record<CatalogEntityType, string>>;
|
|
66
55
|
/** Label for the filter button when nothing is filtered. Default: 'From'. */
|
|
@@ -72,18 +61,69 @@ export interface CatalogTitles {
|
|
|
72
61
|
}
|
|
73
62
|
/** Props for Catalog. */
|
|
74
63
|
export interface CatalogProps {
|
|
75
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Items to display in the Browse section's grid/list. Also drives the
|
|
66
|
+
* default entity-type tabs and Topics filter options when `tabs`/
|
|
67
|
+
* `topicOptions` are omitted.
|
|
68
|
+
*/
|
|
76
69
|
items: CatalogItem[];
|
|
70
|
+
/**
|
|
71
|
+
* Externally-controlled entity-type tab list. When omitted, `Catalog`
|
|
72
|
+
* derives tabs internally from `items` via `buildCatalogTabs`. Fewer than
|
|
73
|
+
* two tabs renders no tab row.
|
|
74
|
+
*
|
|
75
|
+
* Lets a host compute tabs from a wider item set than `items` — e.g. so a
|
|
76
|
+
* host that narrows `items` for grid display (by a category-tree
|
|
77
|
+
* selection) doesn't lose a tab for a type with zero matches in that
|
|
78
|
+
* narrowed set.
|
|
79
|
+
*/
|
|
80
|
+
tabs?: TabModel[];
|
|
81
|
+
/**
|
|
82
|
+
* Externally-controlled set of available Topics filter options. When
|
|
83
|
+
* omitted, `Catalog` derives them internally from `items` via
|
|
84
|
+
* `getTopicOptions`.
|
|
85
|
+
*
|
|
86
|
+
* Lets a host compute the option set from a wider item set than `items`,
|
|
87
|
+
* for the same reason as `tabs`.
|
|
88
|
+
*/
|
|
89
|
+
topicOptions?: Set<string>;
|
|
77
90
|
/** Items to display in the Favorites section. */
|
|
78
91
|
favorites: CatalogItem[];
|
|
79
92
|
/** Grouped text labels for headings and actions. */
|
|
80
93
|
titles?: CatalogTitles;
|
|
94
|
+
/**
|
|
95
|
+
* Renders in place of the Browse section's heading (`titles.browseTitle`)
|
|
96
|
+
* when supplied, e.g. so a host can render a clickable breadcrumb instead
|
|
97
|
+
* of a plain text label. The item count normally shown next to the heading
|
|
98
|
+
* is not rendered alongside it — include it in the supplied node if needed.
|
|
99
|
+
*/
|
|
100
|
+
browseHeaderRenderer?: ReactNode;
|
|
81
101
|
/** Whether catalog data is loading (reserved for future loading state). */
|
|
82
102
|
isLoading?: boolean;
|
|
83
103
|
/** Error to display if data loading failed (reserved for future error state). */
|
|
84
104
|
error?: Error | null;
|
|
85
105
|
/** Called when any item's star is toggled. */
|
|
86
106
|
onToggleFavorite?: (id: string, isStarred: boolean) => void;
|
|
107
|
+
/**
|
|
108
|
+
* Additional caller-supplied rule for whether the favorite star is shown for
|
|
109
|
+
* an item, in the browse grid, the list view, the favorites strip, and the
|
|
110
|
+
* details panel. Returning `false` hides the star everywhere and makes the
|
|
111
|
+
* item non-favoritable. Defaults to **visible** when omitted, so a predicate
|
|
112
|
+
* can only ever narrow visibility, never widen it.
|
|
113
|
+
*/
|
|
114
|
+
isFavoriteVisible?: (item: CatalogItem) => boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Per-column overrides for whether an optional `ListView` column (`folder`,
|
|
117
|
+
* `tags`, `favorite`) renders for the active tab, given its entity type.
|
|
118
|
+
* Independent of `isFavoriteVisible` (which only gates the star on
|
|
119
|
+
* individual rows, in the browse grid and cards too, not the column).
|
|
120
|
+
* Replaces that column's built-in default rule — e.g. `folder` normally
|
|
121
|
+
* hides for `CatalogEntityType.Model`; columns omitted from this map keep
|
|
122
|
+
* their default. `favorite` is additionally combined (AND) with
|
|
123
|
+
* `isReadonly`. No effect on the Browse grid/cards, only the list view's
|
|
124
|
+
* table.
|
|
125
|
+
*/
|
|
126
|
+
columnVisibility?: ListViewColumnVisibility;
|
|
87
127
|
/** Called when the "Use in chat" button is clicked in the details panel. */
|
|
88
128
|
onUseInChat?: (item: CatalogItem) => void;
|
|
89
129
|
/** Controls whether the primary action button is shown for an item. */
|
|
@@ -92,6 +132,12 @@ export interface CatalogProps {
|
|
|
92
132
|
onShare?: (item: CatalogItem) => void;
|
|
93
133
|
/** Controls whether the "Publish" action is shown for an item. */
|
|
94
134
|
isPublishVisible?: (item: CatalogItem) => boolean;
|
|
135
|
+
/**
|
|
136
|
+
* Resolves whether whichever of "Publish"/"Unpublish" applies renders as its
|
|
137
|
+
* own button in the details header rather than an entry in its "Manage"
|
|
138
|
+
* menu. Defaults to `false` — the menu entry.
|
|
139
|
+
*/
|
|
140
|
+
isPublishPrimary?: (item: CatalogItem) => boolean;
|
|
95
141
|
/** Resolves previously published versions for an item, most recent first. */
|
|
96
142
|
getPublishHistory?: (item: CatalogItem) => Promise<PublishHistoryEntry[]>;
|
|
97
143
|
/** Root-level destination folder nodes offered by the publish flow. */
|
|
@@ -108,16 +154,64 @@ export interface CatalogProps {
|
|
|
108
154
|
publishLoadingPaths?: Set<string>;
|
|
109
155
|
/** Resolves whether the current user can publish to a given folder path. */
|
|
110
156
|
hasPublishWriteAccess?: (folderPath: string[]) => boolean;
|
|
111
|
-
/** Called with the destination folder path when the user confirms publish/update. */
|
|
112
|
-
onPublish?: (item: CatalogItem, folderPath: string[]) => Promise<void>;
|
|
157
|
+
/** Called with the destination folder path and current access rules when the user confirms publish/update. */
|
|
158
|
+
onPublish?: (item: CatalogItem, folderPath: string[], rules: PublicationRule[]) => Promise<void>;
|
|
113
159
|
/** Called after a successful publish; use this to surface a success notification. */
|
|
114
160
|
onPublishSuccess?: (item: CatalogItem, folderPath: string[]) => void;
|
|
161
|
+
/** Called with the rejection reason when a publish request fails; use this to surface an error notification. */
|
|
162
|
+
onPublishError?: (item: CatalogItem, folderPath: string[], error: unknown) => void;
|
|
115
163
|
/** Called when the user confirms a new folder name in the publish flow. */
|
|
116
164
|
onCreatePublishFolder?: (parentPath: string[], name: string) => void;
|
|
117
165
|
/** Text overrides forwarded to the publish flow. */
|
|
118
|
-
|
|
166
|
+
publishLabels?: PublishPanelLabels & PublishFooterLabels;
|
|
167
|
+
/** Options offered in the access-rules editor's source picker. Defaults to `[]` when absent. */
|
|
168
|
+
ruleSourceOptions?: string[];
|
|
169
|
+
/**
|
|
170
|
+
* Resolves the access rules already configured for a destination folder,
|
|
171
|
+
* called whenever the selected folder changes. The result fully replaces
|
|
172
|
+
* the rules editor's contents. Omit to skip pre-filling entirely.
|
|
173
|
+
*/
|
|
174
|
+
onFetchExistingRules?: (folderPath: string[]) => Promise<PublicationRule[]>;
|
|
119
175
|
/** Called when the "Edit" button is clicked in the details panel. Shown only when the item's `isEditable` is `true`. */
|
|
120
176
|
onEdit?: (item: CatalogItem) => void;
|
|
177
|
+
/**
|
|
178
|
+
* Called when the "Download" action is clicked in the details panel, with no
|
|
179
|
+
* confirmation step. When "Download" renders in the Manage menu (see
|
|
180
|
+
* `isDownloadPrimary`), the panel does not await the result or show a
|
|
181
|
+
* pending state, so the host owns any progress and failure feedback. When
|
|
182
|
+
* "Download" is the primary action, the panel awaits this call and shows a
|
|
183
|
+
* pending/disabled state for its duration.
|
|
184
|
+
*/
|
|
185
|
+
onDownload?: (item: CatalogItem) => Promise<void> | void;
|
|
186
|
+
/**
|
|
187
|
+
* Narrows which items offer the "Download" action. Defaults to `true`
|
|
188
|
+
* (visible for every item) whenever `onDownload` is supplied.
|
|
189
|
+
*/
|
|
190
|
+
isDownloadVisible?: (item: CatalogItem) => boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Resolves whether an item's Download action renders as the primary action
|
|
193
|
+
* instead of a Manage-menu entry. Defaults to
|
|
194
|
+
* `item.type === CatalogEntityType.Skill`.
|
|
195
|
+
*/
|
|
196
|
+
isDownloadPrimary?: (item: CatalogItem) => boolean;
|
|
197
|
+
/**
|
|
198
|
+
* Resolves the text of a file picked in the details panel's Content tab,
|
|
199
|
+
* given its opaque `id`. The panel shows a loading state while it is
|
|
200
|
+
* pending and renders the resolved text as the body. Superseded by
|
|
201
|
+
* `onLoadContentFilePreview` for a given pick when both are supplied.
|
|
202
|
+
*/
|
|
203
|
+
onLoadContentFile?: (fileId: string) => Promise<string | undefined>;
|
|
204
|
+
/**
|
|
205
|
+
* Resolves a picked file's typed preview, given its opaque `id`. Takes
|
|
206
|
+
* precedence over `onLoadContentFile` when both are supplied.
|
|
207
|
+
*/
|
|
208
|
+
onLoadContentFilePreview?: (fileId: string) => Promise<CatalogContentFilePreview | undefined>;
|
|
209
|
+
/**
|
|
210
|
+
* Renders a picked file through a host-owned preview surface. Takes
|
|
211
|
+
* precedence over both loading callbacks, while the catalog continues to
|
|
212
|
+
* own selection and passes the opaque file id and resolved basename only.
|
|
213
|
+
*/
|
|
214
|
+
renderContentFilePreview?: (fileId: string, fileName: string) => ReactNode;
|
|
121
215
|
/**
|
|
122
216
|
* Called immediately when the "Delete" button in the details panel is
|
|
123
217
|
* clicked, with no confirmation step. Shown only when the item's `isMyApp`
|
|
@@ -125,6 +219,56 @@ export interface CatalogProps {
|
|
|
125
219
|
* promise; the button shows a disabled state while pending.
|
|
126
220
|
*/
|
|
127
221
|
onDelete?: (item: CatalogItem) => Promise<void> | void;
|
|
222
|
+
/**
|
|
223
|
+
* Called when removal is confirmed via the details panel's confirmation
|
|
224
|
+
* popup, for an item shared with the current user (`sharedWithMe: true`).
|
|
225
|
+
* May return a promise; the popup shows a loading state and prevents
|
|
226
|
+
* duplicate submission while pending.
|
|
227
|
+
*/
|
|
228
|
+
onUnshare?: (item: CatalogItem) => Promise<void> | void;
|
|
229
|
+
/**
|
|
230
|
+
* Narrows where the "Remove from My List" action is offered, on top of the
|
|
231
|
+
* built-in `sharedWithMe`/`isMyApp` rule. Use it to declare that unsharing
|
|
232
|
+
* is unsupported for a kind of item. Defaults to `true` (visible) when
|
|
233
|
+
* absent.
|
|
234
|
+
*/
|
|
235
|
+
isUnshareVisible?: (item: CatalogItem) => boolean;
|
|
236
|
+
/**
|
|
237
|
+
* Called when revocation is confirmed via the details panel's confirmation
|
|
238
|
+
* step, for an item the current user owns (`isMyApp: true`), removing every
|
|
239
|
+
* recipient's shared access at once. May return a promise; the confirmation
|
|
240
|
+
* shows a loading state and prevents duplicate submission while pending.
|
|
241
|
+
*/
|
|
242
|
+
onRevokeShare?: (item: CatalogItem) => Promise<void> | void;
|
|
243
|
+
/**
|
|
244
|
+
* Resolves how many users currently hold shared access to an owned item.
|
|
245
|
+
* Called when the owner opens the details panel's Manage menu, so "Revoke
|
|
246
|
+
* access" is gated and labelled on a count that is never stale. `0` hides
|
|
247
|
+
* the action; `undefined` (or a rejection) leaves it reachable without a
|
|
248
|
+
* count. Omit to offer the action for every owned item.
|
|
249
|
+
*/
|
|
250
|
+
onFetchRecipientsCount?: (item: CatalogItem) => Promise<number | undefined>;
|
|
251
|
+
/**
|
|
252
|
+
* Narrows where the "Revoke access" action is offered, on top of the
|
|
253
|
+
* built-in `isMyApp` rule and the recipient count. Use it to declare that
|
|
254
|
+
* revoking is unsupported for a kind of item. Defaults to `true` (visible)
|
|
255
|
+
* when absent.
|
|
256
|
+
*/
|
|
257
|
+
isRevokeShareVisible?: (item: CatalogItem) => boolean;
|
|
258
|
+
/**
|
|
259
|
+
* Called when unpublish is confirmed via the details panel's confirmation
|
|
260
|
+
* step, with the published folder's path segments. May return a promise;
|
|
261
|
+
* the confirmation shows a loading state and prevents duplicate submission
|
|
262
|
+
* while pending. The published copy survives until an administrator
|
|
263
|
+
* approves, so the panel stays open and the item stays visible.
|
|
264
|
+
*/
|
|
265
|
+
onUnpublish?: (item: CatalogItem, folderPath: string[]) => Promise<void> | void;
|
|
266
|
+
/**
|
|
267
|
+
* Narrows where the "Unpublish" action is offered, on top of the presence
|
|
268
|
+
* of `onUnpublish` and at least one resolved `getPublishHistory` entry.
|
|
269
|
+
* Defaults to `true` (visible) when absent.
|
|
270
|
+
*/
|
|
271
|
+
isUnpublishVisible?: (item: CatalogItem) => boolean;
|
|
128
272
|
/**
|
|
129
273
|
* Renders the Share popover content anchored to the Share button in the
|
|
130
274
|
* details panel. When provided, clicking Share opens this popover instead
|
|
@@ -138,16 +282,11 @@ export interface CatalogProps {
|
|
|
138
282
|
*/
|
|
139
283
|
isShareVisible?: (item: CatalogItem) => boolean;
|
|
140
284
|
/**
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
285
|
+
* Resolves whether "Share" renders as its own button in the details header
|
|
286
|
+
* rather than an entry in its "Manage" menu. Defaults to `true` — the
|
|
287
|
+
* button. Returning `false` moves it into the menu, beside "Delete".
|
|
144
288
|
*/
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Controls whether the "Connect" action is shown for an item. When absent,
|
|
148
|
-
* the Connect button is never shown.
|
|
149
|
-
*/
|
|
150
|
-
isConnectVisible?: (item: CatalogItem) => boolean;
|
|
289
|
+
isSharePrimary?: (item: CatalogItem) => boolean;
|
|
151
290
|
/**
|
|
152
291
|
* Called when the credentials login form is submitted in the details
|
|
153
292
|
* panel, for the given credentials `level` (`USER` or `GLOBAL`). May
|
|
@@ -177,15 +316,33 @@ export interface CatalogProps {
|
|
|
177
316
|
* Dropdown options for the Create button. When provided, the button opens a
|
|
178
317
|
* menu instead of calling `onCreateClick` directly.
|
|
179
318
|
*/
|
|
180
|
-
createOptions?:
|
|
319
|
+
createOptions?: DropdownItem[];
|
|
181
320
|
/** Called when the Create button is clicked (used when `createOptions` is absent). */
|
|
182
321
|
onCreateClick?: () => void;
|
|
183
322
|
/** Hides the "Create" button entirely, e.g. when rendering as a read-only picker. Default: false. */
|
|
184
323
|
hideCreateButton?: boolean;
|
|
324
|
+
/**
|
|
325
|
+
* Renders the whole catalog as a read-only browsing surface. Browse cards
|
|
326
|
+
* lose their favorite star, footer divider, and "Featured" tag; the list
|
|
327
|
+
* view loses its "Favorite" column; the "Create" button and the favorites
|
|
328
|
+
* strip are not rendered; and the details panel withholds its favorite star
|
|
329
|
+
* and every mutating action (Share, Publish/Unpublish, Edit, Delete,
|
|
330
|
+
* "Remove from My List", "Revoke access", and the credentials Log in / Log
|
|
331
|
+
* out / manage button). The non-mutating actions — the primary "Use in
|
|
332
|
+
* chat" and Download — still render. Default: false.
|
|
333
|
+
*/
|
|
334
|
+
isReadonly?: boolean;
|
|
185
335
|
/** Hides the page heading (title row), e.g. when the host renders its own title outside the catalog. Default: false. */
|
|
186
336
|
hidePageTitle?: boolean;
|
|
187
|
-
/** Initial Browse view mode (grid
|
|
337
|
+
/** Initial Browse view mode (`Grid` renders the card grid, `Cards` the list view). Default: `CatalogViewMode.Grid`. */
|
|
188
338
|
initialViewMode?: CatalogViewMode;
|
|
339
|
+
/**
|
|
340
|
+
* Lets the Browse content (card grid and list view) span the full width of
|
|
341
|
+
* its container instead of sitting in a centered, 1180 px-wide column with
|
|
342
|
+
* empty gutters on wide screens. The 32 px side padding is kept either way,
|
|
343
|
+
* and the wider container yields more card columns. Default: false.
|
|
344
|
+
*/
|
|
345
|
+
isFullWidth?: boolean;
|
|
189
346
|
/** ID of an item to visually mark as selected (border, tint, and checkmark) in the Browse grid. */
|
|
190
347
|
selectedItemId?: string;
|
|
191
348
|
/**
|
|
@@ -203,6 +360,11 @@ export interface CatalogProps {
|
|
|
203
360
|
styles?: CatalogStyles;
|
|
204
361
|
/** Text overrides forwarded to the item details panel. */
|
|
205
362
|
detailsTexts?: ItemDetailsTexts;
|
|
363
|
+
/**
|
|
364
|
+
* Footer note forwarded to the item details panel's Limits tab, e.g. a
|
|
365
|
+
* link to a full usage-limits page. Omitted (the default) hides the footer.
|
|
366
|
+
*/
|
|
367
|
+
detailsLimitsFooterNote?: ReactNode;
|
|
206
368
|
/**
|
|
207
369
|
* Externally-controlled active sort key. When omitted, `Catalog` manages
|
|
208
370
|
* its own sort state internally, defaulting to `CatalogSortKey.RecentlyUpdated`.
|
|
@@ -225,5 +387,13 @@ export interface CatalogProps {
|
|
|
225
387
|
isMyAppsActive?: boolean;
|
|
226
388
|
/** Called when the user toggles the "My Apps" filter; required to control `isMyAppsActive`. */
|
|
227
389
|
onMyAppsActiveChange?: (isActive: boolean) => void;
|
|
390
|
+
/**
|
|
391
|
+
* Externally-controlled active entity-type tab id. When omitted, `Catalog`
|
|
392
|
+
* manages its own tab state internally, defaulting to the first tab
|
|
393
|
+
* returned by `buildCatalogTabs`.
|
|
394
|
+
*/
|
|
395
|
+
activeTab?: string;
|
|
396
|
+
/** Called when the user switches tabs; required to control `activeTab`. */
|
|
397
|
+
onActiveTabChange?: (tabId: string) => void;
|
|
228
398
|
}
|
|
229
399
|
//# sourceMappingURL=catalog-props.d.ts.map
|