Stepper - Laravel Blade
Use the stepper component to show a multi-step process indicator with completed, current, and upcoming states for navigation and progress tracking.
Default Stepper
- Personal Info
- Account Info
- Confirmation
Blade code
<x-fwb.stepper>
<x-fwb.stepper.item :completed="true" label="Personal Info" />
<x-fwb.stepper.item :current="true" label="Account Info" />
<x-fwb.stepper.item label="Confirmation" />
</x-fwb.stepper>
Progress Stepper
- Personal Info
- Account Info
- Review
- Confirmation
Blade code
<x-fwb.stepper>
<x-fwb.stepper.item :completed="true" label="Personal Info" fwb-icon="s-check-circle" />
<x-fwb.stepper.item :completed="true" label="Account Info" fwb-icon="s-check-circle" />
<x-fwb.stepper.item :current="true" label="Review" />
<x-fwb.stepper.item label="Confirmation" />
</x-fwb.stepper>
Detailed Stepper
-
User Info
Step details here
-
Account Details
Step details here
-
Review
Step details here
Blade code
<x-fwb.stepper>
<x-fwb.stepper.item :completed="true">
<div>
<h3 class="font-medium leading-tight text-blue-600 dark:text-blue-500">User Info</h3>
<p class="text-sm text-gray-500 dark:text-gray-400">Step details here</p>
</div>
</x-fwb.stepper.item>
<x-fwb.stepper.item :current="true">
<div>
<h3 class="font-medium leading-tight text-blue-600 dark:text-blue-500">Account Details</h3>
<p class="text-sm text-gray-500 dark:text-gray-400">Step details here</p>
</div>
</x-fwb.stepper.item>
<x-fwb.stepper.item>
<div>
<h3 class="font-medium leading-tight">Review</h3>
<p class="text-sm text-gray-500 dark:text-gray-400">Step details here</p>
</div>
</x-fwb.stepper.item>
</x-fwb.stepper>
Vertical Stepper
Completed
Personal information has been completed.
Current
Account information is being reviewed.
Upcoming
Confirmation pending.
Blade code
<x-fwb.stepper variant="vertical">
<div class="flex items-center p-4 text-green-700 border border-green-300 rounded-lg bg-green-50 dark:bg-gray-800 dark:border-green-800 dark:text-green-400" role="alert">
<x-fwb-s-check-circle class="flex-shrink-0 w-4 h-4 me-2" />
<span class="sr-only">Completed</span>
<h3 class="text-sm font-medium">Personal information has been completed.</h3>
</div>
<div class="flex items-center p-4 text-blue-700 border border-blue-300 rounded-lg bg-blue-50 dark:bg-gray-800 dark:border-blue-800 dark:text-blue-400" role="alert">
<x-fwb-o-info-circle class="flex-shrink-0 w-4 h-4 me-2" />
<span class="sr-only">Current</span>
<h3 class="text-sm font-medium">Account information is being reviewed.</h3>
</div>
<div class="flex items-center p-4 text-gray-500 border border-gray-300 rounded-lg bg-gray-50 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400" role="alert">
<div class="flex-shrink-0 w-4 h-4 me-2 border-2 border-gray-400 rounded-full dark:border-gray-500"></div>
<span class="sr-only">Upcoming</span>
<h3 class="text-sm font-medium">Confirmation pending.</h3>
</div>
</x-fwb.stepper>
Breadcrumb Stepper
- Personal Info
- Account Info
- Review
- Confirmation
Blade code
<x-fwb.stepper variant="breadcrumb">
<x-fwb.stepper.item :completed="true" label="Personal Info" />
<x-fwb.stepper.item :current="true" label="Account Info" />
<x-fwb.stepper.item label="Review" />
<x-fwb.stepper.item label="Confirmation" />
</x-fwb.stepper>
Timeline Stepper
Personal Info
Step completed successfully.
Account Details
Currently in progress.
Confirmation
Pending review.
Blade code
<x-fwb.stepper variant="timeline">
<div class="mb-10 ms-6">
<span class="absolute flex items-center justify-center w-8 h-8 bg-green-200 rounded-full -start-4 ring-4 ring-white dark:ring-gray-900 dark:bg-green-900">
<x-fwb-o-check class="w-3.5 h-3.5 text-green-500 dark:text-green-400" />
</span>
<h3 class="font-medium leading-tight text-gray-900 dark:text-white">Personal Info</h3>
<p class="text-sm text-gray-500 dark:text-gray-400">Step completed successfully.</p>
</div>
<div class="mb-10 ms-6">
<span class="absolute flex items-center justify-center w-8 h-8 bg-blue-200 rounded-full -start-4 ring-4 ring-white dark:ring-gray-900 dark:bg-blue-900">
<x-fwb-s-user-circle class="w-3.5 h-3.5 text-blue-600 dark:text-blue-300" />
</span>
<h3 class="font-medium leading-tight text-gray-900 dark:text-white">Account Details</h3>
<p class="text-sm text-gray-500 dark:text-gray-400">Currently in progress.</p>
</div>
<div class="ms-6">
<span class="absolute flex items-center justify-center w-8 h-8 bg-gray-100 rounded-full -start-4 ring-4 ring-white dark:ring-gray-900 dark:bg-gray-700">
<x-fwb-o-file class="w-3.5 h-3.5 text-gray-500 dark:text-gray-400" />
</span>
<h3 class="font-medium leading-tight text-gray-900 dark:text-white">Confirmation</h3>
<p class="text-sm text-gray-500 dark:text-gray-400">Pending review.</p>
</div>
</x-fwb.stepper>
Stepper with Form
- Personal Info
- Account Info
- Confirmation
Blade code
<div>
<x-fwb.stepper class="mb-8">
<x-fwb.stepper.item :completed="true" label="Personal Info" />
<x-fwb.stepper.item :current="true" label="Account Info" />
<x-fwb.stepper.item label="Confirmation" />
</x-fwb.stepper>
<form class="max-w-sm mx-auto">
<div class="mb-5">
<label for="email" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Your email</label>
<input type="email" id="email" class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white" placeholder="name@flowbite.com" required />
</div>
<div class="mb-5">
<label for="password" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Your password</label>
<input type="password" id="password" class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white" required />
</div>
<div class="flex items-start mb-5">
<input id="remember" type="checkbox" class="w-4 h-4 border border-gray-300 rounded bg-gray-50 focus:ring-3 focus:ring-blue-300 dark:bg-gray-700 dark:border-gray-600 dark:focus:ring-blue-600" />
<label for="remember" class="ms-2 text-sm font-medium text-gray-900 dark:text-gray-300">Remember me</label>
</div>
<button type="submit" class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800">Next Step</button>
</form>
</div>
Component Properties
Stepper x-fwb.stepper
| Prop | Type | Default | Description |
|---|---|---|---|
| variant | string | default |
Stepper layout variant. Options: default, vertical, breadcrumb, timeline. |
Stepper Item x-fwb.stepper.item
| Prop | Type | Default | Description |
|---|---|---|---|
| completed | bool | false |
Mark the step as completed. Shows a checkmark icon. |
| current | bool | false |
Mark the step as the currently active step. Highlights the step with an accent color. |
| label | string|null | null |
Text label for the step. |
| description | string|null | null |
Additional description text displayed below the label. |
| fwb-icon | string|null | null |
Shorthand icon name from flowbite-blade-icons (e.g. s-check-circle). Displayed when the step is not completed. |
| icon | slot | — |
Named slot for full icon control. Displayed when the step is not completed. Takes priority over fwb-icon prop. |