import "./styles.css"; import { useCachedVersionPluginData } from "@goauthentik/docusaurus-theme/components/VersionPicker/utils.ts"; import isInternalUrl from "@docusaurus/isInternalUrl"; import Link from "@docusaurus/Link"; import { isActiveSidebarItem } from "@docusaurus/plugin-content-docs/client"; import { ThemeClassNames } from "@docusaurus/theme-common"; import type { Props } from "@theme/DocSidebarItem/Link"; import IconExternalLink from "@theme/Icon/ExternalLink"; import clsx from "clsx"; import React, { useMemo } from "react"; const DocSidebarItemLink: React.FC = ({ item, onItemClick, activePath, level, // eslint-disable-next-line @typescript-eslint/no-unused-vars index, ...props }) => { const { href, label, className, autoAddBaseUrl } = item; const isActive = isActiveSidebarItem(item, activePath); const versionPluginData = useCachedVersionPluginData(); const apiReferenceOrigin = versionPluginData?.env.apiReferenceOrigin; const internalLink = useMemo(() => { if (isInternalUrl(href)) return true; if (!apiReferenceOrigin) return false; const inputURL = new URL(href); return inputURL.origin === apiReferenceOrigin; }, [href, apiReferenceOrigin]); return (
  • onItemClick(item) : undefined, })} {...props} > {item.className?.includes("api-method") ? (
    ) : null} {label} {!internalLink && }
  • ); }; export default DocSidebarItemLink;