function TOCItemTree()

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>
  );
}