From 2527628e11d485c30a3761d67e11fbccc02f5c10 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 10 Dec 2020 11:48:56 +0100 Subject: [PATCH] core: let Link accept any element type as component --- .changeset/eighty-queens-explode.md | 5 +++++ packages/core/src/components/Link/Link.tsx | 18 +++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 .changeset/eighty-queens-explode.md diff --git a/.changeset/eighty-queens-explode.md b/.changeset/eighty-queens-explode.md new file mode 100644 index 0000000000..a4f84530b1 --- /dev/null +++ b/.changeset/eighty-queens-explode.md @@ -0,0 +1,5 @@ +--- +'@backstage/core': patch +--- + +Link `component` prop now accepts any element type. diff --git a/packages/core/src/components/Link/Link.tsx b/packages/core/src/components/Link/Link.tsx index c5426ac434..b551b0511d 100644 --- a/packages/core/src/components/Link/Link.tsx +++ b/packages/core/src/components/Link/Link.tsx @@ -14,12 +14,20 @@ * limitations under the License. */ -import React, { ComponentProps } from 'react'; -import { Link as MaterialLink } from '@material-ui/core'; -import { Link as RouterLink } from 'react-router-dom'; +import React, { ElementType } from 'react'; +import { + Link as MaterialLink, + LinkProps as MaterialLinkProps, +} from '@material-ui/core'; +import { + Link as RouterLink, + LinkProps as RouterLinkProps, +} from 'react-router-dom'; -type Props = ComponentProps & - ComponentProps & { component?: React.ReactNode }; +type Props = MaterialLinkProps & + RouterLinkProps & { + component?: ElementType; + }; /** * Thin wrapper on top of material-ui's Link component