# m3e/step

Step is a step in a wizard-like workflow.

This file was generated: By: m3e/generator version 0.1.0 At: 2026-05-05T14:38:23+10:00

         DO NOT EDIT

# Types

## Completed

</>

Completed is whether the step has been completed.

    pub type Completed {
      IsCompleted
      IsNotCompleted
    }

### Constructors

-     IsCompleted

-     IsNotCompleted

## Config

</>

Config is a public record for configuring this component.

    pub type Config {
      Config(
        completed: Completed,
        disabled: Disabled,
        editable: Editable,
        for: option.Option(String),
        optional: Optional,
        selected: Selected,
        invalid: Invalid,
      )
    }

### Constructors

-     Config(
        completed: Completed,
        disabled: Disabled,
        editable: Editable,
        for: option.Option(String),
        optional: Optional,
        selected: Selected,
        invalid: Invalid,
      )

## Disabled

</>

Disabled is whether the element is disabled.

    pub type Disabled {
      IsDisabled
      IsNotDisabled
    }

### Constructors

-     IsDisabled

-     IsNotDisabled

## Editable

</>

Editable is whether the step is editable and users can return to it after completion.

    pub type Editable {
      IsEditable
      IsNotEditable
    }

### Constructors

-     IsEditable

-     IsNotEditable

## Invalid

</>

Invalid is whether the step has an error.

    pub type Invalid {
      IsInvalid
      IsNotInvalid
    }

### Constructors

-     IsInvalid

-     IsNotInvalid

## Optional

</>

Optional is whether the step is optional.

    pub type Optional {
      IsOptional
      IsNotOptional
    }

### Constructors

-     IsOptional

-     IsNotOptional

## Selected

</>

Selected is whether the element is selected.

    pub type Selected {
      IsSelected
      IsNotSelected
    }

### Constructors

-     IsSelected

-     IsNotSelected

## Slot

</>

Slots are used in child elements to insert content into this component

    pub type Slot {
      Icon
      DoneIcon
      EditIcon
      ErrorIcon
      Hint
      Error
    }

### Constructors

-     Icon

-     DoneIcon

-     EditIcon

-     ErrorIcon

-     Hint

-     Error

## Step

opaque </>

Step is a View Model for this component

## Fields:

- completed: Whether the step has been completed.
- disabled: Whether the element is disabled.
- editable: Whether the step is editable and users can return to it after completion.
- for: The identifier of the interactive control to which this element is attached.
- optional: Whether the step is optional.
- selected: Whether the element is selected.
- invalid: Whether the step has an error.

    pub opaque type Step

# Values

## completed

</>

    pub fn completed(record: Step, completed: Completed) -> Step

completed sets the value of completed for this Step.

## default_completed

</>

    pub const default_completed: Completed

## default_config

</>

    pub fn default_config() -> Config

default_config is the default configuration for this component.

## default_disabled

</>

    pub const default_disabled: Disabled

## default_editable

</>

    pub const default_editable: Editable

## default_for

</>

    pub const default_for: option.Option(String)

## default_invalid

</>

    pub const default_invalid: Invalid

## default_optional

</>

    pub const default_optional: Optional

## default_selected

</>

    pub const default_selected: Selected

## disabled

</>

    pub fn disabled(record: Step, disabled: Disabled) -> Step

disabled sets the value of disabled for this Step.

## editable

</>

    pub fn editable(record: Step, editable: Editable) -> Step

editable sets the value of editable for this Step.

## for

</>

    pub fn for(record: Step, for: option.Option(String)) -> Step

for sets the value of for for this Step.

## from_config

</>

    pub fn from_config(config: Config) -> Step

from_config creates a new Step from the given configuration.

## invalid

</>

    pub fn invalid(record: Step, invalid: Invalid) -> Step

invalid sets the value of invalid for this Step.

## new

</>

    pub fn new() -> Step

new creates a new Step with the default configuration.

## optional

</>

    pub fn optional(record: Step, optional: Optional) -> Step

optional sets the value of optional for this Step.

## render

</>

    pub fn render(
      model: Step,
      attributes: List(attribute.Attribute(msg)),
      children: List(element.Element(msg)),
    ) -> element.Element(msg)

render creates a Lustre Element for a Step

## render_config

</>

    pub fn render_config(
      c: Config,
      attributes: List(attribute.Attribute(msg)),
      children: List(element.Element(msg)),
    ) -> element.Element(msg)

render_config creates a Lustre Element from a Step Config

## selected

</>

    pub fn selected(record: Step, selected: Selected) -> Step

selected sets the value of selected for this Step.

## slot

</>

    pub fn slot(s: Slot) -> attribute.Attribute(msg)

slot returns a Lustre Attribute(msg) for the given slot name

✨