import { UIComponent, PageSchema } from '@/types/json-ui' import { ComponentDefinition } from '@/lib/component-definitions' import { SchemaEditorToolbar } from './SchemaEditorToolbar' import { SchemaEditorSidebar } from './SchemaEditorSidebar' import { SchemaEditorCanvas } from './SchemaEditorCanvas' import { SchemaEditorPropertiesPanel } from './SchemaEditorPropertiesPanel' interface SchemaEditorLayoutProps { components: UIComponent[] selectedId: string | null hoveredId: string | null draggedOverId: string | null dropPosition: 'before' | 'after' | 'inside' | null selectedComponent: UIComponent | null onSelect: (id: string | null) => void onHover: (id: string | null) => void onHoverEnd: () => void onComponentDragStart: (component: ComponentDefinition, e: React.DragEvent) => void onTreeDragStart: (id: string, e: React.DragEvent) => void onDragOver: (id: string, e: React.DragEvent) => void onDragLeave: (e: React.DragEvent) => void onDrop: (targetId: string, e: React.DragEvent) => void onUpdate: (updates: Partial) => void onDelete: () => void onImport: () => void onExport: () => void onCopy: () => void onPreview: () => void onClear: () => void } export function SchemaEditorLayout({ components, selectedId, hoveredId, draggedOverId, dropPosition, selectedComponent, onSelect, onHover, onHoverEnd, onComponentDragStart, onTreeDragStart, onDragOver, onDragLeave, onDrop, onUpdate, onDelete, onImport, onExport, onCopy, onPreview, onClear, }: SchemaEditorLayoutProps) { return (
) }