@epam/ai-dial-catalog 1.0.0-dev.464 → 1.0.0-dev.469

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.
Files changed (39) hide show
  1. package/components/Catalog/Catalog.d.ts.map +1 -1
  2. package/components/Details/DetailsPanel.d.ts.map +1 -1
  3. package/components/Details/Header/Header.d.ts +4 -0
  4. package/components/Details/Header/Header.d.ts.map +1 -1
  5. package/components/EntityHeader/EntityHeader.d.ts +2 -0
  6. package/components/EntityHeader/EntityHeader.d.ts.map +1 -1
  7. package/components/Filter/Filter.d.ts +1 -1
  8. package/components/Filter/Filter.d.ts.map +1 -1
  9. package/components/FolderPath/FolderPath.d.ts +11 -2
  10. package/components/FolderPath/FolderPath.d.ts.map +1 -1
  11. package/components/PublishFoldersTree/PublishFoldersTree.d.ts +61 -0
  12. package/components/PublishFoldersTree/PublishFoldersTree.d.ts.map +1 -0
  13. package/components/PublishHistoryList/PublishHistoryList.d.ts +44 -0
  14. package/components/PublishHistoryList/PublishHistoryList.d.ts.map +1 -0
  15. package/components/PublishPanel/PublishFooter.d.ts +37 -0
  16. package/components/PublishPanel/PublishFooter.d.ts.map +1 -0
  17. package/components/PublishPanel/PublishPanel.d.ts +81 -0
  18. package/components/PublishPanel/PublishPanel.d.ts.map +1 -0
  19. package/index.css +1 -1
  20. package/index.d.ts +13 -0
  21. package/index.d.ts.map +1 -1
  22. package/index.js +4717 -80298
  23. package/models/catalog-props.d.ts +30 -1
  24. package/models/catalog-props.d.ts.map +1 -1
  25. package/models/item-details-props.d.ts +35 -0
  26. package/models/item-details-props.d.ts.map +1 -1
  27. package/models/publish.d.ts +56 -0
  28. package/models/publish.d.ts.map +1 -0
  29. package/models/toolbar-props.d.ts +1 -1
  30. package/models/toolbar-props.d.ts.map +1 -1
  31. package/package.json +5 -4
  32. package/utils/format-published-date.d.ts +8 -0
  33. package/utils/format-published-date.d.ts.map +1 -0
  34. package/utils/publish-folder-tree.d.ts +30 -0
  35. package/utils/publish-folder-tree.d.ts.map +1 -0
  36. package/utils/publish-state.d.ts +9 -0
  37. package/utils/publish-state.d.ts.map +1 -0
  38. package/utils/use-publish-flow.d.ts +66 -0
  39. package/utils/use-publish-flow.d.ts.map +1 -0
@@ -1,10 +1,13 @@
1
1
  import { ReactNode } from 'react';
2
+ import { PublishFooterTexts } from '../components/PublishPanel/PublishFooter';
3
+ import { PublishPanelTexts } from '../components/PublishPanel/PublishPanel';
2
4
  import { CatalogEntityType } from '../types/entity-type';
3
5
  import { CredentialsLevel } from '../types/toolset-auth';
4
6
  import { CatalogItem } from './catalog-item';
5
7
  import { CatalogStyles } from './catalog-styles';
6
8
  import { CatalogItemDetailsFetchResult } from './item-details-data';
7
9
  import { ItemDetailsTexts } from './item-details-props';
10
+ import { PublishFolderNode, PublishHistoryEntry } from './publish';
8
11
  /** A single option in the Create dropdown. */
9
12
  export interface CreateOption {
10
13
  /** Display label shown in the dropdown menu. */
@@ -60,7 +63,7 @@ export interface CatalogTitles {
60
63
  tabLabels?: Partial<Record<CatalogEntityType, string>>;
61
64
  /** Label for the filter button when nothing is filtered. Default: 'From'. */
62
65
  filterFromLabel?: string;
63
- /** Label for the "My Apps" filter checkbox. Default: 'My Apps'. */
66
+ /** Label for the "My Apps" filter checkbox. Default: 'My'. */
64
67
  filterMyAppsLabel?: string;
65
68
  /** Label for the Topics section inside the filter dropdown. Default: 'Topics'. */
66
69
  filterTopicsLabel?: string;
@@ -85,6 +88,32 @@ export interface CatalogProps {
85
88
  isPrimaryActionVisible?: (item: CatalogItem) => boolean;
86
89
  /** Called when the "Share" button is clicked in the details panel. */
87
90
  onShare?: (item: CatalogItem) => void;
91
+ /** Controls whether the "Publish" action is shown for an item. */
92
+ isPublishVisible?: (item: CatalogItem) => boolean;
93
+ /** Resolves previously published versions for an item, most recent first. */
94
+ getPublishHistory?: (item: CatalogItem) => Promise<PublishHistoryEntry[]>;
95
+ /** Root-level destination folder nodes offered by the publish flow. */
96
+ publishFolderItems?: PublishFolderNode[];
97
+ /**
98
+ * Externally-controlled set of expanded publish-folder path keys
99
+ * (`path.join('/')`). Pass this together with `onPublishExpandedPathsChange`
100
+ * when the host lazily fetches a folder's children on expand.
101
+ */
102
+ publishExpandedPaths?: Set<string>;
103
+ /** Called when the set of expanded publish folders changes; required to control `publishExpandedPaths`. */
104
+ onPublishExpandedPathsChange?: (paths: Set<string>) => void;
105
+ /** Publish-folder path keys currently being fetched by the host. */
106
+ publishLoadingPaths?: Set<string>;
107
+ /** Resolves whether the current user can publish to a given folder path. */
108
+ hasPublishWriteAccess?: (folderPath: string[]) => boolean;
109
+ /** Called with the destination folder path when the user confirms publish/update. */
110
+ onPublish?: (item: CatalogItem, folderPath: string[]) => Promise<void>;
111
+ /** Called after a successful publish; use this to surface a success notification. */
112
+ onPublishSuccess?: (item: CatalogItem, folderPath: string[]) => void;
113
+ /** Called when the user confirms a new folder name in the publish flow. */
114
+ onCreatePublishFolder?: (parentPath: string[], name: string) => void;
115
+ /** Text overrides forwarded to the publish flow. */
116
+ publishTexts?: PublishPanelTexts & PublishFooterTexts;
88
117
  /** Called when the "Edit" button is clicked in the details panel. Shown only when the item's `isEditable` is `true`. */
89
118
  onEdit?: (item: CatalogItem) => void;
90
119
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-props.d.ts","sourceRoot":"","sources":["../../src/models/catalog-props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-props.d.ts","sourceRoot":"","sources":["../../src/models/catalog-props.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
+ import { PublishFooterTexts } from '../components/PublishPanel/PublishFooter';
3
+ import { PublishPanelTexts } from '../components/PublishPanel/PublishPanel';
2
4
  import { CredentialsLevel } from '../types/toolset-auth';
3
5
  import { CatalogItem } from './catalog-item';
6
+ import { PublishFolderNode, PublishHistoryEntry } from './publish';
4
7
  /** Text overrides for all user-visible strings in `DetailsPanel`. */
5
8
  export interface ItemDetailsTexts {
6
9
  /** "Share" action button label. Default: `'Share'`. */
@@ -33,6 +36,12 @@ export interface ItemDetailsTexts {
33
36
  featuredLabel?: string;
34
37
  /** Primary action button label. Default: `'Use in chat'`. */
35
38
  primaryActionLabel?: string;
39
+ /** "Publish" action button label. Default: `'Publish'`. */
40
+ publishLabel?: string;
41
+ /** Title shown in the panel header while the Publish view is open. Default: `'Publish'`. */
42
+ publishTitle?: string;
43
+ /** Accessible label for the back button that returns from the Publish view to details. Default: `'Back'`. */
44
+ backToDetailsAriaLabel?: string;
36
45
  /** When `false`, the primary action button is hidden. Default: `true`. */
37
46
  hasPrimaryAction?: boolean;
38
47
  /** "Edit" action button label. Default: `'Edit'`. */
@@ -155,6 +164,32 @@ export interface DetailsPanelProps {
155
164
  isPrimaryActionVisible?: (item: CatalogItem) => boolean;
156
165
  /** Called when the "Share" button is clicked. */
157
166
  onShare?: (item: CatalogItem) => void;
167
+ /** Controls whether the "Publish" action is shown for the item. */
168
+ isPublishVisible?: (item: CatalogItem) => boolean;
169
+ /** Resolves previously published versions for an item, most recent first. */
170
+ getPublishHistory?: (item: CatalogItem) => Promise<PublishHistoryEntry[]>;
171
+ /** Root-level destination folder nodes offered by the publish flow. */
172
+ publishFolderItems?: PublishFolderNode[];
173
+ /**
174
+ * Externally-controlled set of expanded publish-folder path keys
175
+ * (`path.join('/')`). Pass this together with `onPublishExpandedPathsChange`
176
+ * when the host lazily fetches a folder's children on expand.
177
+ */
178
+ publishExpandedPaths?: Set<string>;
179
+ /** Called when the set of expanded publish folders changes; required to control `publishExpandedPaths`. */
180
+ onPublishExpandedPathsChange?: (paths: Set<string>) => void;
181
+ /** Publish-folder path keys currently being fetched by the host. */
182
+ publishLoadingPaths?: Set<string>;
183
+ /** Resolves whether the current user can publish to a given folder path. */
184
+ hasPublishWriteAccess?: (folderPath: string[]) => boolean;
185
+ /** Called with the destination folder path when the user confirms publish/update. */
186
+ onPublish?: (item: CatalogItem, folderPath: string[]) => Promise<void>;
187
+ /** Called after a successful publish; use this to surface a success notification. */
188
+ onPublishSuccess?: (item: CatalogItem, folderPath: string[]) => void;
189
+ /** Called when the user confirms a new folder name in the publish flow. */
190
+ onCreatePublishFolder?: (parentPath: string[], name: string) => void;
191
+ /** Text overrides forwarded to the publish flow. */
192
+ publishTexts?: PublishPanelTexts & PublishFooterTexts;
158
193
  /**
159
194
  * Renders the Share popover content anchored to the Share button. When
160
195
  * provided, clicking Share opens this popover instead of calling `onShare`.
@@ -1 +1 @@
1
- {"version":3,"file":"item-details-props.d.ts","sourceRoot":"","sources":["../../src/models/item-details-props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item-details-props.d.ts","sourceRoot":"","sources":["../../src/models/item-details-props.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /** A single folder in the "publish to folder" destination tree. */
2
+ export interface PublishFolderNode {
3
+ /** Full path segments to this folder, outermost first. Also serves as the unique key. */
4
+ path: string[];
5
+ /** Display name of this folder (its last path segment). */
6
+ name: string;
7
+ /** Child folders, if any. */
8
+ children?: PublishFolderNode[];
9
+ }
10
+ /** A previously published version of a catalog entity. */
11
+ export interface PublishHistoryEntry {
12
+ /** Semantic version string, e.g. "4.0.0". */
13
+ version: string;
14
+ /** Unix timestamp (ms) when this version was published. */
15
+ publishedAt: number;
16
+ /** Display name of the user who published this version. */
17
+ publishedBy: string;
18
+ /** Folder path segments this version was published to, outermost first. */
19
+ folderPath: string[];
20
+ }
21
+ /** Which callout (if any) the publish panel should show below the folder picker. */
22
+ export declare enum PublishCalloutKind {
23
+ /** No callout — no folder selected, or a request is in flight. */
24
+ None = "none",
25
+ /** Informational callout describing who gets access once published. */
26
+ Info = "info",
27
+ /** Warning callout — publishing will replace an existing version in this folder. */
28
+ ReplaceWarning = "replaceWarning",
29
+ /** Error callout — the user lacks write access to the selected folder. */
30
+ NoAccess = "noAccess",
31
+ /** Error callout — the most recent submit attempt failed. */
32
+ SubmitError = "submitError"
33
+ }
34
+ /** Inputs used to derive the publish panel's callout and submit-button state. */
35
+ export interface PublishDerivationInput {
36
+ /** Whether a destination folder is currently selected. */
37
+ hasSelectedFolder: boolean;
38
+ /** Whether the selected folder already has this exact version published. */
39
+ hasExistingVersionInFolder: boolean;
40
+ /** Whether the current user can publish to the selected folder. */
41
+ hasWriteAccess: boolean;
42
+ /** Whether a publish request is currently in flight. */
43
+ isSubmitting: boolean;
44
+ /** Whether the most recent submit attempt failed. */
45
+ hasSubmitError: boolean;
46
+ }
47
+ /** Derived, render-ready state for the publish panel. */
48
+ export interface PublishDerivedState {
49
+ /** Which callout (if any) to show below the folder picker. */
50
+ calloutKind: PublishCalloutKind;
51
+ /** Whether the submit button is disabled. */
52
+ isSubmitDisabled: boolean;
53
+ /** Whether the submit button should show its loading/spinner state. */
54
+ isSubmitLoading: boolean;
55
+ }
56
+ //# sourceMappingURL=publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/models/publish.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,oFAAoF;AACpF,oBAAY,kBAAkB;IAC5B,kEAAkE;IAClE,IAAI,SAAS;IACb,uEAAuE;IACvE,IAAI,SAAS;IACb,oFAAoF;IACpF,cAAc,mBAAmB;IACjC,0EAA0E;IAC1E,QAAQ,aAAa;IACrB,6DAA6D;IAC7D,WAAW,gBAAgB;CAC5B;AAED,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,0DAA0D;IAC1D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,4EAA4E;IAC5E,0BAA0B,EAAE,OAAO,CAAC;IACpC,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,WAAW,EAAE,kBAAkB,CAAC;IAChC,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,eAAe,EAAE,OAAO,CAAC;CAC1B"}
@@ -71,7 +71,7 @@ export interface ToolbarProps {
71
71
  onMyAppsChange?: (isActive: boolean) => void;
72
72
  /** Label for the filter button when nothing is filtered. Default: 'From'. */
73
73
  filterFromLabel?: string;
74
- /** Label for the "My Apps" filter checkbox. Default: 'My Apps'. */
74
+ /** Label for the "My" filter checkbox. Default: 'My'. */
75
75
  filterMyAppsLabel?: string;
76
76
  /** Label for the Topics section inside the filter dropdown. Default: 'Topics'. */
77
77
  filterTopicsLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar-props.d.ts","sourceRoot":"","sources":["../../src/models/toolbar-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,wDAAwD;IACxD,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,yBAAyB;AACzB,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,4CAA4C;IAC5C,gBAAgB,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,mFAAmF;IACnF,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,sDAAsD;IACtD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACjD,8EAA8E;IAC9E,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,uDAAuD;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,oDAAoD;IACpD,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC"}
1
+ {"version":3,"file":"toolbar-props.d.ts","sourceRoot":"","sources":["../../src/models/toolbar-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,wDAAwD;IACxD,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,yBAAyB;AACzB,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,4CAA4C;IAC5C,gBAAgB,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,mFAAmF;IACnF,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,sDAAsD;IACtD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACjD,8EAA8E;IAC9E,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,uDAAuD;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,oDAAoD;IACpD,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-catalog",
3
3
  "description": "Marketplace catalog component for browsing models, tools, and assistants with search, filter, and sort",
4
- "version": "1.0.0-dev.464",
4
+ "version": "1.0.0-dev.469",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -19,9 +19,10 @@
19
19
  "peerDependencies": {
20
20
  "react": "^19.0.0",
21
21
  "@tabler/icons-react": "^3.0.0",
22
- "@epam/ai-dial-ui-kit": "0.12.0-dev.25",
23
- "@epam/ai-dial-kit": "1.0.0-dev.464",
24
- "@epam/ai-dial-chat-shared": "1.0.0-dev.464",
22
+ "@epam/ai-dial-ui-kit": "0.12.0-dev.28",
23
+ "@epam/ai-dial-kit": "1.0.0-dev.469",
24
+ "@epam/ai-dial-sidebar": "1.0.0-dev.469",
25
+ "@epam/ai-dial-chat-shared": "1.0.0-dev.469",
25
26
  "ag-grid-community": "35.3.0"
26
27
  },
27
28
  "repository": {
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Formats a publish timestamp for display: a relative phrase ("Today",
3
+ * "Yesterday", "N days ago") within the last week, and an exact date
4
+ * (e.g. "Nov 20, 2024") once it's a week old or more. The exact date uses
5
+ * `locale` (default: the browser/runtime locale) rather than a fixed one.
6
+ */
7
+ export declare const formatPublishedDate: (publishedAt: number, now?: number, locale?: string) => string;
8
+ //# sourceMappingURL=format-published-date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-published-date.d.ts","sourceRoot":"","sources":["../../src/utils/format-published-date.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,aAAa,MAAM,EACnB,MAAK,MAAmB,EACxB,SAAS,MAAM,KACd,MAkBF,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { DialFile } from '@epam/ai-dial-ui-kit';
2
+ import { PublishFolderNode } from '../models/publish';
3
+ /**
4
+ * Returns the subset of `items` whose name matches `query`, or that contain a
5
+ * descendant whose name matches. Matched branches keep only their matching
6
+ * descendants. Matching is case-insensitive substring matching.
7
+ */
8
+ export declare const filterFolderTree: (items: PublishFolderNode[], query: string) => PublishFolderNode[];
9
+ /** Returns every folder path (joined by "/") in `items`, recursively. */
10
+ export declare const collectFolderKeys: (items: PublishFolderNode[]) => string[];
11
+ /** Joins folder path segments into the string path key used by `DialFile`/`DialFoldersTree`. */
12
+ export declare const toFolderPathKey: (path: string[]) => string;
13
+ /** Splits a `DialFile`/`DialFoldersTree` string path back into folder path segments. */
14
+ export declare const fromFolderPathKey: (pathKey: string) => string[];
15
+ /**
16
+ * Converts `PublishFolderNode[]` to the `DialFile[]` shape `DialFoldersTree`
17
+ * requires. `folderId` is required by `DialFile` but unused for this
18
+ * folder-only, context-menu-less tree, so it is set to the path key.
19
+ */
20
+ export declare const toDialFileTree: (items: PublishFolderNode[]) => DialFile[];
21
+ /**
22
+ * Inserts a placeholder `DialFile` folder node so `DialFoldersTree` can
23
+ * render its inline create-folder row for it (`createdFolderPath`). The
24
+ * placeholder is never reported to `onCreateFolder` — only the name the
25
+ * user confirms is.
26
+ */
27
+ export declare const insertPlaceholderDialFile: (items: DialFile[], parentPath: string[], placeholderName: string) => DialFile[];
28
+ /** Names of the direct children of the folder at `parentPath` (root siblings when empty). */
29
+ export declare const getSiblingFolderNames: (items: PublishFolderNode[], parentPath: string[]) => string[];
30
+ //# sourceMappingURL=publish-folder-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-folder-tree.d.ts","sourceRoot":"","sources":["../../src/utils/publish-folder-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,iBAAiB,EAAE,EAC1B,OAAO,MAAM,KACZ,iBAAiB,EAoBnB,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,GAAI,OAAO,iBAAiB,EAAE,KAAG,MAAM,EAIjE,CAAC;AAEL,gGAAgG;AAChG,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,KAAG,MAAwB,CAAC;AAE1E,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,MAAM,EACtB,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,iBAAiB,EAAE,KAAG,QAAQ,EAUhE,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,QAAQ,EAAE,EACjB,YAAY,MAAM,EAAE,EACpB,iBAAiB,MAAM,KACtB,QAAQ,EA6BV,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,GAChC,OAAO,iBAAiB,EAAE,EAC1B,YAAY,MAAM,EAAE,KACnB,MAAM,EAoBR,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { PublishDerivationInput, PublishDerivedState } from '../models/publish';
2
+ /**
3
+ * Derives the publish panel's callout and submit-button state from the
4
+ * current destination-folder context. Priority (highest first): a request
5
+ * in flight, no folder selected yet, missing write access, a failed submit,
6
+ * replacing an existing version, then the default informational callout.
7
+ */
8
+ export declare const derivePublishState: (input: PublishDerivationInput) => PublishDerivedState;
9
+ //# sourceMappingURL=publish-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-state.d.ts","sourceRoot":"","sources":["../../src/utils/publish-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,sBAAsB,KAC5B,mBA8CF,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { CatalogItem } from '../models/catalog-item';
2
+ import { PublishFolderNode, PublishHistoryEntry } from '../models/publish';
3
+ /** Options for {@link usePublishFlow}. */
4
+ export interface UsePublishFlowOptions {
5
+ /** The catalog entity being published. */
6
+ item: CatalogItem;
7
+ /** Previously published versions for this entity. */
8
+ history: PublishHistoryEntry[];
9
+ /** Root-level destination folder nodes, as currently known to the host. */
10
+ folderItems: PublishFolderNode[];
11
+ /**
12
+ * Resolves whether the current user can publish to a given folder path.
13
+ * Defaults to always allowing (`() => true`) when omitted.
14
+ */
15
+ hasWriteAccess?: (folderPath: string[]) => boolean;
16
+ /**
17
+ * Called when the user confirms a new folder name. The host owns
18
+ * persisting the folder; the hook also adds it locally so it is
19
+ * immediately selectable within this session. If the returned promise
20
+ * rejects, the optimistically added folder is rolled back and the submit-
21
+ * error callout is surfaced.
22
+ */
23
+ onCreateFolder?: (parentPath: string[], name: string) => void | Promise<void>;
24
+ /** Called with the destination folder path when the user confirms publish/update. */
25
+ onPublish: (item: CatalogItem, folderPath: string[]) => Promise<void>;
26
+ /** Called after a successful publish; the host surfaces its own success notification. */
27
+ onPublishSuccess?: (item: CatalogItem, folderPath: string[]) => void;
28
+ }
29
+ /** State and handlers returned by {@link usePublishFlow}. */
30
+ export interface UsePublishFlowResult {
31
+ /** Folder tree, including any folders created (but not yet persisted) during this session. */
32
+ folderItems: PublishFolderNode[];
33
+ /**
34
+ * Currently selected destination folder path. `undefined` means nothing
35
+ * is selected; `[]` means the bucket root itself is selected (a distinct,
36
+ * valid destination).
37
+ */
38
+ selectedFolderPath?: string[];
39
+ /** Selects a destination folder or the root (`[]`); pass `undefined` to deselect. */
40
+ setSelectedFolderPath: (path: string[] | undefined) => void;
41
+ /** Confirms a new folder name: adds it locally and reports it to the host, rolling back and surfacing an error if the host rejects. */
42
+ handleCreateFolder: (parentPath: string[], name: string) => Promise<void>;
43
+ /** Whether `item.version` is already published at `selectedFolderPath`. */
44
+ hasExistingVersionInFolder: boolean;
45
+ /** Whether the current user can publish to `selectedFolderPath`. */
46
+ hasWriteAccess: boolean;
47
+ /** Whether a publish request is currently in flight. */
48
+ isSubmitting: boolean;
49
+ /** Whether the most recent submit attempt failed. */
50
+ hasSubmitError: boolean;
51
+ /**
52
+ * Submits the publish/update request for the selected folder. Resolves to
53
+ * `true` on success and `false` if `onPublish` rejected, so the caller can
54
+ * decide whether to close the flow.
55
+ */
56
+ handleSubmit: () => Promise<boolean>;
57
+ /** Resets folder selection, any locally-created folders, and the submit error back to their initial state. */
58
+ reset: () => void;
59
+ }
60
+ /**
61
+ * Drives the Publish flow's state: destination-folder selection, optimistic
62
+ * local folder creation, existing-version detection, and submit handling.
63
+ * Framework for both in-place (DetailsPanel) and popup presentations.
64
+ */
65
+ export declare const usePublishFlow: ({ item, history, folderItems: initialFolderItems, hasWriteAccess: resolveWriteAccess, onCreateFolder, onPublish, onPublishSuccess, }: UsePublishFlowOptions) => UsePublishFlowResult;
66
+ //# sourceMappingURL=use-publish-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-publish-flow.d.ts","sourceRoot":"","sources":["../../src/utils/use-publish-flow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA2D3E,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,IAAI,EAAE,WAAW,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IACnD;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,qFAAqF;IACrF,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACtE;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,8FAA8F;IAC9F,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,qFAAqF;IACrF,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D,uIAAuI;IACvI,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,2EAA2E;IAC3E,0BAA0B,EAAE,OAAO,CAAC;IACpC,oEAAoE;IACpE,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,8GAA8G;IAC9G,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,sIAQ5B,qBAAqB,KAAG,oBAuE1B,CAAC"}