/** * 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 from 'react'; import clsx from 'clsx'; import {translate} from '@docusaurus/Translate'; import {useThemeConfig} from '@docusaurus/theme-common'; import Link from '@docusaurus/Link'; import useBrokenLinks from '@docusaurus/useBrokenLinks'; import styles from './styles.module.css'; export default function Heading({as: As, id, ...props}) { const brokenLinks = useBrokenLinks(); const { navbar: {hideOnScroll}, } = useThemeConfig(); // 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} ); }