import React, { useState } from 'react'; import { ChevronDown } from 'lucide-react'; import { cn } from '@/lib/utils'; import { Tooltip, TooltipContent, TooltipTrigger } from './tooltip'; interface CollapsibleProps { title: string; children: React.ReactNode; defaultOpen?: boolean; open?: boolean; onOpenChange?: (open: boolean) => void; errorCount?: number; sectionErrors?: string[]; className?: string; } export function Collapsible({ title, children, defaultOpen = true, open: controlledOpen, onOpenChange, errorCount = 0, sectionErrors = [], className, }: CollapsibleProps) { const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen); const isControlled = controlledOpen !== undefined; const isOpen = isControlled ? controlledOpen : uncontrolledOpen; const handleToggle = () => { const newOpen = !isOpen; if (isControlled) { onOpenChange?.(newOpen); } else { setUncontrolledOpen(newOpen); } }; return (