/** * @file Form Builder Node - Interactive form builder with various field types */ import * as React from "react"; import type { NodeDefinition, NodeRendererProps, InspectorRenderProps, ExternalDataReference, } from "../../../../../types/NodeDefinition"; import { getTextColor } from "./colorUtils"; export type FormData = { id: string; title: string; fields: Array<{ id: string; type: "text" | "email" | "number" | "select" | "textarea" | "checkbox"; label: string; required: boolean; options?: string[]; // for select fields }>; }; export const FormRenderer = ({ node, isSelected, isDragging, externalData }: NodeRendererProps) => { const formData = externalData as FormData | undefined; const formColor = "#f59e0b"; return (