From 75a3551ceb9748598576ef8de466cd7fbd39e1e8 Mon Sep 17 00:00:00 2001 From: Anner Visser Date: Wed, 5 Feb 2025 13:13:48 +0100 Subject: [PATCH] Export CatalogAutocomplete so it can be used externally Fixes #28685 Signed-off-by: Anner Visser --- .changeset/red-hotels-destroy.md | 5 +++ plugins/catalog-react/report.api.md | 35 +++++++++++++++++++ .../CatalogAutocomplete.tsx | 6 ++++ plugins/catalog-react/src/components/index.ts | 1 + 4 files changed, 47 insertions(+) create mode 100644 .changeset/red-hotels-destroy.md diff --git a/.changeset/red-hotels-destroy.md b/.changeset/red-hotels-destroy.md new file mode 100644 index 0000000000..85ef6c10a4 --- /dev/null +++ b/.changeset/red-hotels-destroy.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-react': patch +--- + +Export CatalogAutocomplete so it can be used externally diff --git a/plugins/catalog-react/report.api.md b/plugins/catalog-react/report.api.md index b3495faf08..d634db8fba 100644 --- a/plugins/catalog-react/report.api.md +++ b/plugins/catalog-react/report.api.md @@ -6,6 +6,7 @@ /// import { ApiRef } from '@backstage/core-plugin-api'; +import { AutocompleteProps } from '@material-ui/lab/Autocomplete'; import { CATALOG_FILTER_EXISTS } from '@backstage/catalog-client'; import { CatalogApi } from '@backstage/catalog-client'; import { ComponentEntity } from '@backstage/catalog-model'; @@ -17,6 +18,7 @@ import { IconComponent } from '@backstage/core-plugin-api'; import { InfoCardVariants } from '@backstage/core-components'; import { LinkProps } from '@backstage/core-components'; import { Observable } from '@backstage/types'; +import { OutlinedTextFieldProps } from '@material-ui/core/TextField'; import { Overrides } from '@material-ui/core/styles/overrides'; import { PropsWithChildren } from 'react'; import { default as React_2 } from 'react'; @@ -28,6 +30,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 { TypographyProps } from '@material-ui/core/Typography'; // @public (undocumented) export type AllowedEntityFilters = { @@ -71,6 +74,38 @@ export { CatalogApi }; // @public export const catalogApiRef: ApiRef; +// @public (undocumented) +export function CatalogAutocomplete< + T, + Multiple extends boolean | undefined = undefined, + DisableClearable extends boolean | undefined = undefined, + FreeSolo extends boolean | undefined = undefined, +>( + props: CatalogAutocompleteProps, +): React_2.JSX.Element; + +// @public +export type CatalogAutocompleteProps< + T, + Multiple extends boolean | undefined = undefined, + DisableClearable extends boolean | undefined = undefined, + FreeSolo extends boolean | undefined = undefined, +> = Omit< + AutocompleteProps, + 'PopperComponent' | 'PaperComponent' | 'popupIcon' | 'renderInput' +> & { + name: string; + label?: string; + LabelProps?: TypographyProps<'label'>; + TextFieldProps?: Omit; + renderInput?: AutocompleteProps< + T, + Multiple, + DisableClearable, + FreeSolo + >['renderInput']; +}; + // @public (undocumented) export const CatalogFilterLayout: { (props: { children: React_2.ReactNode }): React_2.JSX.Element; diff --git a/plugins/catalog-react/src/components/CatalogAutocomplete/CatalogAutocomplete.tsx b/plugins/catalog-react/src/components/CatalogAutocomplete/CatalogAutocomplete.tsx index af41db8626..b120ad5b4c 100644 --- a/plugins/catalog-react/src/components/CatalogAutocomplete/CatalogAutocomplete.tsx +++ b/plugins/catalog-react/src/components/CatalogAutocomplete/CatalogAutocomplete.tsx @@ -124,6 +124,11 @@ const PaperComponent = (props: PaperProps) => ( ); +/** + * Props for {@link CatalogAutocomplete} + * + * @public + */ export type CatalogAutocompleteProps< T, Multiple extends boolean | undefined = undefined, @@ -145,6 +150,7 @@ export type CatalogAutocompleteProps< >['renderInput']; }; +/** @public */ export function CatalogAutocomplete< T, Multiple extends boolean | undefined = undefined, diff --git a/plugins/catalog-react/src/components/index.ts b/plugins/catalog-react/src/components/index.ts index e544287007..8a1ebd1835 100644 --- a/plugins/catalog-react/src/components/index.ts +++ b/plugins/catalog-react/src/components/index.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +export * from './CatalogAutocomplete'; export * from './CatalogFilterLayout'; export * from './DefaultFilters'; export * from './EntityKindPicker';