Promote translation refs from alpha to stable entry points
Add each plugin and package translation ref to the corresponding stable entry point, changing the JSDoc tag from @alpha to @public. The alpha entry points now re-export with a @deprecated annotation so existing consumers continue to work. Affected packages: core-components, api-docs, catalog, catalog-graph, catalog-import, catalog-react, home, home-react, kubernetes, kubernetes-cluster, kubernetes-react, notifications, org, scaffolder, scaffolder-react, search, search-react, user-settings. Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-react': minor
|
||||
'@backstage/plugin-catalog': minor
|
||||
'@backstage/plugin-scaffolder-react': minor
|
||||
'@backstage/plugin-scaffolder': minor
|
||||
'@backstage/plugin-search-react': minor
|
||||
'@backstage/plugin-search': minor
|
||||
---
|
||||
|
||||
Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
'@backstage/plugin-api-docs': patch
|
||||
'@backstage/plugin-catalog-graph': patch
|
||||
'@backstage/plugin-catalog-import': patch
|
||||
'@backstage/plugin-home-react': patch
|
||||
'@backstage/plugin-home': patch
|
||||
'@backstage/plugin-kubernetes-cluster': patch
|
||||
'@backstage/plugin-kubernetes-react': patch
|
||||
'@backstage/plugin-kubernetes': patch
|
||||
'@backstage/plugin-notifications': patch
|
||||
'@backstage/plugin-org': patch
|
||||
'@backstage/plugin-user-settings': patch
|
||||
---
|
||||
|
||||
Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
|
||||
@@ -5,7 +5,7 @@
|
||||
```ts
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const coreComponentsTranslationRef: TranslationRef<
|
||||
'core-components',
|
||||
{
|
||||
|
||||
@@ -54,6 +54,7 @@ import { SVGProps } from 'react';
|
||||
import { TabProps } from '@material-ui/core/Tab';
|
||||
import { Theme } from '@material-ui/core/styles';
|
||||
import { TooltipProps } from '@material-ui/core/Tooltip';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { WithStyles } from '@material-ui/core/styles';
|
||||
|
||||
// @public
|
||||
@@ -222,6 +223,69 @@ export interface CopyTextButtonProps {
|
||||
tooltipText?: string;
|
||||
}
|
||||
|
||||
// @public (undocumented)
|
||||
export const coreComponentsTranslationRef: TranslationRef<
|
||||
'core-components',
|
||||
{
|
||||
readonly 'table.filter.title': 'Filters';
|
||||
readonly 'table.filter.placeholder': 'All results';
|
||||
readonly 'table.filter.clearAll': 'Clear all';
|
||||
readonly 'table.body.emptyDataSourceMessage': 'No records to display';
|
||||
readonly 'table.header.actions': 'Actions';
|
||||
readonly 'table.toolbar.search': 'Filter';
|
||||
readonly 'table.pagination.labelDisplayedRows': '{from}-{to} of {count}';
|
||||
readonly 'table.pagination.firstTooltip': 'First Page';
|
||||
readonly 'table.pagination.labelRowsSelect': 'rows';
|
||||
readonly 'table.pagination.lastTooltip': 'Last Page';
|
||||
readonly 'table.pagination.nextTooltip': 'Next Page';
|
||||
readonly 'table.pagination.previousTooltip': 'Previous Page';
|
||||
readonly 'emptyState.missingAnnotation.title': 'Missing Annotation';
|
||||
readonly 'emptyState.missingAnnotation.actionTitle': 'Add the annotation to your component YAML as shown in the highlighted example below:';
|
||||
readonly 'emptyState.missingAnnotation.readMore': 'Read more';
|
||||
readonly 'signIn.title': 'Sign In';
|
||||
readonly 'signIn.loginFailed': 'Login failed';
|
||||
readonly 'signIn.customProvider.title': 'Custom User';
|
||||
readonly 'signIn.customProvider.subtitle': 'Enter your own User ID and credentials.\n This selection will not be stored.';
|
||||
readonly 'signIn.customProvider.userId': 'User ID';
|
||||
readonly 'signIn.customProvider.tokenInvalid': 'Token is not a valid OpenID Connect JWT Token';
|
||||
readonly 'signIn.customProvider.continue': 'Continue';
|
||||
readonly 'signIn.customProvider.idToken': 'ID Token (optional)';
|
||||
readonly 'signIn.guestProvider.title': 'Guest';
|
||||
readonly 'signIn.guestProvider.enter': 'Enter';
|
||||
readonly 'signIn.guestProvider.subtitle': 'Enter as a Guest User.\n You will not have a verified identity, meaning some features might be unavailable.';
|
||||
readonly skipToContent: 'Skip to content';
|
||||
readonly 'copyTextButton.tooltipText': 'Text copied to clipboard';
|
||||
readonly 'simpleStepper.finish': 'Finish';
|
||||
readonly 'simpleStepper.reset': 'Reset';
|
||||
readonly 'simpleStepper.next': 'Next';
|
||||
readonly 'simpleStepper.skip': 'Skip';
|
||||
readonly 'simpleStepper.back': 'Back';
|
||||
readonly 'errorPage.title': 'Looks like someone dropped the mic!';
|
||||
readonly 'errorPage.subtitle': 'ERROR {{status}}: {{statusMessage}}';
|
||||
readonly 'errorPage.goBack': 'Go back';
|
||||
readonly 'errorPage.showMoreDetails': 'Show more details';
|
||||
readonly 'errorPage.showLessDetails': 'Show less details';
|
||||
readonly 'supportConfig.default.title': 'Support Not Configured';
|
||||
readonly 'supportConfig.default.linkTitle': 'Add `app.support` config key';
|
||||
readonly 'errorBoundary.title': 'Please contact {{slackChannel}} for help.';
|
||||
readonly 'oauthRequestDialog.message': 'Sign-in to allow {{appTitle}} access to {{provider}} APIs and identities.';
|
||||
readonly 'oauthRequestDialog.title': 'Login Required';
|
||||
readonly 'oauthRequestDialog.authRedirectTitle': 'This will trigger a http redirect to OAuth Login.';
|
||||
readonly 'oauthRequestDialog.login': 'Log in';
|
||||
readonly 'oauthRequestDialog.rejectAll': 'Reject All';
|
||||
readonly 'supportButton.title': 'Support';
|
||||
readonly 'supportButton.close': 'Close';
|
||||
readonly 'alertDisplay.message_one': '({{ count }} newer message)';
|
||||
readonly 'alertDisplay.message_other': '({{ count }} newer messages)';
|
||||
readonly 'autoLogout.stillTherePrompt.title': 'Logging out due to inactivity';
|
||||
readonly 'autoLogout.stillTherePrompt.buttonText': "Yes! Don't log me out";
|
||||
readonly 'dependencyGraph.fullscreenTooltip': 'Toggle fullscreen';
|
||||
readonly 'proxiedSignInPage.title': 'You do not appear to be signed in. Please try reloading the browser page.';
|
||||
readonly 'logViewer.searchField.placeholder': 'Search';
|
||||
readonly 'logViewer.downloadBtn.tooltip': 'Download logs';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public
|
||||
export function CreateButton(props: CreateButtonProps): JSX_2.Element | null;
|
||||
|
||||
|
||||
@@ -13,4 +13,10 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
export * from './translation';
|
||||
import { coreComponentsTranslationRef as _coreComponentsTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/core-components` instead.
|
||||
*/
|
||||
export const coreComponentsTranslationRef = _coreComponentsTranslationRef;
|
||||
|
||||
@@ -25,3 +25,4 @@ export * from './hooks';
|
||||
export * from './icons';
|
||||
export * from './layout';
|
||||
export * from './overridableComponents';
|
||||
export { coreComponentsTranslationRef } from './translation';
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const coreComponentsTranslationRef = createTranslationRef({
|
||||
id: 'core-components',
|
||||
messages: {
|
||||
|
||||
@@ -26,7 +26,7 @@ import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { RouteRef as RouteRef_2 } from '@backstage/frontend-plugin-api';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const apiDocsTranslationRef: TranslationRef<
|
||||
'api-docs',
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@ import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { TableColumn } from '@backstage/core-components';
|
||||
import { TableOptions } from '@backstage/core-components';
|
||||
import { TableProps } from '@backstage/core-components';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { UserListFilterKind } from '@backstage/plugin-catalog-react';
|
||||
|
||||
// @public (undocumented)
|
||||
@@ -62,6 +63,42 @@ const apiDocsPlugin: BackstagePlugin<
|
||||
export { apiDocsPlugin };
|
||||
export { apiDocsPlugin as plugin };
|
||||
|
||||
// @public (undocumented)
|
||||
export const apiDocsTranslationRef: TranslationRef<
|
||||
'api-docs',
|
||||
{
|
||||
readonly 'apiDefinitionCard.error.title': 'Could not fetch the API';
|
||||
readonly 'apiDefinitionCard.rawButtonTitle': 'Raw';
|
||||
readonly 'apiDefinitionDialog.closeButtonTitle': 'Close';
|
||||
readonly 'apiDefinitionDialog.tabsAriaLabel': 'API definition options';
|
||||
readonly 'apiDefinitionDialog.rawButtonTitle': 'Raw';
|
||||
readonly 'apiDefinitionDialog.toggleButtonAriaLabel': 'Toggle API Definition Dialog';
|
||||
readonly 'defaultApiExplorerPage.title': 'APIs';
|
||||
readonly 'defaultApiExplorerPage.subtitle': '{{orgName}} API Explorer';
|
||||
readonly 'defaultApiExplorerPage.pageTitleOverride': 'APIs';
|
||||
readonly 'defaultApiExplorerPage.createButtonTitle': 'Register Existing API';
|
||||
readonly 'defaultApiExplorerPage.supportButtonTitle': 'All your APIs';
|
||||
readonly 'consumedApisCard.error.title': 'Could not load APIs';
|
||||
readonly 'consumedApisCard.title': 'Consumed APIs';
|
||||
readonly 'consumedApisCard.emptyContent.title': 'This {{entity}} does not consume any APIs.';
|
||||
readonly 'hasApisCard.error.title': 'Could not load APIs';
|
||||
readonly 'hasApisCard.title': 'APIs';
|
||||
readonly 'hasApisCard.emptyContent.title': 'This {{entity}} does not contain any APIs.';
|
||||
readonly 'providedApisCard.error.title': 'Could not load APIs';
|
||||
readonly 'providedApisCard.title': 'Provided APIs';
|
||||
readonly 'providedApisCard.emptyContent.title': 'This {{entity}} does not provide any APIs.';
|
||||
readonly 'apiEntityColumns.typeTitle': 'Type';
|
||||
readonly 'apiEntityColumns.apiDefinitionTitle': 'API Definition';
|
||||
readonly 'consumingComponentsCard.error.title': 'Could not load components';
|
||||
readonly 'consumingComponentsCard.title': 'Consumers';
|
||||
readonly 'consumingComponentsCard.emptyContent.title': 'No component consumes this API.';
|
||||
readonly 'providingComponentsCard.error.title': 'Could not load components';
|
||||
readonly 'providingComponentsCard.title': 'Providers';
|
||||
readonly 'providingComponentsCard.emptyContent.title': 'No component provides this API.';
|
||||
readonly apisCardHelpLinkTitle: 'Learn how to change this.';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public
|
||||
export const ApiExplorerIndexPage: (
|
||||
props: DefaultApiExplorerPageProps,
|
||||
|
||||
@@ -234,4 +234,10 @@ export default createFrontendPlugin({
|
||||
],
|
||||
});
|
||||
|
||||
export { apiDocsTranslationRef } from './translation';
|
||||
import { apiDocsTranslationRef as _apiDocsTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-api-docs` instead.
|
||||
*/
|
||||
export const apiDocsTranslationRef = _apiDocsTranslationRef;
|
||||
|
||||
@@ -34,3 +34,4 @@ export {
|
||||
EntityProvidedApisCard,
|
||||
EntityProvidingComponentsCard,
|
||||
} from './plugin';
|
||||
export { apiDocsTranslationRef } from './translation';
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import { createTranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
/**
|
||||
* @alpha
|
||||
* @public
|
||||
*/
|
||||
export const apiDocsTranslationRef = createTranslationRef({
|
||||
id: 'api-docs',
|
||||
|
||||
@@ -22,7 +22,7 @@ import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { RouteRef as RouteRef_2 } from '@backstage/frontend-plugin-api';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const catalogGraphTranslationRef: TranslationRef<
|
||||
'catalog-graph',
|
||||
{
|
||||
|
||||
@@ -15,6 +15,7 @@ import { MouseEvent as MouseEvent_2 } from 'react';
|
||||
import { MouseEventHandler } from 'react';
|
||||
import { ReactNode } from 'react';
|
||||
import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @public
|
||||
export const ALL_RELATION_PAIRS: RelationPairs;
|
||||
@@ -69,6 +70,34 @@ export const catalogGraphPlugin: BackstagePlugin<
|
||||
// @public
|
||||
export const catalogGraphRouteRef: RouteRef<undefined>;
|
||||
|
||||
// @public (undocumented)
|
||||
export const catalogGraphTranslationRef: TranslationRef<
|
||||
'catalog-graph',
|
||||
{
|
||||
readonly 'catalogGraphCard.title': 'Relations';
|
||||
readonly 'catalogGraphCard.deepLinkTitle': 'View graph';
|
||||
readonly 'catalogGraphPage.title': 'Catalog Graph';
|
||||
readonly 'catalogGraphPage.filterToggleButtonTitle': 'Filters';
|
||||
readonly 'catalogGraphPage.supportButtonDescription': 'Start tracking your component in by adding it to the software catalog.';
|
||||
readonly 'catalogGraphPage.simplifiedSwitchLabel': 'Simplified';
|
||||
readonly 'catalogGraphPage.mergeRelationsSwitchLabel': 'Merge relations';
|
||||
readonly 'catalogGraphPage.zoomOutDescription': 'Use pinch & zoom to move around the diagram. Click to change active node, shift click to navigate to entity.';
|
||||
readonly 'catalogGraphPage.curveFilter.title': 'Curve';
|
||||
readonly 'catalogGraphPage.curveFilter.curveStepBefore': 'Step Before';
|
||||
readonly 'catalogGraphPage.curveFilter.curveMonotoneX': 'Monotone X';
|
||||
readonly 'catalogGraphPage.directionFilter.title': 'Direction';
|
||||
readonly 'catalogGraphPage.directionFilter.leftToRight': 'Left to right';
|
||||
readonly 'catalogGraphPage.directionFilter.rightToLeft': 'Right to left';
|
||||
readonly 'catalogGraphPage.directionFilter.topToBottom': 'Top to bottom';
|
||||
readonly 'catalogGraphPage.directionFilter.bottomToTop': 'Bottom to top';
|
||||
readonly 'catalogGraphPage.maxDepthFilter.title': 'Max depth';
|
||||
readonly 'catalogGraphPage.maxDepthFilter.inputPlaceholder': '∞ Infinite';
|
||||
readonly 'catalogGraphPage.maxDepthFilter.clearButtonAriaLabel': 'clear max depth';
|
||||
readonly 'catalogGraphPage.selectedKindsFilter.title': 'Kinds';
|
||||
readonly 'catalogGraphPage.selectedRelationsFilter.title': 'Relations';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export type CustomLabelClassKey = 'text' | 'secondary';
|
||||
|
||||
|
||||
@@ -107,4 +107,10 @@ export default createFrontendPlugin({
|
||||
extensions: [CatalogGraphPage, CatalogGraphEntityCard, CatalogGraphApi],
|
||||
});
|
||||
|
||||
export { catalogGraphTranslationRef } from './translation';
|
||||
import { catalogGraphTranslationRef as _catalogGraphTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-catalog-graph` instead.
|
||||
*/
|
||||
export const catalogGraphTranslationRef = _catalogGraphTranslationRef;
|
||||
|
||||
@@ -36,3 +36,4 @@ export type {
|
||||
} from './lib/types';
|
||||
export { Direction } from './lib/types';
|
||||
export type { TransformationContext } from './lib/graph-transformations';
|
||||
export { catalogGraphTranslationRef } from './translation';
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
import { createTranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const catalogGraphTranslationRef = createTranslationRef({
|
||||
id: 'catalog-graph',
|
||||
messages: {
|
||||
|
||||
@@ -18,7 +18,7 @@ import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { RouteRef as RouteRef_2 } from '@backstage/frontend-plugin-api';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const catalogImportTranslationRef: TranslationRef<
|
||||
'catalog-import',
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import { ApiRef } from '@backstage/frontend-plugin-api';
|
||||
import { BackstagePlugin } from '@backstage/core-plugin-api';
|
||||
import { CatalogApi } from '@backstage/catalog-client';
|
||||
import { catalogImportTranslationRef } from '@backstage/plugin-catalog-import/alpha';
|
||||
import { catalogImportTranslationRef as catalogImportTranslationRef_2 } from '@backstage/plugin-catalog-import/alpha';
|
||||
import { ComponentProps } from 'react';
|
||||
import { CompoundEntityRef } from '@backstage/catalog-model';
|
||||
import { ConfigApi } from '@backstage/core-plugin-api';
|
||||
@@ -26,6 +26,7 @@ import { ScmIntegrationRegistry } from '@backstage/integration';
|
||||
import { SubmitHandler } from 'react-hook-form';
|
||||
import { TextFieldProps } from '@material-ui/core/TextField/TextField';
|
||||
import { TranslationFunction } from '@backstage/core-plugin-api/alpha';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { UseFormProps } from 'react-hook-form';
|
||||
import { UseFormReturn } from 'react-hook-form';
|
||||
|
||||
@@ -141,13 +142,86 @@ const catalogImportPlugin: BackstagePlugin<
|
||||
export { catalogImportPlugin };
|
||||
export { catalogImportPlugin as plugin };
|
||||
|
||||
// @public (undocumented)
|
||||
export const catalogImportTranslationRef: TranslationRef<
|
||||
'catalog-import',
|
||||
{
|
||||
readonly 'buttons.back': 'Back';
|
||||
readonly 'defaultImportPage.headerTitle': 'Register an existing component';
|
||||
readonly 'defaultImportPage.contentHeaderTitle': 'Start tracking your component in {{appTitle}}';
|
||||
readonly 'defaultImportPage.supportTitle': 'Start tracking your component in {{appTitle}} by adding it to the software catalog.';
|
||||
readonly 'importInfoCard.title': 'Register an existing component';
|
||||
readonly 'importInfoCard.deepLinkTitle': 'Learn more about the Software Catalog';
|
||||
readonly 'importInfoCard.linkDescription': 'Enter the URL to your source code repository to add it to {{appTitle}}.';
|
||||
readonly 'importInfoCard.fileLinkTitle': 'Link to an existing entity file';
|
||||
readonly 'importInfoCard.examplePrefix': 'Example: ';
|
||||
readonly 'importInfoCard.fileLinkDescription': 'The wizard analyzes the file, previews the entities, and adds them to the {{appTitle}} catalog.';
|
||||
readonly 'importInfoCard.exampleDescription': 'The wizard discovers all {{catalogFilename}} files in the repository, previews the entities, and adds them to the {{appTitle}} catalog.';
|
||||
readonly 'importInfoCard.preparePullRequestDescription': 'If no entities are found, the wizard will prepare a Pull Request that adds an example {{catalogFilename}} and prepares the {{appTitle}} catalog to load all entities as soon as the Pull Request is merged.';
|
||||
readonly 'importInfoCard.githubIntegration.label': 'GitHub only';
|
||||
readonly 'importInfoCard.githubIntegration.title': 'Link to a repository';
|
||||
readonly 'importStepper.finish.title': 'Finish';
|
||||
readonly 'importStepper.singleLocation.title': 'Select Locations';
|
||||
readonly 'importStepper.singleLocation.description': 'Discovered Locations: 1';
|
||||
readonly 'importStepper.multipleLocations.title': 'Select Locations';
|
||||
readonly 'importStepper.multipleLocations.description': 'Discovered Locations: {{length, number}}';
|
||||
readonly 'importStepper.noLocation.title': 'Create Pull Request';
|
||||
readonly 'importStepper.noLocation.createPr.detailsTitle': 'Pull Request Details';
|
||||
readonly 'importStepper.noLocation.createPr.titleLabel': 'Pull Request Title';
|
||||
readonly 'importStepper.noLocation.createPr.titlePlaceholder': 'Add Backstage catalog entity descriptor files';
|
||||
readonly 'importStepper.noLocation.createPr.bodyLabel': 'Pull Request Body';
|
||||
readonly 'importStepper.noLocation.createPr.bodyPlaceholder': 'A describing text with Markdown support';
|
||||
readonly 'importStepper.noLocation.createPr.configurationTitle': 'Entity Configuration';
|
||||
readonly 'importStepper.noLocation.createPr.componentNameLabel': 'Name of the created component';
|
||||
readonly 'importStepper.noLocation.createPr.componentNamePlaceholder': 'my-component';
|
||||
readonly 'importStepper.noLocation.createPr.ownerLoadingText': 'Loading groups…';
|
||||
readonly 'importStepper.noLocation.createPr.ownerHelperText': 'Select an owner from the list or enter a reference to a Group or a User';
|
||||
readonly 'importStepper.noLocation.createPr.ownerErrorHelperText': 'required value';
|
||||
readonly 'importStepper.noLocation.createPr.ownerLabel': 'Entity Owner';
|
||||
readonly 'importStepper.noLocation.createPr.ownerPlaceholder': 'my-group';
|
||||
readonly 'importStepper.noLocation.createPr.codeownersHelperText': 'WARNING: This may fail if no CODEOWNERS file is found at the target location.';
|
||||
readonly 'importStepper.analyze.title': 'Select URL';
|
||||
readonly 'importStepper.prepare.title': 'Import Actions';
|
||||
readonly 'importStepper.prepare.description': 'Optional';
|
||||
readonly 'importStepper.review.title': 'Review';
|
||||
readonly 'stepFinishImportLocation.repository.title': 'The following Pull Request has been opened: ';
|
||||
readonly 'stepFinishImportLocation.repository.description': 'Your entities will be imported as soon as the Pull Request is merged.';
|
||||
readonly 'stepFinishImportLocation.locations.new': 'The following entities have been added to the catalog:';
|
||||
readonly 'stepFinishImportLocation.locations.backButtonText': 'Register another';
|
||||
readonly 'stepFinishImportLocation.locations.existing': 'A refresh was triggered for the following locations:';
|
||||
readonly 'stepFinishImportLocation.locations.viewButtonText': 'View Component';
|
||||
readonly 'stepFinishImportLocation.backButtonText': 'Register another';
|
||||
readonly 'stepInitAnalyzeUrl.error.default': 'Received unknown analysis result of type {{type}}. Please contact the support team.';
|
||||
readonly 'stepInitAnalyzeUrl.error.url': 'Must start with http:// or https://.';
|
||||
readonly 'stepInitAnalyzeUrl.error.repository': "Couldn't generate entities for your repository";
|
||||
readonly 'stepInitAnalyzeUrl.error.locations': 'There are no entities at this location';
|
||||
readonly 'stepInitAnalyzeUrl.urlHelperText': 'Enter the full path to your entity file to start tracking your component';
|
||||
readonly 'stepInitAnalyzeUrl.nextButtonText': 'Analyze';
|
||||
readonly 'stepPrepareCreatePullRequest.description': 'You entered a link to a {{integrationType}} repository but a {{catalogFilename}} could not be found. Use this form to open a Pull Request that creates one.';
|
||||
readonly 'stepPrepareCreatePullRequest.nextButtonText': 'Create PR';
|
||||
readonly 'stepPrepareCreatePullRequest.previewPr.title': 'Preview Pull Request';
|
||||
readonly 'stepPrepareCreatePullRequest.previewPr.subheader': 'Create a new Pull Request';
|
||||
readonly 'stepPrepareCreatePullRequest.previewCatalogInfo.title': 'Preview Entities';
|
||||
readonly 'stepPrepareSelectLocations.locations.description': 'Select one or more locations that are present in your git repository:';
|
||||
readonly 'stepPrepareSelectLocations.locations.selectAll': 'Select All';
|
||||
readonly 'stepPrepareSelectLocations.nextButtonText': 'Review';
|
||||
readonly 'stepPrepareSelectLocations.existingLocations.description': 'These locations already exist in the catalog:';
|
||||
readonly 'stepReviewLocation.refresh': 'Refresh';
|
||||
readonly 'stepReviewLocation.import': 'Import';
|
||||
readonly 'stepReviewLocation.catalog.new': 'The following entities will be added to the catalog:';
|
||||
readonly 'stepReviewLocation.catalog.exists': 'The following locations already exist in the catalog:';
|
||||
readonly 'stepReviewLocation.prepareResult.title': 'The following Pull Request has been opened: ';
|
||||
readonly 'stepReviewLocation.prepareResult.description': 'You can already import the location and {{appTitle}} will fetch the entities as soon as the Pull Request is merged.';
|
||||
}
|
||||
>;
|
||||
|
||||
// Warning: (ae-forgotten-export) The symbol "StepperProvider" needs to be exported by the entry point index.d.ts
|
||||
//
|
||||
// @public
|
||||
export function defaultGenerateStepper(
|
||||
flow: ImportFlows,
|
||||
defaults: StepperProvider,
|
||||
t: TranslationFunction<typeof catalogImportTranslationRef.T>,
|
||||
t: TranslationFunction<typeof catalogImportTranslationRef_2.T>,
|
||||
): StepperProvider;
|
||||
|
||||
// @public
|
||||
@@ -216,7 +290,7 @@ export interface ImportStepperProps {
|
||||
generateStepper?: (
|
||||
flow: ImportFlows,
|
||||
defaults: StepperProvider,
|
||||
t: TranslationFunction<typeof catalogImportTranslationRef.T>,
|
||||
t: TranslationFunction<typeof catalogImportTranslationRef_2.T>,
|
||||
) => StepperProvider;
|
||||
// (undocumented)
|
||||
initialUrl?: string;
|
||||
|
||||
@@ -34,7 +34,13 @@ import { catalogApiRef } from '@backstage/plugin-catalog-react';
|
||||
import { RequirePermission } from '@backstage/plugin-permission-react';
|
||||
import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha';
|
||||
|
||||
export * from './translation';
|
||||
import { catalogImportTranslationRef as _catalogImportTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-catalog-import` instead.
|
||||
*/
|
||||
export const catalogImportTranslationRef = _catalogImportTranslationRef;
|
||||
|
||||
// TODO: It's currently possible to override the import page with a custom one. We need to decide
|
||||
// whether this type of override is typically done with an input or by overriding the entire extension.
|
||||
@@ -91,5 +97,3 @@ export default createFrontendPlugin({
|
||||
importPage: rootRouteRef,
|
||||
},
|
||||
});
|
||||
|
||||
export { catalogImportTranslationRef } from './translation';
|
||||
|
||||
@@ -27,3 +27,4 @@ export {
|
||||
} from './plugin';
|
||||
export * from './components';
|
||||
export * from './api';
|
||||
export { catalogImportTranslationRef } from './translation';
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const catalogImportTranslationRef = createTranslationRef({
|
||||
id: 'catalog-import',
|
||||
messages: {
|
||||
|
||||
@@ -36,7 +36,7 @@ export const CatalogFilterBlueprint: ExtensionBlueprint<{
|
||||
dataRefs: never;
|
||||
}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const catalogReactTranslationRef: TranslationRef<
|
||||
'catalog-react',
|
||||
{
|
||||
|
||||
@@ -31,6 +31,7 @@ import { SystemEntity } from '@backstage/catalog-model';
|
||||
import { TableColumn } from '@backstage/core-components';
|
||||
import { TableOptions } from '@backstage/core-components';
|
||||
import { TextFieldProps } from '@material-ui/core/TextField';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { TypographyProps } from '@material-ui/core/Typography';
|
||||
|
||||
// @public (undocumented)
|
||||
@@ -158,6 +159,101 @@ export type CatalogReactEntitySearchBarClassKey = 'searchToolbar' | 'input';
|
||||
// @public (undocumented)
|
||||
export type CatalogReactEntityTagPickerClassKey = 'input';
|
||||
|
||||
// @public (undocumented)
|
||||
export const catalogReactTranslationRef: TranslationRef<
|
||||
'catalog-react',
|
||||
{
|
||||
readonly 'catalogFilter.title': 'Filters';
|
||||
readonly 'catalogFilter.buttonTitle': 'Filters';
|
||||
readonly 'entityKindPicker.title': 'Kind';
|
||||
readonly 'entityKindPicker.errorMessage': 'Failed to load entity kinds';
|
||||
readonly 'entityLifecyclePicker.title': 'Lifecycle';
|
||||
readonly 'entityNamespacePicker.title': 'Namespace';
|
||||
readonly 'entityOwnerPicker.title': 'Owner';
|
||||
readonly 'entityProcessingStatusPicker.title': 'Processing Status';
|
||||
readonly 'entityTagPicker.title': 'Tags';
|
||||
readonly 'entityPeekAheadPopover.title': 'Drill into the entity to see all of the tags.';
|
||||
readonly 'entityPeekAheadPopover.entityCardActionsAriaLabel': 'Show';
|
||||
readonly 'entityPeekAheadPopover.entityCardActionsTitle': 'Show details';
|
||||
readonly 'entityPeekAheadPopover.emailCardAction.title': 'Email {{email}}';
|
||||
readonly 'entityPeekAheadPopover.emailCardAction.ariaLabel': 'Email';
|
||||
readonly 'entityPeekAheadPopover.emailCardAction.subTitle': 'mailto {{email}}';
|
||||
readonly 'entitySearchBar.placeholder': 'Search';
|
||||
readonly 'entityTypePicker.title': 'Type';
|
||||
readonly 'entityTypePicker.errorMessage': 'Failed to load entity types';
|
||||
readonly 'entityTypePicker.optionAllTitle': 'all';
|
||||
readonly 'favoriteEntity.addToFavorites': 'Add to favorites';
|
||||
readonly 'favoriteEntity.removeFromFavorites': 'Remove from favorites';
|
||||
readonly 'inspectEntityDialog.title': 'Entity Inspector';
|
||||
readonly 'inspectEntityDialog.closeButtonTitle': 'Close';
|
||||
readonly 'inspectEntityDialog.tabsAriaLabel': 'Inspector options';
|
||||
readonly 'inspectEntityDialog.ancestryPage.title': 'Ancestry';
|
||||
readonly 'inspectEntityDialog.ancestryPage.description': 'This is the ancestry of entities above the current one - as in, the chain(s) of entities down to the current one, where {{processorsLink}} child entities that ultimately led to the current one existing. Note that this is a completely different mechanism from relations.';
|
||||
readonly 'inspectEntityDialog.ancestryPage.processorsLink': 'processors emitted';
|
||||
readonly 'inspectEntityDialog.colocatedPage.title': 'Colocated';
|
||||
readonly 'inspectEntityDialog.colocatedPage.description': 'These are the entities that are colocated with this entity - as in, they originated from the same data source (e.g. came from the same YAML file), or from the same origin (e.g. the originally registered URL).';
|
||||
readonly 'inspectEntityDialog.colocatedPage.alertNoLocation': 'Entity had no location information.';
|
||||
readonly 'inspectEntityDialog.colocatedPage.alertNoEntity': 'There were no other entities on this location.';
|
||||
readonly 'inspectEntityDialog.colocatedPage.locationHeader': 'At the same location';
|
||||
readonly 'inspectEntityDialog.colocatedPage.originHeader': 'At the same origin';
|
||||
readonly 'inspectEntityDialog.jsonPage.title': 'Entity as JSON';
|
||||
readonly 'inspectEntityDialog.jsonPage.description': 'This is the raw entity data as received from the catalog, on JSON form.';
|
||||
readonly 'inspectEntityDialog.overviewPage.title': 'Overview';
|
||||
readonly 'inspectEntityDialog.overviewPage.metadata.title': 'Metadata';
|
||||
readonly 'inspectEntityDialog.overviewPage.labels': 'Labels';
|
||||
readonly 'inspectEntityDialog.overviewPage.status.title': 'Status';
|
||||
readonly 'inspectEntityDialog.overviewPage.identity.title': 'Identity';
|
||||
readonly 'inspectEntityDialog.overviewPage.annotations': 'Annotations';
|
||||
readonly 'inspectEntityDialog.overviewPage.tags': 'Tags';
|
||||
readonly 'inspectEntityDialog.overviewPage.relation.title': 'Relations';
|
||||
readonly 'inspectEntityDialog.yamlPage.title': 'Entity as YAML';
|
||||
readonly 'inspectEntityDialog.yamlPage.description': 'This is the raw entity data as received from the catalog, on YAML form.';
|
||||
readonly 'inspectEntityDialog.tabNames.json': 'Raw JSON';
|
||||
readonly 'inspectEntityDialog.tabNames.yaml': 'Raw YAML';
|
||||
readonly 'inspectEntityDialog.tabNames.overview': 'Overview';
|
||||
readonly 'inspectEntityDialog.tabNames.ancestry': 'Ancestry';
|
||||
readonly 'inspectEntityDialog.tabNames.colocated': 'Colocated';
|
||||
readonly 'unregisterEntityDialog.title': 'Are you sure you want to unregister this entity?';
|
||||
readonly 'unregisterEntityDialog.cancelButtonTitle': 'Cancel';
|
||||
readonly 'unregisterEntityDialog.deleteButtonTitle': 'Delete Entity';
|
||||
readonly 'unregisterEntityDialog.deleteEntitySuccessMessage': 'Removed entity {{entityName}}';
|
||||
readonly 'unregisterEntityDialog.onlyDeleteStateTitle': 'This entity does not seem to originate from a registered location. You therefore only have the option to delete it outright from the catalog.';
|
||||
readonly 'unregisterEntityDialog.errorStateTitle': 'Internal error: Unknown state';
|
||||
readonly 'unregisterEntityDialog.bootstrapState.title': 'You cannot unregister this entity, since it originates from a protected Backstage configuration (location "{{location}}"). If you believe this is in error, please contact the {{appTitle}} integrator.';
|
||||
readonly 'unregisterEntityDialog.bootstrapState.advancedDescription': 'You have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog.';
|
||||
readonly 'unregisterEntityDialog.bootstrapState.advancedOptions': 'Advanced Options';
|
||||
readonly 'unregisterEntityDialog.unregisterState.title': 'This action will unregister the following entities:';
|
||||
readonly 'unregisterEntityDialog.unregisterState.description': 'To undo, just re-register the entity in {{appTitle}}.';
|
||||
readonly 'unregisterEntityDialog.unregisterState.subTitle': 'Located at the following location:';
|
||||
readonly 'unregisterEntityDialog.unregisterState.advancedDescription': 'You also have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog.';
|
||||
readonly 'unregisterEntityDialog.unregisterState.advancedOptions': 'Advanced Options';
|
||||
readonly 'unregisterEntityDialog.unregisterState.unregisterButtonTitle': 'Unregister Location';
|
||||
readonly 'userListPicker.defaultOrgName': 'Company';
|
||||
readonly 'userListPicker.orgFilterAllLabel': 'All';
|
||||
readonly 'userListPicker.personalFilter.title': 'Personal';
|
||||
readonly 'userListPicker.personalFilter.ownedLabel': 'Owned';
|
||||
readonly 'userListPicker.personalFilter.starredLabel': 'Starred';
|
||||
readonly 'entityTableColumnTitle.name': 'Name';
|
||||
readonly 'entityTableColumnTitle.type': 'Type';
|
||||
readonly 'entityTableColumnTitle.label': 'Label';
|
||||
readonly 'entityTableColumnTitle.title': 'Title';
|
||||
readonly 'entityTableColumnTitle.description': 'Description';
|
||||
readonly 'entityTableColumnTitle.system': 'System';
|
||||
readonly 'entityTableColumnTitle.namespace': 'Namespace';
|
||||
readonly 'entityTableColumnTitle.domain': 'Domain';
|
||||
readonly 'entityTableColumnTitle.tags': 'Tags';
|
||||
readonly 'entityTableColumnTitle.owner': 'Owner';
|
||||
readonly 'entityTableColumnTitle.lifecycle': 'Lifecycle';
|
||||
readonly 'entityTableColumnTitle.targets': 'Targets';
|
||||
readonly 'entityRelationCard.emptyHelpLinkTitle': 'Learn how to change this.';
|
||||
readonly 'missingAnnotationEmptyState.title': 'Missing Annotation';
|
||||
readonly 'missingAnnotationEmptyState.readMore': 'Read more';
|
||||
readonly 'missingAnnotationEmptyState.annotationYaml': 'Add the annotation to your {{entityKind}} YAML as shown in the highlighted example below:';
|
||||
readonly 'missingAnnotationEmptyState.generateDescription_one': 'The annotation {{annotations}} is missing. You need to add the annotation to your {{entityKind}} if you want to enable this tool.';
|
||||
readonly 'missingAnnotationEmptyState.generateDescription_other': 'The annotations {{annotations}} are missing. You need to add the annotations to your {{entityKind}} if you want to enable this tool.';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export type CatalogReactUserListPickerClassKey =
|
||||
| 'root'
|
||||
|
||||
@@ -16,7 +16,13 @@
|
||||
|
||||
export * from './blueprints';
|
||||
export * from './converters';
|
||||
export { catalogReactTranslationRef } from '../translation';
|
||||
import { catalogReactTranslationRef as _catalogReactTranslationRef } from '../translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-catalog-react` instead.
|
||||
*/
|
||||
export const catalogReactTranslationRef = _catalogReactTranslationRef;
|
||||
export { isOwnerOf } from '../utils/isOwnerOf';
|
||||
export { useEntityPermission } from '../hooks/useEntityPermission';
|
||||
export * from '../components/EntityTable/TitleColumn';
|
||||
|
||||
@@ -34,3 +34,4 @@ export * from './overridableComponents';
|
||||
export { getEntityRelations, getEntitySourceLocation } from './utils';
|
||||
export type { EntitySourceLocation } from './utils';
|
||||
export * from './deprecated';
|
||||
export { catalogReactTranslationRef } from './translation';
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const catalogReactTranslationRef = createTranslationRef({
|
||||
id: 'catalog-react',
|
||||
messages: {
|
||||
|
||||
@@ -32,7 +32,7 @@ import { SearchResultItemExtensionPredicate } from '@backstage/plugin-search-rea
|
||||
import { SearchResultListItemBlueprintParams } from '@backstage/plugin-search-react/alpha';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const catalogTranslationRef: TranslationRef<
|
||||
'catalog',
|
||||
{
|
||||
|
||||
@@ -39,6 +39,7 @@ import { TableColumn } from '@backstage/core-components';
|
||||
import { TableOptions } from '@backstage/core-components';
|
||||
import { TableProps } from '@backstage/core-components';
|
||||
import { TabProps } from '@material-ui/core/Tab';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { UserListFilterKind } from '@backstage/plugin-catalog-react';
|
||||
|
||||
// @public (undocumented)
|
||||
@@ -215,6 +216,104 @@ export interface CatalogTableRow {
|
||||
// @public (undocumented)
|
||||
export type CatalogTableToolbarClassKey = 'root' | 'text';
|
||||
|
||||
// @public (undocumented)
|
||||
export const catalogTranslationRef: TranslationRef<
|
||||
'catalog',
|
||||
{
|
||||
readonly 'deleteEntity.description': 'This entity is not referenced by any location and is therefore not receiving updates.';
|
||||
readonly 'deleteEntity.cancelButtonTitle': 'Cancel';
|
||||
readonly 'deleteEntity.deleteButtonTitle': 'Delete';
|
||||
readonly 'deleteEntity.dialogTitle': 'Are you sure you want to delete this entity?';
|
||||
readonly 'deleteEntity.actionButtonTitle': 'Delete entity';
|
||||
readonly 'indexPage.title': '{{orgName}} Catalog';
|
||||
readonly 'indexPage.createButtonTitle': 'Create';
|
||||
readonly 'indexPage.supportButtonContent': 'All your software catalog entities';
|
||||
readonly 'entityPage.notFoundMessage': 'There is no {{kind}} with the requested {{link}}.';
|
||||
readonly 'entityPage.notFoundLinkText': 'kind, namespace, and name';
|
||||
readonly 'aboutCard.title': 'About';
|
||||
readonly 'aboutCard.unknown': 'unknown';
|
||||
readonly 'aboutCard.refreshButtonTitle': 'Schedule entity refresh';
|
||||
readonly 'aboutCard.editButtonTitle': 'Edit Metadata';
|
||||
readonly 'aboutCard.editButtonAriaLabel': 'Edit';
|
||||
readonly 'aboutCard.createSimilarButtonTitle': 'Create something similar';
|
||||
readonly 'aboutCard.refreshScheduledMessage': 'Refresh scheduled';
|
||||
readonly 'aboutCard.refreshButtonAriaLabel': 'Refresh';
|
||||
readonly 'aboutCard.launchTemplate': 'Launch Template';
|
||||
readonly 'aboutCard.viewTechdocs': 'View TechDocs';
|
||||
readonly 'aboutCard.viewSource': 'View Source';
|
||||
readonly 'aboutCard.descriptionField.value': 'No description';
|
||||
readonly 'aboutCard.descriptionField.label': 'Description';
|
||||
readonly 'aboutCard.ownerField.value': 'No Owner';
|
||||
readonly 'aboutCard.ownerField.label': 'Owner';
|
||||
readonly 'aboutCard.domainField.value': 'No Domain';
|
||||
readonly 'aboutCard.domainField.label': 'Domain';
|
||||
readonly 'aboutCard.systemField.value': 'No System';
|
||||
readonly 'aboutCard.systemField.label': 'System';
|
||||
readonly 'aboutCard.parentComponentField.value': 'No Parent Component';
|
||||
readonly 'aboutCard.parentComponentField.label': 'Parent Component';
|
||||
readonly 'aboutCard.typeField.label': 'Type';
|
||||
readonly 'aboutCard.lifecycleField.label': 'Lifecycle';
|
||||
readonly 'aboutCard.tagsField.value': 'No Tags';
|
||||
readonly 'aboutCard.tagsField.label': 'Tags';
|
||||
readonly 'aboutCard.targetsField.label': 'Targets';
|
||||
readonly 'searchResultItem.type': 'Type';
|
||||
readonly 'searchResultItem.kind': 'Kind';
|
||||
readonly 'searchResultItem.owner': 'Owner';
|
||||
readonly 'searchResultItem.lifecycle': 'Lifecycle';
|
||||
readonly 'catalogTable.allFilters': 'All';
|
||||
readonly 'catalogTable.warningPanelTitle': 'Could not fetch catalog entities.';
|
||||
readonly 'catalogTable.viewActionTitle': 'View';
|
||||
readonly 'catalogTable.editActionTitle': 'Edit';
|
||||
readonly 'catalogTable.starActionTitle': 'Add to favorites';
|
||||
readonly 'catalogTable.unStarActionTitle': 'Remove from favorites';
|
||||
readonly 'dependencyOfComponentsCard.title': 'Dependency of components';
|
||||
readonly 'dependencyOfComponentsCard.emptyMessage': 'No component depends on this component.';
|
||||
readonly 'dependsOnComponentsCard.title': 'Depends on components';
|
||||
readonly 'dependsOnComponentsCard.emptyMessage': 'No component is a dependency of this component.';
|
||||
readonly 'dependsOnResourcesCard.title': 'Depends on resources';
|
||||
readonly 'dependsOnResourcesCard.emptyMessage': 'No resource is a dependency of this component.';
|
||||
readonly 'entityContextMenu.copiedMessage': 'Copied!';
|
||||
readonly 'entityContextMenu.moreButtonTitle': 'More';
|
||||
readonly 'entityContextMenu.inspectMenuTitle': 'Inspect entity';
|
||||
readonly 'entityContextMenu.copyURLMenuTitle': 'Copy entity URL';
|
||||
readonly 'entityContextMenu.unregisterMenuTitle': 'Unregister entity';
|
||||
readonly 'entityContextMenu.moreButtonAriaLabel': 'more';
|
||||
readonly 'entityLabelsCard.title': 'Labels';
|
||||
readonly 'entityLabelsCard.readMoreButtonTitle': 'Read more';
|
||||
readonly 'entityLabelsCard.columnKeyLabel': 'Label';
|
||||
readonly 'entityLabelsCard.columnValueLabel': 'Value';
|
||||
readonly 'entityLabelsCard.emptyDescription': 'No labels defined for this entity. You can add labels to your entity YAML as shown in the highlighted example below:';
|
||||
readonly 'entityLabels.ownerLabel': 'Owner';
|
||||
readonly 'entityLabels.warningPanelTitle': 'Entity not found';
|
||||
readonly 'entityLabels.lifecycleLabel': 'Lifecycle';
|
||||
readonly 'entityLinksCard.title': 'Links';
|
||||
readonly 'entityLinksCard.readMoreButtonTitle': 'Read more';
|
||||
readonly 'entityLinksCard.emptyDescription': 'No links defined for this entity. You can add links to your entity YAML as shown in the highlighted example below:';
|
||||
readonly 'entityNotFound.title': 'Entity was not found';
|
||||
readonly 'entityNotFound.description': 'Want to help us build this? Check out our Getting Started documentation.';
|
||||
readonly 'entityNotFound.docButtonTitle': 'DOCS';
|
||||
readonly 'entityTabs.tabsAriaLabel': 'Tabs';
|
||||
readonly entityProcessingErrorsDescription: 'The error below originates from';
|
||||
readonly entityRelationWarningDescription: "This entity has relations to other entities, which can't be found in the catalog.\n Entities not found are: ";
|
||||
readonly 'hasComponentsCard.title': 'Has components';
|
||||
readonly 'hasComponentsCard.emptyMessage': 'No component is part of this system.';
|
||||
readonly 'hasResourcesCard.title': 'Has resources';
|
||||
readonly 'hasResourcesCard.emptyMessage': 'No resource is part of this system.';
|
||||
readonly 'hasSubcomponentsCard.title': 'Has subcomponents';
|
||||
readonly 'hasSubcomponentsCard.emptyMessage': 'No subcomponent is part of this component.';
|
||||
readonly 'hasSubdomainsCard.title': 'Has subdomains';
|
||||
readonly 'hasSubdomainsCard.emptyMessage': 'No subdomain is part of this domain.';
|
||||
readonly 'hasSystemsCard.title': 'Has systems';
|
||||
readonly 'hasSystemsCard.emptyMessage': 'No system is part of this domain.';
|
||||
readonly 'relatedEntitiesCard.emptyHelpLinkTitle': 'Learn how to change this.';
|
||||
readonly 'systemDiagramCard.title': 'System Diagram';
|
||||
readonly 'systemDiagramCard.description': 'Use pinch & zoom to move around the diagram.';
|
||||
readonly 'systemDiagramCard.edgeLabels.dependsOn': 'depends on';
|
||||
readonly 'systemDiagramCard.edgeLabels.partOf': 'part of';
|
||||
readonly 'systemDiagramCard.edgeLabels.provides': 'provides';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export type ColumnBreakpoints = Record<Breakpoint, number>;
|
||||
|
||||
|
||||
@@ -16,4 +16,10 @@
|
||||
|
||||
export { default } from './plugin';
|
||||
|
||||
export * from './translation';
|
||||
import { catalogTranslationRef as _catalogTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-catalog` instead.
|
||||
*/
|
||||
export const catalogTranslationRef = _catalogTranslationRef;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const catalogTranslationRef = createTranslationRef({
|
||||
id: 'catalog',
|
||||
messages: {
|
||||
|
||||
@@ -100,3 +100,4 @@ export type {
|
||||
} from './components/HasSystemsCard';
|
||||
export type { RelatedEntitiesCardProps } from './components/RelatedEntitiesCard';
|
||||
export type { CatalogSearchResultListItemProps } from './components/CatalogSearchResultListItem';
|
||||
export { catalogTranslationRef } from './alpha/translation';
|
||||
|
||||
@@ -125,7 +125,7 @@ export const homePageWidgetDataRef: ConfigurableExtensionDataRef<
|
||||
{}
|
||||
>;
|
||||
|
||||
// @alpha
|
||||
// @public @deprecated (undocumented)
|
||||
export const homeReactTranslationRef: TranslationRef<
|
||||
'home-react',
|
||||
{
|
||||
@@ -134,4 +134,6 @@ export const homeReactTranslationRef: TranslationRef<
|
||||
readonly 'cardExtension.settingsButtonTitle': 'Settings';
|
||||
}
|
||||
>;
|
||||
|
||||
// (No @packageDocumentation comment for this package)
|
||||
```
|
||||
|
||||
@@ -9,6 +9,7 @@ import { JSX as JSX_3 } from 'react';
|
||||
import { Overrides } from '@material-ui/core/styles/overrides';
|
||||
import { RJSFSchema } from '@rjsf/utils';
|
||||
import { StyleRules } from '@material-ui/core/styles/withStyles';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { UiSchema } from '@rjsf/utils';
|
||||
|
||||
// @public (undocumented)
|
||||
@@ -81,6 +82,16 @@ export function createCardExtension<T>(options: {
|
||||
settings?: CardSettings;
|
||||
}): Extension<(props: CardExtensionProps<T>) => JSX_2.Element>;
|
||||
|
||||
// @public
|
||||
export const homeReactTranslationRef: TranslationRef<
|
||||
'home-react',
|
||||
{
|
||||
readonly 'settingsModal.title': 'Settings';
|
||||
readonly 'settingsModal.closeButtonTitle': 'Close';
|
||||
readonly 'cardExtension.settingsButtonTitle': 'Settings';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export type PluginHomeComponentsNameToClassKey = {
|
||||
PluginHomeContentModal: PluginHomeContentModalClassKey;
|
||||
|
||||
@@ -23,7 +23,13 @@
|
||||
*
|
||||
* @packageDocumentation
|
||||
*/
|
||||
export { homeReactTranslationRef } from './translation';
|
||||
import { homeReactTranslationRef as _homeReactTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-home-react` instead.
|
||||
*/
|
||||
export const homeReactTranslationRef = _homeReactTranslationRef;
|
||||
export {
|
||||
HomePageWidgetBlueprint,
|
||||
type HomePageWidgetBlueprintParams,
|
||||
|
||||
@@ -31,3 +31,4 @@ export type {
|
||||
CardConfig,
|
||||
} from './extensions';
|
||||
export * from './overridableComponents';
|
||||
export { homeReactTranslationRef } from './translation';
|
||||
|
||||
@@ -17,9 +17,9 @@ import { createTranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
/**
|
||||
* Translation reference for the home-react plugin.
|
||||
* Contains localized text strings for home page components and settings modals.
|
||||
* Contains localized text strings for home page components and widgets.
|
||||
*
|
||||
* @alpha
|
||||
* @public
|
||||
*/
|
||||
export const homeReactTranslationRef = createTranslationRef({
|
||||
id: 'home-react',
|
||||
|
||||
@@ -206,7 +206,7 @@ const _default: OverridableFrontendPlugin<
|
||||
>;
|
||||
export default _default;
|
||||
|
||||
// @alpha
|
||||
// @public @deprecated (undocumented)
|
||||
export const homeTranslationRef: TranslationRef<
|
||||
'home',
|
||||
{
|
||||
|
||||
@@ -23,6 +23,7 @@ import { ReactNode } from 'react';
|
||||
import { RendererProps as RendererProps_2 } from '@backstage/plugin-home-react';
|
||||
import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { StorageApi } from '@backstage/core-plugin-api';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { Variant } from '@material-ui/core/styles/createTypography';
|
||||
|
||||
// @public
|
||||
@@ -176,6 +177,39 @@ export const homePlugin: BackstagePlugin<
|
||||
{}
|
||||
>;
|
||||
|
||||
// @public
|
||||
export const homeTranslationRef: TranslationRef<
|
||||
'home',
|
||||
{
|
||||
readonly 'starredEntities.noStarredEntitiesMessage': 'Click the star beside an entity name to add it to this list!';
|
||||
readonly 'addWidgetDialog.title': 'Add new widget to dashboard';
|
||||
readonly 'customHomepageButtons.cancel': 'Cancel';
|
||||
readonly 'customHomepageButtons.clearAll': 'Clear all';
|
||||
readonly 'customHomepageButtons.edit': 'Edit';
|
||||
readonly 'customHomepageButtons.restoreDefaults': 'Restore defaults';
|
||||
readonly 'customHomepageButtons.addWidget': 'Add widget';
|
||||
readonly 'customHomepageButtons.save': 'Save';
|
||||
readonly 'customHomepage.noWidgets': "No widgets added. Start by clicking the 'Add widget' button.";
|
||||
readonly 'widgetSettingsOverlay.cancelButtonTitle': 'Cancel';
|
||||
readonly 'widgetSettingsOverlay.editSettingsTooptip': 'Edit settings';
|
||||
readonly 'widgetSettingsOverlay.deleteWidgetTooltip': 'Delete widget';
|
||||
readonly 'widgetSettingsOverlay.submitButtonTitle': 'Submit';
|
||||
readonly 'starredEntityListItem.removeFavoriteEntityTitle': 'Remove entity from favorites';
|
||||
readonly 'visitList.empty.title': 'There are no visits to show yet.';
|
||||
readonly 'visitList.empty.description': 'Once you start using Backstage, your visits will appear here as a quick link to carry on where you left off.';
|
||||
readonly 'visitList.few.title': 'The more pages you visit, the more pages will appear here.';
|
||||
readonly 'quickStart.title': 'Onboarding';
|
||||
readonly 'quickStart.description': 'Get started with Backstage';
|
||||
readonly 'quickStart.learnMoreLinkTitle': 'Learn more';
|
||||
readonly 'visitedByType.action.viewMore': 'View more';
|
||||
readonly 'visitedByType.action.viewLess': 'View less';
|
||||
readonly 'featuredDocsCard.empty.title': 'No documents to show';
|
||||
readonly 'featuredDocsCard.empty.description': 'Create your own document. Check out our Getting Started Information';
|
||||
readonly 'featuredDocsCard.empty.learnMoreLinkTitle': 'DOCS';
|
||||
readonly 'featuredDocsCard.learnMoreTitle': 'LEARN MORE';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public
|
||||
export const isOperator: (s: string) => s is Operators;
|
||||
|
||||
|
||||
@@ -225,4 +225,10 @@ export default createFrontendPlugin({
|
||||
},
|
||||
});
|
||||
|
||||
export { homeTranslationRef } from './translation';
|
||||
import { homeTranslationRef as _homeTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-home` instead.
|
||||
*/
|
||||
export const homeTranslationRef = _homeTranslationRef;
|
||||
|
||||
@@ -42,3 +42,4 @@ export * from './assets';
|
||||
export * from './homePageComponents';
|
||||
export * from './deprecated';
|
||||
export * from './api';
|
||||
export { homeTranslationRef } from './translation';
|
||||
|
||||
@@ -19,7 +19,7 @@ import { createTranslationRef } from '@backstage/frontend-plugin-api';
|
||||
* Translation reference for the home plugin.
|
||||
* Contains localized text strings for home page components and widgets.
|
||||
*
|
||||
* @alpha
|
||||
* @public
|
||||
*/
|
||||
export const homeTranslationRef = createTranslationRef({
|
||||
id: 'home',
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
```ts
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const kubernetesClusterTranslationRef: TranslationRef<
|
||||
'kubernetes-cluster',
|
||||
{
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
```ts
|
||||
import { Entity } from '@backstage/catalog-model';
|
||||
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @public
|
||||
export const EntityKubernetesClusterContent: (
|
||||
@@ -17,6 +18,15 @@ export type EntityKubernetesClusterContentProps = {};
|
||||
// @public (undocumented)
|
||||
export const isKubernetesClusterAvailable: (entity: Entity) => boolean;
|
||||
|
||||
// @public (undocumented)
|
||||
export const kubernetesClusterTranslationRef: TranslationRef<
|
||||
'kubernetes-cluster',
|
||||
{
|
||||
readonly 'kubernetesClusterContentPage.permissionAlert.message': "To view Kubernetes objects, contact your portal administrator to give you the 'kubernetes.clusters.read' permission.";
|
||||
readonly 'kubernetesClusterContentPage.permissionAlert.title': 'Permission required';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export const Router: () => JSX_2.Element;
|
||||
```
|
||||
|
||||
@@ -14,4 +14,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export { kubernetesClusterTranslationRef } from './translation';
|
||||
import { kubernetesClusterTranslationRef as _kubernetesClusterTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-kubernetes-cluster` instead.
|
||||
*/
|
||||
export const kubernetesClusterTranslationRef = _kubernetesClusterTranslationRef;
|
||||
|
||||
@@ -25,3 +25,4 @@ export {
|
||||
type EntityKubernetesClusterContentProps,
|
||||
} from './plugin';
|
||||
export { Router, isKubernetesClusterAvailable } from './Router';
|
||||
export { kubernetesClusterTranslationRef } from './translation';
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const kubernetesClusterTranslationRef = createTranslationRef({
|
||||
id: 'kubernetes-cluster',
|
||||
messages: {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
```ts
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const kubernetesReactTranslationRef: TranslationRef<
|
||||
'kubernetes-react',
|
||||
{
|
||||
|
||||
@@ -34,6 +34,7 @@ import { Pod } from 'kubernetes-models/v1';
|
||||
import { Pod as Pod_2 } from 'kubernetes-models/v1/Pod';
|
||||
import { ProfileInfoApi } from '@backstage/core-plugin-api';
|
||||
import { ReactNode } from 'react';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import type { TypeMeta } from '@kubernetes-models/base';
|
||||
import type { V1Job } from '@kubernetes/client-node';
|
||||
import type { V1ObjectMeta } from '@kubernetes/client-node';
|
||||
@@ -554,6 +555,91 @@ export class KubernetesProxyClient {
|
||||
}>;
|
||||
}
|
||||
|
||||
// @public (undocumented)
|
||||
export const kubernetesReactTranslationRef: TranslationRef<
|
||||
'kubernetes-react',
|
||||
{
|
||||
readonly 'namespace.label': 'namespace:';
|
||||
readonly 'namespace.labelWithValue': 'namespace: {{namespace}}';
|
||||
readonly 'events.noEventsFound': 'No events found';
|
||||
readonly 'events.eventTooltip': '{{eventType}} event';
|
||||
readonly 'events.firstEvent': 'First event {{timeAgo}} (count: {{count}})';
|
||||
readonly 'cluster.label': 'Cluster';
|
||||
readonly 'cluster.pods': 'pods';
|
||||
readonly 'cluster.pods_one': '{{count}} pod';
|
||||
readonly 'cluster.pods_other': '{{count}} pods';
|
||||
readonly 'cluster.podsWithErrors': 'pods with errors';
|
||||
readonly 'cluster.podsWithErrors_one': '{{count}} pod with errors';
|
||||
readonly 'cluster.podsWithErrors_other': '{{count}} pods with errors';
|
||||
readonly 'cluster.noPodsWithErrors': 'No pods with errors';
|
||||
readonly 'pods.pods_one': '{{count}} pod';
|
||||
readonly 'pods.pods_other': '{{count}} pods';
|
||||
readonly 'podsTable.columns.name': 'name';
|
||||
readonly 'podsTable.columns.id': 'ID';
|
||||
readonly 'podsTable.columns.status': 'status';
|
||||
readonly 'podsTable.columns.phase': 'phase';
|
||||
readonly 'podsTable.columns.containersReady': 'containers ready';
|
||||
readonly 'podsTable.columns.totalRestarts': 'total restarts';
|
||||
readonly 'podsTable.columns.cpuUsage': 'CPU usage %';
|
||||
readonly 'podsTable.columns.memoryUsage': 'Memory usage %';
|
||||
readonly 'podsTable.unknown': 'unknown';
|
||||
readonly 'podsTable.status.running': 'Running';
|
||||
readonly 'podsTable.status.ok': 'OK';
|
||||
readonly 'errorPanel.message': 'There was a problem retrieving some Kubernetes resources for the entity: {{entityName}}. This could mean that the Error Reporting card is not completely accurate.';
|
||||
readonly 'errorPanel.title': 'There was a problem retrieving Kubernetes objects';
|
||||
readonly 'errorPanel.errorsLabel': 'Errors';
|
||||
readonly 'errorPanel.clusterLabel': 'Cluster';
|
||||
readonly 'errorPanel.clusterLabelValue': 'Cluster: {{cluster}}';
|
||||
readonly 'errorPanel.fetchError': 'Error communicating with Kubernetes: {{errorType}}, message: {{message}}';
|
||||
readonly 'errorPanel.resourceError': "Error fetching Kubernetes resource: '{{resourcePath}}', error: {{errorType}}, status code: {{statusCode}}";
|
||||
readonly 'fixDialog.title': '{{podName}} - {{errorType}}';
|
||||
readonly 'fixDialog.events': 'Events:';
|
||||
readonly 'fixDialog.helpButton': 'Help';
|
||||
readonly 'fixDialog.detectedError': 'Detected error:';
|
||||
readonly 'fixDialog.causeExplanation': 'Cause explanation:';
|
||||
readonly 'fixDialog.fix': 'Fix:';
|
||||
readonly 'fixDialog.crashLogs': 'Crash logs:';
|
||||
readonly 'fixDialog.openDocs': 'Open docs';
|
||||
readonly 'fixDialog.ariaLabels.close': 'close';
|
||||
readonly 'fixDialog.ariaLabels.fixIssue': 'fix issue';
|
||||
readonly 'podDrawer.buttons.delete': 'Delete Pod';
|
||||
readonly 'podDrawer.cpuRequests': 'CPU requests';
|
||||
readonly 'podDrawer.cpuLimits': 'CPU limits';
|
||||
readonly 'podDrawer.memoryRequests': 'Memory requests';
|
||||
readonly 'podDrawer.memoryLimits': 'Memory limits';
|
||||
readonly 'podDrawer.resourceUtilization': 'Resource utilization';
|
||||
readonly 'hpa.minReplicas': 'min replicas';
|
||||
readonly 'hpa.maxReplicas': 'max replicas';
|
||||
readonly 'hpa.replicasSummary': 'min replicas {{min}} / max replicas {{max}}';
|
||||
readonly 'hpa.currentCpuUsage': 'current CPU usage:';
|
||||
readonly 'hpa.currentCpuUsageLabel': 'current CPU usage: {{value}}%';
|
||||
readonly 'hpa.targetCpuUsage': 'target CPU usage:';
|
||||
readonly 'hpa.targetCpuUsageLabel': 'target CPU usage: {{value}}%';
|
||||
readonly 'errorReporting.columns.name': 'name';
|
||||
readonly 'errorReporting.columns.kind': 'kind';
|
||||
readonly 'errorReporting.columns.namespace': 'namespace';
|
||||
readonly 'errorReporting.columns.messages': 'messages';
|
||||
readonly 'errorReporting.columns.cluster': 'cluster';
|
||||
readonly 'errorReporting.title': 'Error Reporting';
|
||||
readonly 'podLogs.title': 'No logs emitted';
|
||||
readonly 'podLogs.description': 'No logs were emitted by the container';
|
||||
readonly 'podLogs.buttonText': 'Logs';
|
||||
readonly 'podLogs.titleTemplate': '{{podName}} - {{containerName}} logs on cluster {{clusterName}}';
|
||||
readonly 'podLogs.buttonAriaLabel': 'get logs';
|
||||
readonly 'podExecTerminal.buttonText': 'Terminal';
|
||||
readonly 'podExecTerminal.titleTemplate': '{{podName}} - {{containerName}} terminal shell on cluster {{clusterName}}';
|
||||
readonly 'podExecTerminal.buttonAriaLabel': 'open terminal';
|
||||
readonly 'kubernetesDrawer.yaml': 'YAML';
|
||||
readonly 'kubernetesDrawer.closeDrawer': 'Close the drawer';
|
||||
readonly 'kubernetesDrawer.managedFields': 'Managed Fields';
|
||||
readonly 'kubernetesDrawer.unknownName': 'unknown name';
|
||||
readonly 'linkErrorPanel.message': "Could not format the link to the dashboard of your cluster named '{{clusterName}}'. Its dashboardApp property has been set to '{{dashboardApp}}.'";
|
||||
readonly 'linkErrorPanel.title': 'There was a problem formatting the link to the Kubernetes dashboard';
|
||||
readonly 'linkErrorPanel.errorsLabel': 'Errors:';
|
||||
readonly 'kubernetesDialog.closeAriaLabel': 'close';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export const KubernetesStructuredMetadataTableDrawer: <
|
||||
T extends KubernetesDrawerable,
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { kubernetesReactTranslationRef } from './translation';
|
||||
import { kubernetesReactTranslationRef as _kubernetesReactTranslationRef } from './translation';
|
||||
|
||||
export { kubernetesReactTranslationRef };
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-kubernetes-react` instead.
|
||||
*/
|
||||
export const kubernetesReactTranslationRef = _kubernetesReactTranslationRef;
|
||||
|
||||
@@ -28,3 +28,4 @@ export * from './api';
|
||||
export * from './kubernetes-auth-provider';
|
||||
export * from './components';
|
||||
export * from './types';
|
||||
export { kubernetesReactTranslationRef } from './translation';
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const kubernetesReactTranslationRef = createTranslationRef({
|
||||
id: 'kubernetes-react',
|
||||
messages: {
|
||||
|
||||
@@ -240,7 +240,7 @@ const _default: OverridableFrontendPlugin<
|
||||
>;
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const kubernetesTranslationRef: TranslationRef<
|
||||
'kubernetes',
|
||||
{
|
||||
|
||||
@@ -7,6 +7,7 @@ import { BackstagePlugin } from '@backstage/core-plugin-api';
|
||||
import { Entity } from '@backstage/catalog-model';
|
||||
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
||||
import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// Warning: (ae-missing-release-tag) "EntityKubernetesContent" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
|
||||
//
|
||||
@@ -37,6 +38,19 @@ const kubernetesPlugin: BackstagePlugin<
|
||||
export { kubernetesPlugin };
|
||||
export { kubernetesPlugin as plugin };
|
||||
|
||||
// @public (undocumented)
|
||||
export const kubernetesTranslationRef: TranslationRef<
|
||||
'kubernetes',
|
||||
{
|
||||
readonly 'entityContent.title': 'Kubernetes';
|
||||
readonly 'kubernetesContentPage.title': 'Your Clusters';
|
||||
readonly 'kubernetesContentPage.emptyState.title': 'No Kubernetes resources';
|
||||
readonly 'kubernetesContentPage.emptyState.description': 'No resources on any known clusters for {{entityName}}';
|
||||
readonly 'kubernetesContentPage.permissionAlert.message': "To view Kubernetes objects, contact your portal administrator to give you the 'kubernetes.clusters.read' and 'kubernetes.resources.read' permission.";
|
||||
readonly 'kubernetesContentPage.permissionAlert.title': 'Permission required';
|
||||
}
|
||||
>;
|
||||
|
||||
// Warning: (ae-missing-release-tag) "Router" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
|
||||
//
|
||||
// @public (undocumented)
|
||||
|
||||
@@ -13,5 +13,11 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
export { kubernetesTranslationRef } from './translation';
|
||||
import { kubernetesTranslationRef as _kubernetesTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-kubernetes` instead.
|
||||
*/
|
||||
export const kubernetesTranslationRef = _kubernetesTranslationRef;
|
||||
export { default } from './plugin';
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const kubernetesTranslationRef = createTranslationRef({
|
||||
id: 'kubernetes',
|
||||
messages: {
|
||||
|
||||
@@ -29,3 +29,4 @@ export type { EntityKubernetesContentProps } from './plugin';
|
||||
export { Router, isKubernetesAvailable } from './Router';
|
||||
// TODO remove this re-export as a breaking change after a couple of releases
|
||||
export * from '@backstage/plugin-kubernetes-react';
|
||||
export { kubernetesTranslationRef } from './alpha/translation';
|
||||
|
||||
@@ -120,7 +120,7 @@ const _default: OverridableFrontendPlugin<
|
||||
>;
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const notificationsTranslationRef: TranslationRef<
|
||||
'plugin.notifications',
|
||||
{
|
||||
|
||||
@@ -15,6 +15,7 @@ import { NotificationSeverity } from '@backstage/plugin-notifications-common';
|
||||
import { NotificationStatus } from '@backstage/plugin-notifications-common';
|
||||
import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { TableProps } from '@backstage/core-components';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @public (undocumented)
|
||||
export type GetNotificationsCommonOptions = {
|
||||
@@ -187,6 +188,71 @@ export type NotificationsTableProps = Pick<
|
||||
pageSize: number;
|
||||
};
|
||||
|
||||
// @public (undocumented)
|
||||
export const notificationsTranslationRef: TranslationRef<
|
||||
'plugin.notifications',
|
||||
{
|
||||
readonly 'table.errors.markAllReadFailed': 'Failed to mark all notifications as read';
|
||||
readonly 'table.pagination.labelDisplayedRows': '{from}-{to} of {count}';
|
||||
readonly 'table.pagination.firstTooltip': 'First Page';
|
||||
readonly 'table.pagination.labelRowsSelect': 'rows';
|
||||
readonly 'table.pagination.lastTooltip': 'Last Page';
|
||||
readonly 'table.pagination.nextTooltip': 'Next Page';
|
||||
readonly 'table.pagination.previousTooltip': 'Previous Page';
|
||||
readonly 'table.emptyMessage': 'No records to display';
|
||||
readonly 'table.bulkActions.markAllRead': 'Mark all read';
|
||||
readonly 'table.bulkActions.markSelectedAsRead': 'Mark selected as read';
|
||||
readonly 'table.bulkActions.returnSelectedAmongUnread': 'Return selected among unread';
|
||||
readonly 'table.bulkActions.saveSelectedForLater': 'Save selected for later';
|
||||
readonly 'table.bulkActions.undoSaveForSelected': 'Undo save for selected';
|
||||
readonly 'table.confirmDialog.title': 'Are you sure?';
|
||||
readonly 'table.confirmDialog.markAllReadDescription': 'Mark <b>all</b> notifications as <b>read</b>.';
|
||||
readonly 'table.confirmDialog.markAllReadConfirmation': 'Mark All';
|
||||
readonly 'filters.view.all': 'All';
|
||||
readonly 'filters.view.label': 'View';
|
||||
readonly 'filters.view.read': 'Read notifications';
|
||||
readonly 'filters.view.saved': 'Saved';
|
||||
readonly 'filters.view.unread': 'Unread notifications';
|
||||
readonly 'filters.title': 'Filters';
|
||||
readonly 'filters.severity.normal': 'Normal';
|
||||
readonly 'filters.severity.high': 'High';
|
||||
readonly 'filters.severity.low': 'Low';
|
||||
readonly 'filters.severity.label': 'Min severity';
|
||||
readonly 'filters.severity.critical': 'Critical';
|
||||
readonly 'filters.topic.label': 'Topic';
|
||||
readonly 'filters.topic.anyTopic': 'Any topic';
|
||||
readonly 'filters.createdAfter.label': 'Sent out';
|
||||
readonly 'filters.createdAfter.placeholder': 'Notifications since';
|
||||
readonly 'filters.createdAfter.last24h': 'Last 24h';
|
||||
readonly 'filters.createdAfter.lastWeek': 'Last week';
|
||||
readonly 'filters.createdAfter.anyTime': 'Any time';
|
||||
readonly 'filters.sortBy.origin': 'Origin';
|
||||
readonly 'filters.sortBy.label': 'Sort by';
|
||||
readonly 'filters.sortBy.placeholder': 'Field to sort by';
|
||||
readonly 'filters.sortBy.newest': 'Newest on top';
|
||||
readonly 'filters.sortBy.oldest': 'Oldest on top';
|
||||
readonly 'filters.sortBy.topic': 'Topic';
|
||||
readonly 'settings.table.origin': 'Origin';
|
||||
readonly 'settings.table.topic': 'Topic';
|
||||
readonly 'settings.title': 'Notification settings';
|
||||
readonly 'settings.errors.useNotificationFormat': 'useNotificationFormat must be used within a NotificationFormatProvider';
|
||||
readonly 'settings.errorTitle': 'Failed to load settings';
|
||||
readonly 'settings.noSettingsAvailable': 'No notification settings available, check back later';
|
||||
readonly 'sidebar.title': 'Notifications';
|
||||
readonly 'sidebar.errors.markAsReadFailed': 'Failed to mark notification as read';
|
||||
readonly 'sidebar.errors.fetchNotificationFailed': 'Failed to fetch notification';
|
||||
readonly 'notificationsPage.title': 'Notifications';
|
||||
readonly 'notificationsPage.tableTitle.all_one': 'All notifications ({{count}})';
|
||||
readonly 'notificationsPage.tableTitle.all_other': 'All notifications ({{count}})';
|
||||
readonly 'notificationsPage.tableTitle.saved_one': 'Saved notifications ({{count}})';
|
||||
readonly 'notificationsPage.tableTitle.saved_other': 'Saved notifications ({{count}})';
|
||||
readonly 'notificationsPage.tableTitle.unread_one': 'Unread notifications ({{count}})';
|
||||
readonly 'notificationsPage.tableTitle.unread_other': 'Unread notifications ({{count}})';
|
||||
readonly 'notificationsPage.tableTitle.read_one': 'Read notifications ({{count}})';
|
||||
readonly 'notificationsPage.tableTitle.read_other': 'Read notifications ({{count}})';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export type UpdateNotificationsOptions = {
|
||||
ids: string[];
|
||||
|
||||
@@ -56,4 +56,10 @@ export default createFrontendPlugin({
|
||||
extensions: [page, api],
|
||||
});
|
||||
|
||||
export { notificationsTranslationRef } from './translation';
|
||||
import { notificationsTranslationRef as _notificationsTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-notifications` instead.
|
||||
*/
|
||||
export const notificationsTranslationRef = _notificationsTranslationRef;
|
||||
|
||||
@@ -17,3 +17,4 @@ export { notificationsPlugin, NotificationsPage } from './plugin';
|
||||
export * from './api';
|
||||
export { useNotificationsApi } from './hooks';
|
||||
export * from './components';
|
||||
export { notificationsTranslationRef } from './translation';
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { createTranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const notificationsTranslationRef = createTranslationRef({
|
||||
id: 'plugin.notifications',
|
||||
messages: {
|
||||
|
||||
@@ -202,7 +202,7 @@ const _default: OverridableFrontendPlugin<
|
||||
>;
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const orgTranslationRef: TranslationRef<
|
||||
'org',
|
||||
{
|
||||
|
||||
@@ -7,6 +7,7 @@ import { BackstagePlugin } from '@backstage/core-plugin-api';
|
||||
import { ExternalRouteRef } from '@backstage/core-plugin-api';
|
||||
import { IconComponent } from '@backstage/core-plugin-api';
|
||||
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @public (undocumented)
|
||||
export type ComponentsGridClassKey =
|
||||
@@ -85,6 +86,35 @@ const orgPlugin: BackstagePlugin<
|
||||
export { orgPlugin };
|
||||
export { orgPlugin as plugin };
|
||||
|
||||
// @public (undocumented)
|
||||
export const orgTranslationRef: TranslationRef<
|
||||
'org',
|
||||
{
|
||||
readonly 'groupProfileCard.groupNotFound': 'Group not found';
|
||||
readonly 'groupProfileCard.editIconButtonTitle': 'Edit Metadata';
|
||||
readonly 'groupProfileCard.refreshIconButtonTitle': 'Schedule entity refresh';
|
||||
readonly 'groupProfileCard.refreshIconButtonAriaLabel': 'Refresh';
|
||||
readonly 'groupProfileCard.listItemTitle.email': 'Email';
|
||||
readonly 'groupProfileCard.listItemTitle.entityRef': 'Entity Ref';
|
||||
readonly 'groupProfileCard.listItemTitle.parentGroup': 'Parent Group';
|
||||
readonly 'groupProfileCard.listItemTitle.childGroups': 'Child Groups';
|
||||
readonly 'membersListCard.title': '{{groupName}} members';
|
||||
readonly 'membersListCard.cardLabel': 'User page for {{memberName}}';
|
||||
readonly 'membersListCard.noMembersDescription': 'This group has no members.';
|
||||
readonly 'membersListCard.noSearchResult': 'Found no members matching "{{searchTerm}}".';
|
||||
readonly 'membersListCard.aggregateMembersToggle.label': 'Include subgroups';
|
||||
readonly 'ownershipCard.title': 'Ownership';
|
||||
readonly 'ownershipCard.aggregateRelationsToggle.label': 'Include indirect ownership';
|
||||
readonly 'userProfileCard.editIconButtonTitle': 'Edit Metadata';
|
||||
readonly 'userProfileCard.listItemTitle.email': 'Email';
|
||||
readonly 'userProfileCard.listItemTitle.memberOf': 'Member of';
|
||||
readonly 'userProfileCard.userNotFound': 'User not found';
|
||||
readonly 'userProfileCard.moreGroupButtonTitle': '...More ({{number}})';
|
||||
readonly 'userProfileCard.allGroupDialog.title': "All {{name}}'s groups:";
|
||||
readonly 'userProfileCard.allGroupDialog.closeButtonTitle': 'Close';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export const OwnershipCard: (props: {
|
||||
entityFilterKind?: string[];
|
||||
|
||||
@@ -130,4 +130,10 @@ export default createFrontendPlugin({
|
||||
},
|
||||
});
|
||||
|
||||
export { orgTranslationRef } from './translation';
|
||||
import { orgTranslationRef as _orgTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-org` instead.
|
||||
*/
|
||||
export const orgTranslationRef = _orgTranslationRef;
|
||||
|
||||
@@ -29,3 +29,4 @@ export {
|
||||
EntityUserProfileCard,
|
||||
} from './plugin';
|
||||
export * from './components';
|
||||
export { orgTranslationRef } from './translation';
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
import { createTranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
/**
|
||||
* @alpha
|
||||
* @public
|
||||
*/
|
||||
export const orgTranslationRef = createTranslationRef({
|
||||
id: 'org',
|
||||
|
||||
@@ -307,16 +307,11 @@ export type ScaffolderReactComponentsNameToClassKey = {
|
||||
// @alpha (undocumented)
|
||||
export type ScaffolderReactTemplateCategoryPickerClassKey = 'root' | 'label';
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const scaffolderReactTranslationRef: TranslationRef<
|
||||
'scaffolder-react',
|
||||
{
|
||||
readonly 'workflow.noDescription': 'No description';
|
||||
readonly 'stepper.backButtonText': 'Back';
|
||||
readonly 'stepper.nextButtonText': 'Next';
|
||||
readonly 'stepper.createButtonText': 'Create';
|
||||
readonly 'stepper.reviewButtonText': 'Review';
|
||||
readonly 'stepper.stepIndexLabel': 'Step {{index, number}}';
|
||||
readonly 'passwordWidget.content': 'This widget is insecure. Please use [`ui:field: Secret`](https://backstage.io/docs/features/software-templates/writing-templates/#using-secrets) instead of `ui:widget: password`';
|
||||
readonly 'scaffolderPageContextMenu.createLabel': 'Create';
|
||||
readonly 'scaffolderPageContextMenu.moreLabel': 'more';
|
||||
@@ -324,6 +319,11 @@ export const scaffolderReactTranslationRef: TranslationRef<
|
||||
readonly 'scaffolderPageContextMenu.actionsLabel': 'Installed Actions';
|
||||
readonly 'scaffolderPageContextMenu.tasksLabel': 'Task List';
|
||||
readonly 'scaffolderPageContextMenu.templatingExtensionsLabel': 'Templating Extensions';
|
||||
readonly 'stepper.backButtonText': 'Back';
|
||||
readonly 'stepper.nextButtonText': 'Next';
|
||||
readonly 'stepper.createButtonText': 'Create';
|
||||
readonly 'stepper.reviewButtonText': 'Review';
|
||||
readonly 'stepper.stepIndexLabel': 'Step {{index, number}}';
|
||||
readonly 'templateCategoryPicker.title': 'Categories';
|
||||
readonly 'templateCard.noDescription': 'No description';
|
||||
readonly 'templateCard.chooseButtonText': 'Choose';
|
||||
|
||||
@@ -56,6 +56,7 @@ import { TemplateGlobalFunction as TemplateGlobalFunction_2 } from '@backstage/p
|
||||
import { TemplateGlobalValue as TemplateGlobalValue_2 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateParameterSchema as TemplateParameterSchema_2 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplatesType } from '@rjsf/utils';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { UIOptionsType } from '@rjsf/utils';
|
||||
import { UiSchema } from '@rjsf/utils';
|
||||
import { ValidatorType } from '@rjsf/utils';
|
||||
@@ -240,6 +241,31 @@ export type ScaffolderOutputLink = ScaffolderOutputLink_2;
|
||||
// @public @deprecated (undocumented)
|
||||
export type ScaffolderOutputText = ScaffolderOutputText_2;
|
||||
|
||||
// @public (undocumented)
|
||||
export const scaffolderReactTranslationRef: TranslationRef<
|
||||
'scaffolder-react',
|
||||
{
|
||||
readonly 'workflow.noDescription': 'No description';
|
||||
readonly 'passwordWidget.content': 'This widget is insecure. Please use [`ui:field: Secret`](https://backstage.io/docs/features/software-templates/writing-templates/#using-secrets) instead of `ui:widget: password`';
|
||||
readonly 'scaffolderPageContextMenu.createLabel': 'Create';
|
||||
readonly 'scaffolderPageContextMenu.moreLabel': 'more';
|
||||
readonly 'scaffolderPageContextMenu.editorLabel': 'Manage Templates';
|
||||
readonly 'scaffolderPageContextMenu.actionsLabel': 'Installed Actions';
|
||||
readonly 'scaffolderPageContextMenu.tasksLabel': 'Task List';
|
||||
readonly 'scaffolderPageContextMenu.templatingExtensionsLabel': 'Templating Extensions';
|
||||
readonly 'stepper.backButtonText': 'Back';
|
||||
readonly 'stepper.nextButtonText': 'Next';
|
||||
readonly 'stepper.createButtonText': 'Create';
|
||||
readonly 'stepper.reviewButtonText': 'Review';
|
||||
readonly 'stepper.stepIndexLabel': 'Step {{index, number}}';
|
||||
readonly 'templateCategoryPicker.title': 'Categories';
|
||||
readonly 'templateCard.noDescription': 'No description';
|
||||
readonly 'templateCard.chooseButtonText': 'Choose';
|
||||
readonly 'cardHeader.detailBtnTitle': 'Show template entity details';
|
||||
readonly 'templateOutputs.title': 'Text Output';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public
|
||||
export type ScaffolderRJSFField<
|
||||
T = any,
|
||||
|
||||
@@ -16,4 +16,10 @@
|
||||
|
||||
export * from './next';
|
||||
|
||||
export { scaffolderReactTranslationRef } from './translation';
|
||||
import { scaffolderReactTranslationRef as _scaffolderReactTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-scaffolder-react` instead.
|
||||
*/
|
||||
export const scaffolderReactTranslationRef = _scaffolderReactTranslationRef;
|
||||
|
||||
@@ -22,3 +22,4 @@ export * from './api';
|
||||
export * from './hooks';
|
||||
export * from './layouts';
|
||||
export * from './utils';
|
||||
export { scaffolderReactTranslationRef } from './translation';
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const scaffolderReactTranslationRef = createTranslationRef({
|
||||
id: 'scaffolder-react',
|
||||
messages: {
|
||||
|
||||
@@ -523,7 +523,7 @@ export type ScaffolderTemplateFormPreviewerClassKey =
|
||||
| 'textArea'
|
||||
| 'preview';
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const scaffolderTranslationRef: TranslationRef<
|
||||
'scaffolder',
|
||||
{
|
||||
|
||||
@@ -49,6 +49,7 @@ import { TemplateGroupFilter } from '@backstage/plugin-scaffolder-react';
|
||||
import { TemplateListPageProps } from '@backstage/plugin-scaffolder/alpha';
|
||||
import { TemplateParameterSchema as TemplateParameterSchema_2 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateWizardPageProps } from '@backstage/plugin-scaffolder/alpha';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { z } from 'zod/v3';
|
||||
|
||||
// @public @deprecated (undocumented)
|
||||
@@ -614,6 +615,192 @@ export type ScaffolderTaskOutput = ScaffolderTaskOutput_3;
|
||||
// @public @deprecated (undocumented)
|
||||
export type ScaffolderTaskStatus = ScaffolderTaskStatus_2;
|
||||
|
||||
// @public (undocumented)
|
||||
export const scaffolderTranslationRef: TranslationRef<
|
||||
'scaffolder',
|
||||
{
|
||||
readonly 'fields.entityNamePicker.title': 'Name';
|
||||
readonly 'fields.entityNamePicker.description': 'Unique name of the component';
|
||||
readonly 'fields.entityPicker.title': 'Entity';
|
||||
readonly 'fields.entityPicker.description': 'An entity from the catalog';
|
||||
readonly 'fields.entityTagsPicker.title': 'Tags';
|
||||
readonly 'fields.entityTagsPicker.description': "Add any relevant tags, hit 'Enter' to add new tags. Valid format: [a-z0-9+#] separated by [-], at most 63 characters";
|
||||
readonly 'fields.multiEntityPicker.title': 'Entity';
|
||||
readonly 'fields.multiEntityPicker.description': 'An entity from the catalog';
|
||||
readonly 'fields.myGroupsPicker.title': 'Entity';
|
||||
readonly 'fields.myGroupsPicker.description': 'An entity from the catalog';
|
||||
readonly 'fields.ownedEntityPicker.title': 'Entity';
|
||||
readonly 'fields.ownedEntityPicker.description': 'An entity from the catalog';
|
||||
readonly 'fields.ownerPicker.title': 'Owner';
|
||||
readonly 'fields.ownerPicker.description': 'The owner of the component';
|
||||
readonly 'fields.azureRepoPicker.organization.title': 'Organization';
|
||||
readonly 'fields.azureRepoPicker.organization.description': 'The Organization that this repo will belong to';
|
||||
readonly 'fields.azureRepoPicker.project.title': 'Project';
|
||||
readonly 'fields.azureRepoPicker.project.description': 'The Project that this repo will belong to';
|
||||
readonly 'fields.bitbucketRepoPicker.project.title': 'Allowed Projects';
|
||||
readonly 'fields.bitbucketRepoPicker.project.description': 'The Project that this repo will belong to';
|
||||
readonly 'fields.bitbucketRepoPicker.project.inputTitle': 'Projects';
|
||||
readonly 'fields.bitbucketRepoPicker.workspaces.title': 'Allowed Workspaces';
|
||||
readonly 'fields.bitbucketRepoPicker.workspaces.description': 'The Workspace that this repo will belong to';
|
||||
readonly 'fields.bitbucketRepoPicker.workspaces.inputTitle': 'Workspaces';
|
||||
readonly 'fields.gerritRepoPicker.parent.title': 'Parent';
|
||||
readonly 'fields.gerritRepoPicker.parent.description': 'The project parent that the repo will belong to';
|
||||
readonly 'fields.gerritRepoPicker.owner.title': 'Owner';
|
||||
readonly 'fields.gerritRepoPicker.owner.description': 'The owner of the project (optional)';
|
||||
readonly 'fields.giteaRepoPicker.owner.title': 'Owner Available';
|
||||
readonly 'fields.giteaRepoPicker.owner.description': 'Gitea namespace where this repository will belong to. It can be the name of organization, group, subgroup, user, or the project.';
|
||||
readonly 'fields.giteaRepoPicker.owner.inputTitle': 'Owner';
|
||||
readonly 'fields.githubRepoPicker.owner.title': 'Owner Available';
|
||||
readonly 'fields.githubRepoPicker.owner.description': 'The organization, user or project that this repo will belong to';
|
||||
readonly 'fields.githubRepoPicker.owner.inputTitle': 'Owner';
|
||||
readonly 'fields.gitlabRepoPicker.owner.title': 'Owner Available';
|
||||
readonly 'fields.gitlabRepoPicker.owner.description': 'GitLab namespace where this repository will belong to. It can be the name of organization, group, subgroup, user, or the project.';
|
||||
readonly 'fields.gitlabRepoPicker.owner.inputTitle': 'Owner';
|
||||
readonly 'fields.repoUrlPicker.host.title': 'Host';
|
||||
readonly 'fields.repoUrlPicker.host.description': 'The host where the repository will be created';
|
||||
readonly 'fields.repoUrlPicker.repository.title': 'Repositories Available';
|
||||
readonly 'fields.repoUrlPicker.repository.description': 'The name of the repository';
|
||||
readonly 'fields.repoUrlPicker.repository.inputTitle': 'Repository';
|
||||
readonly 'fields.repoOwnerPicker.title': 'Owner';
|
||||
readonly 'fields.repoOwnerPicker.description': 'The owner of the repository';
|
||||
readonly 'aboutCard.launchTemplate': 'Launch Template';
|
||||
readonly 'actionsPage.content.emptyState.title': 'No information to display';
|
||||
readonly 'actionsPage.content.emptyState.description': 'There are no actions installed or there was an issue communicating with backend.';
|
||||
readonly 'actionsPage.content.searchFieldPlaceholder': 'Search for an action';
|
||||
readonly 'actionsPage.title': 'Installed actions';
|
||||
readonly 'actionsPage.action.input': 'Input';
|
||||
readonly 'actionsPage.action.output': 'Output';
|
||||
readonly 'actionsPage.action.examples': 'Examples';
|
||||
readonly 'actionsPage.subtitle': 'This is the collection of all installed actions';
|
||||
readonly 'actionsPage.pageTitle': 'Create a New Component';
|
||||
readonly 'listTaskPage.content.emptyState.title': 'No information to display';
|
||||
readonly 'listTaskPage.content.emptyState.description': 'There are no tasks or there was an issue communicating with backend.';
|
||||
readonly 'listTaskPage.content.tableCell.template': 'Template';
|
||||
readonly 'listTaskPage.content.tableCell.status': 'Status';
|
||||
readonly 'listTaskPage.content.tableCell.owner': 'Owner';
|
||||
readonly 'listTaskPage.content.tableCell.created': 'Created';
|
||||
readonly 'listTaskPage.content.tableCell.taskID': 'Task ID';
|
||||
readonly 'listTaskPage.content.tableTitle': 'Tasks';
|
||||
readonly 'listTaskPage.title': 'List template tasks';
|
||||
readonly 'listTaskPage.subtitle': 'All tasks that have been started';
|
||||
readonly 'listTaskPage.pageTitle': 'Templates Tasks';
|
||||
readonly 'ownerListPicker.title': 'Task Owner';
|
||||
readonly 'ownerListPicker.options.all': 'All';
|
||||
readonly 'ownerListPicker.options.owned': 'Owned';
|
||||
readonly 'ongoingTask.title': 'Run of';
|
||||
readonly 'ongoingTask.contextMenu.cancel': 'Cancel';
|
||||
readonly 'ongoingTask.contextMenu.retry': 'Retry';
|
||||
readonly 'ongoingTask.contextMenu.startOver': 'Start Over';
|
||||
readonly 'ongoingTask.contextMenu.hideLogs': 'Hide Logs';
|
||||
readonly 'ongoingTask.contextMenu.showLogs': 'Show Logs';
|
||||
readonly 'ongoingTask.contextMenu.hideButtonBar': 'Hide Button Bar';
|
||||
readonly 'ongoingTask.contextMenu.showButtonBar': 'Show Button Bar';
|
||||
readonly 'ongoingTask.subtitle': 'Task {{taskId}}';
|
||||
readonly 'ongoingTask.pageTitle.hasTemplateName': 'Run of {{templateName}}';
|
||||
readonly 'ongoingTask.pageTitle.noTemplateName': 'Scaffolder Run';
|
||||
readonly 'ongoingTask.cancelButtonTitle': 'Cancel';
|
||||
readonly 'ongoingTask.retryButtonTitle': 'Retry';
|
||||
readonly 'ongoingTask.startOverButtonTitle': 'Start Over';
|
||||
readonly 'ongoingTask.hideLogsButtonTitle': 'Hide Logs';
|
||||
readonly 'ongoingTask.showLogsButtonTitle': 'Show Logs';
|
||||
readonly 'templateEditorForm.stepper.emptyText': 'There are no spec parameters in the template to preview.';
|
||||
readonly 'renderSchema.undefined': 'No schema defined';
|
||||
readonly 'renderSchema.tableCell.name': 'Name';
|
||||
readonly 'renderSchema.tableCell.type': 'Type';
|
||||
readonly 'renderSchema.tableCell.title': 'Title';
|
||||
readonly 'renderSchema.tableCell.description': 'Description';
|
||||
readonly 'templatingExtensions.content.values.title': 'Values';
|
||||
readonly 'templatingExtensions.content.values.notAvailable': 'There are no global template values defined.';
|
||||
readonly 'templatingExtensions.content.emptyState.title': 'No information to display';
|
||||
readonly 'templatingExtensions.content.emptyState.description': 'There are no templating extensions available or there was an issue communicating with the backend.';
|
||||
readonly 'templatingExtensions.content.filters.title': 'Filters';
|
||||
readonly 'templatingExtensions.content.filters.schema.input': 'Input';
|
||||
readonly 'templatingExtensions.content.filters.schema.output': 'Output';
|
||||
readonly 'templatingExtensions.content.filters.schema.arguments': 'Arguments';
|
||||
readonly 'templatingExtensions.content.filters.examples': 'Examples';
|
||||
readonly 'templatingExtensions.content.filters.notAvailable': 'There are no template filters defined.';
|
||||
readonly 'templatingExtensions.content.filters.metadataAbsent': 'Filter metadata unavailable';
|
||||
readonly 'templatingExtensions.content.functions.title': 'Functions';
|
||||
readonly 'templatingExtensions.content.functions.schema.output': 'Output';
|
||||
readonly 'templatingExtensions.content.functions.schema.arguments': 'Arguments';
|
||||
readonly 'templatingExtensions.content.functions.examples': 'Examples';
|
||||
readonly 'templatingExtensions.content.functions.notAvailable': 'There are no global template functions defined.';
|
||||
readonly 'templatingExtensions.content.functions.metadataAbsent': 'Function metadata unavailable';
|
||||
readonly 'templatingExtensions.content.searchFieldPlaceholder': 'Search for an extension';
|
||||
readonly 'templatingExtensions.title': 'Templating Extensions';
|
||||
readonly 'templatingExtensions.subtitle': 'This is the collection of available templating extensions';
|
||||
readonly 'templatingExtensions.pageTitle': 'Templating Extensions';
|
||||
readonly 'templateTypePicker.title': 'Categories';
|
||||
readonly 'templateIntroPage.title': 'Manage Templates';
|
||||
readonly 'templateIntroPage.subtitle': 'Edit, preview, and try out templates, forms, and custom fields';
|
||||
readonly 'templateFormPage.title': 'Template Editor';
|
||||
readonly 'templateFormPage.subtitle': 'Edit, preview, and try out templates forms';
|
||||
readonly 'templateCustomFieldPage.title': 'Custom Field Explorer';
|
||||
readonly 'templateCustomFieldPage.subtitle': 'Edit, preview, and try out custom fields';
|
||||
readonly 'templateEditorPage.title': 'Template Editor';
|
||||
readonly 'templateEditorPage.subtitle': 'Edit, preview, and try out templates and template forms';
|
||||
readonly 'templateEditorPage.dryRunResults.title': 'Dry-run results';
|
||||
readonly 'templateEditorPage.dryRunResultsList.title': 'Result {{resultId}}';
|
||||
readonly 'templateEditorPage.dryRunResultsList.deleteButtonTitle': 'Delete result';
|
||||
readonly 'templateEditorPage.dryRunResultsList.downloadButtonTitle': 'Download as .zip';
|
||||
readonly 'templateEditorPage.dryRunResultsView.tab.output': 'Output';
|
||||
readonly 'templateEditorPage.dryRunResultsView.tab.log': 'Log';
|
||||
readonly 'templateEditorPage.dryRunResultsView.tab.files': 'Files';
|
||||
readonly 'templateEditorPage.taskStatusStepper.skippedStepTitle': 'Skipped';
|
||||
readonly 'templateEditorPage.customFieldExplorer.preview.title': 'Template Spec';
|
||||
readonly 'templateEditorPage.customFieldExplorer.fieldForm.title': 'Field Options';
|
||||
readonly 'templateEditorPage.customFieldExplorer.fieldForm.applyButtonTitle': 'Apply';
|
||||
readonly 'templateEditorPage.customFieldExplorer.selectFieldLabel': 'Choose Custom Field Extension';
|
||||
readonly 'templateEditorPage.customFieldExplorer.fieldPreview.title': 'Field Preview';
|
||||
readonly 'templateEditorPage.templateEditorBrowser.closeConfirmMessage': 'Are you sure? Unsaved changes will be lost';
|
||||
readonly 'templateEditorPage.templateEditorBrowser.saveIconTooltip': 'Save all files';
|
||||
readonly 'templateEditorPage.templateEditorBrowser.reloadIconTooltip': 'Reload directory';
|
||||
readonly 'templateEditorPage.templateEditorBrowser.closeIconTooltip': 'Close directory';
|
||||
readonly 'templateEditorPage.templateEditorIntro.title': 'Get started by choosing one of the options below';
|
||||
readonly 'templateEditorPage.templateEditorIntro.loadLocal.title': 'Load Template Directory';
|
||||
readonly 'templateEditorPage.templateEditorIntro.loadLocal.description': 'Load a local template directory, allowing you to both edit and try executing your own template.';
|
||||
readonly 'templateEditorPage.templateEditorIntro.loadLocal.unsupportedTooltip': 'Only supported in some Chromium-based browsers with the page loaded over HTTPS';
|
||||
readonly 'templateEditorPage.templateEditorIntro.createLocal.title': 'Create New Template';
|
||||
readonly 'templateEditorPage.templateEditorIntro.createLocal.description': 'Create a local template directory, allowing you to both edit and try executing your own template.';
|
||||
readonly 'templateEditorPage.templateEditorIntro.createLocal.unsupportedTooltip': 'Only supported in some Chromium-based browsers with the page loaded over HTTPS';
|
||||
readonly 'templateEditorPage.templateEditorIntro.formEditor.title': 'Template Form Playground';
|
||||
readonly 'templateEditorPage.templateEditorIntro.formEditor.description': 'Preview and edit a template form, either using a sample template or by loading a template from the catalog.';
|
||||
readonly 'templateEditorPage.templateEditorIntro.fieldExplorer.title': 'Custom Field Explorer';
|
||||
readonly 'templateEditorPage.templateEditorIntro.fieldExplorer.description': 'View and play around with available installed custom field extensions.';
|
||||
readonly 'templateEditorPage.templateEditorTextArea.saveIconTooltip': 'Save file';
|
||||
readonly 'templateEditorPage.templateEditorTextArea.refreshIconTooltip': 'Reload file';
|
||||
readonly 'templateEditorPage.templateEditorTextArea.emptyStateParagraph': 'Please select an action on the file menu.';
|
||||
readonly 'templateEditorPage.templateFormPreviewer.title': 'Load Existing Template';
|
||||
readonly 'templateListPage.title': 'Create a new component';
|
||||
readonly 'templateListPage.subtitle': 'Create new software components using standard templates in your organization';
|
||||
readonly 'templateListPage.pageTitle': 'Create a new component';
|
||||
readonly 'templateListPage.templateGroups.defaultTitle': 'Templates';
|
||||
readonly 'templateListPage.templateGroups.otherTitle': 'Other Templates';
|
||||
readonly 'templateListPage.contentHeader.supportButtonTitle': 'Create new software components using standard templates. Different templates create different kinds of components (services, websites, documentation, ...).';
|
||||
readonly 'templateListPage.contentHeader.registerExistingButtonTitle': 'Register Existing Component';
|
||||
readonly 'templateListPage.additionalLinksForEntity.viewTechDocsTitle': 'View TechDocs';
|
||||
readonly 'templateWizardPage.title': 'Create a new component';
|
||||
readonly 'templateWizardPage.subtitle': 'Create new software components using standard templates in your organization';
|
||||
readonly 'templateWizardPage.pageTitle': 'Create a new component';
|
||||
readonly 'templateWizardPage.templateWithTitle': 'Create new {{templateTitle}}';
|
||||
readonly 'templateWizardPage.pageContextMenu.editConfigurationTitle': 'Edit Configuration';
|
||||
readonly 'templateEditorToolbar.customFieldExplorerTooltip': 'Custom Fields Explorer';
|
||||
readonly 'templateEditorToolbar.installedActionsDocumentationTooltip': 'Installed Actions Documentation';
|
||||
readonly 'templateEditorToolbar.templatingExtensionsDocumentationTooltip': 'Templating Extensions Documentation';
|
||||
readonly 'templateEditorToolbar.addToCatalogButton': 'Publish';
|
||||
readonly 'templateEditorToolbar.addToCatalogDialogTitle': 'Publish changes';
|
||||
readonly 'templateEditorToolbar.addToCatalogDialogContent.stepsIntroduction': 'Follow the instructions below to create or update a template:';
|
||||
readonly 'templateEditorToolbar.addToCatalogDialogContent.stepsListItems': 'Save the template files in a local directory\nCreate a pull request to a new or existing git repository\nIf the template already exists, the changes will be reflected in the software catalog once the pull request gets merged\nBut if you are creating a new template, follow the documentation linked below to register the new template repository in software catalog';
|
||||
readonly 'templateEditorToolbar.addToCatalogDialogActions.documentationUrl': 'https://backstage.io/docs/features/software-templates/adding-templates/';
|
||||
readonly 'templateEditorToolbar.addToCatalogDialogActions.documentationButton': 'Go to the documentation';
|
||||
readonly 'templateEditorToolbarFileMenu.button': 'File';
|
||||
readonly 'templateEditorToolbarFileMenu.options.openDirectory': 'Open template directory';
|
||||
readonly 'templateEditorToolbarFileMenu.options.createDirectory': 'Create template directory';
|
||||
readonly 'templateEditorToolbarFileMenu.options.closeEditor': 'Close template editor';
|
||||
readonly 'templateEditorToolbarTemplatesMenu.button': 'Templates';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public @deprecated (undocumented)
|
||||
export type ScaffolderUseTemplateSecrets = ScaffolderUseTemplateSecrets_2;
|
||||
|
||||
|
||||
@@ -22,7 +22,13 @@ export {
|
||||
type ScaffolderTemplateFormPreviewerClassKey,
|
||||
} from './components';
|
||||
|
||||
export { scaffolderTranslationRef } from '../translation';
|
||||
import { scaffolderTranslationRef as _scaffolderTranslationRef } from '../translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-scaffolder` instead.
|
||||
*/
|
||||
export const scaffolderTranslationRef = _scaffolderTranslationRef;
|
||||
export * from './api';
|
||||
export {
|
||||
formFieldsApiRef,
|
||||
|
||||
@@ -38,3 +38,4 @@ export {
|
||||
|
||||
export * from './components';
|
||||
export * from './deprecated';
|
||||
export { scaffolderTranslationRef } from './translation';
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const scaffolderTranslationRef = createTranslationRef({
|
||||
id: 'scaffolder',
|
||||
messages: {
|
||||
|
||||
@@ -96,7 +96,7 @@ export interface SearchFilterResultTypeBlueprintParams {
|
||||
value: string;
|
||||
}
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const searchReactTranslationRef: TranslationRef<
|
||||
'search-react',
|
||||
{
|
||||
|
||||
@@ -28,6 +28,7 @@ import { SearchResult as SearchResult_2 } from '@backstage/plugin-search-common'
|
||||
import { SearchResultSet } from '@backstage/plugin-search-common';
|
||||
import { SetStateAction } from 'react';
|
||||
import { TextFieldProps } from '@material-ui/core/TextField';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
import { TypographyProps } from '@material-ui/core/Typography';
|
||||
|
||||
// @public (undocumented)
|
||||
@@ -296,6 +297,24 @@ export type SearchPaginationProps = Omit<
|
||||
| 'hasNextPage'
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export const searchReactTranslationRef: TranslationRef<
|
||||
'search-react',
|
||||
{
|
||||
readonly 'searchBar.title': 'Search';
|
||||
readonly 'searchBar.placeholder': 'Search in {{org}}';
|
||||
readonly 'searchBar.clearButtonTitle': 'Clear';
|
||||
readonly 'searchFilter.allOptionTitle': 'All';
|
||||
readonly 'searchPagination.limitLabel': 'Results per page:';
|
||||
readonly 'searchPagination.limitText': 'of {{num}}';
|
||||
readonly noResultsDescription: 'Sorry, no results were found';
|
||||
readonly 'searchResultGroup.linkTitle': 'See All';
|
||||
readonly 'searchResultGroup.addFilterButtonTitle': 'Add filter';
|
||||
readonly 'searchResultPager.next': 'Next';
|
||||
readonly 'searchResultPager.previous': 'Previous';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public
|
||||
export const SearchResult: (props: SearchResultProps) => JSX_2.Element;
|
||||
|
||||
|
||||
@@ -14,4 +14,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
export * from './blueprints';
|
||||
export { searchReactTranslationRef } from '../translation';
|
||||
import { searchReactTranslationRef as _searchReactTranslationRef } from '../translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-search-react` instead.
|
||||
*/
|
||||
export const searchReactTranslationRef = _searchReactTranslationRef;
|
||||
|
||||
@@ -34,3 +34,4 @@ export type {
|
||||
SearchContextState,
|
||||
SearchContextValue,
|
||||
} from './context';
|
||||
export { searchReactTranslationRef } from './translation';
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/**
|
||||
* @alpha
|
||||
* @public
|
||||
*/
|
||||
export const searchReactTranslationRef = createTranslationRef({
|
||||
id: 'search-react',
|
||||
|
||||
@@ -359,7 +359,7 @@ export const searchPage: OverridableExtensionDefinition<{
|
||||
};
|
||||
}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const searchTranslationRef: TranslationRef<
|
||||
'search',
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@ import { ReactNode } from 'react';
|
||||
import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { SearchBarBaseProps } from '@backstage/plugin-search-react';
|
||||
import { SearchResultSet } from '@backstage/plugin-search-common';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @public (undocumented)
|
||||
export const HomePageSearchBar: (
|
||||
@@ -78,6 +79,20 @@ const searchPlugin: BackstagePlugin<
|
||||
export { searchPlugin as plugin };
|
||||
export { searchPlugin };
|
||||
|
||||
// @public (undocumented)
|
||||
export const searchTranslationRef: TranslationRef<
|
||||
'search',
|
||||
{
|
||||
readonly 'searchModal.viewFullResults': 'View Full Results';
|
||||
readonly 'searchType.tabs.allTitle': 'All';
|
||||
readonly 'searchType.allResults': 'All Results';
|
||||
readonly 'searchType.accordion.collapse': 'Collapse';
|
||||
readonly 'searchType.accordion.numberOfResults': '{{number}} results';
|
||||
readonly 'searchType.accordion.allTitle': 'All';
|
||||
readonly 'sidebarSearchModal.title': 'Search';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export const SearchType: {
|
||||
(props: SearchTypeProps): JSX_2.Element;
|
||||
|
||||
@@ -285,5 +285,10 @@ export default createFrontendPlugin({
|
||||
},
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
export { searchTranslationRef } from './translation';
|
||||
import { searchTranslationRef as _searchTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-search` instead.
|
||||
*/
|
||||
export const searchTranslationRef = _searchTranslationRef;
|
||||
|
||||
@@ -51,3 +51,4 @@ export {
|
||||
searchPlugin as plugin,
|
||||
searchPlugin,
|
||||
} from './plugin';
|
||||
export { searchTranslationRef } from './translation';
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/**
|
||||
* @alpha
|
||||
* @public
|
||||
*/
|
||||
export const searchTranslationRef = createTranslationRef({
|
||||
id: 'search',
|
||||
|
||||
@@ -155,7 +155,7 @@ export const settingsNavItem: OverridableExtensionDefinition<{
|
||||
};
|
||||
}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
// @public @deprecated (undocumented)
|
||||
export const userSettingsTranslationRef: TranslationRef<
|
||||
'user-settings',
|
||||
{
|
||||
|
||||
@@ -26,6 +26,7 @@ import { SignalApi } from '@backstage/plugin-signals-react';
|
||||
import { StorageApi } from '@backstage/core-plugin-api';
|
||||
import { StorageValueSnapshot } from '@backstage/core-plugin-api';
|
||||
import { TabProps } from '@material-ui/core/Tab';
|
||||
import { TranslationRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @public (undocumented)
|
||||
export const DefaultProviderSettings: (props: {
|
||||
@@ -163,6 +164,63 @@ export type UserSettingsTabProps = PropsWithChildren<{
|
||||
// @public (undocumented)
|
||||
export const UserSettingsThemeToggle: () => JSX_2.Element;
|
||||
|
||||
// @public (undocumented)
|
||||
export const userSettingsTranslationRef: TranslationRef<
|
||||
'user-settings',
|
||||
{
|
||||
readonly 'featureFlags.title': 'Feature Flags';
|
||||
readonly 'featureFlags.description': 'Please refresh the page when toggling feature flags';
|
||||
readonly 'featureFlags.filterTitle': 'Filter';
|
||||
readonly 'featureFlags.clearFilter': 'Clear filter';
|
||||
readonly 'featureFlags.emptyFlags.title': 'No Feature Flags';
|
||||
readonly 'featureFlags.emptyFlags.action.title': 'An example for how to add a feature flag is highlighted below:';
|
||||
readonly 'featureFlags.emptyFlags.action.readMoreButtonTitle': 'Read More';
|
||||
readonly 'featureFlags.emptyFlags.description': 'Feature Flags make it possible for plugins to register features in Backstage for users to opt into. You can use this to split out logic in your code for manual A/B testing, etc.';
|
||||
readonly 'featureFlags.flagItem.title.disable': 'Disable';
|
||||
readonly 'featureFlags.flagItem.title.enable': 'Enable';
|
||||
readonly 'featureFlags.flagItem.subtitle.registeredInApplication': 'Registered in the application';
|
||||
readonly 'featureFlags.flagItem.subtitle.registeredInPlugin': 'Registered in {{pluginId}} plugin';
|
||||
readonly 'languageToggle.select': 'Select language {{language}}';
|
||||
readonly 'languageToggle.title': 'Language';
|
||||
readonly 'languageToggle.description': 'Change the language';
|
||||
readonly 'themeToggle.select': 'Select {{theme}}';
|
||||
readonly 'themeToggle.title': 'Theme';
|
||||
readonly 'themeToggle.description': 'Change the theme mode';
|
||||
readonly 'themeToggle.names.auto': 'Auto';
|
||||
readonly 'themeToggle.names.dark': 'Dark';
|
||||
readonly 'themeToggle.names.light': 'Light';
|
||||
readonly 'themeToggle.selectAuto': 'Select Auto Theme';
|
||||
readonly 'signOutMenu.title': 'Sign Out';
|
||||
readonly 'signOutMenu.moreIconTitle': 'more';
|
||||
readonly 'pinToggle.title': 'Pin Sidebar';
|
||||
readonly 'pinToggle.description': 'Prevent the sidebar from collapsing';
|
||||
readonly 'pinToggle.ariaLabelTitle': 'Pin Sidebar Switch';
|
||||
readonly 'pinToggle.switchTitles.unpin': 'Unpin Sidebar';
|
||||
readonly 'pinToggle.switchTitles.pin': 'Pin Sidebar';
|
||||
readonly 'identityCard.title': 'Backstage Identity';
|
||||
readonly 'identityCard.noIdentityTitle': 'No Backstage Identity';
|
||||
readonly 'identityCard.userEntity': 'User Entity';
|
||||
readonly 'identityCard.ownershipEntities': 'Ownership Entities';
|
||||
readonly 'defaultProviderSettings.description': 'Provides authentication towards {{provider}} APIs and identities';
|
||||
readonly 'emptyProviders.title': 'No Authentication Providers';
|
||||
readonly 'emptyProviders.action.title': 'Open app-config.yaml and make the changes as highlighted below:';
|
||||
readonly 'emptyProviders.action.readMoreButtonTitle': 'Read More';
|
||||
readonly 'emptyProviders.description': 'You can add Authentication Providers to Backstage which allows you to use these providers to authenticate yourself.';
|
||||
readonly 'providerSettingsItem.title.signOut': 'Sign out from {{title}}';
|
||||
readonly 'providerSettingsItem.title.signIn': 'Sign in to {{title}}';
|
||||
readonly 'providerSettingsItem.buttonTitle.signOut': 'Sign out';
|
||||
readonly 'providerSettingsItem.buttonTitle.signIn': 'Sign in';
|
||||
readonly 'authProviders.title': 'Available Providers';
|
||||
readonly 'defaultSettingsPage.tabsTitle.featureFlags': 'Feature Flags';
|
||||
readonly 'defaultSettingsPage.tabsTitle.authProviders': 'Authentication Providers';
|
||||
readonly 'defaultSettingsPage.tabsTitle.general': 'General';
|
||||
readonly 'settingsLayout.title': 'Settings';
|
||||
readonly sidebarTitle: 'Settings';
|
||||
readonly 'profileCard.title': 'Profile';
|
||||
readonly 'appearanceCard.title': 'Appearance';
|
||||
}
|
||||
>;
|
||||
|
||||
// @public (undocumented)
|
||||
export const useUserProfile: () =>
|
||||
| {
|
||||
|
||||
@@ -23,7 +23,13 @@ import {
|
||||
import SettingsIcon from '@material-ui/icons/Settings';
|
||||
import { settingsRouteRef } from './plugin';
|
||||
|
||||
export * from './translation';
|
||||
import { userSettingsTranslationRef as _userSettingsTranslationRef } from './translation';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @deprecated Import from `@backstage/plugin-user-settings` instead.
|
||||
*/
|
||||
export const userSettingsTranslationRef = _userSettingsTranslationRef;
|
||||
|
||||
const userSettingsPage = PageBlueprint.makeWithOverrides({
|
||||
inputs: {
|
||||
|
||||
@@ -27,3 +27,4 @@ export {
|
||||
UserSettingsPage,
|
||||
} from './plugin';
|
||||
export * from './components';
|
||||
export { userSettingsTranslationRef } from './translation';
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
/** @alpha */
|
||||
/** @public */
|
||||
export const userSettingsTranslationRef = createTranslationRef({
|
||||
id: 'user-settings',
|
||||
messages: {
|
||||
|
||||
Reference in New Issue
Block a user