core: let Link accept any element type as component

This commit is contained in:
Patrik Oldsberg
2020-12-10 11:48:56 +01:00
parent 6349ea7a16
commit 2527628e11
2 changed files with 18 additions and 5 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core': patch
---
Link `component` prop now accepts any element type.
+13 -5
View File
@@ -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<typeof MaterialLink> &
ComponentProps<typeof RouterLink> & { component?: React.ReactNode };
type Props = MaterialLinkProps &
RouterLinkProps & {
component?: ElementType<any>;
};
/**
* Thin wrapper on top of material-ui's Link component