## Overview

The Step Editor for Forms Wizards widget is an editor widget for the quick configuration of a step. It serves as a contextual step configuration tool embedded in Wizard pages. It responds to step selection events from the Wizard Step Manager table widget and displays editable fields for the selected step, including Title, Description, and Next Step references. The widget dynamically loads the appropriate editor component based on the step type (Form, Table, Decision, Info, Script) and enforces editing constraints when the wizard is active or when the user lacks write permissions.

Use this widget when you need to configure individual wizard steps without navigating away from the main Wizard page context.

## Use Cases

### Primary Use Case: Wizard Design & Configuration

When designing or modifying a Forms Wizard and needing to configure individual steps:

1. User opens a Wizard page
2. User selects a step in the Wizard Step Manager table
3. This widget automatically displays the selected step's configuration
4. User edits step properties (title, description, next steps, type-specific settings)
5. User clicks Save to persist changes

### Specific Scenarios

- **Creating a new wizard flow**: Configure each step's content, navigation, and behavior as you build the wizard
- **Modifying existing steps**: Update form fields, table columns, or decision options for existing steps
- **Adjusting step flow**: Change the "Next" step references to modify the wizard navigation path
- **Localizing wizard content**: Edit step titles and descriptions in different languages

## Design Considerations

This widget is part of a coordinated widget ecosystem on Wizard pages:

| Widget | Purpose |
|--------|---------|
| **Wizard Analysis Widget** (`cf.cplace.formsWizard.wizardAnalysis`) | Provides overview/validation of the wizard |
| **Wizard Step Manager Widget** (`cf.cplace.formsWizard.stepManager`) | Displays/manages the list of steps (table) |
| **Step Editor for Wizard Widget** (this widget) | Edits the currently selected step |

The widget relies on event communication from the Wizard Step Manager widget to know which step is selected. It can only be embedded on pages of type `cf.cplace.formsWizard.wizard`.

### Editing Constraints

- **Read-only when wizard is active**: Cannot edit steps while the wizard is deployed
- **Read-only without write permission**: Respects cplace permission model
- **Single-step editing**: Only one step can be edited at a time

## Alternatives

- **Step Editor Widget** (`cf.cplace.formsWizard.stepEditorWidget`): Similar functionality but embedded on Step pages directly, not Wizard pages. Use this when you want to edit a step from its own detail page rather than from the parent Wizard page.
- **Step Preview Widget** (`cf.cplace.formsWizard.stepPreviewWidget`): Shows how the step will appear to end users. Use this when you need to preview the step rather than edit it.
