"use client"; import type { LucideIcon } from "lucide-react"; import type React from "react"; import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; import { cn } from "@/lib/utils"; interface SidebarButtonProps { icon: LucideIcon; label: string; onClick?: () => void; isCollapsed?: boolean; isActive?: boolean; badge?: React.ReactNode; /** Overlay in the top-right corner of the collapsed icon (e.g. status badge) */ collapsedOverlay?: React.ReactNode; /** Custom icon node for expanded mode — overrides the default rendering */ expandedIconNode?: React.ReactNode; className?: string; /** Extra attributes spread onto the inner {label} {typeof badge === "string" && ` (${badge})`} ); } return ( ); }