fumadocs-ui
Version:
The Radix UI version of Fumadocs UI
123 lines (122 loc) • 4.3 kB
TypeScript
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";
//#region src/components/sidebar/base.d.ts
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 };