@epam/ai-dial-catalog 1.1.0-dev.9 → 1.1.0-dev.90
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 +3 -5
- package/components/AppIdentity/AppIdentity.d.ts.map +1 -1
- package/components/CardGrid/Card.d.ts.map +1 -1
- package/components/Catalog/Catalog.d.ts +1 -5
- package/components/Catalog/Catalog.d.ts.map +1 -1
- package/components/Catalog/CreateButton.d.ts.map +1 -1
- package/components/Details/ApiDetails.d.ts.map +1 -1
- package/components/Details/Credentials/CredentialsSection.d.ts.map +1 -1
- package/components/Details/DetailsPanel.d.ts.map +1 -1
- package/components/Details/Header/ConnectButton/ConnectButton.d.ts.map +1 -1
- package/components/Details/Header/DeleteButton/DeleteButton.d.ts.map +1 -1
- package/components/Details/Header/Header.d.ts +6 -1
- package/components/Details/Header/Header.d.ts.map +1 -1
- package/components/Details/Header/ShareButton/ShareButton.d.ts +6 -0
- package/components/Details/Header/ShareButton/ShareButton.d.ts.map +1 -1
- package/components/EntityHeader/EntityHeader.d.ts +1 -1
- package/components/EntityHeader/EntityHeader.d.ts.map +1 -1
- package/components/Favorites/FavoriteCard.d.ts.map +1 -1
- package/components/Filter/Filter.d.ts +1 -4
- package/components/Filter/Filter.d.ts.map +1 -1
- package/components/ItemHeader/ItemHeader.d.ts +1 -0
- package/components/ItemHeader/ItemHeader.d.ts.map +1 -1
- 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 +1 -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 +2 -1
- package/components/ListView/columns.d.ts.map +1 -1
- package/components/SearchBar/SearchBar.d.ts +1 -5
- package/components/SearchBar/SearchBar.d.ts.map +1 -1
- 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 +1 -7
- package/components/TopicTag/TopicTag.d.ts.map +1 -1
- package/constants/entity-colors.d.ts.map +1 -1
- package/index.css +1 -1
- package/index.d.ts +2 -19
- package/index.d.ts.map +1 -1
- package/index.js +127428 -5694
- package/models/catalog-props.d.ts +21 -6
- package/models/catalog-props.d.ts.map +1 -1
- package/models/catalog-styles.d.ts +1 -6
- package/models/catalog-styles.d.ts.map +1 -1
- package/models/item-details-props.d.ts +18 -6
- 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/list-props.d.ts +3 -0
- package/models/list-props.d.ts.map +1 -1
- package/models/toolbar-props.d.ts +0 -2
- package/models/toolbar-props.d.ts.map +1 -1
- package/package.json +6 -6
- package/types/deployment-icon-size.d.ts +5 -0
- package/types/deployment-icon-size.d.ts.map +1 -0
- package/types/entity-type.d.ts +1 -4
- package/types/entity-type.d.ts.map +1 -1
- package/utils/catalog-filter.d.ts +1 -0
- 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.map +1 -1
- package/utils/parse-about-content.d.ts +2 -12
- package/utils/parse-about-content.d.ts.map +1 -1
- package/utils/styles.d.ts +1 -0
- package/utils/styles.d.ts.map +1 -1
- package/utils/toolset-credentials.d.ts +3 -18
- package/utils/toolset-credentials.d.ts.map +1 -1
- 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 +1 -9
- package/utils/use-scroll-virtualizer.d.ts.map +1 -1
- package/components/FolderPath/FolderPath.d.ts +0 -25
- package/components/FolderPath/FolderPath.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/models/publish.d.ts +0 -89
- package/models/publish.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/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
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { PublishHistoryEntry } from '../../models/publish';
|
|
3
|
-
/** Props for {@link PublishHistoryList}. */
|
|
4
|
-
export interface PublishHistoryListProps {
|
|
5
|
-
/** Previously published versions for the selected destination folder, most recent first. Filtered by the host to just that folder. */
|
|
6
|
-
entries: PublishHistoryEntry[];
|
|
7
|
-
/**
|
|
8
|
-
* The entity's current version. The matching entry, if any, gets a
|
|
9
|
-
* "Current" badge instead of the row being highlighted.
|
|
10
|
-
*/
|
|
11
|
-
currentVersion?: string;
|
|
12
|
-
/** When `true`, shows a loading message instead of `entries`/empty state. Default: `false`. */
|
|
13
|
-
isLoading?: boolean;
|
|
14
|
-
/** When `true` (and not `isLoading`), shows an error message instead of `entries`/empty state. Default: `false`. */
|
|
15
|
-
hasError?: boolean;
|
|
16
|
-
/** Prefix before each entry's version number. Default: `'Version'`. */
|
|
17
|
-
versionPrefix?: string;
|
|
18
|
-
/** Label for the badge on the entry matching `currentVersion`. Default: `'Current'`. */
|
|
19
|
-
currentBadgeLabel?: string;
|
|
20
|
-
/** Message shown when `entries` is empty. Default: see implementation. */
|
|
21
|
-
emptyStateText?: string;
|
|
22
|
-
/** Message shown while history is loading. Default: `'Loading history…'`. */
|
|
23
|
-
loadingText?: string;
|
|
24
|
-
/** Message shown when history failed to load. Default: `'Failed to load publish history.'`. */
|
|
25
|
-
errorText?: string;
|
|
26
|
-
/** Typography class for each entry's version line. Default: `'dial-small-text text-primary'`. */
|
|
27
|
-
versionClassName?: string;
|
|
28
|
-
/** Typography class for each entry's publish date. Default: `'dial-small-text text-secondary'`. */
|
|
29
|
-
dateClassName?: string;
|
|
30
|
-
/** Typography class for the empty-state message. Default: `'dial-small-text text-secondary'`. */
|
|
31
|
-
emptyStateClassName?: string;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Read-only list of previously published versions for a catalog entity within
|
|
35
|
-
* the currently selected destination folder. Renders an empty-state message
|
|
36
|
-
* instead of a list when there is no history yet. Each row shows the version
|
|
37
|
-
* and publish date; the destination folder is not repeated here since this
|
|
38
|
-
* list is already scoped to the selected folder. The row matching
|
|
39
|
-
* `currentVersion` gets a small "Current" badge rather than a filled/
|
|
40
|
-
* selected-looking row, since blue selection styling is reserved for the
|
|
41
|
-
* destination folder picker.
|
|
42
|
-
*/
|
|
43
|
-
export declare const PublishHistoryList: FC<PublishHistoryListProps>;
|
|
44
|
-
//# sourceMappingURL=PublishHistoryList.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PublishHistoryList.d.ts","sourceRoot":"","sources":["../../../src/components/PublishHistoryList/PublishHistoryList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,sIAAsI;IACtI,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+FAA+F;IAC/F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oHAAoH;IACpH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mGAAmG;IACnG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CA0D1D,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
/** Text overrides for all user-visible strings in {@link PublishFooter}. */
|
|
3
|
-
export interface PublishFooterTexts {
|
|
4
|
-
/** Cancel button label. Default: `'Cancel'`. */
|
|
5
|
-
cancelLabel?: string;
|
|
6
|
-
/** Submit button label when publishing a new version. Default: `'Publish'`. */
|
|
7
|
-
publishDefaultLabel?: string;
|
|
8
|
-
/** Submit button label when replacing an existing version; `{version}` is replaced. */
|
|
9
|
-
updateLabel?: string;
|
|
10
|
-
/** Submit button label while the request is in flight. Default: `'Publishing…'`. */
|
|
11
|
-
publishingInProgressLabel?: string;
|
|
12
|
-
}
|
|
13
|
-
/** Props for {@link PublishFooter}. */
|
|
14
|
-
export interface PublishFooterProps {
|
|
15
|
-
/** The version being published, substituted into the submit label. `undefined` for unversioned resources (e.g. a conversation) — the submit label then always reads `publishDefaultLabel`. */
|
|
16
|
-
version?: string;
|
|
17
|
-
/** Whether this publication already exists at the selected destination folder. */
|
|
18
|
-
hasExistingPublicationInFolder: boolean;
|
|
19
|
-
/** Whether the submit button should be disabled. */
|
|
20
|
-
isSubmitDisabled: boolean;
|
|
21
|
-
/** Whether the submit button should show its loading/spinner state. */
|
|
22
|
-
isSubmitLoading: boolean;
|
|
23
|
-
/** Called when the user cancels the publish flow. */
|
|
24
|
-
onCancel: () => void;
|
|
25
|
-
/** Called when the user confirms the publish/update action. */
|
|
26
|
-
onSubmit: () => void;
|
|
27
|
-
/** Text overrides for all user-visible strings. */
|
|
28
|
-
texts?: PublishFooterTexts;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Action row for the Publish flow: Cancel and Publish/Update buttons.
|
|
32
|
-
* Rendered outside the scrollable body so it stays pinned to the bottom.
|
|
33
|
-
* Both Publish and Cancel use secondary/neutral styling — neither is an
|
|
34
|
-
* accented primary action.
|
|
35
|
-
*/
|
|
36
|
-
export declare const PublishFooter: FC<PublishFooterProps>;
|
|
37
|
-
//# sourceMappingURL=PublishFooter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PublishFooter.d.ts","sourceRoot":"","sources":["../../../src/components/PublishPanel/PublishFooter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,8LAA8L;IAC9L,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,8BAA8B,EAAE,OAAO,CAAC;IACxC,oDAAoD;IACpD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,eAAe,EAAE,OAAO,CAAC;IACzB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mDAAmD;IACnD,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA4ChD,CAAC"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { CatalogItem } from '../../models/catalog-item';
|
|
3
|
-
import { PublishFolderNode, PublishHistoryEntry, PublishResourceSummary } from '../../models/publish';
|
|
4
|
-
/** Text overrides for all user-visible strings in {@link PublishPanel}. */
|
|
5
|
-
export interface PublishPanelTexts {
|
|
6
|
-
/** Suffix on the version pill, e.g. "Version 4.0.1 · current". Default: `'current'`. */
|
|
7
|
-
currentVersionSuffix?: string;
|
|
8
|
-
/** Label above the destination folder picker. Default: `'Publish to folder'`. */
|
|
9
|
-
folderLabel?: string;
|
|
10
|
-
/** Placeholder for the folder search input. Default: `'Search folders'`. */
|
|
11
|
-
searchPlaceholder?: string;
|
|
12
|
-
/** Accessible label for the search input's clear button. Default: `'Clear search'`. */
|
|
13
|
-
clearSearchAriaLabel?: string;
|
|
14
|
-
/** Label above the publish history list. Default: `'Versions history'`. */
|
|
15
|
-
historyLabel?: string;
|
|
16
|
-
/** Warning callout body shown when the folder already has this version; `{version}` is replaced. */
|
|
17
|
-
replaceWarning?: string;
|
|
18
|
-
/** Error callout body shown when the user lacks write access. */
|
|
19
|
-
noAccessError?: string;
|
|
20
|
-
/** Error callout body shown when the most recent submit attempt failed. */
|
|
21
|
-
submitError?: string;
|
|
22
|
-
/** Message shown when a folder search query matches no folders; `{query}` is replaced. */
|
|
23
|
-
folderEmptyStateText?: string;
|
|
24
|
-
/** Label for the per-row context menu action that creates a folder alongside the clicked folder. */
|
|
25
|
-
addSiblingFolderLabel?: string;
|
|
26
|
-
/** Label for the per-row context menu action that creates a folder inside the clicked folder. */
|
|
27
|
-
addChildFolderLabel?: string;
|
|
28
|
-
/** Inline error shown while creating a folder with an empty name. */
|
|
29
|
-
createFolderEmptyNameError?: string;
|
|
30
|
-
/** Inline error shown while creating a folder whose name contains `..` or a forbidden character. */
|
|
31
|
-
createFolderInvalidNameError?: string;
|
|
32
|
-
/** Inline error shown while creating a folder whose name duplicates a sibling. */
|
|
33
|
-
createFolderDuplicateNameError?: string;
|
|
34
|
-
/** Message shown while publish history is loading. */
|
|
35
|
-
historyLoadingText?: string;
|
|
36
|
-
/** Message shown when publish history failed to load. */
|
|
37
|
-
historyErrorText?: string;
|
|
38
|
-
/** Label used for the bucket root as a destination and as `{folder}` in callouts when it is selected. Default: `'Organization'`. */
|
|
39
|
-
rootFolderLabel?: string;
|
|
40
|
-
}
|
|
41
|
-
/** Props for {@link PublishPanel}. */
|
|
42
|
-
export interface PublishPanelProps {
|
|
43
|
-
/**
|
|
44
|
-
* The catalog entity being published. Mutually exclusive with `resource`
|
|
45
|
-
* — pass this for versioned catalog entities (renders the full
|
|
46
|
-
* `EntityHeader` + version pill); pass `resource` instead for an
|
|
47
|
-
* unversioned resource (e.g. a conversation), which renders a simpler
|
|
48
|
-
* title-only summary row.
|
|
49
|
-
*/
|
|
50
|
-
item?: CatalogItem;
|
|
51
|
-
/** Title-only summary for an unversioned resource (e.g. a conversation). Mutually exclusive with `item`. */
|
|
52
|
-
resource?: PublishResourceSummary;
|
|
53
|
-
/** Previously published entries for this item. */
|
|
54
|
-
history: PublishHistoryEntry[];
|
|
55
|
-
/** Whether `history` is currently being fetched. Default: `false`. */
|
|
56
|
-
isHistoryLoading?: boolean;
|
|
57
|
-
/** Whether the most recent history fetch failed. Default: `false`. */
|
|
58
|
-
hasHistoryError?: boolean;
|
|
59
|
-
/** Destination folders available for selection. */
|
|
60
|
-
folderItems: PublishFolderNode[];
|
|
61
|
-
/**
|
|
62
|
-
* Currently selected destination folder path. `undefined` means nothing
|
|
63
|
-
* is selected; `[]` means the bucket root itself is selected (a distinct,
|
|
64
|
-
* valid destination).
|
|
65
|
-
*/
|
|
66
|
-
selectedFolderPath?: string[];
|
|
67
|
-
/** Called when the user selects a destination folder or the root; `undefined` when deselected. */
|
|
68
|
-
onSelectedFolderPathChange: (path: string[] | undefined) => void;
|
|
69
|
-
/** Called when the user confirms a new folder name. */
|
|
70
|
-
onCreateFolder: (parentPath: string[], name: string) => Promise<void>;
|
|
71
|
-
/**
|
|
72
|
-
* Externally-controlled set of expanded folder path keys. Pass this
|
|
73
|
-
* together with `onExpandedPathsChange` when the host lazily fetches a
|
|
74
|
-
* folder's children on expand.
|
|
75
|
-
*/
|
|
76
|
-
expandedPaths?: Set<string>;
|
|
77
|
-
/** Called when the set of expanded folders changes; required to control `expandedPaths`. */
|
|
78
|
-
onExpandedPathsChange?: (paths: Set<string>) => void;
|
|
79
|
-
/** Folder path keys currently being fetched by the host. */
|
|
80
|
-
loadingPaths?: Set<string>;
|
|
81
|
-
/**
|
|
82
|
-
* Whether `selectedFolderPath` already has this publication — this exact
|
|
83
|
-
* version, for `item`, or any prior entry at all, for `resource` (which
|
|
84
|
-
* has no version dimension).
|
|
85
|
-
*/
|
|
86
|
-
hasExistingPublicationInFolder: boolean;
|
|
87
|
-
/** Whether the current user can publish to `selectedFolderPath`. */
|
|
88
|
-
hasWriteAccess: boolean;
|
|
89
|
-
/** Whether a publish request is currently in flight. */
|
|
90
|
-
isSubmitting: boolean;
|
|
91
|
-
/** Whether the most recent submit attempt failed. */
|
|
92
|
-
hasSubmitError?: boolean;
|
|
93
|
-
/**
|
|
94
|
-
* Whether resubmitting when `hasExistingPublicationInFolder` is true is
|
|
95
|
-
* allowed (catalog default) or blocked (conversations — see
|
|
96
|
-
* `PublishDerivationInput.allowReplace`). Default `true`.
|
|
97
|
-
*/
|
|
98
|
-
allowReplace?: boolean;
|
|
99
|
-
/** Text overrides for all user-visible strings. */
|
|
100
|
-
texts?: PublishPanelTexts;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Scrollable body of the Publish flow: entity summary, destination folder
|
|
104
|
-
* picker (with a replace-warning or no-access callout when applicable), and
|
|
105
|
-
* the publish history list. The action footer is a sibling rendered by the host (see
|
|
106
|
-
* {@link PublishFooter}) so it can stay pinned outside this scroll area.
|
|
107
|
-
*/
|
|
108
|
-
export declare const PublishPanel: FC<PublishPanelProps>;
|
|
109
|
-
//# sourceMappingURL=PublishPanel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PublishPanel.d.ts","sourceRoot":"","sources":["../../../src/components/PublishPanel/PublishPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { FC, RefObject } from 'react';
|
|
2
|
-
import { CatalogItem } from '../../models/catalog-item';
|
|
3
|
-
import { PublishFolderNode, PublishHistoryEntry, PublishResourceSummary } from '../../models/publish';
|
|
4
|
-
import { PublishFooterTexts } from './PublishFooter';
|
|
5
|
-
import { PublishPanelTexts } from './PublishPanel';
|
|
6
|
-
/** Text overrides for all user-visible strings in {@link StandalonePublishPanel} not already covered by `PublishPanelTexts`/`PublishFooterTexts`. */
|
|
7
|
-
export interface StandalonePublishPanelTexts {
|
|
8
|
-
/** Header title. Default: `'Publish'`. */
|
|
9
|
-
title?: string;
|
|
10
|
-
/** Accessible label for the panel's `role="dialog"`. Default: `'Publish'`. */
|
|
11
|
-
ariaLabel?: string;
|
|
12
|
-
/** Accessible label for the header's Close button. Default: `'Close'`. */
|
|
13
|
-
closeAriaLabel?: string;
|
|
14
|
-
}
|
|
15
|
-
/** Props for {@link StandalonePublishPanel}. */
|
|
16
|
-
export interface StandalonePublishPanelProps {
|
|
17
|
-
/** Whether the panel is open (controls the slide-in animation and backdrop). */
|
|
18
|
-
isOpen: boolean;
|
|
19
|
-
/** The catalog entity being published. Mutually exclusive with `resource`. */
|
|
20
|
-
item?: CatalogItem;
|
|
21
|
-
/** Title-only summary for an unversioned resource (e.g. a conversation). Mutually exclusive with `item`. */
|
|
22
|
-
resource?: PublishResourceSummary;
|
|
23
|
-
/** Previously published entries for this item. */
|
|
24
|
-
history: PublishHistoryEntry[];
|
|
25
|
-
/** Whether `history` is currently being fetched. Default: `false`. */
|
|
26
|
-
isHistoryLoading?: boolean;
|
|
27
|
-
/** Whether the most recent history fetch failed. Default: `false`. */
|
|
28
|
-
hasHistoryError?: boolean;
|
|
29
|
-
/** Destination folders available for selection. */
|
|
30
|
-
folderItems: PublishFolderNode[];
|
|
31
|
-
/** Currently selected destination folder path. `undefined` means nothing selected; `[]` means the bucket root. */
|
|
32
|
-
selectedFolderPath?: string[];
|
|
33
|
-
/** Called when the user selects a destination folder or the root; `undefined` when deselected. */
|
|
34
|
-
onSelectedFolderPathChange: (path: string[] | undefined) => void;
|
|
35
|
-
/** Called when the user confirms a new folder name. */
|
|
36
|
-
onCreateFolder: (parentPath: string[], name: string) => Promise<void>;
|
|
37
|
-
/** Externally-controlled set of expanded folder path keys. */
|
|
38
|
-
expandedPaths?: Set<string>;
|
|
39
|
-
/** Called when the set of expanded folders changes. */
|
|
40
|
-
onExpandedPathsChange?: (paths: Set<string>) => void;
|
|
41
|
-
/** Folder path keys currently being fetched by the host. */
|
|
42
|
-
loadingPaths?: Set<string>;
|
|
43
|
-
/** Whether `selectedFolderPath` already has this publication. */
|
|
44
|
-
hasExistingPublicationInFolder: 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
|
-
* Whether resubmitting when `hasExistingPublicationInFolder` is true is
|
|
53
|
-
* allowed (catalog default) or blocked (conversations). Default `true`.
|
|
54
|
-
*/
|
|
55
|
-
allowReplace?: boolean;
|
|
56
|
-
/** Called when the panel should be dismissed — Close button, Cancel button, backdrop click, or Escape. */
|
|
57
|
-
onClose: () => void;
|
|
58
|
-
/** Focus target restored when an open panel closes or unmounts. */
|
|
59
|
-
returnFocusRef?: RefObject<HTMLElement | null>;
|
|
60
|
-
/** Called when the user confirms the publish action. */
|
|
61
|
-
onSubmit: () => void;
|
|
62
|
-
/** Text overrides for the panel body. */
|
|
63
|
-
panelTexts?: PublishPanelTexts;
|
|
64
|
-
/** Text overrides for the pinned footer. */
|
|
65
|
-
footerTexts?: PublishFooterTexts;
|
|
66
|
-
/** Text overrides for the header/shell. */
|
|
67
|
-
texts?: StandalonePublishPanelTexts;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Standalone end-edge slide-in panel for the Publish flow, sized and
|
|
71
|
-
* animated like `DetailsPanel` but with no details view behind it: the
|
|
72
|
-
* header shows a Close (X) button instead of `DetailsPanel`'s publish
|
|
73
|
-
* sub-view Back (chevron) control, since there is nothing to go "back" to
|
|
74
|
-
* (see design.md D4). Cancel (in the pinned footer) and Escape both invoke
|
|
75
|
-
* the same `onClose` as the header's Close button.
|
|
76
|
-
*
|
|
77
|
-
* Backdrop/panel use `z-[51]`/`z-[52]` rather than `DetailsPanel`'s
|
|
78
|
-
* `z-40`/`z-50` — unlike catalog details (opened from a view where no other
|
|
79
|
-
* panel is open), this panel is opened while the conversation list's
|
|
80
|
-
* `SidebarPanel` (`libs/sidebar`) is still mounted, which applies its own
|
|
81
|
-
* `z-50` while open. Matching `z-40`/`z-50` here left that sidebar
|
|
82
|
-
* un-dimmed and above the backdrop. Capped at `z-[52]` (not higher) so it
|
|
83
|
-
* stays below `@epam/ai-dial-ui-kit`'s own `z-[53]` dropdown/context-menu
|
|
84
|
-
* layer — `PublishFoldersTree`'s "Add sibling"/"Add child" context menu
|
|
85
|
-
* (`getContextMenuItems`) portals to `document.body` as a sibling of this
|
|
86
|
-
* panel, so a higher panel z-index would visually cover and block clicks on
|
|
87
|
-
* that menu even though it "opens" correctly in the DOM.
|
|
88
|
-
*/
|
|
89
|
-
export declare const StandalonePublishPanel: FC<StandalonePublishPanelProps>;
|
|
90
|
-
//# sourceMappingURL=StandalonePublishPanel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StandalonePublishPanel.d.ts","sourceRoot":"","sources":["../../../src/components/PublishPanel/StandalonePublishPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,SAAS,EAA8B,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAiB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGjE,qJAAqJ;AACrJ,MAAM,WAAW,2BAA2B;IAC1C,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,gFAAgF;IAChF,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,4GAA4G;IAC5G,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,kDAAkD;IAClD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mDAAmD;IACnD,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,kHAAkH;IAClH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kGAAkG;IAClG,0BAA0B,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IACjE,uDAAuD;IACvD,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,8DAA8D;IAC9D,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,4DAA4D;IAC5D,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,iEAAiE;IACjE,8BAA8B,EAAE,OAAO,CAAC;IACxC,oEAAoE;IACpE,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0GAA0G;IAC1G,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mEAAmE;IACnE,cAAc,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC/C,wDAAwD;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,yCAAyC;IACzC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,2BAA2B,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAuKlE,CAAC"}
|
package/models/publish.d.ts
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
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
|
-
/**
|
|
11
|
-
* A previously published version of a catalog entity, or a previous
|
|
12
|
-
* publication of an unversioned resource (e.g. a conversation).
|
|
13
|
-
*/
|
|
14
|
-
export interface PublishHistoryEntry {
|
|
15
|
-
/**
|
|
16
|
-
* Semantic version string, e.g. "4.0.0". `undefined` for unversioned
|
|
17
|
-
* resources (e.g. a conversation), where a folder having any entry at all
|
|
18
|
-
* already means "already published here" — see `usePublishFlow`.
|
|
19
|
-
*/
|
|
20
|
-
version?: string;
|
|
21
|
-
/** Unix timestamp (ms) when this version was published. */
|
|
22
|
-
publishedAt: number;
|
|
23
|
-
/** Display name of the user who published this version. */
|
|
24
|
-
publishedBy: string;
|
|
25
|
-
/** Folder path segments this version was published to, outermost first. */
|
|
26
|
-
folderPath: string[];
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Minimal display data for the Publish flow's entity-summary row, covering
|
|
30
|
-
* both versioned catalog entities and unversioned resources (e.g. a
|
|
31
|
-
* conversation). `PublishPanel` renders the full `EntityHeader`+version-pill
|
|
32
|
-
* summary only when a `CatalogItem` is supplied; a title-only resource
|
|
33
|
-
* (`version` and `iconUrl` both absent) renders a simpler row instead.
|
|
34
|
-
*/
|
|
35
|
-
export interface PublishResourceSummary {
|
|
36
|
-
/** Display title/name shown in the summary row. */
|
|
37
|
-
title: string;
|
|
38
|
-
/** Icon URL, if any. */
|
|
39
|
-
iconUrl?: string;
|
|
40
|
-
/** Version, when the resource is versioned. `undefined` for conversations. */
|
|
41
|
-
version?: string;
|
|
42
|
-
}
|
|
43
|
-
/** Which callout (if any) the publish panel should show below the folder picker. */
|
|
44
|
-
export declare enum PublishCalloutKind {
|
|
45
|
-
/** No callout — no folder selected, or a request is in flight. */
|
|
46
|
-
None = "none",
|
|
47
|
-
/** Informational callout describing who gets access once published. */
|
|
48
|
-
Info = "info",
|
|
49
|
-
/** Warning callout — publishing will replace an existing version in this folder. */
|
|
50
|
-
ReplaceWarning = "replaceWarning",
|
|
51
|
-
/** Error callout — the user lacks write access to the selected folder. */
|
|
52
|
-
NoAccess = "noAccess",
|
|
53
|
-
/** Error callout — the most recent submit attempt failed. */
|
|
54
|
-
SubmitError = "submitError"
|
|
55
|
-
}
|
|
56
|
-
/** Inputs used to derive the publish panel's callout and submit-button state. */
|
|
57
|
-
export interface PublishDerivationInput {
|
|
58
|
-
/** Whether a destination folder is currently selected. */
|
|
59
|
-
hasSelectedFolder: boolean;
|
|
60
|
-
/**
|
|
61
|
-
* Whether the selected folder already has this publication — this exact
|
|
62
|
-
* version, for a versioned catalog entity, or any prior publication at
|
|
63
|
-
* all, for an unversioned resource (e.g. a conversation).
|
|
64
|
-
*/
|
|
65
|
-
hasExistingPublicationInFolder: boolean;
|
|
66
|
-
/** Whether the current user can publish to the selected folder. */
|
|
67
|
-
hasWriteAccess: boolean;
|
|
68
|
-
/** Whether a publish request is currently in flight. */
|
|
69
|
-
isSubmitting: boolean;
|
|
70
|
-
/** Whether the most recent submit attempt failed. */
|
|
71
|
-
hasSubmitError: boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Whether resubmitting when `hasExistingPublicationInFolder` is true is
|
|
74
|
-
* allowed (catalog: republishing replaces the existing version) or
|
|
75
|
-
* blocked entirely (conversations have no update/replace semantics —
|
|
76
|
-
* publishing again to the same folder is not supported). Default `true`.
|
|
77
|
-
*/
|
|
78
|
-
allowReplace?: boolean;
|
|
79
|
-
}
|
|
80
|
-
/** Derived, render-ready state for the publish panel. */
|
|
81
|
-
export interface PublishDerivedState {
|
|
82
|
-
/** Which callout (if any) to show below the folder picker. */
|
|
83
|
-
calloutKind: PublishCalloutKind;
|
|
84
|
-
/** Whether the submit button is disabled. */
|
|
85
|
-
isSubmitDisabled: boolean;
|
|
86
|
-
/** Whether the submit button should show its loading/spinner state. */
|
|
87
|
-
isSubmitLoading: boolean;
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=publish.d.ts.map
|
package/models/publish.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;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;;;;OAIG;IACH,8BAA8B,EAAE,OAAO,CAAC;IACxC,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
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
|
-
/** Error messages returned by {@link validateFolderName} for each rejection reason. */
|
|
22
|
-
export interface FolderNameValidationMessages {
|
|
23
|
-
/** Shown when the trimmed name is empty. */
|
|
24
|
-
empty: string;
|
|
25
|
-
/** Shown when the name contains `..` or a forbidden character. */
|
|
26
|
-
invalid: string;
|
|
27
|
-
/** Shown when a sibling folder already has this name (case-insensitive). */
|
|
28
|
-
duplicate: string;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Validates a folder name entered in the publish destination tree. Returns an
|
|
32
|
-
* error message from `messages`, or `null` when `rawValue` is a valid,
|
|
33
|
-
* non-duplicate folder name.
|
|
34
|
-
*/
|
|
35
|
-
export declare const validateFolderName: (rawValue: string, siblingNames: string[], messages: FolderNameValidationMessages) => string | null;
|
|
36
|
-
/**
|
|
37
|
-
* Returns `baseName` if no sibling already has that name, otherwise
|
|
38
|
-
* `"${baseName} 2"`, `"${baseName} 3"`, etc. — the first suffix that is
|
|
39
|
-
* free. Used so the inline create-folder editor starts with a name that does
|
|
40
|
-
* not duplicate an existing sibling folder.
|
|
41
|
-
*/
|
|
42
|
-
export declare const getUniqueFolderName: (baseName: string, siblingNames: string[]) => string;
|
|
43
|
-
/** Names of the direct children of the folder at `parentPath` (root siblings when empty). */
|
|
44
|
-
export declare const getSiblingFolderNames: (items: PublishFolderNode[], parentPath: string[]) => string[];
|
|
45
|
-
//# sourceMappingURL=publish-folder-tree.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AAKL,uFAAuF;AACvF,MAAM,WAAW,4BAA4B;IAC3C,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,cAAc,MAAM,EAAE,EACtB,UAAU,4BAA4B,KACrC,MAAM,GAAG,IAcX,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,cAAc,MAAM,EAAE,KACrB,MAYF,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,GAChC,OAAO,iBAAiB,EAAE,EAC1B,YAAY,MAAM,EAAE,KACnB,MAAM,EAoBR,CAAC"}
|
package/utils/publish-state.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { CatalogItem } from '../models/catalog-item';
|
|
2
|
-
import { PublishFolderNode, PublishHistoryEntry } from '../models/publish';
|
|
3
|
-
/** An item publishable through {@link usePublishFlow} — versioned (`CatalogItem`) or not (e.g. a conversation). */
|
|
4
|
-
export interface PublishFlowItem {
|
|
5
|
-
/** Version, when the item is versioned. `undefined` for unversioned resources. */
|
|
6
|
-
version?: string;
|
|
7
|
-
}
|
|
8
|
-
/** Options for {@link usePublishFlow}. */
|
|
9
|
-
export interface UsePublishFlowOptions<TItem extends PublishFlowItem> {
|
|
10
|
-
/** The item being published — a `CatalogItem` (versioned) or an unversioned resource (e.g. a conversation). */
|
|
11
|
-
item: TItem;
|
|
12
|
-
/** Previously published entries for this item. */
|
|
13
|
-
history: PublishHistoryEntry[];
|
|
14
|
-
/** Root-level destination folder nodes, as currently known to the host. */
|
|
15
|
-
folderItems: PublishFolderNode[];
|
|
16
|
-
/**
|
|
17
|
-
* Resolves whether the current user can publish to a given folder path.
|
|
18
|
-
* Defaults to always allowing (`() => true`) when omitted.
|
|
19
|
-
*/
|
|
20
|
-
hasWriteAccess?: (folderPath: string[]) => boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Called when the user confirms a new folder name. The host owns
|
|
23
|
-
* persisting the folder; the hook also adds it locally so it is
|
|
24
|
-
* immediately selectable within this session. If the returned promise
|
|
25
|
-
* rejects, the optimistically added folder is rolled back and the submit-
|
|
26
|
-
* error callout is surfaced.
|
|
27
|
-
*/
|
|
28
|
-
onCreateFolder?: (parentPath: string[], name: string) => void | Promise<void>;
|
|
29
|
-
/** Called with the destination folder path when the user confirms publish/update. */
|
|
30
|
-
onPublish: (item: TItem, folderPath: string[]) => Promise<void>;
|
|
31
|
-
/** Called after a successful publish; the host surfaces its own success notification. */
|
|
32
|
-
onPublishSuccess?: (item: TItem, folderPath: string[]) => void;
|
|
33
|
-
}
|
|
34
|
-
/** State and handlers returned by {@link usePublishFlow}. */
|
|
35
|
-
export interface UsePublishFlowResult {
|
|
36
|
-
/** Folder tree, including any folders created (but not yet persisted) during this session. */
|
|
37
|
-
folderItems: PublishFolderNode[];
|
|
38
|
-
/**
|
|
39
|
-
* Currently selected destination folder path. `undefined` means nothing
|
|
40
|
-
* is selected; `[]` means the bucket root itself is selected (a distinct,
|
|
41
|
-
* valid destination).
|
|
42
|
-
*/
|
|
43
|
-
selectedFolderPath?: string[];
|
|
44
|
-
/** Selects a destination folder or the root (`[]`); pass `undefined` to deselect. */
|
|
45
|
-
setSelectedFolderPath: (path: string[] | undefined) => void;
|
|
46
|
-
/** Confirms a new folder name: adds it locally and reports it to the host, rolling back and surfacing an error if the host rejects. */
|
|
47
|
-
handleCreateFolder: (parentPath: string[], name: string) => Promise<void>;
|
|
48
|
-
/**
|
|
49
|
-
* Whether `selectedFolderPath` already has this publication — this exact
|
|
50
|
-
* version, for a versioned item, or any prior entry at all, for an
|
|
51
|
-
* unversioned item (whose `version` is `undefined`).
|
|
52
|
-
*/
|
|
53
|
-
hasExistingPublicationInFolder: boolean;
|
|
54
|
-
/** Whether the current user can publish to `selectedFolderPath`. */
|
|
55
|
-
hasWriteAccess: boolean;
|
|
56
|
-
/** Whether a publish request is currently in flight. */
|
|
57
|
-
isSubmitting: boolean;
|
|
58
|
-
/** Whether the most recent submit attempt failed. */
|
|
59
|
-
hasSubmitError: boolean;
|
|
60
|
-
/**
|
|
61
|
-
* Submits the publish/update request for the selected folder. Resolves to
|
|
62
|
-
* `true` on success and `false` if `onPublish` rejected, so the caller can
|
|
63
|
-
* decide whether to close the flow.
|
|
64
|
-
*/
|
|
65
|
-
handleSubmit: () => Promise<boolean>;
|
|
66
|
-
/** Resets folder selection, any locally-created folders, and the submit error back to their initial state. */
|
|
67
|
-
reset: () => void;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Drives the Publish flow's state: destination-folder selection, optimistic
|
|
71
|
-
* local folder creation, existing-publication detection, and submit
|
|
72
|
-
* handling. Framework for both in-place (DetailsPanel) and popup/standalone
|
|
73
|
-
* presentations, and for both versioned (`CatalogItem`) and unversioned
|
|
74
|
-
* (e.g. conversation) items.
|
|
75
|
-
*/
|
|
76
|
-
export declare const usePublishFlow: <TItem extends PublishFlowItem = CatalogItem>({ item, history, folderItems: initialFolderItems, hasWriteAccess: resolveWriteAccess, onCreateFolder, onPublish, onPublishSuccess, }: UsePublishFlowOptions<TItem>) => UsePublishFlowResult;
|
|
77
|
-
//# sourceMappingURL=use-publish-flow.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AAE3E,mHAAmH;AACnH,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA2DD,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB,CAAC,KAAK,SAAS,eAAe;IAClE,+GAA+G;IAC/G,IAAI,EAAE,KAAK,CAAC;IACZ,kDAAkD;IAClD,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,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAChE;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;;;;OAIG;IACH,8BAA8B,EAAE,OAAO,CAAC;IACxC,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;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,eAAe,GAAG,WAAW,EAAE,sIAQzE,qBAAqB,CAAC,KAAK,CAAC,KAAG,oBAyEjC,CAAC"}
|