@backstage/plugin-catalog-import 0.7.10 → 0.8.1

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 CHANGED
@@ -1,5 +1,110 @@
1
1
  # @backstage/plugin-catalog-import
2
2
 
3
+ ## 0.8.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 7bb1bde7f6: Minor API cleanups
8
+ - Updated dependencies
9
+ - @backstage/catalog-client@0.6.0
10
+ - @backstage/core-components@0.8.8
11
+ - @backstage/plugin-catalog-react@0.6.14
12
+ - @backstage/integration-react@0.1.21
13
+
14
+ ## 0.8.1-next.0
15
+
16
+ ### Patch Changes
17
+
18
+ - 7bb1bde7f6: Minor API cleanups
19
+ - Updated dependencies
20
+ - @backstage/core-components@0.8.8-next.0
21
+ - @backstage/plugin-catalog-react@0.6.14-next.0
22
+ - @backstage/integration-react@0.1.21-next.0
23
+
24
+ ## 0.8.0
25
+
26
+ ### Minor Changes
27
+
28
+ - 2e8764b95f: Make filename, branch name and examples URLs used in catalog import customizable.
29
+
30
+ Catalog backend ingestion loop can be already configured to fetch targets with custom catalog filename (other than `catalog-info.yaml`). It's now possible to customize said filename and branch name used in pull requests created by catalog import flow too. This allows organizations to further customize Backstage experience and to better reflect their branding.
31
+
32
+ Filename (default: `catalog-info.yaml`) and branch name (default: `backstage-integration`) used in pull requests can be configured in `app-config.yaml` as follows:
33
+
34
+ ```yaml
35
+ // app-config.yaml
36
+
37
+ catalog:
38
+ import:
39
+ entityFilename: anvil.yaml
40
+ pullRequestBranchName: anvil-integration
41
+ ```
42
+
43
+ Following React components have also been updated to accept optional props for providing example entity and repository paths:
44
+
45
+ ```tsx
46
+ <StepInitAnalyzeUrl
47
+ ...
48
+ exampleLocationUrl="https://github.com/acme-corp/our-awesome-api/blob/main/anvil.yaml"
49
+ />
50
+ ```
51
+
52
+ ```tsx
53
+ <ImportInfoCard
54
+ exampleLocationUrl="https://github.com/acme-corp/our-awesome-api/blob/main/anvil.yaml"
55
+ exampleRepositoryUrl="https://github.com/acme-corp/our-awesome-api"
56
+ />
57
+ ```
58
+
59
+ ### Patch Changes
60
+
61
+ - Updated dependencies
62
+ - @backstage/core-components@0.8.7
63
+ - @backstage/plugin-catalog-react@0.6.13
64
+ - @backstage/integration-react@0.1.20
65
+
66
+ ## 0.8.0-next.0
67
+
68
+ ### Minor Changes
69
+
70
+ - 2e8764b95f: Make filename, branch name and examples URLs used in catalog import customizable.
71
+
72
+ Catalog backend ingestion loop can be already configured to fetch targets with custom catalog filename (other than `catalog-info.yaml`). It's now possible to customize said filename and branch name used in pull requests created by catalog import flow too. This allows organizations to further customize Backstage experience and to better reflect their branding.
73
+
74
+ Filename (default: `catalog-info.yaml`) and branch name (default: `backstage-integration`) used in pull requests can be configured in `app-config.yaml` as follows:
75
+
76
+ ```yaml
77
+ // app-config.yaml
78
+
79
+ catalog:
80
+ import:
81
+ entityFilename: anvil.yaml
82
+ pullRequestBranchName: anvil-integration
83
+ ```
84
+
85
+ Following React components have also been updated to accept optional props for providing example entity and repository paths:
86
+
87
+ ```tsx
88
+ <StepInitAnalyzeUrl
89
+ ...
90
+ exampleLocationUrl="https://github.com/acme-corp/our-awesome-api/blob/main/anvil.yaml"
91
+ />
92
+ ```
93
+
94
+ ```tsx
95
+ <ImportInfoCard
96
+ exampleLocationUrl="https://github.com/acme-corp/our-awesome-api/blob/main/anvil.yaml"
97
+ exampleRepositoryUrl="https://github.com/acme-corp/our-awesome-api"
98
+ />
99
+ ```
100
+
101
+ ### Patch Changes
102
+
103
+ - Updated dependencies
104
+ - @backstage/core-components@0.8.7-next.0
105
+ - @backstage/integration-react@0.1.20-next.0
106
+ - @backstage/plugin-catalog-react@0.6.13-next.0
107
+
3
108
  ## 0.7.10
4
109
 
5
110
  ### Patch Changes
package/README.md CHANGED
@@ -35,39 +35,73 @@ import { CatalogImportPage } from '@backstage/plugin-catalog-import';
35
35
 
36
36
  ## Customizations
37
37
 
38
- ### Disable the creation of Pull Requests
38
+ ### Custom layout
39
+
40
+ A custom layout can be passed to the import page, as it's already
41
+ supported by the search page. If no custom layout is passed, the default layout
42
+ is used.
43
+
44
+ ```typescript
45
+ <Route path="/catalog-import" element={<CatalogImportPage />}>
46
+ <Page themeId="home">
47
+ <Header title="Register an existing component" />
48
+ <Content>
49
+ <ContentHeader title="Start tracking your components">
50
+ <SupportButton>
51
+ Start tracking your component in Backstage by adding it to the
52
+ software catalog.
53
+ </SupportButton>
54
+ </ContentHeader>
55
+
56
+ <Grid container spacing={2} direction="row-reverse">
57
+ <Grid item xs={12} md={4} lg={6} xl={8}>
58
+ Hello World
59
+ </Grid>
60
+
61
+ <Grid item xs={12} md={8} lg={6} xl={4}>
62
+ <ImportStepper />
63
+ </Grid>
64
+ </Grid>
65
+ </Content>
66
+ </Page>
67
+ </Route>
68
+ ```
39
69
 
40
- The pull request feature can be disabled by options that are passed to the `CatalogImportPage`:
70
+ Previously it was possible to disable and customize the automatic pull request
71
+ feature by passing options to `<CatalogImportPage>` (`pullRequest.disable` and
72
+ `pullRequest.preparePullRequest`). This functionality is moved to the
73
+ `CatalogImportApi` which now provides an optional `preparePullRequest()`
74
+ function. The function can either be overridden to generate a different content
75
+ for the pull request, or removed to disable this feature.
41
76
 
42
- ```tsx
43
- // packages/app/src/App.tsx
77
+ ### Entity filename and branch name
44
78
 
45
- <Route
46
- path="/catalog-import"
47
- element={<CatalogImportPage pullRequest={{ disable: true }} />}
48
- />
79
+ Entity filename (default: `catalog-info.yaml`) and branch name (default: `backstage-integration`) used in pull requests can be configured in `app-config.yaml` as follows:
80
+
81
+ ```yaml
82
+ // app-config.yaml
83
+
84
+ catalog:
85
+ import:
86
+ entityFilename: anvil.yaml
87
+ pullRequestBranchName: anvil-integration
49
88
  ```
50
89
 
51
- ### Customize the title and body of the Pull Request
90
+ ### Entity examples
52
91
 
53
- The pull request form is filled with a default title and body.
54
- This can be configured by options that are passed to the `CatalogImportPage`:
92
+ Following React components accept optional props for providing custom example entity and repository paths:
55
93
 
56
94
  ```tsx
57
- // packages/app/src/App.tsx
95
+ <StepInitAnalyzeUrl
96
+ ...
97
+ exampleLocationUrl="https://github.com/acme-corp/our-awesome-api/blob/main/anvil.yaml"
98
+ />
99
+ ```
58
100
 
59
- <Route
60
- path="/catalog-import"
61
- element={
62
- <CatalogImportPage
63
- pullRequest={{
64
- preparePullRequest: () => ({
65
- title: 'My title',
66
- body: 'My **markdown** body',
67
- }),
68
- }}
69
- />
70
- }
101
+ ```tsx
102
+ <ImportInfoCard
103
+ exampleLocationUrl="https://github.com/acme-corp/our-awesome-api/blob/main/anvil.yaml"
104
+ exampleRepositoryUrl="https://github.com/acme-corp/our-awesome-api"
71
105
  />
72
106
  ```
73
107
 
package/config.d.ts ADDED
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Copyright 2022 The Backstage Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ export interface Config {
18
+ /**
19
+ * Configuration options for the catalog plugin.
20
+ */
21
+ catalog?: {
22
+ /**
23
+ * List of import flow specific options and attributes
24
+ */
25
+ import?: {
26
+ /**
27
+ * Catalog entity descriptor filename, defaults to "catalog-info.yaml"
28
+ * @visibility frontend
29
+ */
30
+ entityFilename?: string;
31
+ /**
32
+ * A branch name used in pull request when registering existing component via UI
33
+ * Valid git refname required, see: https://git-scm.com/docs/git-check-ref-format
34
+ * Defaults to "backstage-integration"
35
+ * @visibility frontend
36
+ */
37
+ pullRequestBranchName?: string;
38
+ };
39
+ };
40
+ }
@@ -29,4 +29,4 @@ const ImportPage = () => {
29
29
  };
30
30
 
31
31
  export { ImportPage };
32
- //# sourceMappingURL=index-1d37898f.esm.js.map
32
+ //# sourceMappingURL=index-577cd187.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-1d37898f.esm.js","sources":["../../src/components/ImportPage/ImportPage.tsx"],"sourcesContent":["/*\n * Copyright 2020 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 from 'react';\nimport { useOutlet } from 'react-router';\nimport { DefaultImportPage } from '../DefaultImportPage';\n\nexport const ImportPage = () => {\n const outlet = useOutlet();\n\n return outlet || <DefaultImportPage />;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAoBa,aAAa,MAAM;AAC9B,QAAM,SAAS;AAEf,SAAO,8CAAW,mBAAD;AAAA;;;;"}
1
+ {"version":3,"file":"index-577cd187.esm.js","sources":["../../src/components/ImportPage/ImportPage.tsx"],"sourcesContent":["/*\n * Copyright 2020 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 from 'react';\nimport { useOutlet } from 'react-router';\nimport { DefaultImportPage } from '../DefaultImportPage';\n\n/**\n * The whole catalog import page.\n *\n * @public\n */\nexport const ImportPage = () => {\n const outlet = useOutlet();\n\n return outlet || <DefaultImportPage />;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAyBa,aAAa,MAAM;AAC9B,QAAM,SAAS;AAEf,SAAO,8CAAW,mBAAD;AAAA;;;;"}
package/dist/index.d.ts CHANGED
@@ -10,14 +10,35 @@ import { CatalogApi } from '@backstage/catalog-client';
10
10
  import { ScmIntegrationRegistry } from '@backstage/integration';
11
11
  import { ScmAuthApi } from '@backstage/integration-react';
12
12
 
13
+ /**
14
+ * A plugin that helps the user in importing projects and YAML files into the
15
+ * catalog.
16
+ *
17
+ * @public
18
+ */
13
19
  declare const catalogImportPlugin: _backstage_core_plugin_api.BackstagePlugin<{
14
20
  importPage: _backstage_core_plugin_api.RouteRef<undefined>;
15
21
  }, {}>;
22
+ /**
23
+ * The page for importing projects and YAML files into the catalog.
24
+ *
25
+ * @public
26
+ */
16
27
  declare const CatalogImportPage: () => JSX.Element;
17
28
 
29
+ /**
30
+ * The default catalog import page.
31
+ *
32
+ * @public
33
+ */
18
34
  declare const DefaultImportPage: () => JSX.Element;
19
35
 
20
- declare type Props$7 = {
36
+ /**
37
+ * Props for {@link EntityListComponent}.
38
+ *
39
+ * @public
40
+ */
41
+ interface EntityListComponentProps {
21
42
  locations: Array<{
22
43
  target: string;
23
44
  entities: (Entity | EntityName)[];
@@ -27,17 +48,46 @@ declare type Props$7 = {
27
48
  firstListItem?: React.ReactElement;
28
49
  onItemClick?: (target: string) => void;
29
50
  withLinks?: boolean;
30
- };
31
- declare const EntityListComponent: ({ locations, collapsed, locationListItemIcon, onItemClick, firstListItem, withLinks, }: Props$7) => JSX.Element;
51
+ }
52
+ /**
53
+ * Shows a result list of entities.
54
+ *
55
+ * @public
56
+ */
57
+ declare const EntityListComponent: (props: EntityListComponentProps) => JSX.Element;
32
58
 
33
- declare const ImportInfoCard: () => JSX.Element;
59
+ /**
60
+ * Props for {@link ImportInfoCard}.
61
+ *
62
+ * @public
63
+ */
64
+ interface ImportInfoCardProps {
65
+ exampleLocationUrl?: string;
66
+ exampleRepositoryUrl?: string;
67
+ }
68
+ /**
69
+ * Shows information about the import process.
70
+ *
71
+ * @public
72
+ */
73
+ declare const ImportInfoCard: (props: ImportInfoCardProps) => JSX.Element;
34
74
 
35
75
  declare type RecursivePartial<T> = {
36
76
  [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object ? RecursivePartial<T[P]> : T[P];
37
77
  };
38
78
  declare type PartialEntity = RecursivePartial<Entity>;
39
79
 
80
+ /**
81
+ * Utility API reference for the {@link CatalogImportApi}.
82
+ *
83
+ * @public
84
+ */
40
85
  declare const catalogImportApiRef: _backstage_core_plugin_api.ApiRef<CatalogImportApi>;
86
+ /**
87
+ * Result of the analysis.
88
+ *
89
+ * @public
90
+ */
41
91
  declare type AnalyzeResult = {
42
92
  type: 'locations';
43
93
  locations: Array<{
@@ -51,6 +101,11 @@ declare type AnalyzeResult = {
51
101
  integrationType: string;
52
102
  generatedEntities: PartialEntity[];
53
103
  };
104
+ /**
105
+ * API for driving catalog imports.
106
+ *
107
+ * @public
108
+ */
54
109
  interface CatalogImportApi {
55
110
  analyzeUrl(url: string): Promise<AnalyzeResult>;
56
111
  preparePullRequest?(): Promise<{
@@ -68,6 +123,11 @@ interface CatalogImportApi {
68
123
  }>;
69
124
  }
70
125
 
126
+ /**
127
+ * The default implementation of the {@link CatalogImportApi}.
128
+ *
129
+ * @public
130
+ */
71
131
  declare class CatalogImportClient implements CatalogImportApi {
72
132
  private readonly discoveryApi;
73
133
  private readonly identityApi;
@@ -88,7 +148,7 @@ declare class CatalogImportClient implements CatalogImportApi {
88
148
  title: string;
89
149
  body: string;
90
150
  }>;
91
- submitPullRequest({ repositoryUrl, fileContent, title, body, }: {
151
+ submitPullRequest(options: {
92
152
  repositoryUrl: string;
93
153
  fileContent: string;
94
154
  title: string;
@@ -102,7 +162,17 @@ declare class CatalogImportClient implements CatalogImportApi {
102
162
  private submitGitHubPrToRepo;
103
163
  }
104
164
 
165
+ /**
166
+ * The configuration of the stepper.
167
+ *
168
+ * @public
169
+ */
105
170
  declare type ImportFlows = 'unknown' | 'single-location' | 'multiple-locations' | 'no-location';
171
+ /**
172
+ * Result of the prepare state.
173
+ *
174
+ * @public
175
+ */
106
176
  declare type PrepareResult = {
107
177
  type: 'locations';
108
178
  locations: Array<{
@@ -185,7 +255,12 @@ declare type StepConfiguration = {
185
255
  stepLabel: React.ReactElement;
186
256
  content: React.ReactElement;
187
257
  };
188
- declare type StepperProvider = {
258
+ /**
259
+ * Defines the details of the stepper.
260
+ *
261
+ * @public
262
+ */
263
+ interface StepperProvider {
189
264
  analyze: (s: Extract<ImportState, {
190
265
  activeState: 'analyze';
191
266
  }>, opts: {
@@ -206,7 +281,7 @@ declare type StepperProvider = {
206
281
  }>, opts: {
207
282
  apis: StepperApis;
208
283
  }) => StepConfiguration;
209
- };
284
+ }
210
285
  /**
211
286
  * The default stepper generation function.
212
287
  *
@@ -215,33 +290,56 @@ declare type StepperProvider = {
215
290
  *
216
291
  * @param flow - the name of the active flow
217
292
  * @param defaults - the default steps
293
+ * @public
218
294
  */
219
295
  declare function defaultGenerateStepper(flow: ImportFlows, defaults: StepperProvider): StepperProvider;
220
296
 
221
- declare type Props$6 = {
297
+ /**
298
+ * Props for {@link ImportStepper}.
299
+ *
300
+ * @public
301
+ */
302
+ interface ImportStepperProps {
222
303
  initialUrl?: string;
223
304
  generateStepper?: (flow: ImportFlows, defaults: StepperProvider) => StepperProvider;
224
305
  variant?: InfoCardVariants;
225
- };
226
- declare const ImportStepper: ({ initialUrl, generateStepper, variant, }: Props$6) => JSX.Element;
306
+ }
307
+ /**
308
+ * The stepper that holds the different import stages.
309
+ *
310
+ * @public
311
+ */
312
+ declare const ImportStepper: (props: ImportStepperProps) => JSX.Element;
227
313
 
228
- declare type Props$5 = {
314
+ /**
315
+ * Props for {@link StepInitAnalyzeUrl}.
316
+ *
317
+ * @public
318
+ */
319
+ interface StepInitAnalyzeUrlProps {
229
320
  onAnalysis: (flow: ImportFlows, url: string, result: AnalyzeResult, opts?: {
230
321
  prepareResult?: PrepareResult;
231
322
  }) => void;
232
323
  disablePullRequest?: boolean;
233
324
  analysisUrl?: string;
234
- };
325
+ exampleLocationUrl?: string;
326
+ }
235
327
  /**
236
328
  * A form that lets the user input a url and analyze it for existing locations or potential entities.
237
329
  *
238
330
  * @param onAnalysis - is called when the analysis was successful
239
331
  * @param analysisUrl - a url that can be used as a default value
240
332
  * @param disablePullRequest - if true, repositories without entities will abort the wizard
333
+ * @public
241
334
  */
242
- declare const StepInitAnalyzeUrl: ({ onAnalysis, analysisUrl, disablePullRequest, }: Props$5) => JSX.Element;
335
+ declare const StepInitAnalyzeUrl: (props: StepInitAnalyzeUrlProps) => JSX.Element;
243
336
 
244
- declare type Props$4<TFieldValue extends string> = {
337
+ /**
338
+ * Props for {@link AutocompleteTextField}.
339
+ *
340
+ * @public
341
+ */
342
+ interface AutocompleteTextFieldProps<TFieldValue extends string> {
245
343
  name: TFieldValue;
246
344
  options: string[];
247
345
  required?: boolean;
@@ -252,10 +350,20 @@ declare type Props$4<TFieldValue extends string> = {
252
350
  helperText?: React.ReactNode;
253
351
  errorHelperText?: string;
254
352
  textFieldProps?: Omit<TextFieldProps, 'required' | 'fullWidth'>;
255
- };
256
- declare const AutocompleteTextField: <TFieldValue extends string>({ name, options, required, errors, rules, loading, loadingText, helperText, errorHelperText, textFieldProps, }: Props$4<TFieldValue>) => JSX.Element;
353
+ }
354
+ /**
355
+ * An autocompletion text field for the catalog import flows.
356
+ *
357
+ * @public
358
+ */
359
+ declare const AutocompleteTextField: <TFieldValue extends string>(props: AutocompleteTextFieldProps<TFieldValue>) => JSX.Element;
257
360
 
258
- declare type Props$3<TFieldValues extends Record<string, any>> = Pick<UseFormProps<TFieldValues>, 'defaultValues'> & {
361
+ /**
362
+ * Props for {@link PreparePullRequestForm}.
363
+ *
364
+ * @public
365
+ */
366
+ declare type PreparePullRequestFormProps<TFieldValues extends Record<string, any>> = Pick<UseFormProps<TFieldValues>, 'defaultValues'> & {
259
367
  onSubmit: SubmitHandler<TFieldValues>;
260
368
  render: (props: Pick<UseFormReturn<TFieldValues>, 'formState' | 'register' | 'control' | 'setValue'> & {
261
369
  values: UnpackNestedValue<TFieldValues>;
@@ -269,28 +377,49 @@ declare type Props$3<TFieldValues extends Record<string, any>> = Pick<UseFormPro
269
377
  * @param onSubmit - a callback that is executed when the form is submitted
270
378
  * (initiated by a button of type="submit")
271
379
  * @param render - render the form elements
380
+ * @public
272
381
  */
273
- declare const PreparePullRequestForm: <TFieldValues extends Record<string, any>>({ defaultValues, onSubmit, render, }: Props$3<TFieldValues>) => JSX.Element;
382
+ declare const PreparePullRequestForm: <TFieldValues extends Record<string, any>>(props: PreparePullRequestFormProps<TFieldValues>) => JSX.Element;
274
383
 
275
- declare type Props$2 = {
384
+ /**
385
+ * Props for {@link PreviewCatalogInfoComponent}.
386
+ *
387
+ * @public
388
+ */
389
+ interface PreviewCatalogInfoComponentProps {
276
390
  repositoryUrl: string;
277
391
  entities: Entity[];
278
392
  classes?: {
279
393
  card?: string;
280
394
  cardContent?: string;
281
395
  };
282
- };
283
- declare const PreviewCatalogInfoComponent: ({ repositoryUrl, entities, classes, }: Props$2) => JSX.Element;
396
+ }
397
+ /**
398
+ * Previews information about an entity to create.
399
+ *
400
+ * @public
401
+ */
402
+ declare const PreviewCatalogInfoComponent: (props: PreviewCatalogInfoComponentProps) => JSX.Element;
284
403
 
285
- declare type Props$1 = {
404
+ /**
405
+ * Props for {@link PreviewPullRequestComponent}.
406
+ *
407
+ * @public
408
+ */
409
+ interface PreviewPullRequestComponentProps {
286
410
  title: string;
287
411
  description: string;
288
412
  classes?: {
289
413
  card?: string;
290
414
  cardContent?: string;
291
415
  };
292
- };
293
- declare const PreviewPullRequestComponent: ({ title, description, classes, }: Props$1) => JSX.Element;
416
+ }
417
+ /**
418
+ * Previews a pull request.
419
+ *
420
+ * @public
421
+ */
422
+ declare const PreviewPullRequestComponent: (props: PreviewPullRequestComponentProps) => JSX.Element;
294
423
 
295
424
  declare type FormData = {
296
425
  title: string;
@@ -299,7 +428,12 @@ declare type FormData = {
299
428
  owner: string;
300
429
  useCodeowners: boolean;
301
430
  };
302
- declare type Props = {
431
+ /**
432
+ * Props for {@link StepPrepareCreatePullRequest}.
433
+ *
434
+ * @public
435
+ */
436
+ interface StepPrepareCreatePullRequestProps {
303
437
  analyzeResult: Extract<AnalyzeResult, {
304
438
  type: 'repository';
305
439
  }>;
@@ -312,7 +446,12 @@ declare type Props = {
312
446
  groups: string[];
313
447
  groupsLoading: boolean;
314
448
  }) => React.ReactNode;
315
- };
316
- declare const StepPrepareCreatePullRequest: ({ analyzeResult, onPrepare, onGoBack, renderFormFields, }: Props) => JSX.Element;
449
+ }
450
+ /**
451
+ * Prepares a pull request.
452
+ *
453
+ * @public
454
+ */
455
+ declare const StepPrepareCreatePullRequest: (props: StepPrepareCreatePullRequestProps) => JSX.Element;
317
456
 
318
- export { AnalyzeResult, AutocompleteTextField, CatalogImportApi, CatalogImportClient, CatalogImportPage, DefaultImportPage, EntityListComponent, ImportInfoCard, ImportStepper, PreparePullRequestForm, PreviewCatalogInfoComponent, PreviewPullRequestComponent, StepInitAnalyzeUrl, StepPrepareCreatePullRequest, catalogImportApiRef, catalogImportPlugin, defaultGenerateStepper, catalogImportPlugin as plugin };
457
+ export { AnalyzeResult, AutocompleteTextField, AutocompleteTextFieldProps, CatalogImportApi, CatalogImportClient, CatalogImportPage, DefaultImportPage, EntityListComponent, EntityListComponentProps, ImportFlows, ImportInfoCard, ImportInfoCardProps, ImportState, ImportStepper, ImportStepperProps, PreparePullRequestForm, PreparePullRequestFormProps, PrepareResult, PreviewCatalogInfoComponent, PreviewCatalogInfoComponentProps, PreviewPullRequestComponent, PreviewPullRequestComponentProps, StepInitAnalyzeUrl, StepInitAnalyzeUrlProps, StepPrepareCreatePullRequest, StepPrepareCreatePullRequestProps, catalogImportApiRef, catalogImportPlugin, defaultGenerateStepper, catalogImportPlugin as plugin };