UNPKG

@buddhacognitivelab/theme-glassmorphic

Version:

Enhanced glassmorphic theme package with dual-mode support, advanced glass effects, interactive UI components, and gesture-based interactions

70 lines (69 loc) 2.06 kB
/** * @fileoverview Sidebar component with glassmorphic styling */ import React from 'react'; export interface SidebarItem { /** Unique identifier */ id: string; /** Item label */ label: string; /** Optional icon */ icon?: React.ReactNode; /** Whether item is active */ active?: boolean; /** Whether item is disabled */ disabled?: boolean; /** Badge content */ badge?: string | number; /** Child items */ children?: SidebarItem[]; /** Click handler */ onClick?: () => void; /** Custom className */ className?: string; /** Whether to show as divider */ divider?: boolean; } export interface SidebarProps { /** Sidebar items */ items: SidebarItem[]; /** Whether sidebar is collapsed */ collapsed?: boolean; /** Whether sidebar can be collapsed */ collapsible?: boolean; /** Sidebar width when expanded */ width?: string | number; /** Sidebar width when collapsed */ collapsedWidth?: string | number; /** Sidebar placement */ placement?: 'left' | 'right'; /** Glass effect intensity */ glassIntensity?: 'light' | 'medium' | 'heavy'; /** Whether to show backdrop on mobile */ showBackdrop?: boolean; /** Whether sidebar is open on mobile */ mobileOpen?: boolean; /** Mobile breakpoint */ mobileBreakpoint?: string; /** Header content */ header?: React.ReactNode; /** Footer content */ footer?: React.ReactNode; /** Collapse handler */ onCollapse?: (collapsed: boolean) => void; /** Item click handler */ onItemClick?: (item: SidebarItem) => void; /** Mobile open change handler */ onMobileOpenChange?: (open: boolean) => void; /** Custom className */ className?: string; /** Z-index */ zIndex?: number; /** Whether to show resize handle */ resizable?: boolean; /** Minimum width for resizing */ minWidth?: number; /** Maximum width for resizing */ maxWidth?: number; } export declare const Sidebar: React.FC<SidebarProps>;