import * as react from 'react'; import { ReactNode } from 'react'; import { N as NavigableProps } from './types-8Sv0rCjw.cjs'; type SidebarCollapseMode = "icons" | "letters"; interface SidebarProps { /** * Render without the app-shell chrome — no right border, no background, and * full width instead of the fixed `w-60`. * * For a sidebar living inside a container that already owns its surface: a * card, a panel, a drawer. The defaults are right for the standalone rail and * wrong here, and neutralising them from outside takes four `!important` * utilities that every host has to rediscover and that rot when the base * classes change. * * Chrome only — collapsing still works, and a collapsed rail keeps its fixed * narrow width. */ embedded?: boolean; children: ReactNode; collapsed?: boolean; defaultCollapsed?: boolean; onCollapsedChange?: (collapsed: boolean) => void; /** * How items display when collapsed: * - `"icons"` — show only the icon (falls back to first 3 letters if no icon) * - `"letters"` — show the first 3 letters of the label * @default "icons" */ collapseMode?: SidebarCollapseMode; className?: string; } interface SidebarItemProps extends NavigableProps { children: ReactNode; icon?: ReactNode; active?: boolean; disabled?: boolean; badge?: ReactNode; onClick?: () => void; className?: string; } interface SidebarGroupProps { children: ReactNode; label?: string; className?: string; } interface SidebarToggleProps { className?: string; } interface SidebarSubmenuProps { children: ReactNode; label: string; icon?: ReactNode; defaultOpen?: boolean; className?: string; } interface SidebarContextValue { collapsed: boolean; collapseMode: SidebarCollapseMode; setCollapsed: (collapsed: boolean) => void; } declare function SidebarItem({ children, href, as: As, icon, active, disabled, badge, onClick, className, ...rest }: SidebarItemProps): react.JSX.Element; declare namespace SidebarItem { var displayName: string; } declare function SidebarGroup({ children, label, className }: SidebarGroupProps): react.JSX.Element; declare namespace SidebarGroup { var displayName: string; } declare function SidebarSubmenu({ children, label, icon, defaultOpen, className, }: SidebarSubmenuProps): react.JSX.Element; declare namespace SidebarSubmenu { var displayName: string; } declare function SidebarToggle({ className }: SidebarToggleProps): react.JSX.Element; declare namespace SidebarToggle { var displayName: string; } declare function SidebarRoot({ children, collapsed: controlledCollapsed, defaultCollapsed, onCollapsedChange, collapseMode, embedded, className, }: SidebarProps): react.JSX.Element; declare const Sidebar: typeof SidebarRoot & { Item: typeof SidebarItem; Group: typeof SidebarGroup; Submenu: typeof SidebarSubmenu; Toggle: typeof SidebarToggle; }; declare function useSidebar(): SidebarContextValue; export { Sidebar, type SidebarCollapseMode, type SidebarContextValue, type SidebarGroupProps, type SidebarItemProps, type SidebarProps, type SidebarSubmenuProps, type SidebarToggleProps, useSidebar };