import Link from "@docusaurus/Link"; import isInternalUrl from "@docusaurus/isInternalUrl"; import { Collapsible, ThemeClassNames, useCollapsible, } from "@docusaurus/theme-common"; import { isActiveSidebarItem } from "@docusaurus/theme-common/internal"; import DocSidebarItems from "@theme/DocSidebarItems"; import IconExternalLink from "@theme/Icon/ExternalLink"; import clsx from "clsx"; import React from "react"; import * as icons from "../../icons"; const DocSidebarItemCategory = ({ item, onItemClick, activePath, level, index, ...props }) => { const { href, label, className, collapsible, autoAddBaseUrl, customProps = {}, items, } = item; const isActive = isActiveSidebarItem(item, activePath); const isInternalLink = isInternalUrl(href); const IconComponent = customProps?.icon ? icons[customProps.icon] : undefined; const { collapsed, setCollapsed } = useCollapsible({ initialState: () => collapsible && !isActive && item.collapsed, }); return (
  • { onItemClick?.(item); if (!collapsible) return; if (href) { setCollapsed(false); return; } e.preventDefault(); setCollapsed((previousCollapsed) => !previousCollapsed); }} {...props} > {IconComponent ? ( {label} ) : ( label )} {!!href && !isInternalLink && } {!customProps.isSidebarRoot && ( )}
  • ); }; export default DocSidebarItemCategory;