/**
* Sidebar Component - Componente headless de sidebar con arquitectura primitiva
*
* @module Sidebar
*
* @description
* Sistema de sidebar altamente configurable siguiendo el patrón de componentes
* headless inspirado en Headless UI y shadcn/ui.
*
* **Características principales:**
* - Arquitectura headless con primitivos componibles
* - Soporte para render props y data attributes
* - Navegación por teclado (arrows, home, end)
* - Indicador visual animado
* - Modos de colapso (hide/collapse)
* - Accesibilidad WAI-ARIA completa
* - Usa tokens CSS de shadcn para colores
* - Dark/Light mode automático
* - TypeScript strict mode
*
* @example
* ```tsx
* import {
* Sidebar,
* SidebarNav,
* SidebarToggle,
* SidebarContent,
* SidebarIndicator,
* SidebarItem,
* SidebarIconLibrary
* } from '@/components/Sidebar'
*
* function App() {
* return (
*
*
*
*
*
* } label="Home" />
* } label="Settings" />
*
*
*
* )
* }
* ```
*/
/**
* Componente raíz del Sidebar (Provider)
*/
export { Sidebar } from "./Sidebar";
/**
* Contenedor de navegación con gestión de eventos
*/
export { SidebarNav } from "./SidebarNav";
/**
* Botón toggle para abrir/cerrar el sidebar
*/
export { SidebarToggle } from "./SidebarToggle";
/**
* Contenedor de items de navegación
*/
export { SidebarContent } from "./SidebarContent";
/**
* Indicador visual que sigue al cursor/focus
*/
export { SidebarIndicator } from "./SidebarIndicator";
/**
* Indicador fluid glassmorphism con spring physics (experimental)
*/
export { SidebarFluidIndicator } from "./SidebarFluidIndicator";
/**
* Área segura (top/bottom) para contenido especial
*/
export { SidebarSafeArea } from "./SidebarSafeArea";
/**
* Item individual de navegación
*/
export { SidebarItem } from "./SidebarItem";
/**
* Contenedor de subcontenido para tooltips (slot component)
*/
export { SidebarSubContent } from "./SidebarSubContent";
/**
* Link individual dentro de tooltip de subcontenido
*/
export { SidebarSubLink } from "./SidebarSubLink";
/**
* Tooltip genérico anclado al indicador
*/
export { SidebarTooltip } from "./SidebarTooltip";
/**
* Hook para acceder al contexto del sidebar
*
* @throws {Error} Si se usa fuera de un componente
*
* @example
* ```tsx
* const { open, setOpen, dimensions } = useSidebarContext()
* ```
*/
export { useSidebarContext } from "./hooks/useSidebarContext";
/**
* Hook para navegación por teclado (arrows, home, end)
*
* @example
* ```tsx
* const { focusedIndex, updateIndicatorForFocus } = useSidebarKeyboard()
* ```
*/
export { useSidebarKeyboard } from "./hooks/useSidebarKeyboard";
/**
* Hook para gestión del indicador visual
*
* @example
* ```tsx
* const { isVisible, handleMouseMove } = useSidebarIndicator()
* ```
*/
export { useSidebarIndicator } from "./hooks/useSidebarIndicator";
/**
* Hook para acceder al contexto de subcontenido
*
* @throws {Error} Si se usa fuera de un componente
*
* @example
* ```tsx
* const { registerSubContent, getSubContent } = useSubContent()
* ```
*/
export { useSubContent } from "./hooks/useSubContent";
/**
* Todos los tipos e interfaces del sidebar
*/
export type { SidebarProps, SidebarNavProps, SidebarToggleProps, SidebarContentProps, SidebarIndicatorProps, SidebarSafeAreaProps, SidebarItemProps, SidebarState, SidebarToggleState, SidebarItemState, SidebarIndicatorState, SidebarContextValue, SidebarDimensions, SidebarSafeAreas, SidebarAnimations, SidebarConfig, SidebarRenderProp, SidebarToggleRenderProp, SidebarItemRenderProp, SidebarIndicatorRenderProp, SidebarVisualStyle, } from "./Sidebar.types";
/**
* Tipos de componentes de subcontenido
*/
export type { SidebarSubContentProps } from "./SidebarSubContent";
export type { SidebarSubLinkProps } from "./SidebarSubLink";
export type { SidebarTooltipProps } from "./SidebarTooltip";
/**
* Enums exportados
*/
export { SidebarCollapseMode, SidebarHideBehaviour, SidebarHideOpensBehavior, SidebarLayoutBehaviour, SidebarWidth, SidebarTransitionDuration, SidebarZIndex, SidebarBorderRadius, SidebarSafeAreaPosition, SidebarTimingFunction, SidebarIconLibrary, } from "./Sidebar.types";
/**
* Constantes y valores por defecto
*/
export { DEFAULT_DIMENSIONS, DEFAULT_SAFE_AREAS, DEFAULT_ANIMATIONS, DEFAULT_CONFIG, DEFAULT_VISUAL_STYLE, SIDEBAR_KEYBOARD_KEYS, SIDEBAR_DATA_ATTRIBUTES, SIDEBAR_TAILWIND_CLASSES, SIDEBAR_DEBUG_PATTERNS, SIDEBAR_ARIA_ROLES, SIDEBAR_ARIA_LABELS, SIDEBAR_BREAKPOINTS, SIDEBAR_LIMITS, SIDEBAR_CSS_VARIABLES, SIDEBAR_VISUAL_PRESETS, } from "./Sidebar.constants";
/**
* Tipos de constantes
*/
export type { SidebarVisualPreset } from "./Sidebar.constants";
/**
* Funciones para generar estilos CSS dinámicos
*
* @note
* Los estilos usan tokens CSS de shadcn (--sidebar, --sidebar-primary, etc.)
* definidos en globals.css, permitiendo soporte automático de dark/light mode.
*/
export { generateSidebarStyles, generateIndicatorStyles } from "./Sidebar.styles";
//# sourceMappingURL=index.d.ts.map