UNPKG

fumadocs-ui

Version:

The Radix UI version of Fumadocs UI

85 lines 4.2 kB
import { CollapsibleContentProps, CollapsibleTriggerProps } from "../ui/collapsible.js"; import { ScrollArea, ScrollViewport } from "../ui/scroll-area.js"; import { LinkProps } from "fumadocs-core/link"; import { ComponentProps, PointerEvent, ReactNode, RefObject } from "react"; declare namespace base_d_exports { export { SidebarCollapseTrigger, SidebarContent, SidebarDrawerContent, SidebarDrawerOverlay, SidebarFolder, SidebarFolderContent, SidebarFolderLink, SidebarFolderTrigger, SidebarItem, SidebarProvider, SidebarProviderProps, SidebarSeparator, SidebarTrigger, SidebarViewport, useAutoScroll, useFolder, useFolderDepth, useSidebar }; } interface SidebarContext { open: boolean; setOpen: React.Dispatch<React.SetStateAction<boolean>>; collapsed: boolean; setCollapsed: React.Dispatch<React.SetStateAction<boolean>>; /** * When set to false, don't close the sidebar when navigate to another page */ closeOnRedirect: RefObject<boolean>; defaultOpenLevel: number; prefetch?: boolean; mode: Mode; } interface SidebarProviderProps { /** * Open folders by default if their level is lower or equal to a specific level * (Starting from 1) * * @defaultValue 0 */ defaultOpenLevel?: number; /** * Prefetch links, default behaviour depends on your React.js framework. */ prefetch?: boolean; children?: ReactNode; } type Mode = 'drawer' | 'full'; declare const SidebarContext: import("react").Context<SidebarContext | null>; declare function SidebarProvider({ defaultOpenLevel, prefetch, children }: SidebarProviderProps): import("react").JSX.Element; declare function useSidebar(): SidebarContext; declare function useFolder(): { open: boolean; setOpen: React.Dispatch<React.SetStateAction<boolean>>; depth: number; collapsible: boolean; } | null; declare function useFolderDepth(): number; declare function SidebarContent({ mode: allowedMode, children }: { mode?: Mode | true; children: (state: { ref: RefObject<HTMLElement | null>; collapsed: boolean; hovered: boolean; onPointerEnter: (event: PointerEvent) => void; onPointerLeave: (event: PointerEvent) => void; }) => ReactNode; }): ReactNode; declare function SidebarViewport({ area, viewport, children }: { area?: ComponentProps<typeof ScrollArea>; viewport?: ComponentProps<typeof ScrollViewport>; children: ReactNode; }): import("react").JSX.Element; declare function SidebarDrawerOverlay(props: ComponentProps<'div'>): import("react").JSX.Element | undefined; declare function SidebarDrawerContent({ className, children, ...props }: ComponentProps<'aside'>): import("react").JSX.Element | undefined; declare function SidebarSeparator(props: ComponentProps<'p'>): import("react").JSX.Element; declare function SidebarItem({ icon, active, children, ...props }: LinkProps & { active?: boolean; icon?: ReactNode; }): import("react").JSX.Element; declare function SidebarFolder({ defaultOpen: defaultOpenProp, collapsible, active, children, ...props }: ComponentProps<'div'> & { active?: boolean; defaultOpen?: boolean; collapsible?: boolean; }): import("react").JSX.Element; declare function SidebarFolderTrigger({ children, ...props }: CollapsibleTriggerProps): import("react").JSX.Element; declare function SidebarFolderLink({ children, active, ...props }: LinkProps & { active?: boolean; }): import("react").JSX.Element; declare function SidebarFolderContent(props: CollapsibleContentProps): import("react").JSX.Element; declare function SidebarTrigger({ children, ...props }: ComponentProps<'button'>): import("react").JSX.Element; declare function SidebarCollapseTrigger(props: ComponentProps<'button'>): import("react").JSX.Element; /** * scroll to the element if `active` is true */ declare function useAutoScroll(active: boolean, ref: RefObject<HTMLElement | null>): void; //#endregion export { SidebarCollapseTrigger, SidebarContent, SidebarDrawerContent, SidebarDrawerOverlay, SidebarFolder, SidebarFolderContent, SidebarFolderLink, SidebarFolderTrigger, SidebarItem, SidebarProvider, SidebarProviderProps, SidebarSeparator, SidebarTrigger, SidebarViewport, base_d_exports, useAutoScroll, useFolder, useFolderDepth, useSidebar };