Typed definitions
Define steps and six native field types in plain data. TypeScript contracts keep the integration boundary explicit.
Framework-agnostic · zero runtime dependencies
Define the journey as plain data. Demetria turns it into a semantic, navigable multi-step form while your application keeps control of presentation and integration.
npm install demetria
import { createForm } from 'demetria';
const form = createForm({
target: '#signup',
schema: {
id: 'signup',
steps: [/* your fields */]
}
});
form.mount();
Focused core
Demetria owns predictable form state, validation, and navigation. Native controls and stable CSS hooks let the host application own presentation.
Define steps and six native field types in plain data. TypeScript contracts keep the integration boundary explicit.
Run all steps on one page, or coordinate real page-to-page navigation while restoring saved values.
Semantic controls, error associations, keyboard operation, and managed focus are part of the renderer—not an add-on.
Try the flows
Each example imports the same compiled ESM artifact a package consumer receives. No framework or runtime dependency is involved.
Move between steps in place, validate fields, and inspect the completed values.
Navigate between separate documents and restore state through session storage.
Review exact required, optional, field-type, and validation behavior before integrating.