@backstage/plugin-scaffolder 1.13.0-next.0 → 1.13.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/alpha/package.json +1 -1
- package/dist/alpha.d.ts +12 -70
- package/dist/alpha.esm.js +21 -18
- package/dist/alpha.esm.js.map +1 -1
- package/dist/esm/{alpha/ListTasksPage-a9fab591.esm.js → ListTasksPage-caaca86d.esm.js} +3 -2
- package/dist/esm/ListTasksPage-caaca86d.esm.js.map +1 -0
- package/dist/esm/{index/Router-f32000f9.esm.js → Router-f509f2e0.esm.js} +19 -16
- package/dist/esm/Router-f509f2e0.esm.js.map +1 -0
- package/dist/esm/{index/index-8321766a.esm.js → TaskPage-f304e0fc.esm.js} +31 -88
- package/dist/esm/TaskPage-f304e0fc.esm.js.map +1 -0
- package/dist/esm/{index/ListTasksPage-64779a2d.esm.js → TemplateEditorIntro-f7f6d664.esm.js} +396 -530
- package/dist/esm/TemplateEditorIntro-f7f6d664.esm.js.map +1 -0
- package/dist/esm/{index/index-e3edaa49.esm.js → TemplateFormPreviewer-299c316c.esm.js} +18 -379
- package/dist/esm/TemplateFormPreviewer-299c316c.esm.js.map +1 -0
- package/dist/esm/TemplateTypePicker-4f07b216.esm.js +58 -0
- package/dist/esm/TemplateTypePicker-4f07b216.esm.js.map +1 -0
- package/dist/esm/{alpha/index-d45f106a.esm.js → index-64f5b7a5.esm.js} +26 -23
- package/dist/esm/index-64f5b7a5.esm.js.map +1 -0
- package/dist/index.d.ts +46 -205
- package/dist/index.esm.js +19 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/types/plugin.d-7a7914d1.d.ts +232 -0
- package/package.json +24 -22
- package/dist/esm/alpha/ListTasksPage-a9fab591.esm.js.map +0 -1
- package/dist/esm/alpha/Router-ea3122d2.esm.js +0 -1581
- package/dist/esm/alpha/Router-ea3122d2.esm.js.map +0 -1
- package/dist/esm/alpha/alpha-0764fae7.esm.js +0 -3410
- package/dist/esm/alpha/alpha-0764fae7.esm.js.map +0 -1
- package/dist/esm/alpha/index-d45f106a.esm.js.map +0 -1
- package/dist/esm/index/ListTasksPage-64779a2d.esm.js.map +0 -1
- package/dist/esm/index/Router-f32000f9.esm.js.map +0 -1
- package/dist/esm/index/index-8321766a.esm.js.map +0 -1
- package/dist/esm/index/index-e3edaa49.esm.js.map +0 -1
|
@@ -10,10 +10,12 @@ import useMediaQuery from '@material-ui/core/useMediaQuery';
|
|
|
10
10
|
import AddCircleOutline from '@material-ui/icons/AddCircleOutline';
|
|
11
11
|
import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha';
|
|
12
12
|
import { usePermission } from '@backstage/plugin-permission-react';
|
|
13
|
-
import {
|
|
13
|
+
import { t as registerComponentRouteRef, o as editRouteRef, p as actionsRouteRef, q as scaffolderListTaskRouteRef, v as viewTechDocRouteRef, k as selectedTemplateRouteRef, r as rootRouteRef, u as scaffolderTaskRouteRef } from './TaskPage-f304e0fc.esm.js';
|
|
14
14
|
import { parseEntityRef, stringifyEntityRef } from '@backstage/catalog-model';
|
|
15
15
|
import { useTemplateSecrets, scaffolderApiRef, useCustomFieldExtensions, useCustomLayouts, SecretsContextProvider } from '@backstage/plugin-scaffolder-react';
|
|
16
|
-
import { D as DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS, L as ListTasksPage } from './ListTasksPage-
|
|
16
|
+
import { D as DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS, L as ListTasksPage } from './ListTasksPage-caaca86d.esm.js';
|
|
17
|
+
import { T as TemplateEditor, a as TemplateFormPreviewer, C as CustomFieldExplorer, O as OngoingTask } from './TemplateFormPreviewer-299c316c.esm.js';
|
|
18
|
+
import { e as TemplateEditorIntro, W as WebFileSystemAccess, A as ActionsPage } from './TemplateEditorIntro-f7f6d664.esm.js';
|
|
17
19
|
import '@backstage/integration-react';
|
|
18
20
|
import '@backstage/errors';
|
|
19
21
|
import 'qs';
|
|
@@ -31,52 +33,53 @@ import '@material-ui/core/InputLabel';
|
|
|
31
33
|
import 'react-use/lib/useDebounce';
|
|
32
34
|
import 'react-use/lib/useEffectOnce';
|
|
33
35
|
import '@material-ui/lab';
|
|
34
|
-
import '@
|
|
36
|
+
import '@material-ui/core/Grid';
|
|
37
|
+
import '@material-ui/core/Step';
|
|
38
|
+
import '@material-ui/core/StepLabel';
|
|
39
|
+
import '@material-ui/core/Stepper';
|
|
40
|
+
import '@material-ui/core/styles';
|
|
41
|
+
import '@material-ui/core/Typography';
|
|
35
42
|
import '@material-ui/icons/Cancel';
|
|
36
|
-
import '@material-ui/icons/
|
|
37
|
-
import '@material-ui/icons/
|
|
38
|
-
import '@material-ui/icons/MoreVert';
|
|
43
|
+
import '@material-ui/icons/Check';
|
|
44
|
+
import '@material-ui/icons/FiberManualRecord';
|
|
39
45
|
import 'classnames';
|
|
40
|
-
import '@material-ui/icons/ExpandMore';
|
|
41
|
-
import '@material-ui/icons/Settings';
|
|
42
|
-
import '@material-ui/icons/FontDownload';
|
|
43
46
|
import 'luxon';
|
|
47
|
+
import 'react-use/lib/useInterval';
|
|
48
|
+
import '@material-ui/icons/Language';
|
|
44
49
|
import 'humanize-duration';
|
|
45
|
-
import '@
|
|
50
|
+
import '@react-hookz/web';
|
|
51
|
+
import '@material-ui/icons/Repeat';
|
|
52
|
+
import '@material-ui/icons/Toc';
|
|
53
|
+
import '@material-ui/icons/MoreVert';
|
|
46
54
|
import '@codemirror/language';
|
|
47
55
|
import '@codemirror/legacy-modes/mode/yaml';
|
|
48
56
|
import '@material-ui/icons/Close';
|
|
49
57
|
import '@uiw/react-codemirror';
|
|
50
58
|
import 'yaml';
|
|
51
|
-
import '@material-ui/core/styles';
|
|
52
59
|
import '@rjsf/validator-ajv8';
|
|
60
|
+
import '@material-ui/icons/ExpandMore';
|
|
61
|
+
import '@material-ui/icons/ExpandLess';
|
|
62
|
+
import '@material-ui/core/Chip';
|
|
63
|
+
import '@material-ui/icons/Settings';
|
|
64
|
+
import '@material-ui/icons/FontDownload';
|
|
53
65
|
import '@material-ui/core/Accordion';
|
|
54
66
|
import '@material-ui/core/AccordionDetails';
|
|
55
67
|
import '@material-ui/core/AccordionSummary';
|
|
56
68
|
import '@material-ui/core/Divider';
|
|
57
|
-
import '@material-ui/icons/ExpandLess';
|
|
58
69
|
import '@material-ui/core/List';
|
|
59
70
|
import '@material-ui/core/ListItem';
|
|
60
71
|
import '@material-ui/core/ListItemIcon';
|
|
61
72
|
import '@material-ui/core/ListItemSecondaryAction';
|
|
62
73
|
import '@material-ui/core/ListItemText';
|
|
63
|
-
import '@material-ui/icons/Check';
|
|
64
74
|
import '@material-ui/icons/Delete';
|
|
65
75
|
import '@material-ui/core/Box';
|
|
66
76
|
import '@material-ui/core/Tab';
|
|
67
77
|
import '@material-ui/core/Tabs';
|
|
68
|
-
import '@material-ui/
|
|
69
|
-
import '@material-ui/
|
|
70
|
-
import '@material-ui/core/StepLabel';
|
|
71
|
-
import '@material-ui/core/Stepper';
|
|
72
|
-
import '@material-ui/icons/FiberManualRecord';
|
|
73
|
-
import 'react-use/lib/useInterval';
|
|
74
|
-
import '@material-ui/icons/Language';
|
|
78
|
+
import '@material-ui/icons/Refresh';
|
|
79
|
+
import '@material-ui/icons/Save';
|
|
75
80
|
import '@material-ui/lab/TreeView';
|
|
76
81
|
import '@material-ui/icons/ChevronRight';
|
|
77
82
|
import '@material-ui/lab/TreeItem';
|
|
78
|
-
import '@material-ui/icons/Refresh';
|
|
79
|
-
import '@material-ui/icons/Save';
|
|
80
83
|
import '@codemirror/view';
|
|
81
84
|
import '@material-ui/core/Card';
|
|
82
85
|
import '@material-ui/core/CardActionArea';
|
|
@@ -383,4 +386,4 @@ const Router = (props) => {
|
|
|
383
386
|
};
|
|
384
387
|
|
|
385
388
|
export { Router };
|
|
386
|
-
//# sourceMappingURL=index-
|
|
389
|
+
//# sourceMappingURL=index-64f5b7a5.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-64f5b7a5.esm.js","sources":["../../src/next/TemplateListPage/RegisterExistingButton.tsx","../../src/next/TemplateListPage/TemplateListPage.tsx","../../src/next/TemplateWizardPage/TemplateWizardPage.tsx","../../src/next/TemplateEditorPage/TemplateEditorPage.tsx","../../src/next/Router/Router.tsx"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BackstageTheme } from '@backstage/theme';\nimport Button from '@material-ui/core/Button';\nimport IconButton from '@material-ui/core/IconButton';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport React from 'react';\nimport { Link as RouterLink, LinkProps } from 'react-router-dom';\nimport AddCircleOutline from '@material-ui/icons/AddCircleOutline';\nimport { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha';\nimport { usePermission } from '@backstage/plugin-permission-react';\n\n/**\n * Properties for {@link RegisterExistingButton}\n *\n * @alpha\n */\nexport type RegisterExistingButtonProps = {\n title: string;\n} & Partial<Pick<LinkProps, 'to'>>;\n\n/**\n * A button that helps users to register an existing component.\n * @alpha\n */\nexport const RegisterExistingButton = (props: RegisterExistingButtonProps) => {\n const { title, to } = props;\n const { allowed } = usePermission({\n permission: catalogEntityCreatePermission,\n });\n const isXSScreen = useMediaQuery<BackstageTheme>(theme =>\n theme.breakpoints.down('xs'),\n );\n\n if (!to || !allowed) {\n return null;\n }\n\n return isXSScreen ? (\n <IconButton\n component={RouterLink}\n color=\"primary\"\n title={title}\n size=\"small\"\n to={to}\n >\n <AddCircleOutline />\n </IconButton>\n ) : (\n <Button component={RouterLink} variant=\"contained\" color=\"primary\" to={to}>\n {title}\n </Button>\n );\n};\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { useCallback } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';\nimport { useApp, useRouteRef } from '@backstage/core-plugin-api';\n\nimport {\n Content,\n ContentHeader,\n DocsIcon,\n Header,\n Page,\n SupportButton,\n} from '@backstage/core-components';\nimport {\n EntityKindPicker,\n EntityListProvider,\n EntitySearchBar,\n EntityTagPicker,\n CatalogFilterLayout,\n UserListPicker,\n} from '@backstage/plugin-catalog-react';\nimport {\n ScaffolderPageContextMenu,\n TemplateCategoryPicker,\n TemplateGroupFilter,\n TemplateGroups,\n} from '@backstage/plugin-scaffolder-react/alpha';\n\nimport { RegisterExistingButton } from './RegisterExistingButton';\nimport {\n actionsRouteRef,\n editRouteRef,\n registerComponentRouteRef,\n scaffolderListTaskRouteRef,\n selectedTemplateRouteRef,\n viewTechDocRouteRef,\n} from '../../routes';\nimport { parseEntityRef, stringifyEntityRef } from '@backstage/catalog-model';\n\n/**\n * @alpha\n */\nexport type TemplateListPageProps = {\n TemplateCardComponent?: React.ComponentType<{\n template: TemplateEntityV1beta3;\n }>;\n groups?: TemplateGroupFilter[];\n templateFilter?: (entity: TemplateEntityV1beta3) => boolean;\n contextMenu?: {\n editor?: boolean;\n actions?: boolean;\n tasks?: boolean;\n };\n};\n\nconst defaultGroup: TemplateGroupFilter = {\n title: 'Templates',\n filter: () => true,\n};\n\nconst createGroupsWithOther = (\n groups: TemplateGroupFilter[],\n): TemplateGroupFilter[] => [\n ...groups,\n {\n title: 'Other Templates',\n filter: e => ![...groups].some(({ filter }) => filter(e)),\n },\n];\n\n/**\n * @alpha\n */\nexport const TemplateListPage = (props: TemplateListPageProps) => {\n const registerComponentLink = useRouteRef(registerComponentRouteRef);\n const {\n TemplateCardComponent,\n groups: givenGroups = [],\n templateFilter,\n } = props;\n const navigate = useNavigate();\n const editorLink = useRouteRef(editRouteRef);\n const actionsLink = useRouteRef(actionsRouteRef);\n const tasksLink = useRouteRef(scaffolderListTaskRouteRef);\n const viewTechDocsLink = useRouteRef(viewTechDocRouteRef);\n const templateRoute = useRouteRef(selectedTemplateRouteRef);\n const app = useApp();\n\n const groups = givenGroups.length\n ? createGroupsWithOther(givenGroups)\n : [defaultGroup];\n\n const scaffolderPageContextMenuProps = {\n onEditorClicked:\n props?.contextMenu?.editor !== false\n ? () => navigate(editorLink())\n : undefined,\n onActionsClicked:\n props?.contextMenu?.actions !== false\n ? () => navigate(actionsLink())\n : undefined,\n onTasksClicked:\n props?.contextMenu?.tasks !== false\n ? () => navigate(tasksLink())\n : undefined,\n };\n\n const additionalLinksForEntity = useCallback(\n (template: TemplateEntityV1beta3) => {\n const { kind, namespace, name } = parseEntityRef(\n stringifyEntityRef(template),\n );\n return template.metadata.annotations?.['backstage.io/techdocs-ref'] &&\n viewTechDocsLink\n ? [\n {\n icon: app.getSystemIcon('docs') ?? DocsIcon,\n text: 'View TechDocs',\n url: viewTechDocsLink({ kind, namespace, name }),\n },\n ]\n : [];\n },\n [app, viewTechDocsLink],\n );\n\n const onTemplateSelected = useCallback(\n (template: TemplateEntityV1beta3) => {\n const { namespace, name } = parseEntityRef(stringifyEntityRef(template));\n\n navigate(templateRoute({ namespace, templateName: name }));\n },\n [navigate, templateRoute],\n );\n\n return (\n <EntityListProvider>\n <Page themeId=\"website\">\n <Header\n pageTitleOverride=\"Create a new component\"\n title=\"Create a new component\"\n subtitle=\"Create new software components using standard templates in your organization\"\n >\n <ScaffolderPageContextMenu {...scaffolderPageContextMenuProps} />\n </Header>\n <Content>\n <ContentHeader title=\"Available Templates\">\n <RegisterExistingButton\n title=\"Register Existing Component\"\n to={registerComponentLink && registerComponentLink()}\n />\n <SupportButton>\n Create new software components using standard templates. Different\n templates create different kinds of components (services,\n websites, documentation, ...).\n </SupportButton>\n </ContentHeader>\n\n <CatalogFilterLayout>\n <CatalogFilterLayout.Filters>\n <EntitySearchBar />\n <EntityKindPicker initialFilter=\"template\" hidden />\n <UserListPicker\n initialFilter=\"all\"\n availableFilters={['all', 'starred']}\n />\n <TemplateCategoryPicker />\n <EntityTagPicker />\n </CatalogFilterLayout.Filters>\n <CatalogFilterLayout.Content>\n <TemplateGroups\n groups={groups}\n templateFilter={templateFilter}\n TemplateCardComponent={TemplateCardComponent}\n onTemplateSelected={onTemplateSelected}\n additionalLinksForEntity={additionalLinksForEntity}\n />\n </CatalogFilterLayout.Content>\n </CatalogFilterLayout>\n </Content>\n </Page>\n </EntityListProvider>\n );\n};\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { Navigate, useNavigate } from 'react-router-dom';\nimport { stringifyEntityRef } from '@backstage/catalog-model';\nimport {\n AnalyticsContext,\n useApi,\n useRouteRef,\n useRouteRefParams,\n} from '@backstage/core-plugin-api';\nimport {\n scaffolderApiRef,\n useTemplateSecrets,\n type LayoutOptions,\n} from '@backstage/plugin-scaffolder-react';\nimport {\n FormProps,\n Workflow,\n NextFieldExtensionOptions,\n} from '@backstage/plugin-scaffolder-react/alpha';\nimport { JsonValue } from '@backstage/types';\nimport { Header, Page } from '@backstage/core-components';\n\nimport {\n rootRouteRef,\n scaffolderTaskRouteRef,\n selectedTemplateRouteRef,\n} from '../../routes';\n\n/**\n * @alpha\n */\nexport type TemplateWizardPageProps = {\n customFieldExtensions: NextFieldExtensionOptions<any, any>[];\n layouts?: LayoutOptions[];\n FormProps?: FormProps;\n};\n\nexport const TemplateWizardPage = (props: TemplateWizardPageProps) => {\n const rootRef = useRouteRef(rootRouteRef);\n const taskRoute = useRouteRef(scaffolderTaskRouteRef);\n const { secrets } = useTemplateSecrets();\n const scaffolderApi = useApi(scaffolderApiRef);\n const navigate = useNavigate();\n const { templateName, namespace } = useRouteRefParams(\n selectedTemplateRouteRef,\n );\n\n const templateRef = stringifyEntityRef({\n kind: 'Template',\n namespace,\n name: templateName,\n });\n\n const onCreate = async (values: Record<string, JsonValue>) => {\n const { taskId } = await scaffolderApi.scaffold({\n templateRef,\n values,\n secrets,\n });\n\n navigate(taskRoute({ taskId }));\n };\n\n const onError = () => <Navigate to={rootRef()} />;\n\n return (\n <AnalyticsContext attributes={{ entityRef: templateRef }}>\n <Page themeId=\"website\">\n <Header\n pageTitleOverride=\"Create a new component\"\n title=\"Create a new component\"\n subtitle=\"Create new software components using standard templates in your organization\"\n />\n <Workflow\n namespace={namespace}\n templateName={templateName}\n onCreate={onCreate}\n onError={onError}\n extensions={props.customFieldExtensions}\n FormProps={props.FormProps}\n layouts={props.layouts}\n />\n </Page>\n </AnalyticsContext>\n );\n};\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React, { useState } from 'react';\nimport { Content, Header, Page } from '@backstage/core-components';\nimport {\n TemplateDirectoryAccess,\n WebFileSystemAccess,\n} from '../../lib/filesystem';\nimport { CustomFieldExplorer } from './CustomFieldExplorer';\nimport { TemplateEditor } from './TemplateEditor';\nimport { TemplateFormPreviewer } from './TemplateFormPreviewer';\nimport { type LayoutOptions } from '@backstage/plugin-scaffolder-react';\nimport { NextFieldExtensionOptions } from '@backstage/plugin-scaffolder-react/alpha';\nimport { TemplateEditorIntro } from '../../components/TemplateEditorPage/TemplateEditorIntro';\n\ntype Selection =\n | {\n type: 'local';\n directory: TemplateDirectoryAccess;\n }\n | {\n type: 'form';\n }\n | {\n type: 'field-explorer';\n };\n\ninterface TemplateEditorPageProps {\n defaultPreviewTemplate?: string;\n customFieldExtensions?: NextFieldExtensionOptions<any, any>[];\n layouts?: LayoutOptions[];\n}\n\nexport function TemplateEditorPage(props: TemplateEditorPageProps) {\n const [selection, setSelection] = useState<Selection>();\n\n let content: JSX.Element | null = null;\n if (selection?.type === 'local') {\n content = (\n <TemplateEditor\n directory={selection.directory}\n fieldExtensions={props.customFieldExtensions}\n onClose={() => setSelection(undefined)}\n layouts={props.layouts}\n />\n );\n } else if (selection?.type === 'form') {\n content = (\n <TemplateFormPreviewer\n defaultPreviewTemplate={props.defaultPreviewTemplate}\n customFieldExtensions={props.customFieldExtensions}\n onClose={() => setSelection(undefined)}\n layouts={props.layouts}\n />\n );\n } else if (selection?.type === 'field-explorer') {\n content = (\n <CustomFieldExplorer\n customFieldExtensions={props.customFieldExtensions}\n onClose={() => setSelection(undefined)}\n />\n );\n } else {\n content = (\n <Content>\n <TemplateEditorIntro\n onSelect={option => {\n if (option === 'local') {\n WebFileSystemAccess.requestDirectoryAccess()\n .then(directory => setSelection({ type: 'local', directory }))\n .catch(() => {});\n } else if (option === 'form') {\n setSelection({ type: 'form' });\n } else if (option === 'field-explorer') {\n setSelection({ type: 'field-explorer' });\n }\n }}\n />\n </Content>\n );\n }\n\n return (\n <Page themeId=\"home\">\n <Header\n title=\"Template Editor\"\n subtitle=\"Edit, preview, and try out templates and template forms\"\n />\n {content}\n </Page>\n );\n}\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React, { PropsWithChildren } from 'react';\nimport { Routes, Route, useOutlet } from 'react-router-dom';\nimport { TemplateListPage, TemplateListPageProps } from '../TemplateListPage';\nimport {\n TemplateWizardPage,\n TemplateWizardPageProps,\n} from '../TemplateWizardPage';\nimport {\n NextFieldExtensionOptions,\n FormProps,\n TemplateGroupFilter,\n} from '@backstage/plugin-scaffolder-react/alpha';\nimport {\n ScaffolderTaskOutput,\n SecretsContextProvider,\n useCustomFieldExtensions,\n useCustomLayouts,\n} from '@backstage/plugin-scaffolder-react';\n\nimport { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';\nimport { DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS } from '../../extensions/default';\n\nimport {\n actionsRouteRef,\n editRouteRef,\n scaffolderListTaskRouteRef,\n scaffolderTaskRouteRef,\n selectedTemplateRouteRef,\n} from '../../routes';\nimport { ErrorPage } from '@backstage/core-components';\nimport { OngoingTask } from '../OngoingTask';\nimport { ActionsPage } from '../../components/ActionsPage';\nimport { ListTasksPage } from '../../components/ListTasksPage';\nimport { TemplateEditorPage } from '../TemplateEditorPage';\n\n/**\n * The Props for the Scaffolder Router\n *\n * @alpha\n */\nexport type NextRouterProps = {\n components?: {\n TemplateCardComponent?: React.ComponentType<{\n template: TemplateEntityV1beta3;\n }>;\n TaskPageComponent?: React.ComponentType<{}>;\n TemplateOutputsComponent?: React.ComponentType<{\n output?: ScaffolderTaskOutput;\n }>;\n TemplateListPageComponent?: React.ComponentType<TemplateListPageProps>;\n TemplateWizardPageComponent?: React.ComponentType<TemplateWizardPageProps>;\n };\n groups?: TemplateGroupFilter[];\n templateFilter?: (entity: TemplateEntityV1beta3) => boolean;\n // todo(blam): rename this to formProps\n FormProps?: FormProps;\n contextMenu?: {\n /** Whether to show a link to the template editor */\n editor?: boolean;\n /** Whether to show a link to the actions documentation */\n actions?: boolean;\n /** Whether to show a link to the tasks page */\n tasks?: boolean;\n };\n};\n\n/**\n * The Scaffolder Router\n *\n * @alpha\n */\nexport const Router = (props: PropsWithChildren<NextRouterProps>) => {\n const {\n components: {\n TemplateCardComponent,\n TemplateOutputsComponent,\n TaskPageComponent = OngoingTask,\n TemplateListPageComponent = TemplateListPage,\n TemplateWizardPageComponent = TemplateWizardPage,\n } = {},\n } = props;\n const outlet = useOutlet() || props.children;\n const customFieldExtensions =\n useCustomFieldExtensions<NextFieldExtensionOptions>(outlet);\n\n const fieldExtensions = [\n ...customFieldExtensions,\n ...DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS.filter(\n ({ name }) =>\n !customFieldExtensions.some(\n customFieldExtension => customFieldExtension.name === name,\n ),\n ),\n ] as NextFieldExtensionOptions[];\n\n const customLayouts = useCustomLayouts(outlet);\n\n return (\n <Routes>\n <Route\n path=\"/\"\n element={\n <TemplateListPageComponent\n TemplateCardComponent={TemplateCardComponent}\n contextMenu={props.contextMenu}\n groups={props.groups}\n templateFilter={props.templateFilter}\n />\n }\n />\n <Route\n path={selectedTemplateRouteRef.path}\n element={\n <SecretsContextProvider>\n <TemplateWizardPageComponent\n customFieldExtensions={fieldExtensions}\n layouts={customLayouts}\n FormProps={props.FormProps}\n />\n </SecretsContextProvider>\n }\n />\n <Route\n path={scaffolderTaskRouteRef.path}\n element={\n <TaskPageComponent\n TemplateOutputsComponent={TemplateOutputsComponent}\n />\n }\n />\n <Route\n path={editRouteRef.path}\n element={\n <SecretsContextProvider>\n <TemplateEditorPage\n customFieldExtensions={fieldExtensions}\n layouts={customLayouts}\n />\n </SecretsContextProvider>\n }\n />\n\n <Route path={actionsRouteRef.path} element={<ActionsPage />} />\n <Route\n path={scaffolderListTaskRouteRef.path}\n element={<ListTasksPage />}\n />\n <Route\n path=\"*\"\n element={<ErrorPage status=\"404\" statusMessage=\"Page not found\" />}\n />\n </Routes>\n );\n};\n"],"names":["RouterLink","_a","_b"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCa,MAAA,sBAAA,GAAyB,CAAC,KAAuC,KAAA;AAC5E,EAAM,MAAA,EAAE,KAAO,EAAA,EAAA,EAAO,GAAA,KAAA,CAAA;AACtB,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,aAAc,CAAA;AAAA,IAChC,UAAY,EAAA,6BAAA;AAAA,GACb,CAAA,CAAA;AACD,EAAA,MAAM,UAAa,GAAA,aAAA;AAAA,IAA8B,CAC/C,KAAA,KAAA,KAAA,CAAM,WAAY,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA,GAC7B,CAAA;AAEA,EAAI,IAAA,CAAC,EAAM,IAAA,CAAC,OAAS,EAAA;AACnB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,UACL,mBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAAA,IAAA;AAAA,MACX,KAAM,EAAA,SAAA;AAAA,MACN,KAAA;AAAA,MACA,IAAK,EAAA,OAAA;AAAA,MACL,EAAA;AAAA,KAAA;AAAA,wCAEC,gBAAiB,EAAA,IAAA,CAAA;AAAA,GACpB,mBAEC,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,SAAW,EAAAA,IAAA,EAAY,SAAQ,WAAY,EAAA,KAAA,EAAM,SAAU,EAAA,EAAA,EAAA,EAChE,KACH,CAAA,CAAA;AAEJ,CAAA;;ACIA,MAAM,YAAoC,GAAA;AAAA,EACxC,KAAO,EAAA,WAAA;AAAA,EACP,QAAQ,MAAM,IAAA;AAChB,CAAA,CAAA;AAEA,MAAM,qBAAA,GAAwB,CAC5B,MAC0B,KAAA;AAAA,EAC1B,GAAG,MAAA;AAAA,EACH;AAAA,IACE,KAAO,EAAA,iBAAA;AAAA,IACP,MAAQ,EAAA,CAAA,CAAA,KAAK,CAAC,CAAC,GAAG,MAAM,CAAA,CAAE,IAAK,CAAA,CAAC,EAAE,MAAA,EAAa,KAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA,GAC1D;AACF,CAAA,CAAA;AAKa,MAAA,gBAAA,GAAmB,CAAC,KAAiC,KAAA;AAzFlE,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA0FE,EAAM,MAAA,qBAAA,GAAwB,YAAY,yBAAyB,CAAA,CAAA;AACnE,EAAM,MAAA;AAAA,IACJ,qBAAA;AAAA,IACA,MAAA,EAAQ,cAAc,EAAC;AAAA,IACvB,cAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,EAAM,MAAA,UAAA,GAAa,YAAY,YAAY,CAAA,CAAA;AAC3C,EAAM,MAAA,WAAA,GAAc,YAAY,eAAe,CAAA,CAAA;AAC/C,EAAM,MAAA,SAAA,GAAY,YAAY,0BAA0B,CAAA,CAAA;AACxD,EAAM,MAAA,gBAAA,GAAmB,YAAY,mBAAmB,CAAA,CAAA;AACxD,EAAM,MAAA,aAAA,GAAgB,YAAY,wBAAwB,CAAA,CAAA;AAC1D,EAAA,MAAM,MAAM,MAAO,EAAA,CAAA;AAEnB,EAAA,MAAM,SAAS,WAAY,CAAA,MAAA,GACvB,sBAAsB,WAAW,CAAA,GACjC,CAAC,YAAY,CAAA,CAAA;AAEjB,EAAA,MAAM,8BAAiC,GAAA;AAAA,IACrC,eAAA,EAAA,CAAA,CACE,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,WAAA,KAAP,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,MAAW,QAC3B,MAAM,QAAA,CAAS,UAAW,EAAC,CAC3B,GAAA,KAAA,CAAA;AAAA,IACN,gBAAA,EAAA,CAAA,CACE,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,WAAA,KAAP,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,MAAY,QAC5B,MAAM,QAAA,CAAS,WAAY,EAAC,CAC5B,GAAA,KAAA,CAAA;AAAA,IACN,cAAA,EAAA,CAAA,CACE,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,WAAA,KAAP,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,MAAU,QAC1B,MAAM,QAAA,CAAS,SAAU,EAAC,CAC1B,GAAA,KAAA,CAAA;AAAA,GACR,CAAA;AAEA,EAAA,MAAM,wBAA2B,GAAA,WAAA;AAAA,IAC/B,CAAC,QAAoC,KAAA;AA5HzC,MAAA,IAAAC,GAAAC,EAAAA,GAAAA,CAAAA;AA6HM,MAAA,MAAM,EAAE,IAAA,EAAM,SAAW,EAAA,IAAA,EAAS,GAAA,cAAA;AAAA,QAChC,mBAAmB,QAAQ,CAAA;AAAA,OAC7B,CAAA;AACA,MAAA,OAAA,CAAA,CAAOD,MAAA,QAAS,CAAA,QAAA,CAAS,gBAAlB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAgC,iCACrC,gBACE,GAAA;AAAA,QACE;AAAA,UACE,OAAMC,GAAA,GAAA,GAAA,CAAI,cAAc,MAAM,CAAA,KAAxB,OAAAA,GAA6B,GAAA,QAAA;AAAA,UACnC,IAAM,EAAA,eAAA;AAAA,UACN,KAAK,gBAAiB,CAAA,EAAE,IAAM,EAAA,SAAA,EAAW,MAAM,CAAA;AAAA,SACjD;AAAA,UAEF,EAAC,CAAA;AAAA,KACP;AAAA,IACA,CAAC,KAAK,gBAAgB,CAAA;AAAA,GACxB,CAAA;AAEA,EAAA,MAAM,kBAAqB,GAAA,WAAA;AAAA,IACzB,CAAC,QAAoC,KAAA;AACnC,MAAA,MAAM,EAAE,SAAW,EAAA,IAAA,KAAS,cAAe,CAAA,kBAAA,CAAmB,QAAQ,CAAC,CAAA,CAAA;AAEvE,MAAA,QAAA,CAAS,cAAc,EAAE,SAAA,EAAW,YAAc,EAAA,IAAA,EAAM,CAAC,CAAA,CAAA;AAAA,KAC3D;AAAA,IACA,CAAC,UAAU,aAAa,CAAA;AAAA,GAC1B,CAAA;AAEA,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,IAAA,kBACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,SAAQ,SACZ,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,iBAAkB,EAAA,wBAAA;AAAA,MAClB,KAAM,EAAA,wBAAA;AAAA,MACN,QAAS,EAAA,8EAAA;AAAA,KAAA;AAAA,oBAET,KAAA,CAAA,aAAA,CAAC,yBAA2B,EAAA,EAAA,GAAG,8BAAgC,EAAA,CAAA;AAAA,qBAEhE,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,kBACE,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,OAAM,qBACnB,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,6BAAA;AAAA,MACN,EAAA,EAAI,yBAAyB,qBAAsB,EAAA;AAAA,KAAA;AAAA,GACrD,sCACC,aAAc,EAAA,IAAA,EAAA,6JAIf,CACF,CAEA,kBAAA,KAAA,CAAA,aAAA,CAAC,2CACE,KAAA,CAAA,aAAA,CAAA,mBAAA,CAAoB,SAApB,IACC,kBAAA,KAAA,CAAA,aAAA,CAAC,qBAAgB,CACjB,kBAAA,KAAA,CAAA,aAAA,CAAC,oBAAiB,aAAc,EAAA,UAAA,EAAW,MAAM,EAAA,IAAA,EAAC,CAClD,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,aAAc,EAAA,KAAA;AAAA,MACd,gBAAA,EAAkB,CAAC,KAAA,EAAO,SAAS,CAAA;AAAA,KAAA;AAAA,GACrC,kBACC,KAAA,CAAA,aAAA,CAAA,sBAAA,EAAA,IAAuB,CACxB,kBAAA,KAAA,CAAA,aAAA,CAAC,eAAgB,EAAA,IAAA,CACnB,CACA,kBAAA,KAAA,CAAA,aAAA,CAAC,mBAAoB,CAAA,OAAA,EAApB,IACC,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,cAAA;AAAA,MACA,qBAAA;AAAA,MACA,kBAAA;AAAA,MACA,wBAAA;AAAA,KAAA;AAAA,GAEJ,CACF,CACF,CACF,CACF,CAAA,CAAA;AAEJ,CAAA;;ACnJa,MAAA,kBAAA,GAAqB,CAAC,KAAmC,KAAA;AACpE,EAAM,MAAA,OAAA,GAAU,YAAY,YAAY,CAAA,CAAA;AACxC,EAAM,MAAA,SAAA,GAAY,YAAY,sBAAsB,CAAA,CAAA;AACpD,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,kBAAmB,EAAA,CAAA;AACvC,EAAM,MAAA,aAAA,GAAgB,OAAO,gBAAgB,CAAA,CAAA;AAC7C,EAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,EAAM,MAAA,EAAE,YAAc,EAAA,SAAA,EAAc,GAAA,iBAAA;AAAA,IAClC,wBAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,cAAc,kBAAmB,CAAA;AAAA,IACrC,IAAM,EAAA,UAAA;AAAA,IACN,SAAA;AAAA,IACA,IAAM,EAAA,YAAA;AAAA,GACP,CAAA,CAAA;AAED,EAAM,MAAA,QAAA,GAAW,OAAO,MAAsC,KAAA;AAC5D,IAAA,MAAM,EAAE,MAAA,EAAW,GAAA,MAAM,cAAc,QAAS,CAAA;AAAA,MAC9C,WAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,QAAA,CAAS,SAAU,CAAA,EAAE,MAAO,EAAC,CAAC,CAAA,CAAA;AAAA,GAChC,CAAA;AAEA,EAAA,MAAM,UAAU,sBAAM,KAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,EAAA,EAAI,SAAW,EAAA,CAAA,CAAA;AAE/C,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,UAAA,EAAY,EAAE,SAAA,EAAW,aACzC,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,OAAA,EAAQ,SACZ,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,iBAAkB,EAAA,wBAAA;AAAA,MAClB,KAAM,EAAA,wBAAA;AAAA,MACN,QAAS,EAAA,8EAAA;AAAA,KAAA;AAAA,GAEX,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,YAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAY,KAAM,CAAA,qBAAA;AAAA,MAClB,WAAW,KAAM,CAAA,SAAA;AAAA,MACjB,SAAS,KAAM,CAAA,OAAA;AAAA,KAAA;AAAA,GAEnB,CACF,CAAA,CAAA;AAEJ,CAAA;;ACtDO,SAAS,mBAAmB,KAAgC,EAAA;AACjE,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,QAAoB,EAAA,CAAA;AAEtD,EAAA,IAAI,OAA8B,GAAA,IAAA,CAAA;AAClC,EAAI,IAAA,CAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAW,UAAS,OAAS,EAAA;AAC/B,IACE,OAAA,mBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,WAAW,SAAU,CAAA,SAAA;AAAA,QACrB,iBAAiB,KAAM,CAAA,qBAAA;AAAA,QACvB,OAAA,EAAS,MAAM,YAAA,CAAa,KAAS,CAAA,CAAA;AAAA,QACrC,SAAS,KAAM,CAAA,OAAA;AAAA,OAAA;AAAA,KACjB,CAAA;AAAA,GAEJ,MAAA,IAAA,CAAW,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,IAAA,MAAS,MAAQ,EAAA;AACrC,IACE,OAAA,mBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,qBAAA;AAAA,MAAA;AAAA,QACC,wBAAwB,KAAM,CAAA,sBAAA;AAAA,QAC9B,uBAAuB,KAAM,CAAA,qBAAA;AAAA,QAC7B,OAAA,EAAS,MAAM,YAAA,CAAa,KAAS,CAAA,CAAA;AAAA,QACrC,SAAS,KAAM,CAAA,OAAA;AAAA,OAAA;AAAA,KACjB,CAAA;AAAA,GAEJ,MAAA,IAAA,CAAW,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,IAAA,MAAS,gBAAkB,EAAA;AAC/C,IACE,OAAA,mBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACC,uBAAuB,KAAM,CAAA,qBAAA;AAAA,QAC7B,OAAA,EAAS,MAAM,YAAA,CAAa,KAAS,CAAA,CAAA;AAAA,OAAA;AAAA,KACvC,CAAA;AAAA,GAEG,MAAA;AACL,IAAA,OAAA,uCACG,OACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACC,UAAU,CAAU,MAAA,KAAA;AAClB,UAAA,IAAI,WAAW,OAAS,EAAA;AACtB,YAAA,mBAAA,CAAoB,sBAAuB,EAAA,CACxC,IAAK,CAAA,CAAA,SAAA,KAAa,YAAa,CAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAU,EAAC,CAAC,CAAA,CAC5D,MAAM,MAAM;AAAA,aAAE,CAAA,CAAA;AAAA,WACnB,MAAA,IAAW,WAAW,MAAQ,EAAA;AAC5B,YAAa,YAAA,CAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,CAAA,CAAA;AAAA,WAC/B,MAAA,IAAW,WAAW,gBAAkB,EAAA;AACtC,YAAa,YAAA,CAAA,EAAE,IAAM,EAAA,gBAAA,EAAkB,CAAA,CAAA;AAAA,WACzC;AAAA,SACF;AAAA,OAAA;AAAA,KAEJ,CAAA,CAAA;AAAA,GAEJ;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,OAAA,EAAQ,MACZ,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,iBAAA;AAAA,MACN,QAAS,EAAA,yDAAA;AAAA,KAAA;AAAA,KAEV,OACH,CAAA,CAAA;AAEJ;;AClBa,MAAA,MAAA,GAAS,CAAC,KAA8C,KAAA;AACnE,EAAM,MAAA;AAAA,IACJ,UAAY,EAAA;AAAA,MACV,qBAAA;AAAA,MACA,wBAAA;AAAA,MACA,iBAAoB,GAAA,WAAA;AAAA,MACpB,yBAA4B,GAAA,gBAAA;AAAA,MAC5B,2BAA8B,GAAA,kBAAA;AAAA,QAC5B,EAAC;AAAA,GACH,GAAA,KAAA,CAAA;AACJ,EAAM,MAAA,MAAA,GAAS,SAAU,EAAA,IAAK,KAAM,CAAA,QAAA,CAAA;AACpC,EAAM,MAAA,qBAAA,GACJ,yBAAoD,MAAM,CAAA,CAAA;AAE5D,EAAA,MAAM,eAAkB,GAAA;AAAA,IACtB,GAAG,qBAAA;AAAA,IACH,GAAG,mCAAoC,CAAA,MAAA;AAAA,MACrC,CAAC,EAAE,IAAK,EAAA,KACN,CAAC,qBAAsB,CAAA,IAAA;AAAA,QACrB,CAAA,oBAAA,KAAwB,qBAAqB,IAAS,KAAA,IAAA;AAAA,OACxD;AAAA,KACJ;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,iBAAiB,MAAM,CAAA,CAAA;AAE7C,EAAA,2CACG,MACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,GAAA;AAAA,MACL,OACE,kBAAA,KAAA,CAAA,aAAA;AAAA,QAAC,yBAAA;AAAA,QAAA;AAAA,UACC,qBAAA;AAAA,UACA,aAAa,KAAM,CAAA,WAAA;AAAA,UACnB,QAAQ,KAAM,CAAA,MAAA;AAAA,UACd,gBAAgB,KAAM,CAAA,cAAA;AAAA,SAAA;AAAA,OACxB;AAAA,KAAA;AAAA,GAGJ,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,MAAM,wBAAyB,CAAA,IAAA;AAAA,MAC/B,OAAA,sCACG,sBACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,QAAC,2BAAA;AAAA,QAAA;AAAA,UACC,qBAAuB,EAAA,eAAA;AAAA,UACvB,OAAS,EAAA,aAAA;AAAA,UACT,WAAW,KAAM,CAAA,SAAA;AAAA,SAAA;AAAA,OAErB,CAAA;AAAA,KAAA;AAAA,GAGJ,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,MAAM,sBAAuB,CAAA,IAAA;AAAA,MAC7B,OACE,kBAAA,KAAA,CAAA,aAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,wBAAA;AAAA,SAAA;AAAA,OACF;AAAA,KAAA;AAAA,GAGJ,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,MAAM,YAAa,CAAA,IAAA;AAAA,MACnB,OAAA,sCACG,sBACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,QAAC,kBAAA;AAAA,QAAA;AAAA,UACC,qBAAuB,EAAA,eAAA;AAAA,UACvB,OAAS,EAAA,aAAA;AAAA,SAAA;AAAA,OAEb,CAAA;AAAA,KAAA;AAAA,GAEJ,kBAEC,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,IAAM,EAAA,eAAA,CAAgB,MAAM,OAAS,kBAAA,KAAA,CAAA,aAAA,CAAC,WAAY,EAAA,IAAA,CAAA,EAAI,CAC7D,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,MAAM,0BAA2B,CAAA,IAAA;AAAA,MACjC,OAAA,sCAAU,aAAc,EAAA,IAAA,CAAA;AAAA,KAAA;AAAA,GAE1B,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,GAAA;AAAA,MACL,yBAAU,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,MAAO,EAAA,KAAA,EAAM,eAAc,gBAAiB,EAAA,CAAA;AAAA,KAAA;AAAA,GAEpE,CAAA,CAAA;AAEJ;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
3
3
|
import { DiscoveryApi, FetchApi, IdentityApi, ApiHolder } from '@backstage/core-plugin-api';
|
|
4
4
|
import { ScmIntegrationRegistry } from '@backstage/integration';
|
|
5
|
-
import { Observable
|
|
6
|
-
import * as _backstage_plugin_scaffolder_react from '@backstage/plugin-scaffolder-react';
|
|
5
|
+
import { Observable } from '@backstage/types';
|
|
7
6
|
import { ScaffolderApi as ScaffolderApi$1, ScaffolderTask as ScaffolderTask$1, ScaffolderGetIntegrationsListOptions as ScaffolderGetIntegrationsListOptions$1, ScaffolderGetIntegrationsListResponse as ScaffolderGetIntegrationsListResponse$1, TemplateParameterSchema as TemplateParameterSchema$1, ScaffolderScaffoldOptions as ScaffolderScaffoldOptions$1, ScaffolderScaffoldResponse as ScaffolderScaffoldResponse$1, ScaffolderStreamLogsOptions as ScaffolderStreamLogsOptions$1, LogEvent as LogEvent$1, ScaffolderDryRunOptions as ScaffolderDryRunOptions$1, ScaffolderDryRunResponse as ScaffolderDryRunResponse$1, ListActionsResponse as ListActionsResponse$1, CustomFieldExtensionSchema as CustomFieldExtensionSchema$1, FieldExtensionComponentProps as FieldExtensionComponentProps$1, createScaffolderFieldExtension as createScaffolderFieldExtension$1, ScaffolderUseTemplateSecrets as ScaffolderUseTemplateSecrets$1, CustomFieldValidator as CustomFieldValidator$1, FieldExtensionOptions as FieldExtensionOptions$1, FieldExtensionComponent as FieldExtensionComponent$1, ScaffolderOutputLink, ScaffolderTaskOutput as ScaffolderTaskOutput$1, ScaffolderTaskStatus as ScaffolderTaskStatus$1, createScaffolderLayout as createScaffolderLayout$1, LayoutTemplate as LayoutTemplate$1, LayoutOptions as LayoutOptions$1 } from '@backstage/plugin-scaffolder-react';
|
|
8
|
-
|
|
9
|
-
import React__default, { ComponentType } from 'react';
|
|
10
|
-
import { Entity } from '@backstage/catalog-model';
|
|
11
|
-
import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
|
|
12
|
-
import { UiSchema } from '@rjsf/utils';
|
|
7
|
+
export { a as EntityNamePickerFieldExtension, E as EntityPickerFieldExtension, b as EntityTagsPickerFieldExtension, c as OwnedEntityPickerFieldExtension, O as OwnerPickerFieldExtension, R as RepoUrlPickerFieldExtension, e as ReviewStepProps, d as RouterProps, S as ScaffolderPage, s as scaffolderPlugin } from './types/plugin.d-7a7914d1.js';
|
|
13
8
|
import { z } from 'zod';
|
|
14
9
|
import { FieldValidation } from '@rjsf/core';
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
import '@backstage/plugin-scaffolder-common';
|
|
12
|
+
import '@backstage/plugin-scaffolder-react/alpha';
|
|
13
|
+
import '@backstage/catalog-model';
|
|
14
|
+
import '@rjsf/utils';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* An API to interact with the scaffolder backend.
|
|
@@ -48,165 +48,6 @@ declare class ScaffolderClient implements ScaffolderApi$1 {
|
|
|
48
48
|
cancelTask(taskId: string): Promise<void>;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
/**
|
|
52
|
-
* The props for the Last Step in scaffolder template form.
|
|
53
|
-
* Which represents the summary of the input provided by the end user.
|
|
54
|
-
*
|
|
55
|
-
* @public
|
|
56
|
-
*/
|
|
57
|
-
declare type ReviewStepProps = {
|
|
58
|
-
disableButtons: boolean;
|
|
59
|
-
formData: JsonObject;
|
|
60
|
-
handleBack: () => void;
|
|
61
|
-
handleReset: () => void;
|
|
62
|
-
handleCreate: () => void;
|
|
63
|
-
steps: {
|
|
64
|
-
uiSchema: UiSchema;
|
|
65
|
-
mergedSchema: JsonObject;
|
|
66
|
-
schema: JsonObject;
|
|
67
|
-
}[];
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* The props for the entrypoint `ScaffolderPage` component the plugin.
|
|
72
|
-
* @public
|
|
73
|
-
*/
|
|
74
|
-
declare type RouterProps = {
|
|
75
|
-
components?: {
|
|
76
|
-
ReviewStepComponent?: ComponentType<ReviewStepProps>;
|
|
77
|
-
TemplateCardComponent?: ComponentType<{
|
|
78
|
-
template: TemplateEntityV1beta3;
|
|
79
|
-
}> | undefined;
|
|
80
|
-
TaskPageComponent?: ComponentType<{}>;
|
|
81
|
-
};
|
|
82
|
-
groups?: Array<{
|
|
83
|
-
title?: React__default.ReactNode;
|
|
84
|
-
filter: (entity: Entity) => boolean;
|
|
85
|
-
}>;
|
|
86
|
-
templateFilter?: (entity: TemplateEntityV1beta3) => boolean;
|
|
87
|
-
defaultPreviewTemplate?: string;
|
|
88
|
-
headerOptions?: {
|
|
89
|
-
pageTitleOverride?: string;
|
|
90
|
-
title?: string;
|
|
91
|
-
subtitle?: string;
|
|
92
|
-
};
|
|
93
|
-
/**
|
|
94
|
-
* Options for the context menu on the scaffolder page.
|
|
95
|
-
*/
|
|
96
|
-
contextMenu?: {
|
|
97
|
-
/** Whether to show a link to the template editor */
|
|
98
|
-
editor?: boolean;
|
|
99
|
-
/** Whether to show a link to the actions documentation */
|
|
100
|
-
actions?: boolean;
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* The main plugin export for the scaffolder.
|
|
106
|
-
* @public
|
|
107
|
-
*/
|
|
108
|
-
declare const scaffolderPlugin: _backstage_core_plugin_api.BackstagePlugin<{
|
|
109
|
-
root: _backstage_core_plugin_api.RouteRef<undefined>;
|
|
110
|
-
selectedTemplate: _backstage_core_plugin_api.SubRouteRef<_backstage_core_plugin_api.PathParams<"/templates/:namespace/:templateName">>;
|
|
111
|
-
ongoingTask: _backstage_core_plugin_api.SubRouteRef<_backstage_core_plugin_api.PathParams<"/tasks/:taskId">>;
|
|
112
|
-
actions: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
113
|
-
listTasks: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
114
|
-
edit: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
115
|
-
}, {
|
|
116
|
-
registerComponent: _backstage_core_plugin_api.ExternalRouteRef<undefined, true>;
|
|
117
|
-
viewTechDoc: _backstage_core_plugin_api.ExternalRouteRef<{
|
|
118
|
-
name: string;
|
|
119
|
-
kind: string;
|
|
120
|
-
namespace: string;
|
|
121
|
-
}, true>;
|
|
122
|
-
}, {}>;
|
|
123
|
-
/**
|
|
124
|
-
* A field extension for selecting an Entity that exists in the Catalog.
|
|
125
|
-
*
|
|
126
|
-
* @public
|
|
127
|
-
*/
|
|
128
|
-
declare const EntityPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {
|
|
129
|
-
defaultKind?: string | undefined;
|
|
130
|
-
defaultNamespace?: string | false | undefined;
|
|
131
|
-
allowedKinds?: string[] | undefined;
|
|
132
|
-
allowArbitraryValues?: boolean | undefined;
|
|
133
|
-
catalogFilter?: Record<string, string | string[] | {
|
|
134
|
-
exists?: boolean | undefined;
|
|
135
|
-
}> | Record<string, string | string[] | {
|
|
136
|
-
exists?: boolean | undefined;
|
|
137
|
-
}>[] | undefined;
|
|
138
|
-
}>;
|
|
139
|
-
/**
|
|
140
|
-
* The field extension for selecting a name for a new Entity in the Catalog.
|
|
141
|
-
*
|
|
142
|
-
* @public
|
|
143
|
-
*/
|
|
144
|
-
declare const EntityNamePickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {}>;
|
|
145
|
-
/**
|
|
146
|
-
* The field extension which provides the ability to select a RepositoryUrl.
|
|
147
|
-
* Currently, this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`.
|
|
148
|
-
*
|
|
149
|
-
* @public
|
|
150
|
-
*/
|
|
151
|
-
declare const RepoUrlPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {
|
|
152
|
-
allowedHosts?: string[] | undefined;
|
|
153
|
-
allowedOrganizations?: string[] | undefined;
|
|
154
|
-
allowedOwners?: string[] | undefined;
|
|
155
|
-
allowedProjects?: string[] | undefined;
|
|
156
|
-
allowedRepos?: string[] | undefined;
|
|
157
|
-
requestUserCredentials?: {
|
|
158
|
-
additionalScopes?: {
|
|
159
|
-
azure?: string[] | undefined;
|
|
160
|
-
github?: string[] | undefined;
|
|
161
|
-
gitlab?: string[] | undefined;
|
|
162
|
-
bitbucket?: string[] | undefined;
|
|
163
|
-
gerrit?: string[] | undefined;
|
|
164
|
-
} | undefined;
|
|
165
|
-
secretsKey: string;
|
|
166
|
-
} | undefined;
|
|
167
|
-
}>;
|
|
168
|
-
/**
|
|
169
|
-
* A field extension for picking users and groups out of the Catalog.
|
|
170
|
-
*
|
|
171
|
-
* @public
|
|
172
|
-
*/
|
|
173
|
-
declare const OwnerPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {
|
|
174
|
-
defaultNamespace?: string | false | undefined;
|
|
175
|
-
allowedKinds?: string[] | undefined;
|
|
176
|
-
allowArbitraryValues?: boolean | undefined;
|
|
177
|
-
catalogFilter?: Record<string, string | string[] | {
|
|
178
|
-
exists?: boolean | undefined;
|
|
179
|
-
}> | Record<string, string | string[] | {
|
|
180
|
-
exists?: boolean | undefined;
|
|
181
|
-
}>[] | undefined;
|
|
182
|
-
}>;
|
|
183
|
-
/**
|
|
184
|
-
* The Router and main entrypoint to the Scaffolder plugin.
|
|
185
|
-
*
|
|
186
|
-
* @public
|
|
187
|
-
*/
|
|
188
|
-
declare const ScaffolderPage: (props: RouterProps) => JSX.Element;
|
|
189
|
-
/**
|
|
190
|
-
* A field extension to show all the Entities that are owned by the current logged-in User for use in templates.
|
|
191
|
-
*
|
|
192
|
-
* @public
|
|
193
|
-
*/
|
|
194
|
-
declare const OwnedEntityPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {
|
|
195
|
-
defaultKind?: string | undefined;
|
|
196
|
-
defaultNamespace?: string | false | undefined;
|
|
197
|
-
allowedKinds?: string[] | undefined;
|
|
198
|
-
allowArbitraryValues?: boolean | undefined;
|
|
199
|
-
}>;
|
|
200
|
-
/**
|
|
201
|
-
* EntityTagsPickerFieldExtension
|
|
202
|
-
* @public
|
|
203
|
-
*/
|
|
204
|
-
declare const EntityTagsPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string[], {
|
|
205
|
-
showCounts?: boolean | undefined;
|
|
206
|
-
kinds?: string[] | undefined;
|
|
207
|
-
helperText?: string | undefined;
|
|
208
|
-
}>;
|
|
209
|
-
|
|
210
51
|
/**
|
|
211
52
|
* @public
|
|
212
53
|
* FieldSchema encapsulates a JSONSchema7 along with the
|
|
@@ -228,10 +69,10 @@ declare function makeFieldSchemaFromZod<TReturnSchema extends z.ZodType, TUiOpti
|
|
|
228
69
|
* @public
|
|
229
70
|
*/
|
|
230
71
|
declare const EntityPickerFieldSchema: FieldSchema<string, {
|
|
231
|
-
defaultKind?: string | undefined;
|
|
232
|
-
defaultNamespace?: string | false | undefined;
|
|
233
72
|
allowedKinds?: string[] | undefined;
|
|
73
|
+
defaultKind?: string | undefined;
|
|
234
74
|
allowArbitraryValues?: boolean | undefined;
|
|
75
|
+
defaultNamespace?: string | false | undefined;
|
|
235
76
|
catalogFilter?: Record<string, string | string[] | {
|
|
236
77
|
exists?: boolean | undefined;
|
|
237
78
|
}> | Record<string, string | string[] | {
|
|
@@ -244,15 +85,15 @@ declare const EntityPickerFieldSchema: FieldSchema<string, {
|
|
|
244
85
|
*
|
|
245
86
|
* @public
|
|
246
87
|
*/
|
|
247
|
-
|
|
88
|
+
type EntityPickerUiOptions = typeof EntityPickerFieldSchema.uiOptionsType;
|
|
248
89
|
|
|
249
90
|
/**
|
|
250
91
|
* @public
|
|
251
92
|
*/
|
|
252
93
|
declare const OwnerPickerFieldSchema: FieldSchema<string, {
|
|
253
|
-
defaultNamespace?: string | false | undefined;
|
|
254
94
|
allowedKinds?: string[] | undefined;
|
|
255
95
|
allowArbitraryValues?: boolean | undefined;
|
|
96
|
+
defaultNamespace?: string | false | undefined;
|
|
256
97
|
catalogFilter?: Record<string, string | string[] | {
|
|
257
98
|
exists?: boolean | undefined;
|
|
258
99
|
}> | Record<string, string | string[] | {
|
|
@@ -265,7 +106,7 @@ declare const OwnerPickerFieldSchema: FieldSchema<string, {
|
|
|
265
106
|
*
|
|
266
107
|
* @public
|
|
267
108
|
*/
|
|
268
|
-
|
|
109
|
+
type OwnerPickerUiOptions = typeof OwnerPickerFieldSchema.uiOptionsType;
|
|
269
110
|
|
|
270
111
|
/**
|
|
271
112
|
* @public
|
|
@@ -277,14 +118,14 @@ declare const RepoUrlPickerFieldSchema: FieldSchema<string, {
|
|
|
277
118
|
allowedProjects?: string[] | undefined;
|
|
278
119
|
allowedRepos?: string[] | undefined;
|
|
279
120
|
requestUserCredentials?: {
|
|
121
|
+
secretsKey: string;
|
|
280
122
|
additionalScopes?: {
|
|
281
|
-
|
|
123
|
+
gerrit?: string[] | undefined;
|
|
282
124
|
github?: string[] | undefined;
|
|
283
125
|
gitlab?: string[] | undefined;
|
|
284
126
|
bitbucket?: string[] | undefined;
|
|
285
|
-
|
|
127
|
+
azure?: string[] | undefined;
|
|
286
128
|
} | undefined;
|
|
287
|
-
secretsKey: string;
|
|
288
129
|
} | undefined;
|
|
289
130
|
}>;
|
|
290
131
|
/**
|
|
@@ -293,7 +134,7 @@ declare const RepoUrlPickerFieldSchema: FieldSchema<string, {
|
|
|
293
134
|
*
|
|
294
135
|
* @public
|
|
295
136
|
*/
|
|
296
|
-
|
|
137
|
+
type RepoUrlPickerUiOptions = typeof RepoUrlPickerFieldSchema.uiOptionsType;
|
|
297
138
|
|
|
298
139
|
/**
|
|
299
140
|
* The validation function for the `repoUrl` that is returned from the
|
|
@@ -310,10 +151,10 @@ declare const repoPickerValidation: (value: string, validation: FieldValidation,
|
|
|
310
151
|
* @public
|
|
311
152
|
*/
|
|
312
153
|
declare const OwnedEntityPickerFieldSchema: FieldSchema<string, {
|
|
313
|
-
defaultKind?: string | undefined;
|
|
314
|
-
defaultNamespace?: string | false | undefined;
|
|
315
154
|
allowedKinds?: string[] | undefined;
|
|
155
|
+
defaultKind?: string | undefined;
|
|
316
156
|
allowArbitraryValues?: boolean | undefined;
|
|
157
|
+
defaultNamespace?: string | false | undefined;
|
|
317
158
|
}>;
|
|
318
159
|
/**
|
|
319
160
|
* The input props that can be specified under `ui:options` for the
|
|
@@ -321,14 +162,14 @@ declare const OwnedEntityPickerFieldSchema: FieldSchema<string, {
|
|
|
321
162
|
*
|
|
322
163
|
* @public
|
|
323
164
|
*/
|
|
324
|
-
|
|
165
|
+
type OwnedEntityPickerUiOptions = typeof OwnedEntityPickerFieldSchema.uiOptionsType;
|
|
325
166
|
|
|
326
167
|
/**
|
|
327
168
|
* @public
|
|
328
169
|
*/
|
|
329
170
|
declare const EntityTagsPickerFieldSchema: FieldSchema<string[], {
|
|
330
|
-
showCounts?: boolean | undefined;
|
|
331
171
|
kinds?: string[] | undefined;
|
|
172
|
+
showCounts?: boolean | undefined;
|
|
332
173
|
helperText?: string | undefined;
|
|
333
174
|
}>;
|
|
334
175
|
/**
|
|
@@ -337,7 +178,7 @@ declare const EntityTagsPickerFieldSchema: FieldSchema<string[], {
|
|
|
337
178
|
*
|
|
338
179
|
* @public
|
|
339
180
|
*/
|
|
340
|
-
|
|
181
|
+
type EntityTagsPickerUiOptions = typeof EntityTagsPickerFieldSchema.uiOptionsType;
|
|
341
182
|
|
|
342
183
|
/**
|
|
343
184
|
* The component to select the `type` of `Template` that you will see in the table.
|
|
@@ -352,7 +193,7 @@ declare const TemplateTypePicker: () => JSX.Element | null;
|
|
|
352
193
|
*
|
|
353
194
|
* @public
|
|
354
195
|
*/
|
|
355
|
-
|
|
196
|
+
type TaskPageProps = {
|
|
356
197
|
loadingText?: string;
|
|
357
198
|
};
|
|
358
199
|
/**
|
|
@@ -393,107 +234,107 @@ declare const scaffolderApiRef: _backstage_core_plugin_api.ApiRef<ScaffolderApi$
|
|
|
393
234
|
* @public
|
|
394
235
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderApi} instead as this has now been moved.
|
|
395
236
|
*/
|
|
396
|
-
|
|
237
|
+
type ScaffolderApi = ScaffolderApi$1;
|
|
397
238
|
/**
|
|
398
239
|
* @public
|
|
399
240
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderUseTemplateSecrets} instead as this has now been moved.
|
|
400
241
|
*/
|
|
401
|
-
|
|
242
|
+
type ScaffolderUseTemplateSecrets = ScaffolderUseTemplateSecrets$1;
|
|
402
243
|
/**
|
|
403
244
|
* @public
|
|
404
245
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#TemplateParameterSchema} instead as this has now been moved.
|
|
405
246
|
*/
|
|
406
|
-
|
|
247
|
+
type TemplateParameterSchema = TemplateParameterSchema$1;
|
|
407
248
|
/**
|
|
408
249
|
* @public
|
|
409
250
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#CustomFieldExtensionSchema} instead as this has now been moved.
|
|
410
251
|
*/
|
|
411
|
-
|
|
252
|
+
type CustomFieldExtensionSchema = CustomFieldExtensionSchema$1;
|
|
412
253
|
/**
|
|
413
254
|
* @public
|
|
414
255
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#CustomFieldValidator} instead as this has now been moved.
|
|
415
256
|
*/
|
|
416
|
-
|
|
257
|
+
type CustomFieldValidator<TReturnFieldData> = CustomFieldValidator$1<TReturnFieldData>;
|
|
417
258
|
/**
|
|
418
259
|
* @public
|
|
419
260
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#FieldExtensionOptions} instead as this has now been moved.
|
|
420
261
|
*/
|
|
421
|
-
|
|
262
|
+
type FieldExtensionOptions = FieldExtensionOptions$1;
|
|
422
263
|
/**
|
|
423
264
|
* @public
|
|
424
265
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#FieldExtensionComponentProps} instead as this has now been moved.
|
|
425
266
|
*/
|
|
426
|
-
|
|
267
|
+
type FieldExtensionComponentProps<TFieldReturnValue, TUiOptions extends {} = {}> = FieldExtensionComponentProps$1<TFieldReturnValue, TUiOptions>;
|
|
427
268
|
/**
|
|
428
269
|
* @public
|
|
429
270
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#FieldExtensionComponent} instead as this has now been moved.
|
|
430
271
|
*/
|
|
431
|
-
|
|
272
|
+
type FieldExtensionComponent<_TReturnValue, _TInputProps> = FieldExtensionComponent$1<_TReturnValue, _TInputProps>;
|
|
432
273
|
/**
|
|
433
274
|
* @public
|
|
434
275
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ListActionsResponse} instead as this has now been moved.
|
|
435
276
|
*/
|
|
436
|
-
|
|
277
|
+
type ListActionsResponse = ListActionsResponse$1;
|
|
437
278
|
/**
|
|
438
279
|
* @public
|
|
439
280
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#LogEvent} instead as this has now been moved.
|
|
440
281
|
*/
|
|
441
|
-
|
|
282
|
+
type LogEvent = LogEvent$1;
|
|
442
283
|
/**
|
|
443
284
|
* @public
|
|
444
285
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderDryRunOptions} instead as this has now been moved.
|
|
445
286
|
*/
|
|
446
|
-
|
|
287
|
+
type ScaffolderDryRunOptions = ScaffolderDryRunOptions$1;
|
|
447
288
|
/**
|
|
448
289
|
* @public
|
|
449
290
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderDryRunResponse} instead as this has now been moved.
|
|
450
291
|
*/
|
|
451
|
-
|
|
292
|
+
type ScaffolderDryRunResponse = ScaffolderDryRunResponse$1;
|
|
452
293
|
/**
|
|
453
294
|
* @public
|
|
454
295
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderGetIntegrationsListOptions} instead as this has now been moved.
|
|
455
296
|
*/
|
|
456
|
-
|
|
297
|
+
type ScaffolderGetIntegrationsListOptions = ScaffolderGetIntegrationsListOptions$1;
|
|
457
298
|
/**
|
|
458
299
|
* @public
|
|
459
300
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderGetIntegrationsListResponse} instead as this has now been moved.
|
|
460
301
|
*/
|
|
461
|
-
|
|
302
|
+
type ScaffolderGetIntegrationsListResponse = ScaffolderGetIntegrationsListResponse$1;
|
|
462
303
|
/**
|
|
463
304
|
* @public
|
|
464
305
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderOutputlink} instead as this has now been moved.
|
|
465
306
|
*/
|
|
466
|
-
|
|
307
|
+
type ScaffolderOutputlink = ScaffolderOutputLink;
|
|
467
308
|
/**
|
|
468
309
|
* @public
|
|
469
310
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderScaffoldOptions} instead as this has now been moved.
|
|
470
311
|
*/
|
|
471
|
-
|
|
312
|
+
type ScaffolderScaffoldOptions = ScaffolderScaffoldOptions$1;
|
|
472
313
|
/**
|
|
473
314
|
* @public
|
|
474
315
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderScaffoldResponse} instead as this has now been moved.
|
|
475
316
|
*/
|
|
476
|
-
|
|
317
|
+
type ScaffolderScaffoldResponse = ScaffolderScaffoldResponse$1;
|
|
477
318
|
/**
|
|
478
319
|
* @public
|
|
479
320
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderStreamLogsOptions} instead as this has now been moved.
|
|
480
321
|
*/
|
|
481
|
-
|
|
322
|
+
type ScaffolderStreamLogsOptions = ScaffolderStreamLogsOptions$1;
|
|
482
323
|
/**
|
|
483
324
|
* @public
|
|
484
325
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderTask} instead as this has now been moved.
|
|
485
326
|
*/
|
|
486
|
-
|
|
327
|
+
type ScaffolderTask = ScaffolderTask$1;
|
|
487
328
|
/**
|
|
488
329
|
* @public
|
|
489
330
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderTaskOutput} instead as this has now been moved.
|
|
490
331
|
*/
|
|
491
|
-
|
|
332
|
+
type ScaffolderTaskOutput = ScaffolderTaskOutput$1;
|
|
492
333
|
/**
|
|
493
334
|
* @public
|
|
494
335
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderTaskStatus} instead as this has now been moved.
|
|
495
336
|
*/
|
|
496
|
-
|
|
337
|
+
type ScaffolderTaskStatus = ScaffolderTaskStatus$1;
|
|
497
338
|
/**
|
|
498
339
|
* @public
|
|
499
340
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#createScaffolderLayout} instead as this has now been moved.
|
|
@@ -508,11 +349,11 @@ declare const ScaffolderLayouts: React.ComponentType<{}>;
|
|
|
508
349
|
* @public
|
|
509
350
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#LayoutTemplate} instead as this has now been moved.
|
|
510
351
|
*/
|
|
511
|
-
|
|
352
|
+
type LayoutTemplate = LayoutTemplate$1;
|
|
512
353
|
/**
|
|
513
354
|
* @public
|
|
514
355
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#LayoutOptions} instead as this has now been moved.
|
|
515
356
|
*/
|
|
516
|
-
|
|
357
|
+
type LayoutOptions = LayoutOptions$1;
|
|
517
358
|
|
|
518
|
-
export { CustomFieldExtensionSchema, CustomFieldValidator,
|
|
359
|
+
export { CustomFieldExtensionSchema, CustomFieldValidator, EntityPickerFieldSchema, EntityPickerUiOptions, EntityTagsPickerFieldSchema, EntityTagsPickerUiOptions, FieldExtensionComponent, FieldExtensionComponentProps, FieldExtensionOptions, FieldSchema, LayoutOptions, LayoutTemplate, ListActionsResponse, LogEvent, OwnedEntityPickerFieldSchema, OwnedEntityPickerUiOptions, OwnerPickerFieldSchema, OwnerPickerUiOptions, RepoUrlPickerFieldSchema, RepoUrlPickerUiOptions, ScaffolderApi, ScaffolderClient, ScaffolderDryRunOptions, ScaffolderDryRunResponse, ScaffolderFieldExtensions, ScaffolderGetIntegrationsListOptions, ScaffolderGetIntegrationsListResponse, ScaffolderLayouts, ScaffolderOutputlink, ScaffolderScaffoldOptions, ScaffolderScaffoldResponse, ScaffolderStreamLogsOptions, ScaffolderTask, ScaffolderTaskOutput, ScaffolderTaskStatus, ScaffolderUseTemplateSecrets, TaskPage, TaskPageProps, TemplateParameterSchema, TemplateTypePicker, createScaffolderFieldExtension, createScaffolderLayout, makeFieldSchemaFromZod, repoPickerValidation, rootRouteRef, scaffolderApiRef, useTemplateSecrets };
|