wizard
Builds Wizard


The code that drew it
A still frame holds a repeating animation at its first frame and a one-shot at its last, because a still of a moving thing is not reproducible. Run the gallery to review motion.
fn wizard(_window: &mut Window, cx: &mut App) -> AnyElement {
let theme = cx.theme().clone();
stack(&theme)
.w(px(720.0))
.child(caption(
&theme,
"horizontal, with a blocked step and a failed one",
))
.child(
Wizard::new("scene.wizard.release")
.steps([
WizardStep::new("prepare", "Prepare")
.description("Check the workspace is clean")
.complete(),
WizardStep::new("build", "Build")
.description("Compile every target")
.failed("The build failed on the test target."),
WizardStep::new("sign", "Sign").current(),
WizardStep::new("publish", "Publish")
.blocked("Approval is required for this workspace."),
])
.body(
div()
.p(px(theme.spacing.md))
.radius(&theme, Radius::Card)
.hairline(&theme)
.child(SharedString::new_static(
"The body of the current step belongs to the caller.",
)),
)
.back_to("build")
.on_navigate(|_, _, _| {}),
)
.child(caption(&theme, "vertical, finishing"))
.child(
Wizard::new("scene.wizard.setup")
.vertical()
.steps([
WizardStep::new("account", "Account").complete(),
WizardStep::new("workspace", "Workspace").complete(),
WizardStep::new("review", "Review").current(),
])
.back_to("workspace")
.finish(true)
.on_navigate(|_, _, _| {}),
)
.into_any_element()
}