'use client'; import * as React from 'react'; import { clsx } from 'clsx'; import { Menu, X } from 'lucide-react'; export interface SidebarProps { children: React.ReactNode; header?: React.ReactNode; footer?: React.ReactNode; collapsed?: boolean; onToggle?: () => void; className?: string; width?: number; } export function Sidebar({ children, header, footer, collapsed = false, onToggle, className, width = 240, }: SidebarProps) { return ( <> {/* Mobile toggle */} {onToggle && ( )} {/* Overlay */} {onToggle && !collapsed && (
)} > ); } export interface SidebarItemProps { href: string; label: string; icon?: React.ReactNode; active?: boolean; className?: string; } export function SidebarItem({ href, label, icon, active, className }: SidebarItemProps) { return ( {icon && {icon}} {label} ); } Sidebar.displayName = 'Sidebar'; SidebarItem.displayName = 'SidebarItem';