in src/components/blog/TOCItems/Tree.tsx [13:44]
function TOCItemTree({
toc,
className,
linkClassName,
isChild,
}: Props): JSX.Element | null {
if (!toc.length) {
return null;
}
return (
<ul className={clsx('border-0 p-0', isChild ? 'ps-3 mt-2' : className)}>
{toc.map((heading) => (
<li key={heading.id} className='m-0 mb-2'>
{/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}
<a
href={`#${heading.id}`}
className={clsx('fs-14 text-secondary', linkClassName ?? undefined)}
// Developer provided the HTML, so assume it's safe.
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{__html: heading.value}}
/>
<TOCItemTree
isChild
toc={heading.children}
className={className}
linkClassName={linkClassName}
/>
</li>
))}
</ul>
);
}