/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import React, {type ReactNode} from 'react'; import clsx from 'clsx'; import {translate} from '@docusaurus/Translate'; import {useAnchorTargetClassName} from '@docusaurus/theme-common'; import Link from '@docusaurus/Link'; import useBrokenLinks from '@docusaurus/useBrokenLinks'; import type {Props} from '@theme/Heading'; import './styles.module.css'; export default function Heading({as: As, id, ...props}: Props): ReactNode { const brokenLinks = useBrokenLinks(); const anchorTargetClassName = useAnchorTargetClassName(id); // H1 headings do not need an id because they don't appear in the TOC. if (As === 'h1' || !id) { return ; } brokenLinks.collectAnchor(id); const anchorTitle = translate( { id: 'theme.common.headingLinkTitle', message: 'Direct link to {heading}', description: 'Title for link to heading', }, { heading: typeof props.children === 'string' ? props.children : id, }, ); return ( {props.children} ); }