diff --git a/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx b/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx
index 1ab171bcf1..6f5a1b24cc 100644
--- a/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx
+++ b/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx
@@ -20,7 +20,7 @@ import ContentHeader from './ContentHeader';
import { wrapInThemedTestApp } from '@backstage/test-utils';
jest.mock('react-helmet', () => {
- return ({ defaultTitle }) =>
defaultTitle: {defaultTitle}
;
+ return ({ defaultTitle }: any) => defaultTitle: {defaultTitle}
;
});
describe('', () => {
diff --git a/packages/core/src/layout/ErrorBoundary/ErrorBoundary.tsx b/packages/core/src/layout/ErrorBoundary/ErrorBoundary.tsx
index 9e9d639548..88ae99c3c9 100644
--- a/packages/core/src/layout/ErrorBoundary/ErrorBoundary.tsx
+++ b/packages/core/src/layout/ErrorBoundary/ErrorBoundary.tsx
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-import React, { ComponentClass, Component, SFC } from 'react';
+import React, { ComponentClass, Component, SFC, ErrorInfo } from 'react';
type Props = {
slackChannel?: string;
@@ -23,14 +23,14 @@ type Props = {
type State = {
error?: Error;
- errorInfo?: string;
+ errorInfo?: ErrorInfo;
};
const ErrorBoundary: ComponentClass<
Props,
State
> = class ErrorBoundary extends Component {
- constructor(props) {
+ constructor(props: Props) {
super(props);
this.state = {
@@ -39,15 +39,10 @@ const ErrorBoundary: ComponentClass<
};
}
- componentDidCatch(error, errorInfo) {
+ componentDidCatch(error: Error, errorInfo: ErrorInfo) {
// eslint-disable-next-line no-console
console.error(`ErrorBoundary, error: ${error}, info: ${errorInfo}`);
this.setState({ error, errorInfo });
-
- // Exposed for testing
- if (this.props.onError) {
- this.props.onError(error, errorInfo);
- }
}
render() {
@@ -58,9 +53,7 @@ const ErrorBoundary: ComponentClass<
return this.props.children;
}
- return (
-
- );
+ return ;
}
};
@@ -68,7 +61,6 @@ export default ErrorBoundary;
type EProps = {
error?: Error;
- errorInfo?: string;
slackChannel?: string;
};
diff --git a/packages/core/src/layout/Header/Header.test.tsx b/packages/core/src/layout/Header/Header.test.tsx
index 79d74791c8..85b15e33aa 100644
--- a/packages/core/src/layout/Header/Header.test.tsx
+++ b/packages/core/src/layout/Header/Header.test.tsx
@@ -20,7 +20,7 @@ import { wrapInThemedTestApp } from '@backstage/test-utils';
import Header from './Header';
jest.mock('react-helmet', () => {
- return ({ defaultTitle }) => defaultTitle: {defaultTitle}
;
+ return ({ defaultTitle }: any) => defaultTitle: {defaultTitle}
;
});
describe('', () => {
diff --git a/packages/core/src/layout/InfoCard/InfoCard.stories.tsx b/packages/core/src/layout/InfoCard/InfoCard.stories.tsx
index 611facd29c..e9fa831b40 100644
--- a/packages/core/src/layout/InfoCard/InfoCard.stories.tsx
+++ b/packages/core/src/layout/InfoCard/InfoCard.stories.tsx
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import React from 'react';
+import React, { FC } from 'react';
import InfoCard from '.';
import { Grid } from '@material-ui/core';
@@ -25,7 +25,7 @@ export default {
component: InfoCard,
};
-const Wrapper = ({ children }) => (
+const Wrapper: FC<{}> = ({ children }) => (
{children}
diff --git a/packages/core/src/layout/InfoCard/InfoCard.tsx b/packages/core/src/layout/InfoCard/InfoCard.tsx
index f3d03d29c8..d645b25aaa 100644
--- a/packages/core/src/layout/InfoCard/InfoCard.tsx
+++ b/packages/core/src/layout/InfoCard/InfoCard.tsx
@@ -163,10 +163,15 @@ const InfoCard: FC = ({
if (variant) {
const variants = variant.split(/[\s]+/g);
variants.forEach(name => {
- calculatedStyle = { ...calculatedStyle, ...VARIANT_STYLES.card[name] };
+ calculatedStyle = {
+ ...calculatedStyle,
+ ...VARIANT_STYLES.card[name as keyof typeof VARIANT_STYLES['card']],
+ };
calculatedCardStyle = {
...calculatedCardStyle,
- ...VARIANT_STYLES.cardContent[name],
+ ...VARIANT_STYLES.cardContent[
+ name as keyof typeof VARIANT_STYLES['cardContent']
+ ],
};
});
}
diff --git a/packages/core/src/layout/TabbedCard/TabbedCard.stories.tsx b/packages/core/src/layout/TabbedCard/TabbedCard.stories.tsx
index cf9fa6e6c6..23c2ab5b49 100644
--- a/packages/core/src/layout/TabbedCard/TabbedCard.stories.tsx
+++ b/packages/core/src/layout/TabbedCard/TabbedCard.stories.tsx
@@ -23,7 +23,7 @@ export default {
title: 'Tabbed Card',
component: TabbedCard,
decorators: [
- storyFn => (
+ (storyFn: () => JSX.Element) => (
{storyFn()}
@@ -72,9 +72,10 @@ export const WithFooterLink = () => {
};
export const WithControlledTabValue = () => {
- const [selectedTab, setSelectedTab] = useState('one');
+ const [selectedTab, setSelectedTab] = useState('one');
- const handleChange = (_ev, newSelectedTab) => setSelectedTab(newSelectedTab);
+ const handleChange = (_ev: any, newSelectedTab: string | number) =>
+ setSelectedTab(newSelectedTab);
return (
<>