From e51cddd5fbba7df09203a19be7e391f0a5012012 Mon Sep 17 00:00:00 2001 From: John Philip Date: Wed, 17 Aug 2022 22:46:38 -0400 Subject: [PATCH] Changed types to be more specific Signed-off-by: John Philip --- .../src/components/MarkdownContent/MarkdownContent.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/core-components/src/components/MarkdownContent/MarkdownContent.tsx b/packages/core-components/src/components/MarkdownContent/MarkdownContent.tsx index e2ee460a1f..d97172bf75 100644 --- a/packages/core-components/src/components/MarkdownContent/MarkdownContent.tsx +++ b/packages/core-components/src/components/MarkdownContent/MarkdownContent.tsx @@ -20,6 +20,7 @@ import gfm from 'remark-gfm'; import React from 'react'; import { BackstageTheme } from '@backstage/theme'; import { CodeSnippet } from '../CodeSnippet'; +import { HeadingProps } from 'react-markdown/lib/ast-to-react'; export type MarkdownContentClassKey = 'markdown'; @@ -73,13 +74,15 @@ type Props = { className?: string; }; -const flatten = (text, child) => { +const flatten = (text: string, child: any): string => { + if (!child) return text; + return typeof child === 'string' ? text + child : React.Children.toArray(child.props.children).reduce(flatten, text); }; -const headingRenderer = ({ level, children }) => { +const headingRenderer = ({ level, children }: HeadingProps) => { const childrenArray = React.Children.toArray(children); const text = childrenArray.reduce(flatten, ''); const slug = text.toLocaleLowerCase('en-US').replace(/\W/g, '-');