Visual Builder
Drag and drop field authoring with logic controls, schema editing, and live preview in one flow.
Open Source · TypeScript · React
Modular form builder & renderer for React
Build schema-driven forms with modular packages for visual authoring and runtime rendering.
Builder
visual authoring
Renderer
runtime delivery
Core
shared schema
{
"fields": [
{
"type": "text",
"label": "Full Name",
"required": true
},
{
"type": "radio",
"label": "Status",
"options": ["Active", "Inactive"]
}
]
}<EsheetRenderer />Full Name *
Status
Overview
Everything needed to design, integrate, and run forms in modern application workflows.
Drag and drop field authoring with logic controls, schema editing, and live preview in one flow.
Render dynamic forms with conditional interactions and response capture for production workflows.
Compose package layers with a TypeScript core and React UI packages for custom field ecosystems.
Experience
Open the live demo to test schema rendering, conditional behavior, and response flow without any setup.
Author
Build visually or in code
Preview
Test conditions live
Collect
Capture form responses
Install
Start with builder and renderer first, then add runtime variants when needed.
npm install @esheet/builderCreate and manage schemas with the visual editor package.
npm install @esheet/rendererRun schema-driven forms and collect responses at runtime.
npm install @esheet/renderer-standaloneUse a drop-in runtime when you need a simple integration path.
npm install @esheet/renderer-blazeUse the Blaze runtime package for Blaze template environments.
Modules
Each package is independently installable and serves a distinct role in the ecosystem.
Core types, schema models, validation helpers, and logic primitives.
Visual editing package for schema authoring and workflow design.
Runtime package for interaction handling and response collection.
Reusable field implementations and rendering building blocks.
Bidirectional converters between eSheet schemas and SurveyJS, MCP, and other formats.
Blaze template runtime package for form rendering.
Standalone drop-in runtime for simple integration paths.