PHPackages                             satoved/laravel-livewire-steps - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. satoved/laravel-livewire-steps

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

satoved/laravel-livewire-steps
==============================

Lightweight Livewire component that allow you to easily build a wizard or multi-step forms.

v1.3.0(3mo ago)62.5k↓16.7%MITPHPPHP ^8.2CI failing

Since Sep 25Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/satoved/laravel-livewire-steps)[ Packagist](https://packagist.org/packages/satoved/laravel-livewire-steps)[ Docs](https://github.com/satoved/laravel-livewire-steps)[ GitHub Sponsors](https://github.com/satoved)[ RSS](/packages/satoved-laravel-livewire-steps/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (13)Versions (8)Used By (0)

Lightweight Livewire component to build wizards (multi-step forms)
==================================================================

[](#lightweight-livewire-component-to-build-wizards-multi-step-forms)

[![Latest Version on Packagist](https://camo.githubusercontent.com/1e3cfc97dff8e334e42b570e6162c43c6666aeeb88413fd0f95d8765da1c908f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7361746f7665642f6c61726176656c2d6c697665776972652d73746570732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/satoved/laravel-livewire-steps)[![GitHub Tests Action Status](https://camo.githubusercontent.com/2110c835c7881a6726c7c77770c7ba3cff0fac59d2e4ef0b3c383242ff988002/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7361746f7665642f6c61726176656c2d6c697665776972652d73746570732f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/satoved/laravel-livewire-steps/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/f76c9dd73a379521f9228c25715c3f3e59f97e3f287391fc0256bf022b951c9f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7361746f7665642f6c61726176656c2d6c697665776972652d73746570732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/satoved/laravel-livewire-steps/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/d4cef09ed2d12aa24f74783e2e6bbc66fc8825a358d70b76de7d1c9fdf025d43/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7361746f7665642f6c61726176656c2d6c697665776972652d73746570732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/satoved/laravel-livewire-steps)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[](#)

Lightweight Livewire component that allow you to easily build a wizard (multi-step form).

This package utilizes [Livewire 3 forms objects](https://livewire.laravel.com/docs/forms#extracting-a-form-object) as steps and needs only one Livewire component as a Wizard.

[![screenshot](https://github.com/satoved/laravel-livewire-steps/raw/main/docs/images/demo-screenshot.png?raw=true)](https://github.com/satoved/laravel-livewire-steps/blob/main/docs/images/demo-screenshot.png?raw=true)

Here's what a wizard could look like.

In [this repo on GitHub](https://github.com/satoved/laravel-livewire-steps-demo), you'll find a demo Laravel application that uses the laravel-livewire-steps package to create a simple email subscription flow.

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require satoved/laravel-livewire-steps
```

Usage
-----

[](#usage)

Create a Livewire component that extends WizardComponent. List all steps in the correct order as public properties.

```
use Satoved\LivewireSteps\Livewire\WizardComponent;

class EmailSubscriptionWizard extends WizardComponent
{
    public NameStep $nameStep;
    public EmailStep $emailStep;

    public function render()
    {
        return
