Wizard Layout
mountForm() renders wizard steps from the layout contract in mlform/view.
import { mountForm } from "mlform/kit";import { predictionTransport } from "./prediction-transport";
mountForm(container, { transport: predictionTransport, schema: { fields: [ { id: "name", kind: "text", label: "Name", required: true }, { id: "risk", kind: "number", label: "Risk", required: true }, ], reports: [{ id: "score", kind: "classifier", label: "Score" }], }, layout: { kind: "wizard", steps: [ { title: "Profile", children: [{ kind: "field", field: "name" }], }, { title: "Assessment", children: [ { kind: "field", field: "risk" }, { kind: "report", report: "score" }, ], }, ], },});Rules:
- every field must appear exactly once in the wizard layout
- reports are optional
- references must point to existing ids
- step navigation validates the current step before moving forward
When you need a different UI, keep the same wizard layout config and render it yourself through createFormView().
Recommended path:
- use
mountForm()for new built-in wizard screens - use
createFormView()when the host shell must be custom