import { useState } from 'react'; import { VisualElement } from '../../types/blocks'; import { ChevronRight, ChevronDown } from 'lucide-react'; interface ElementTreeProps { elements: VisualElement[]; selectedId: string | null; onSelect: (id: string) => void; onContextMenu?: (e: React.MouseEvent, id: string) => void; depth?: number; } function TreeItem({ element, selectedId, onSelect, onContextMenu, depth, }: { element: VisualElement; selectedId: string | null; onSelect: (id: string) => void; onContextMenu?: (e: React.MouseEvent, id: string) => void; depth: number; }) { const isSelected = selectedId === element.id; const hasChildren = element.children && element.children.length > 0; const [expanded, setExpanded] = useState(true); return (