Wizard
Wizard layout is configured with layout.type: "wizard" and layout.steps.
Wizard schema
TS
export const projectSchema = {
resource: "projects",
layout: {
type: "wizard",
steps: [
{ key: "basic", title: "Basic Information", fields: ["name", "ownerId"] },
{ key: "scope", title: "Scope", fields: ["budget", "startDate", "endDate"] },
{ key: "settings", title: "Settings", fields: ["visibility", "metadata"] }
]
},
form: {
mode: "page",
fields: [
{ name: "name", type: "text", required: true },
{ name: "ownerId", label: "Owner", type: "combobox" },
{ name: "budget", type: "number" },
{ name: "startDate", type: "date" },
{ name: "endDate", type: "date" },
{ name: "visibility", type: "radio-group" },
{ name: "metadata", type: "json" }
]
}
} as const;Runtime behavior
- Wizard steps render as numbered pills.
Backmoves to the previous step.Nextvalidates fields for the active step before moving forward.- The final step renders the submit button.
- Final submit validates the whole form.
Step properties
layout.steps entries use FluiKitFormSection.
| Property | Purpose |
|---|---|
key | Stable step id. |
label | Step label fallback. |
title | Step label, preferred by wizard runtime. |
fields | Field names rendered in the step. |