npx skills add ...
npx skills add syncfusion/angular-ui-components-skills --skill syncfusion-angular-stepper
Create and configure Syncfusion Angular Stepper component for multi-step workflows, wizards, forms, and onboarding flows. Use this skill when implementing step-by-step navigation, configuring step validation, handling step events, or customizing step appearance with icons, labels, and templates. This covers stepper-based wizard interfaces, progress tracking workflows, and multi-form configurations.
npx skills add syncfusion/angular-ui-components-skills --skill syncfusion-angular-stepper
The Syncfusion Angular Stepper component displays a step-by-step process or workflow, ideal for wizards, onboarding, or multi-step forms. This skill guides you through implementing, configuring, and customizing the Stepper component with complete control over step appearance, validation, events, and animations.
Use this skill when:
The Stepper component provides:
š Read: references/getting-started.md
š Read: references/api-reference.md
activeStep, animation, cssClass, enablePersistence, enableRtl, labelPosition, linear, locale, orientation, readOnly, showTooltip, stepType, steps, template, tooltipTemplatecssClass, disabled, iconCss, isValid, label, optional, status, textenable, duration, delaydestroy(), nextStep(), previousStep(), refreshProgressbar(), reset()created, stepChanged, stepChanging, stepClick, beforeStepRenderStepType, StepStatus, StepLabelPosition, StepperOrientationš Read: references/steps-configuration.md
<e-step> directiveiconCss propertyactiveStepisValid propertyš Read: references/step-types.md
š Read: references/orientations-and-layouts.md
š Read: references/events-and-interactions.md
created event for initializationstepChanged event after step changes (with EventArgs)stepChanging event for step change prevention (with EventArgs)beforeStepRender event for pre-render customization (with EventArgs)stepClick event for click handling (with EventArgs)š Read: references/validation-and-flow.md
š Read: references/templates-and-customization.md
<ng-template>cssClass property)š Read: references/advanced-features.md
enableRtlUse the stepChanging event to validate form data before allowing step progression.
Bind step data dynamically using *ngFor directive.
Enable linear property to enforce sequential progression.
Use event handlers to track navigation and validate progress.
| Property | Type | Default | When to Use |
|---|---|---|---|
stepType | StepType | Default | Change display style: Default, Indicator, Label |
orientation | Orientation | Horizontal | Set layout: Horizontal or Vertical |
linear | boolean | false | Enforce sequential progression |
activeStep | number | 0 | Set current active step (0-indexed) |
animation | StepperAnimationSettingsModel | enabled | Configure transition animations |
showTooltip | boolean | false | Display tooltips on step hover |
labelPosition | string | Bottom | Position labels: Top, Bottom, Start, End |
readOnly | boolean | false | Disable all step interactions |
cssClass | string | - | Apply custom CSS classes |
enableRtl | boolean | false | Enable RTL for Arabic, Hebrew, Urdu |
enablePersistence | boolean | false | Persist state between page reloads |
locale | string | en-US | Set language/culture |
For complete API reference with code examples, see: š API Reference
Wizard Forms: Implement multi-step form wizards with validation at each step Onboarding Flow: Guide new users through setup or introduction steps Process Tracking: Display workflow progress (order processing, job applications) Multi-Step Checkout: Create shopping cart workflows with address and payment steps Setup Assistants: Configure tools or services through guided step-by-step setup Document Submission: Multi-step document upload with validation
Next Steps: Select a reference above based on what you need to implement. Start with getting-started.md if this is your first time using the Stepper component.
<ejs-stepper (stepChanging)="onStepChanging($event)">
<e-steps>
<e-step label="Personal Info"></e-step>
<e-step label="Contact Details"></e-step>
<e-step label="Address"></e-step>
<e-step label="Confirmation"></e-step>
</e-steps>
</ejs-stepper><ejs-stepper>
<e-steps>
<e-step *ngFor="let step of steps"
[label]="step.label"
[iconCss]="step.icon"></e-step>
</e-steps>
</ejs-stepper><ejs-stepper [linear]="true">
<e-steps>
<e-step label="Step 1"></e-step>
<e-step label="Step 2"></e-step>
<e-step label="Step 3"></e-step>
</e-steps>
</ejs-stepper>onStepChanged(args: StepperChangedEventArgs) {
console.log(`Active step index: ${args.activeStep}`);
}
onStepChanging(args: StepperChangingEventArgs) {
if (!isFormValid()) {
args.cancel = true; // Prevent step change
}
}