import { Fragment, type PropsWithChildren } from 'react' import { cn } from 'ui' import MenuIconPicker from '~/components/Navigation/NavigationMenu/MenuIconPicker' import RefVersionDropdown from '~/components/RefVersionDropdown' import { getReferenceSections } from '~/features/docs/Reference.generated.singleton' import { RefLink, ReferenceNavigationScrollHandler, } from '~/features/docs/Reference.navigation.client' import { type AbbrevApiReferenceSection } from '~/features/docs/Reference.utils' interface ReferenceNavigationProps { libraryId: string name: string menuData: { icon?: string } libPath: string version: string isLatestVersion: boolean } export async function ReferenceNavigation({ libraryId, name, menuData, libPath, version, isLatestVersion, }: ReferenceNavigationProps) { const navSections = await getReferenceSections(libraryId, version) const basePath = `/reference/${libPath}${isLatestVersion ? '' : `/${version}`}` return (
{'icon' in menuData && } {name}
) } const topLvlRefNavItemStyles = 'leading-5' function RefCategory({ basePath, section, }: { basePath: string section: AbbrevApiReferenceSection }) { if (!('items' in section && section.items && section.items.length > 0)) return null return ( <> {'title' in section && {section.title}} ) } function Divider() { return
} function SideMenuTitle({ children, className }: PropsWithChildren<{ className?: string }>) { return (
{children}
) }