@epam/ai-dial-catalog 0.0.0-dev.0
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 +43 -0
- package/components/AppIdentity/AppIdentity.d.ts.map +1 -0
- package/components/CardGrid/Card.d.ts +5 -0
- package/components/CardGrid/Card.d.ts.map +1 -0
- package/components/CardGrid/CardGrid.d.ts +5 -0
- package/components/CardGrid/CardGrid.d.ts.map +1 -0
- package/components/CardGrid/CardRowRenderer.d.ts +14 -0
- package/components/CardGrid/CardRowRenderer.d.ts.map +1 -0
- package/components/Catalog/Catalog.d.ts +9 -0
- package/components/Catalog/Catalog.d.ts.map +1 -0
- package/components/Catalog/CreateButton.d.ts +17 -0
- package/components/Catalog/CreateButton.d.ts.map +1 -0
- package/components/Details/ApiDetails.d.ts +34 -0
- package/components/Details/ApiDetails.d.ts.map +1 -0
- package/components/Details/DetailsPanel.d.ts +5 -0
- package/components/Details/DetailsPanel.d.ts.map +1 -0
- package/components/Details/Header/Header.d.ts +15 -0
- package/components/Details/Header/Header.d.ts.map +1 -0
- package/components/Details/Summary/Limits.d.ts +18 -0
- package/components/Details/Summary/Limits.d.ts.map +1 -0
- package/components/Details/Summary/Summary.d.ts +12 -0
- package/components/Details/Summary/Summary.d.ts.map +1 -0
- package/components/Details/TabsContent/About.d.ts +13 -0
- package/components/Details/TabsContent/About.d.ts.map +1 -0
- package/components/Details/TabsContent/DataGrid/DataGrid.d.ts +20 -0
- package/components/Details/TabsContent/DataGrid/DataGrid.d.ts.map +1 -0
- package/components/Details/TabsContent/Overview.d.ts +22 -0
- package/components/Details/TabsContent/Overview.d.ts.map +1 -0
- package/components/Details/TabsContent/Pricing.d.ts +20 -0
- package/components/Details/TabsContent/Pricing.d.ts.map +1 -0
- package/components/Details/TabsContent/Tools/Tools.d.ts +18 -0
- package/components/Details/TabsContent/Tools/Tools.d.ts.map +1 -0
- package/components/EntityBadge/EntityBadge.d.ts +12 -0
- package/components/EntityBadge/EntityBadge.d.ts.map +1 -0
- package/components/EntityHeader/EntityHeader.d.ts +30 -0
- package/components/EntityHeader/EntityHeader.d.ts.map +1 -0
- package/components/Favorites/FavoriteCard.d.ts +28 -0
- package/components/Favorites/FavoriteCard.d.ts.map +1 -0
- package/components/Favorites/Favorites.d.ts +8 -0
- package/components/Favorites/Favorites.d.ts.map +1 -0
- package/components/FeaturedChip/FeaturedChip.d.ts +11 -0
- package/components/FeaturedChip/FeaturedChip.d.ts.map +1 -0
- package/components/Filter/Filter.d.ts +32 -0
- package/components/Filter/Filter.d.ts.map +1 -0
- package/components/FolderPath/FolderPath.d.ts +16 -0
- package/components/FolderPath/FolderPath.d.ts.map +1 -0
- package/components/ItemHeader/ItemHeader.d.ts +14 -0
- package/components/ItemHeader/ItemHeader.d.ts.map +1 -0
- package/components/ListView/ListView.d.ts +9 -0
- package/components/ListView/ListView.d.ts.map +1 -0
- package/components/ListView/Renders/EntityTypeCellRenderer.d.ts +6 -0
- package/components/ListView/Renders/EntityTypeCellRenderer.d.ts.map +1 -0
- package/components/ListView/Renders/FolderCellRenderer.d.ts +6 -0
- package/components/ListView/Renders/FolderCellRenderer.d.ts.map +1 -0
- package/components/ListView/Renders/NameCellRenderer.d.ts +6 -0
- package/components/ListView/Renders/NameCellRenderer.d.ts.map +1 -0
- package/components/ListView/Renders/StarCellRenderer.d.ts +6 -0
- package/components/ListView/Renders/StarCellRenderer.d.ts.map +1 -0
- package/components/ListView/Renders/TagsCellRenderer.d.ts +5 -0
- package/components/ListView/Renders/TagsCellRenderer.d.ts.map +1 -0
- package/components/ListView/columns.d.ts +4 -0
- package/components/ListView/columns.d.ts.map +1 -0
- package/components/SearchBar/SearchBar.d.ts +24 -0
- package/components/SearchBar/SearchBar.d.ts.map +1 -0
- package/components/StarToggleButton/StarToggleButton.d.ts +18 -0
- package/components/StarToggleButton/StarToggleButton.d.ts.map +1 -0
- package/components/TableView/TableView.d.ts +37 -0
- package/components/TableView/TableView.d.ts.map +1 -0
- package/components/Toolbar/Rows/TitleRow.d.ts +30 -0
- package/components/Toolbar/Rows/TitleRow.d.ts.map +1 -0
- package/components/Toolbar/Toolbar.d.ts +5 -0
- package/components/Toolbar/Toolbar.d.ts.map +1 -0
- package/components/TopicTag/TopicTag.d.ts +22 -0
- package/components/TopicTag/TopicTag.d.ts.map +1 -0
- package/constants/catalog-defaults.d.ts +4 -0
- package/constants/catalog-defaults.d.ts.map +1 -0
- package/constants/entity-colors.d.ts +6 -0
- package/constants/entity-colors.d.ts.map +1 -0
- package/constants/virtual-grid.d.ts +36 -0
- package/constants/virtual-grid.d.ts.map +1 -0
- package/index.css +2 -0
- package/index.d.ts +44 -0
- package/index.d.ts.map +1 -0
- package/index.js +115654 -0
- package/models/card-props.d.ts +66 -0
- package/models/card-props.d.ts.map +1 -0
- package/models/card-row-data.d.ts +21 -0
- package/models/card-row-data.d.ts.map +1 -0
- package/models/catalog-item.d.ts +43 -0
- package/models/catalog-item.d.ts.map +1 -0
- package/models/catalog-props.d.ts +104 -0
- package/models/catalog-props.d.ts.map +1 -0
- package/models/catalog-styles.d.ts +62 -0
- package/models/catalog-styles.d.ts.map +1 -0
- package/models/entity-summary.d.ts +23 -0
- package/models/entity-summary.d.ts.map +1 -0
- package/models/favorites.d.ts +54 -0
- package/models/favorites.d.ts.map +1 -0
- package/models/grid-context.d.ts +11 -0
- package/models/grid-context.d.ts.map +1 -0
- package/models/grid-props.d.ts +28 -0
- package/models/grid-props.d.ts.map +1 -0
- package/models/item-details-data.d.ts +106 -0
- package/models/item-details-data.d.ts.map +1 -0
- package/models/item-details-props.d.ts +123 -0
- package/models/item-details-props.d.ts.map +1 -0
- package/models/item-overview.d.ts +31 -0
- package/models/item-overview.d.ts.map +1 -0
- package/models/list-props.d.ts +53 -0
- package/models/list-props.d.ts.map +1 -0
- package/models/sort.d.ts +8 -0
- package/models/sort.d.ts.map +1 -0
- package/models/toolbar-props.d.ts +85 -0
- package/models/toolbar-props.d.ts.map +1 -0
- package/package.json +26 -0
- package/test-setup.d.ts +1 -0
- package/test-setup.d.ts.map +1 -0
- package/types/code-language.d.ts +7 -0
- package/types/code-language.d.ts.map +1 -0
- package/types/detail-tab.d.ts +10 -0
- package/types/detail-tab.d.ts.map +1 -0
- package/types/entity-tag.d.ts +9 -0
- package/types/entity-tag.d.ts.map +1 -0
- package/types/entity-type.d.ts +11 -0
- package/types/entity-type.d.ts.map +1 -0
- package/types/sort.d.ts +7 -0
- package/types/sort.d.ts.map +1 -0
- package/types/view-mode.d.ts +6 -0
- package/types/view-mode.d.ts.map +1 -0
- package/utils/card-grid.d.ts +3 -0
- package/utils/card-grid.d.ts.map +1 -0
- package/utils/catalog-filter.d.ts +12 -0
- package/utils/catalog-filter.d.ts.map +1 -0
- package/utils/catalog-sort.d.ts +11 -0
- package/utils/catalog-sort.d.ts.map +1 -0
- package/utils/catalog-tabs.d.ts +6 -0
- package/utils/catalog-tabs.d.ts.map +1 -0
- package/utils/parse-about-content.d.ts +32 -0
- package/utils/parse-about-content.d.ts.map +1 -0
- package/utils/styles.d.ts +7 -0
- package/utils/styles.d.ts.map +1 -0
- package/utils/use-fav-columns.d.ts +6 -0
- package/utils/use-fav-columns.d.ts.map +1 -0
- package/utils/use-scroll-virtualizer.d.ts +27 -0
- package/utils/use-scroll-virtualizer.d.ts.map +1 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { CatalogItem } from './catalog-item';
|
|
2
|
+
/** Typography class overrides for `Card` content. */
|
|
3
|
+
export interface CardTypography {
|
|
4
|
+
/** Typography class applied to the item name. Default: `'dial-h3-text'`. */
|
|
5
|
+
nameClassName?: string;
|
|
6
|
+
/** Typography class applied to the version text. Default: `'dial-tiny-text'`. */
|
|
7
|
+
versionClassName?: string;
|
|
8
|
+
/** Typography class applied to the description text. Default: `'dial-small-text'`. */
|
|
9
|
+
descriptionClassName?: string;
|
|
10
|
+
/** Typography class applied to the featured chip label. Default: `'dial-tiny-semi-text uppercase tracking-[0.06em]'`. */
|
|
11
|
+
featuredChipClassName?: string;
|
|
12
|
+
/** Typography class applied to folder path separator labels. Default: `'dial-tiny-text'`. */
|
|
13
|
+
folderLabelClassName?: string;
|
|
14
|
+
/** Typography class applied to the leaf (last) folder path segment. Default: `'dial-tiny-semi-text'`. */
|
|
15
|
+
folderLeafClassName?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Color overrides applied as CSS custom properties for `Card`. */
|
|
18
|
+
export interface CardColors {
|
|
19
|
+
/** Default card background color. Fallback: `--bg-layer-2`. */
|
|
20
|
+
background?: string;
|
|
21
|
+
/** Hovered card background color. Fallback: `--bg-layer-3`. */
|
|
22
|
+
hoverBackground?: string;
|
|
23
|
+
/** Card border color. Fallback: `--stroke-secondary`. */
|
|
24
|
+
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
|
+
/** Version text color. Fallback: `--text-secondary`. */
|
|
32
|
+
textSecondary?: string;
|
|
33
|
+
/** Filled star icon color. Fallback: `--text-warning-icon`. */
|
|
34
|
+
starFilled?: string;
|
|
35
|
+
}
|
|
36
|
+
/** Grouped style overrides for `Card`. */
|
|
37
|
+
export interface CardStyles {
|
|
38
|
+
/** Color overrides applied as CSS custom properties. */
|
|
39
|
+
colors?: CardColors;
|
|
40
|
+
/** Typography class overrides for card text elements. */
|
|
41
|
+
typography?: CardTypography;
|
|
42
|
+
}
|
|
43
|
+
/** Props for `Card`. */
|
|
44
|
+
export interface CardProps {
|
|
45
|
+
/** The catalog item to display. */
|
|
46
|
+
item: CatalogItem;
|
|
47
|
+
/** Optional CSS class applied to the card root element. */
|
|
48
|
+
className?: string;
|
|
49
|
+
/** Active search query for highlighting matches. */
|
|
50
|
+
query?: string;
|
|
51
|
+
/** Initial starred state. Default: false. */
|
|
52
|
+
initialIsStarred?: boolean;
|
|
53
|
+
/** Called when the star button is toggled. */
|
|
54
|
+
onToggle?: (id: string, isStarred: boolean) => void;
|
|
55
|
+
/** Called when the card body is clicked (excluding the star button). */
|
|
56
|
+
onClick?: (item: CatalogItem) => void;
|
|
57
|
+
/** Grouped color and typography overrides. */
|
|
58
|
+
styles?: CardStyles;
|
|
59
|
+
/** Label for the "Featured" tag. Default: `'Featured'`. */
|
|
60
|
+
featuredLabel?: string;
|
|
61
|
+
/** Accessible label for the star button when the item is not yet starred. Default: `'Add to favorites'`. */
|
|
62
|
+
addToFavoritesAriaLabel?: string;
|
|
63
|
+
/** Accessible label for the star button when the item is already starred. Default: `'Remove from favorites'`. */
|
|
64
|
+
removeFromFavoritesAriaLabel?: string;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=card-props.d.ts.map
|
|
@@ -0,0 +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,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yHAAyH;IACzH,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,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;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,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;CACvC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CatalogItem } from './catalog-item';
|
|
2
|
+
/** Row data passed to each virtual row renderer in the card grid. */
|
|
3
|
+
export interface CardRowData {
|
|
4
|
+
/** All catalog items; the renderer slices the correct row from this array. */
|
|
5
|
+
items: CatalogItem[];
|
|
6
|
+
/** Number of cards per row in the current viewport. */
|
|
7
|
+
columnCount: number;
|
|
8
|
+
/** Active search query forwarded to each card for text highlighting. */
|
|
9
|
+
query: string;
|
|
10
|
+
/** Called when a card's star is toggled. */
|
|
11
|
+
onToggleFavorite?: (id: string, isStarred: boolean) => void;
|
|
12
|
+
/** Called when a card body is clicked. */
|
|
13
|
+
onItemClick?: (item: CatalogItem) => void;
|
|
14
|
+
/** Label for the "Featured" tag rendered on featured cards. */
|
|
15
|
+
featuredLabel: string;
|
|
16
|
+
/** Accessible label for the star button when the item is not starred. */
|
|
17
|
+
addToFavoritesAriaLabel: string;
|
|
18
|
+
/** Accessible label for the star button when the item is already starred. */
|
|
19
|
+
removeFromFavoritesAriaLabel: string;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=card-row-data.d.ts.map
|
|
@@ -0,0 +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;CACtC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CatalogEntityType } from '../types/entity-type';
|
|
2
|
+
import { CatalogItemSummary } from './entity-summary';
|
|
3
|
+
import { CatalogItemTabData } from './item-details-data';
|
|
4
|
+
/** Full catalog item shown in the Browse section. */
|
|
5
|
+
export interface CatalogItem {
|
|
6
|
+
/** Unique identifier. */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Entity category. */
|
|
9
|
+
type: CatalogEntityType;
|
|
10
|
+
/** Display name. */
|
|
11
|
+
name: string;
|
|
12
|
+
/** Version string shown next to the name. */
|
|
13
|
+
version: string;
|
|
14
|
+
/** Human-readable "last used" timestamp, e.g. "10 min ago". */
|
|
15
|
+
lastUsed: string;
|
|
16
|
+
/** Timestamp used for chronological sorting; omit when unknown. */
|
|
17
|
+
updatedAt?: number;
|
|
18
|
+
/** URL of the icon displayed inside the logo mark. */
|
|
19
|
+
iconUrl?: string;
|
|
20
|
+
/** Whether this item is currently starred. Default: true in the Favorites Strip. */
|
|
21
|
+
isStarred?: boolean;
|
|
22
|
+
/** When true the card gets accent border, glow, and a Featured tag. */
|
|
23
|
+
isFeatured?: boolean;
|
|
24
|
+
/** Short description, typically 1–2 lines. */
|
|
25
|
+
description: string;
|
|
26
|
+
/** When true the item is hidden from the main Browse view and only shown in Search results. */
|
|
27
|
+
isHidden?: boolean;
|
|
28
|
+
/** Whether the item is marked as a favorite by the user. */
|
|
29
|
+
isUserFavorite?: boolean;
|
|
30
|
+
/** Whether the item belongs to the current user (e.g. created by them or in their personal space). */
|
|
31
|
+
isMyApp?: boolean;
|
|
32
|
+
/** Provider name shown below the entity name in the details header, e.g. `'OpenAI'` or `'Anthropic'`. */
|
|
33
|
+
provider?: string;
|
|
34
|
+
/** Folder breadcrumb path segments, outermost first. */
|
|
35
|
+
folder: string[];
|
|
36
|
+
/** Topics associated with the item. */
|
|
37
|
+
topics: string[];
|
|
38
|
+
/** Header-level summary metadata (tag, badge image, daily limit). When absent the summary block is hidden. */
|
|
39
|
+
summary?: CatalogItemSummary;
|
|
40
|
+
/** Tab-specific detail data. A tab is shown only when its field is non-null. */
|
|
41
|
+
details?: CatalogItemTabData;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=catalog-item.d.ts.map
|
|
@@ -0,0 +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,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,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,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,yGAAyG;IACzG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8GAA8G;IAC9G,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gFAAgF;IAChF,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { CatalogEntityType } from '../types/entity-type';
|
|
3
|
+
import { CatalogItem } from './catalog-item';
|
|
4
|
+
import { CatalogStyles } from './catalog-styles';
|
|
5
|
+
import { ItemDetailsTexts } from './item-details-props';
|
|
6
|
+
/** A single option in the Create dropdown. */
|
|
7
|
+
export interface CreateOption {
|
|
8
|
+
/** Display label shown in the dropdown menu. */
|
|
9
|
+
label: string;
|
|
10
|
+
/** Short description shown below the label (single line, truncated). */
|
|
11
|
+
description?: string;
|
|
12
|
+
/** Leading icon rendered inside a tinted 32 px square. */
|
|
13
|
+
icon?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Tailwind classes applied to the icon container — controls background tint
|
|
16
|
+
* and icon colour. Example: `'bg-accent-secondary-alpha text-accent-secondary'`.
|
|
17
|
+
*/
|
|
18
|
+
iconContainerClassName?: string;
|
|
19
|
+
/** Called when this option is selected. */
|
|
20
|
+
onClick: () => void;
|
|
21
|
+
}
|
|
22
|
+
/** Text labels used by the `Catalog` surface. */
|
|
23
|
+
export interface CatalogTitles {
|
|
24
|
+
/** Page heading. Default: 'Catalog'. */
|
|
25
|
+
pageTitle?: string;
|
|
26
|
+
/** Create button label. Default: 'Create'. */
|
|
27
|
+
createLabel?: string;
|
|
28
|
+
/** Favorites section heading. Default: 'Your Favorites'. */
|
|
29
|
+
favoritesTitle?: string;
|
|
30
|
+
/** Browse section heading. Default: 'Browse'. */
|
|
31
|
+
browseTitle?: string;
|
|
32
|
+
/** Search input placeholder. Default: 'Search models, tools, agents…'. */
|
|
33
|
+
searchPlaceholder?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Returns the "no results" heading given the active query.
|
|
36
|
+
* Default: (q) => `No results for "${q}"`.
|
|
37
|
+
*/
|
|
38
|
+
noResultsTitle?: (query: string) => string;
|
|
39
|
+
/** Label for the "Recently Updated" sort option. Default: 'Recently Updated'. */
|
|
40
|
+
sortRecentlyUpdatedLabel?: string;
|
|
41
|
+
/** Label for the "Newest" sort option. Default: 'Newest'. */
|
|
42
|
+
sortNewestLabel?: string;
|
|
43
|
+
/** Label for the "Name A-Z" sort option. Default: 'Name A-Z'. */
|
|
44
|
+
sortNameAZLabel?: string;
|
|
45
|
+
/** Label for the "Featured" tag on cards. Default: 'Featured'. */
|
|
46
|
+
featuredLabel?: string;
|
|
47
|
+
/** Accessible label for switching to grid view. Default: 'Grid view'. */
|
|
48
|
+
gridViewLabel?: string;
|
|
49
|
+
/** Accessible label for switching to list view. Default: 'List view'. */
|
|
50
|
+
listViewLabel?: string;
|
|
51
|
+
/** ARIA label for the page/grid. Default: 'Catalog'. */
|
|
52
|
+
ariaLabel?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Display labels for entity-type filter tabs. Only types present in `items`
|
|
55
|
+
* are shown. Defaults: Model → 'Model', Agent → 'Agent', Toolset → 'Toolset',
|
|
56
|
+
* Guardrail → 'Guardrail', Skill → 'Skill', Mcp → 'MCP'.
|
|
57
|
+
*/
|
|
58
|
+
tabLabels?: Partial<Record<CatalogEntityType, string>>;
|
|
59
|
+
/** Label for the filter button when nothing is filtered. Default: 'From'. */
|
|
60
|
+
filterFromLabel?: string;
|
|
61
|
+
/** Label for the "My Apps" filter checkbox. Default: 'My Apps'. */
|
|
62
|
+
filterMyAppsLabel?: string;
|
|
63
|
+
/** Label for the Topics section inside the filter dropdown. Default: 'Topics'. */
|
|
64
|
+
filterTopicsLabel?: string;
|
|
65
|
+
}
|
|
66
|
+
/** Props for Catalog. */
|
|
67
|
+
export interface CatalogProps {
|
|
68
|
+
/** Items to display in the Browse section. */
|
|
69
|
+
items: CatalogItem[];
|
|
70
|
+
/** Items to display in the Favorites section. */
|
|
71
|
+
favorites: CatalogItem[];
|
|
72
|
+
/** Grouped text labels for headings and actions. */
|
|
73
|
+
titles?: CatalogTitles;
|
|
74
|
+
/** Whether catalog data is loading (reserved for future loading state). */
|
|
75
|
+
isLoading?: boolean;
|
|
76
|
+
/** Error to display if data loading failed (reserved for future error state). */
|
|
77
|
+
error?: Error | null;
|
|
78
|
+
/** Called when any item's star is toggled. */
|
|
79
|
+
onToggleFavorite?: (id: string, isStarred: boolean) => void;
|
|
80
|
+
/** Called when the "Use in chat" button is clicked in the details panel. */
|
|
81
|
+
onUseInChat?: (item: CatalogItem) => void;
|
|
82
|
+
/** Controls whether the primary action button is shown for an item. */
|
|
83
|
+
isPrimaryActionVisible?: (item: CatalogItem) => boolean;
|
|
84
|
+
/** Called when the "Share" button is clicked in the details panel. */
|
|
85
|
+
onShare?: (item: CatalogItem) => void;
|
|
86
|
+
/**
|
|
87
|
+
* Called when the details panel opens for an item. Use this to fetch
|
|
88
|
+
* enriched About-tab content from an API and pass it back as a string.
|
|
89
|
+
* Returns `undefined` to let the panel fall back to `item.longDescription`.
|
|
90
|
+
*/
|
|
91
|
+
onFetchAboutContent?: (item: CatalogItem) => Promise<string | undefined>;
|
|
92
|
+
/**
|
|
93
|
+
* Dropdown options for the Create button. When provided, the button opens a
|
|
94
|
+
* menu instead of calling `onCreateClick` directly.
|
|
95
|
+
*/
|
|
96
|
+
createOptions?: CreateOption[];
|
|
97
|
+
/** Called when the Create button is clicked (used when `createOptions` is absent). */
|
|
98
|
+
onCreateClick?: () => void;
|
|
99
|
+
/** Optional color and typography overrides. */
|
|
100
|
+
styles?: CatalogStyles;
|
|
101
|
+
/** Text overrides forwarded to the item details panel. */
|
|
102
|
+
detailsTexts?: ItemDetailsTexts;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=catalog-props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-props.d.ts","sourceRoot":"","sources":["../../src/models/catalog-props.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color overrides for the Catalog component.
|
|
3
|
+
* All values are applied as CSS custom properties with app theme fallbacks.
|
|
4
|
+
*/
|
|
5
|
+
export interface CatalogColors {
|
|
6
|
+
/** Root container background color. Fallback: `--bg-layer-1`. */
|
|
7
|
+
background?: string;
|
|
8
|
+
/** Primary text color. Fallback: `--text-primary`. */
|
|
9
|
+
text?: string;
|
|
10
|
+
/** Secondary text color (dates, metadata). Fallback: `--text-secondary`. */
|
|
11
|
+
textSecondary?: string;
|
|
12
|
+
/** Heading container border color. Fallback: `--stroke-secondary`. */
|
|
13
|
+
headingBorder?: string;
|
|
14
|
+
/** Heading container background color. Fallback: `--bg-layer-1`. */
|
|
15
|
+
headingBackground?: string;
|
|
16
|
+
/** Heading title text color. Fallback: `--text-primary`. */
|
|
17
|
+
headingTitleText?: string;
|
|
18
|
+
/** Content container background color. Fallback: `--bg-layer-1`. */
|
|
19
|
+
contentBackground?: string;
|
|
20
|
+
/** Section heading text color (Browse, Favorites titles). Fallback: `--text-primary`. */
|
|
21
|
+
sectionHeadingText?: string;
|
|
22
|
+
/** "No results" title text color. Fallback: `--text-primary`. */
|
|
23
|
+
noResultsTitleText?: string;
|
|
24
|
+
/** "No results" description text color. Fallback: `--text-secondary`. */
|
|
25
|
+
noResultsDescriptionText?: string;
|
|
26
|
+
/** Tab result-count text color. Fallback: `--text-secondary`. */
|
|
27
|
+
tabCountText?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Typography overrides for the Catalog component.
|
|
31
|
+
* Pass single Tailwind utility classes (e.g. `'dial-h2-text'`, `'dial-body-semi-text'`).
|
|
32
|
+
* When a `fontClassName` is provided, individual font properties are ignored.
|
|
33
|
+
*/
|
|
34
|
+
export interface CatalogTypography {
|
|
35
|
+
/** Font family applied to the page heading. */
|
|
36
|
+
pageHeadingFontFamily?: string;
|
|
37
|
+
/** Font size applied to the page heading. */
|
|
38
|
+
pageHeadingFontSize?: string;
|
|
39
|
+
/** Font weight applied to the page heading. */
|
|
40
|
+
pageHeadingFontWeight?: string | number;
|
|
41
|
+
/** Line height applied to the page heading. */
|
|
42
|
+
pageHeadingLineHeight?: string;
|
|
43
|
+
/**
|
|
44
|
+
* A single utility class (e.g. `'dial-h2-text'`) applied to the page heading.
|
|
45
|
+
* When provided, individual font CSS vars are ignored in favour of this class.
|
|
46
|
+
*/
|
|
47
|
+
pageHeadingFontClassName?: string;
|
|
48
|
+
/** Typography class applied to tab text. Defaults to `'dial-body-text'`. */
|
|
49
|
+
tabClassName?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Combined style overrides (colors and typography) for the Catalog component.
|
|
53
|
+
* Lib applies these as CSS custom properties via inline styles, allowing the consuming
|
|
54
|
+
* app to customize colors and typography while maintaining layout consistency.
|
|
55
|
+
*/
|
|
56
|
+
export interface CatalogStyles {
|
|
57
|
+
/** Color customizations applied as CSS custom properties. */
|
|
58
|
+
colors?: CatalogColors;
|
|
59
|
+
/** Typography customizations and class overrides. */
|
|
60
|
+
typography?: CatalogTypography;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=catalog-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-styles.d.ts","sourceRoot":"","sources":["../../src/models/catalog-styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+CAA+C;IAC/C,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,+CAA+C;IAC/C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,qDAAqD;IACrD,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EntityTag } from '../types/entity-tag';
|
|
2
|
+
/** Daily usage limit data shown as a progress bar in the entity details header. */
|
|
3
|
+
export interface DailyLimit {
|
|
4
|
+
/** Number of tokens or requests consumed today. */
|
|
5
|
+
used: number;
|
|
6
|
+
/** Total daily allowance. */
|
|
7
|
+
total: number;
|
|
8
|
+
/** Human-readable reset cadence label, e.g. "Resets Fri 12:00 AM". */
|
|
9
|
+
resetLabel?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Header-level metadata rendered above the tab strip in the entity details panel.
|
|
13
|
+
* All fields are optional; omitting the entire `summary` field hides this section.
|
|
14
|
+
*/
|
|
15
|
+
export interface CatalogItemSummary {
|
|
16
|
+
/** Lifecycle or access-tier tag; renders a colored badge next to the entity type. */
|
|
17
|
+
tag?: EntityTag;
|
|
18
|
+
/** URL of the provider/publisher badge image shown in the header. */
|
|
19
|
+
badgeImageUrl?: string;
|
|
20
|
+
/** Daily usage limit; when present renders a labeled progress bar. */
|
|
21
|
+
dailyLimit?: DailyLimit;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=entity-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-summary.d.ts","sourceRoot":"","sources":["../../src/models/entity-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,mFAAmF;AACnF,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { CatalogItem } from './catalog-item';
|
|
2
|
+
/** Typography class overrides for `CatalogFavorites`. */
|
|
3
|
+
export interface FavoritesTypography {
|
|
4
|
+
/** Typography class for the section title. Default: `'dial-h3-text'`. */
|
|
5
|
+
titleClassName?: string;
|
|
6
|
+
/** Typography class for the total count. Default: `'dial-tiny-text'`. */
|
|
7
|
+
countClassName?: string;
|
|
8
|
+
}
|
|
9
|
+
/** Color overrides for `CatalogFavorites`, applied via CSS custom properties. */
|
|
10
|
+
export interface FavoritesColors {
|
|
11
|
+
/** Base section background color. Fallback: `--bg-layer-2`. */
|
|
12
|
+
backgroundBase?: string;
|
|
13
|
+
/** Section bottom border color. Fallback: `--stroke-secondary`. */
|
|
14
|
+
border?: string;
|
|
15
|
+
/** Section title color. Fallback: `--text-primary`. */
|
|
16
|
+
titleText?: string;
|
|
17
|
+
/** Count text color. Fallback: `--text-secondary`. */
|
|
18
|
+
countText?: string;
|
|
19
|
+
}
|
|
20
|
+
/** Grouped style overrides for `CatalogFavorites`. */
|
|
21
|
+
export interface FavoritesStyles {
|
|
22
|
+
/** Typography class overrides for title and count. */
|
|
23
|
+
typography?: FavoritesTypography;
|
|
24
|
+
/** Color overrides applied as CSS custom properties. */
|
|
25
|
+
colors?: FavoritesColors;
|
|
26
|
+
}
|
|
27
|
+
/** Props for `CatalogFavorites`. */
|
|
28
|
+
export interface FavoritesProps {
|
|
29
|
+
/** Favorite items to paginate and display. */
|
|
30
|
+
items: CatalogItem[];
|
|
31
|
+
/** Total favorites count shown in the heading (may exceed items.length). Default: items.length. */
|
|
32
|
+
totalCount?: number;
|
|
33
|
+
/** Section heading text. Default: 'Your Favorites'. */
|
|
34
|
+
title?: string;
|
|
35
|
+
/** Called when a favorite card's star is toggled. */
|
|
36
|
+
onToggleFavorite?: (id: string, isStarred: boolean) => void;
|
|
37
|
+
/** Called when a favorite card body is clicked. Opens the details panel. */
|
|
38
|
+
onItemClick?: (item: CatalogItem) => void;
|
|
39
|
+
/** Grouped typography and color overrides for the section. */
|
|
40
|
+
styles?: FavoritesStyles;
|
|
41
|
+
/** When true the section plays its exit animation. The parent should unmount the section once `onExitComplete` fires. */
|
|
42
|
+
isLeaving?: boolean;
|
|
43
|
+
/** Called when the section exit animation finishes so the parent can safely unmount. */
|
|
44
|
+
onExitComplete?: () => void;
|
|
45
|
+
/** Accessible label for the "previous page" button. Default: 'Previous page'. */
|
|
46
|
+
prevPageAriaLabel?: string;
|
|
47
|
+
/** Accessible label for the "next page" button. Default: 'Next page'. */
|
|
48
|
+
nextPageAriaLabel?: string;
|
|
49
|
+
/** Accessible label for the star button when the item is not starred. Default: 'Add to favorites'. */
|
|
50
|
+
addToFavoritesAriaLabel?: string;
|
|
51
|
+
/** Accessible label for the star button when the item is already starred. Default: 'Remove from favorites'. */
|
|
52
|
+
removeFromFavoritesAriaLabel?: string;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=favorites.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"favorites.d.ts","sourceRoot":"","sources":["../../src/models/favorites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,wDAAwD;IACxD,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,4EAA4E;IAC5E,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,8DAA8D;IAC9D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,yHAAyH;IACzH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sGAAsG;IACtG,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,+GAA+G;IAC/G,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ListViewTypography } from './list-props';
|
|
2
|
+
/** ag-grid context shape passed to all cell renderers. */
|
|
3
|
+
export interface GridContext {
|
|
4
|
+
/** Search query forwarded to cell renderers for text highlighting. */
|
|
5
|
+
searchQuery: string;
|
|
6
|
+
/** Typography class overrides for list cells. */
|
|
7
|
+
typography: ListViewTypography;
|
|
8
|
+
/** Called when the star button is toggled in a row. */
|
|
9
|
+
onToggleFavorite?: (id: string, isStarred: boolean) => void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=grid-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-context.d.ts","sourceRoot":"","sources":["../../src/models/grid-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,UAAU,EAAE,kBAAkB,CAAC;IAC/B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CatalogItem } from './catalog-item';
|
|
2
|
+
/** Text overrides for `CardGrid` empty state. */
|
|
3
|
+
export interface CardGridTitles {
|
|
4
|
+
/** Empty-state heading text. Default: `'No results'`. */
|
|
5
|
+
noResultsTitle?: string;
|
|
6
|
+
/** Label for the "Featured" tag on cards. Default: `'Featured'`. */
|
|
7
|
+
featuredLabel?: string;
|
|
8
|
+
/** Accessible label for the star button when the item is not starred. Default: `'Add to favorites'`. */
|
|
9
|
+
addToFavoritesAriaLabel?: string;
|
|
10
|
+
/** Accessible label for the star button when the item is already starred. Default: `'Remove from favorites'`. */
|
|
11
|
+
removeFromFavoritesAriaLabel?: string;
|
|
12
|
+
}
|
|
13
|
+
/** Props for `CardGrid`. */
|
|
14
|
+
export interface CardGridProps {
|
|
15
|
+
/** Items to display in the 3-column grid. */
|
|
16
|
+
items: CatalogItem[];
|
|
17
|
+
/** Active search query forwarded to each `Card` for highlighting. */
|
|
18
|
+
query?: string;
|
|
19
|
+
/** Called when a card's star is toggled. */
|
|
20
|
+
onToggleFavorite?: (id: string, isStarred: boolean) => void;
|
|
21
|
+
/** Grouped empty-state text overrides. */
|
|
22
|
+
titles?: CardGridTitles;
|
|
23
|
+
/** Called when a card body is clicked. */
|
|
24
|
+
onItemClick?: (item: CatalogItem) => void;
|
|
25
|
+
/** When true, renders skeleton placeholder cards instead of actual content. */
|
|
26
|
+
isLoading?: boolean;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=grid-props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-props.d.ts","sourceRoot":"","sources":["../../src/models/grid-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wGAAwG;IACxG,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iHAAiH;IACjH,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,0CAA0C;IAC1C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { CodeLanguage } from '../types/code-language';
|
|
2
|
+
import { CatalogItemOverview } from './item-overview';
|
|
3
|
+
/** A code snippet for one programming language in the API tab. */
|
|
4
|
+
export interface CodeSnippet {
|
|
5
|
+
/** Language selector label. */
|
|
6
|
+
language: CodeLanguage;
|
|
7
|
+
/** The code string, preserving whitespace and indentation. */
|
|
8
|
+
code: string;
|
|
9
|
+
}
|
|
10
|
+
/** Resource identity rows shown in the API tab. */
|
|
11
|
+
export interface ApiResource {
|
|
12
|
+
/** Deployment or model ID used in API calls. */
|
|
13
|
+
modelId?: string;
|
|
14
|
+
/** Full base endpoint URL (used for single-endpoint entities such as Agents). */
|
|
15
|
+
endpointUrl?: string;
|
|
16
|
+
}
|
|
17
|
+
/** A named endpoint with its own URL and optional per-language code snippets. */
|
|
18
|
+
export interface EndpointOption {
|
|
19
|
+
/** Display label shown in the endpoint selector, e.g. `'Azure OpenAI Endpoint'`. */
|
|
20
|
+
label: string;
|
|
21
|
+
/** Full base URL for this endpoint. */
|
|
22
|
+
url: string;
|
|
23
|
+
/** Language-keyed code snippets specific to this endpoint. */
|
|
24
|
+
snippets?: CodeSnippet[];
|
|
25
|
+
}
|
|
26
|
+
/** Complete data for the API details tab. */
|
|
27
|
+
export interface CatalogItemApiDetails {
|
|
28
|
+
/** Resource identity section (Model ID; single endpoint URL for agents). */
|
|
29
|
+
resource?: ApiResource;
|
|
30
|
+
/** Multi-endpoint selector (Azure OpenAI, Anthropic, Responses, …). When present, the endpoint selector UI replaces the single-endpoint row. */
|
|
31
|
+
endpoints?: EndpointOption[];
|
|
32
|
+
/** Top-level code snippets selectable by language (legacy / non-model entities). */
|
|
33
|
+
snippets?: CodeSnippet[];
|
|
34
|
+
/** Raw cURL request example (Agent / Toolset). */
|
|
35
|
+
requestExample?: string;
|
|
36
|
+
/** Response schema shown as formatted JSON (Agent). */
|
|
37
|
+
responseSchema?: string;
|
|
38
|
+
}
|
|
39
|
+
/** A single price row in the Pricing tab. */
|
|
40
|
+
export interface PricingRow {
|
|
41
|
+
/** Row label, e.g. "Input tokens". */
|
|
42
|
+
label: string;
|
|
43
|
+
/** Formatted price string, e.g. "Free" or "$3.00 / 1M". */
|
|
44
|
+
price: string;
|
|
45
|
+
}
|
|
46
|
+
/** A single usage-limit row in the Pricing tab. */
|
|
47
|
+
export interface UsageLimitRow {
|
|
48
|
+
/** Row label, e.g. "Daily limit". */
|
|
49
|
+
label: string;
|
|
50
|
+
/** Formatted limit value, e.g. "500K tokens / user". */
|
|
51
|
+
value: string;
|
|
52
|
+
}
|
|
53
|
+
/** Complete data for the Pricing tab. */
|
|
54
|
+
export interface CatalogItemPricing {
|
|
55
|
+
/** Token price rows (input, output, cached, batch). */
|
|
56
|
+
prices?: PricingRow[];
|
|
57
|
+
/** Usage limit rows (daily, weekly, monthly). */
|
|
58
|
+
limits?: UsageLimitRow[];
|
|
59
|
+
}
|
|
60
|
+
/** A single input parameter for a tool. */
|
|
61
|
+
export interface ToolInputParam {
|
|
62
|
+
/** Parameter name. */
|
|
63
|
+
name: string;
|
|
64
|
+
/** JSON type, e.g. "string" or "integer". */
|
|
65
|
+
type: string;
|
|
66
|
+
/** Whether the parameter is required. */
|
|
67
|
+
isRequired: boolean;
|
|
68
|
+
}
|
|
69
|
+
/** A key-value annotation on a tool definition. */
|
|
70
|
+
export interface ToolAnnotation {
|
|
71
|
+
/** Annotation key. */
|
|
72
|
+
key: string;
|
|
73
|
+
/** Annotation value. */
|
|
74
|
+
value: string;
|
|
75
|
+
}
|
|
76
|
+
/** A single tool exposed by a Toolset. */
|
|
77
|
+
export interface ToolDefinition {
|
|
78
|
+
/** Tool name. */
|
|
79
|
+
name: string;
|
|
80
|
+
/** Short description of what the tool does. */
|
|
81
|
+
description?: string;
|
|
82
|
+
/** Input schema parameters. */
|
|
83
|
+
inputParams?: ToolInputParam[];
|
|
84
|
+
/** Tool annotations. */
|
|
85
|
+
annotations?: ToolAnnotation[];
|
|
86
|
+
}
|
|
87
|
+
/** Complete data for the Tools tab (Toolset entities only). */
|
|
88
|
+
export interface CatalogItemTools {
|
|
89
|
+
/** Ordered list of tool definitions. */
|
|
90
|
+
tools: ToolDefinition[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* All tab-specific detail data for a catalog item.
|
|
94
|
+
* A tab is shown only when its corresponding field is non-null.
|
|
95
|
+
*/
|
|
96
|
+
export interface CatalogItemTabData {
|
|
97
|
+
/** Overview tab data. When absent the Overview tab is hidden. */
|
|
98
|
+
overview?: CatalogItemOverview;
|
|
99
|
+
/** Pricing tab data. When absent the Pricing tab is hidden. */
|
|
100
|
+
pricing?: CatalogItemPricing;
|
|
101
|
+
/** API tab data. When absent the API tab is hidden. */
|
|
102
|
+
api?: CatalogItemApiDetails;
|
|
103
|
+
/** Tools tab data (Toolset only). When absent the Tools tab is hidden. */
|
|
104
|
+
tools?: CatalogItemTools;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=item-details-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-details-data.d.ts","sourceRoot":"","sources":["../../src/models/item-details-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,QAAQ,EAAE,YAAY,CAAC;IACvB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,6CAA6C;AAC7C,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,gJAAgJ;IAChJ,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,iDAAiD;IACjD,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,wBAAwB;IACxB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,+DAA+D;AAC/D,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,uDAAuD;IACvD,GAAG,CAAC,EAAE,qBAAqB,CAAC;IAC5B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B"}
|