STEPS / WIZARD: Multi-step progress indicator with navigable content panels
VARIANTS: Horizontal | Vertical | Dots-Only
SIZES: Small (.steps-sm) | Default | Large (.steps-lg)

Guide users through multi-step processes like onboarding, checkout, and registration. Supports linear (sequential) and non-linear (free) navigation modes, cancelable validation events, and automatic step state management.

Horizontal (Default)

Default layout: Steps flow left-to-right with connector lines between indicators. Click "Continue" to advance, "Back" to return. Click a completed step indicator to jump back.

1
Account
2
Profile
3
Preferences
4
Review

Create Your Account

Your Profile

Preferences

Review & Confirm

Review your details before completing setup. You can go back to any previous step to make changes.

<div class="tw-steps" data-controller="steps">...</div>

Vertical Layout

.steps-vertical: Steps stack vertically with connectors between indicators. Content panel appears to the right of the step list. Ideal for longer forms and side-panel layouts.

1
Personal Details
Name, date of birth, address
2
Academic History
Previous schools, grades
3
Supporting Documents
References, certificates
4
Parent / Guardian
Contact details
5
Submit
Review and confirm

Personal Details

Academic History

Enter details about previous schools and academic achievements.

Supporting Documents

Upload references, certificates, and other supporting materials.

Parent / Guardian Details

Provide contact information for the primary parent or guardian.

Review & Submit

Review all information before submitting the application.

<div class="tw-steps tw-steps-vertical" data-controller="steps">...</div>

Dots-Only

.steps-dots: Compact dot indicators without labels. Active dot has a ring highlight. Ideal for onboarding flows, image carousels, and compact wizards.

Welcome to Admissions+

Let's get you set up in just a few steps.

Your School

Tell us about your school and admissions needs.

Invite Your Team

Add colleagues to collaborate on admissions.

Configure Workflow

Set up your admissions stages and notifications.

All Done!

You're ready to start managing admissions.

<div class="tw-steps tw-steps-dots" data-controller="steps">...</div>

Sizes

Size variants: .steps-sm (24px indicators), default (32px), and .steps-lg (40px indicators, thicker connectors).

Small (.steps-sm)

Account
Profile
3
Settings
4
Review

Default

Account
Profile
3
Settings
4
Review

Large (.steps-lg)

Account
Profile
3
Settings
4
Review
<div class="tw-steps tw-steps-sm">...</div> / <div class="tw-steps tw-steps-lg">...</div>

Step States

States: Completed (green circle, check icon), Active (white circle, blue border), Upcoming (gray translucent), and Error (red circle, X icon). States are managed via CSS classes .completed, .active, and .error.

Completed
2
Active
Error
4
Upcoming
.step.completed / .step.active / .step.error / .step (upcoming)

With Validation

Cancelable events: Listen for steps:beforeNext and call event.preventDefault() to block advancement. This demo requires the checkbox to be checked before proceeding past step 1.

1
Agreement
2
Details
3
Confirm

Terms & Conditions

Please read and accept the terms before continuing.

Enter Details

Fill in your information here.

Confirmation

All steps complete. Ready to submit.

data-action="steps:beforeNext->controller#validate" — call event.preventDefault() to block

Non-Linear Navigation

data-steps-linear-value="false": Users can click any step indicator to jump directly to it, regardless of completion. Useful for tw-tabed-style forms where sections are independent.

1
General
2
Appearance
3
Notifications
4
Privacy

General Settings

Language, timezone, and regional preferences.

Appearance

Theme, colours, and display options.

Notifications

Email, push, and in-app notification preferences.

Privacy

Data sharing, visibility, and consent settings.

data-steps-linear-value="false"

Initial Index (Resume)

data-steps-index-value="2": Start the wizard at step 3. All preceding steps (1 and 2) are automatically marked as completed with green check indicators. Useful for resuming a partially completed workflow.

1
Account
2
Profile
3
Preferences
4
Review

Account Setup

Already completed — click the step indicator to revisit.

Profile Details

Already completed — click the step indicator to revisit.

Preferences

You resumed here. Continue configuring your preferences.

Review

Final review before completing setup.

data-steps-index-value="2" — steps 0 and 1 are auto-completed