'use client'; import { useState, ReactNode } from 'react'; interface CollapsibleGroupProps { title: string; itemCount: number; children: ReactNode; defaultOpen?: boolean; isOpen?: boolean; onToggle?: () => void; } export default function CollapsibleGroup({ title, itemCount, children, defaultOpen = true, isOpen: controlledIsOpen, onToggle }: CollapsibleGroupProps) { const [internalIsOpen, setInternalIsOpen] = useState(defaultOpen); // Use controlled state if provided, otherwise use internal state const isOpen = controlledIsOpen !== undefined ? controlledIsOpen : internalIsOpen; const handleToggle = () => { if (onToggle) { onToggle(); } else { setInternalIsOpen(!internalIsOpen); } }; return (