import { Button } from "./button.js"; import { Separator } from "./separator.js"; import { Input } from "./input.js"; import { TooltipContent } from "./tooltip.js"; import * as React$1 from "react"; import * as react_jsx_runtime0 from "react/jsx-runtime"; import { VariantProps } from "class-variance-authority"; import * as class_variance_authority_types0 from "class-variance-authority/types"; //#region src/react/ui/sidebar.d.ts type SidebarContextProps = { state: "expanded" | "collapsed"; open: boolean; setOpen: (open: boolean) => void; openMobile: boolean; setOpenMobile: (open: boolean) => void; isMobile: boolean; toggleSidebar: () => void; }; /** Hook to access sidebar state and controls */ declare function useSidebar(): SidebarContextProps; declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React$1.ComponentProps<"div"> & { /** Initial open state for uncontrolled usage */defaultOpen?: boolean; /** Controlled open state */ open?: boolean; /** Callback when open state changes */ onOpenChange?: (open: boolean) => void; }): react_jsx_runtime0.JSX.Element; /** Collapsible navigation sidebar with mobile support */ declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React$1.ComponentProps<"div"> & { /** Which side of the viewport the sidebar appears on */side?: "left" | "right"; /** Visual style: `"sidebar"` (standard with border), `"floating"` (rounded with shadow), or `"inset"` (content area gets rounded margin) */ variant?: "sidebar" | "floating" | "inset"; /** Collapse behavior: `"offcanvas"` (slides off-screen), `"icon"` (collapses to icon width), or `"none"` (always expanded) */ collapsible?: "offcanvas" | "icon" | "none"; }): react_jsx_runtime0.JSX.Element; /** Button that toggles the sidebar open and closed */ declare function SidebarTrigger({ className, onClick, ...props }: React$1.ComponentProps): react_jsx_runtime0.JSX.Element; /** Clickable rail element for toggling sidebar visibility */ declare function SidebarRail({ className, ...props }: React$1.ComponentProps<"button">): react_jsx_runtime0.JSX.Element; /** Main content area that adapts to sidebar state */ declare function SidebarInset({ className, ...props }: React$1.ComponentProps<"main">): react_jsx_runtime0.JSX.Element; /** Input field styled for use within the sidebar */ declare function SidebarInput({ className, ...props }: React$1.ComponentProps): react_jsx_runtime0.JSX.Element; /** Header section at the top of the sidebar */ declare function SidebarHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element; /** Footer section at the bottom of the sidebar */ declare function SidebarFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element; /** Visual separator between sidebar sections */ declare function SidebarSeparator({ className, ...props }: React$1.ComponentProps): react_jsx_runtime0.JSX.Element; /** Scrollable content area within the sidebar */ declare function SidebarContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element; /** Container for grouping related sidebar items */ declare function SidebarGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element; /** Label heading for a sidebar group */ declare function SidebarGroupLabel({ className, asChild, ...props }: React$1.ComponentProps<"div"> & { /** Render as child element instead of default tag */asChild?: boolean; }): react_jsx_runtime0.JSX.Element; /** Action button displayed next to a sidebar group label */ declare function SidebarGroupAction({ className, asChild, ...props }: React$1.ComponentProps<"button"> & { /** Render as child element instead of default tag */asChild?: boolean; }): react_jsx_runtime0.JSX.Element; /** Content container for sidebar group items */ declare function SidebarGroupContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element; /** Navigation menu list within the sidebar */ declare function SidebarMenu({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime0.JSX.Element; /** Individual menu item within the sidebar */ declare function SidebarMenuItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime0.JSX.Element; declare const sidebarMenuButtonVariants: (props?: ({ variant?: "default" | "outline" | null | undefined; size?: "default" | "sm" | "lg" | null | undefined; } & class_variance_authority_types0.ClassProp) | undefined) => string; declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React$1.ComponentProps<"button"> & { /** Render as child element instead of default tag */asChild?: boolean; /** Whether this item is currently active/selected */ isActive?: boolean; /** Tooltip shown when sidebar is collapsed to icon mode */ tooltip?: string | React$1.ComponentProps; } & VariantProps): react_jsx_runtime0.JSX.Element; /** Action button displayed alongside a menu item */ declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React$1.ComponentProps<"button"> & { /** Render as child element instead of default tag */asChild?: boolean; /** Only show when parent menu item is hovered */ showOnHover?: boolean; }): react_jsx_runtime0.JSX.Element; /** Badge for displaying counts or status on menu items */ declare function SidebarMenuBadge({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element; /** Loading skeleton placeholder for menu items */ declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React$1.ComponentProps<"div"> & { /** Show a circular icon placeholder alongside the text skeleton */showIcon?: boolean; }): react_jsx_runtime0.JSX.Element; /** Submenu list for nested navigation items */ declare function SidebarMenuSub({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime0.JSX.Element; /** Individual item within a sidebar submenu */ declare function SidebarMenuSubItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime0.JSX.Element; /** Button for submenu items */ declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: React$1.ComponentProps<"a"> & { /** Render as child element instead of default tag */asChild?: boolean; /** Text size of the submenu button */ size?: "sm" | "md"; /** Whether this submenu item is currently active/selected */ isActive?: boolean; }): react_jsx_runtime0.JSX.Element; //#endregion export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar }; //# sourceMappingURL=sidebar.d.ts.map