UNPKG

@hadyfayed/filament-workflow-canvas

Version:

Visual workflow builder and canvas component for Filament applications

81 lines 2.06 kB
import { WorkflowData, WorkflowNode, WorkflowConnection } from './types'; /** * Validate workflow data structure */ export declare function validateWorkflowData(data: any): data is WorkflowData; /** * Create a new workflow node */ export declare function createWorkflowNode(type: string, position: { x: number; y: number; }, name?: string): WorkflowNode; /** * Create a new workflow connection */ export declare function createWorkflowConnection(sourceNodeId: string, targetNodeId: string, conditions?: Record<string, any>): WorkflowConnection; /** * Convert ReactFlow data to workflow data */ export declare function reactFlowToWorkflowData(nodes: any[], edges: any[], viewport: { x: number; y: number; zoom: number; }): WorkflowData; /** * Convert workflow data to ReactFlow data */ export declare function workflowDataToReactFlow(data: WorkflowData): { nodes: { id: string; type: string; position: { x: number; y: number; }; data: { label: string; config: Record<string, any>; description: string; hasError: boolean; }; }[]; edges: { id: string; source: string; target: string; type: string; animated: boolean; style: { stroke: string; strokeWidth: number; }; markerEnd: { type: string; color: string; }; data: { conditions: Record<string, any>; }; }[]; }; /** * Check if workflow has cycles */ export declare function hasWorkflowCycles(data: WorkflowData): boolean; /** * Get workflow validation errors */ export declare function validateWorkflow(data: WorkflowData): string[]; /** * Calculate workflow canvas bounds */ export declare function calculateCanvasBounds(data: WorkflowData): { minX: number; minY: number; maxX: number; maxY: number; width: number; height: number; }; //# sourceMappingURL=utils.d.ts.map