## Overview

The Step Editor widget is an editor widget for the configuration of a step. It serves as a standalone step configuration tool embedded on Step pages. It automatically binds to the embedding Step page, dynamically loads the appropriate editor component based on the step type (Form, Table, Decision, Info, Script), and provides editing controls for configuring step-specific settings. The widget enforces editing constraints based on wizard activation state and user permissions.

## Use Cases

- **Direct Step Configuration**: When working on a specific Step page and needing to configure its detailed settings
- **Designing form step fields**: Configure which attributes to display, layout (one/two column), field order, and validation rules
- **Setting up table step columns**: Define which columns to show in a table step and their configuration
- **Configuring decision step options**: Set up branching logic and decision options
- **Customizing info step content**: Design informational content display
- **Developing script step logic**: Write and test server-side scripts for custom behavior

## Design Considerations

- The widget can ONLY be embedded on pages of type `cf.cplace.formsWizard.step`
- Editing is disabled when the parent wizard is active/deployed or when the user lacks write permissions
- The widget dynamically loads step-type-specific editors, making it extensible for custom step types
- Typically paired with an Attributes Widget (for step metadata) and Step Preview Widget (for visual preview)

## Alternatives

- **Step Editor for Wizard Widget** (`cf.cplace.formsWizard.stepEditorForWizardWidget`): Use when you want quick editing while maintaining wizard overview on Wizard pages. It requires manual step selection from a table and shows basic attributes inline, whereas the Step Editor Widget automatically binds to the Step page and provides focused, deep editing of a single step.
