@datamonsterr/vdt-dashboard
Version:
77 lines • 1.96 kB
TypeScript
import type { Table, ForeignKey } from '@/types/database';
export interface SchemaCanvasProps {
/**
* Optional initial tables to load in the canvas
*/
initialTables?: Table[];
/**
* Optional initial foreign keys to load in the canvas
*/
initialForeignKeys?: ForeignKey[];
/**
* Callback when schema data changes
*/
onSchemaChange?: (data: {
tables: Table[];
foreignKeys: ForeignKey[];
}) => void;
/**
* Callback when export button is clicked
*/
onExport?: () => void;
/**
* Callback for saving the schema
*/
onSave?: () => void;
/**
* Whether the schema is currently being saved
*/
isSaving?: boolean;
/**
* Current schema ID (if editing existing schema)
*/
schemaId?: string;
/**
* Whether to show the toolbar (default: true)
*/
showToolbar?: boolean;
/**
* Whether to show the undo/redo toolbar (default: true)
*/
showUndoRedo?: boolean;
/**
* Whether to show the theme toggle button (default: true)
*/
showThemeToggle?: boolean;
/**
* Whether to show the user settings button (default: true)
*/
showUserSettings?: boolean;
/**
* Initial theme for the schema builder (default: system preference)
*/
initialTheme?: 'light' | 'dark';
/**
* Custom className for the canvas container
*/
className?: string;
/**
* Custom style for the canvas container
*/
style?: React.CSSProperties;
}
export interface SchemaCanvasViewProps extends Omit<SchemaCanvasProps, 'initialTheme'> {
/**
* Initial theme for the schema builder (default: 'light')
*/
initialTheme?: 'light' | 'dark';
/**
* Custom wrapper className
*/
wrapperClassName?: string;
/**
* Custom wrapper style
*/
wrapperStyle?: React.CSSProperties;
}
//# sourceMappingURL=types.d.ts.map