# Step API

> Auto-generated API reference for `Step` from @vuetify/v0 (Vuetify0).
> Source of truth: https://0.vuetifyjs.com/api/step

## Related

- https://0.vuetifyjs.com/components/providers/step
- https://0.vuetifyjs.com/composables/selection/create-step
- https://0.vuetifyjs.com/components/providers/single

## Step.Root

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:step"` | no | Namespace for dependency injection (must match StepItem namespace) |
| `disabled` | `boolean \| undefined` | `false` | no | Disables the entire step instance |
| `enroll` | `boolean \| undefined` | `false` | no | Auto-select non-disabled items on registration |
| `mandatory` | `boolean \| "force" \| undefined` | `false` | no | Controls mandatory step behavior: - false (default): No mandatory step enforcement - true: Prevents deselecting the last selected item - `force`: Automatically selects the first non-disabled item on registration |
| `modelValue` | `T \| T[] \| undefined` | — | no | — |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `StepRootSlotProps` | — |

## Step.Item

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `id` | `string \| undefined` | — | no | Unique identifier (auto-generated if not provided) |
| `label` | `string \| undefined` | — | no | Optional display label (passed through to slot, not used in registration) |
| `value` | `V \| undefined` | — | no | Value associated with this item |
| `disabled` | `MaybeRefOrGetter<boolean> \| undefined` | — | no | Disables this specific item |
| `namespace` | `string \| undefined` | `"v0:step"` | no | Namespace for dependency injection |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `StepItemSlotProps<V>` | — |
