PHPackages                             blazery/laravel-livewire-wizard - 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. blazery/laravel-livewire-wizard

Abandoned → [spatie/laravel-livewire-wizard](/?search=spatie%2Flaravel-livewire-wizard)Library[Utility &amp; Helpers](/categories/utility)

blazery/laravel-livewire-wizard
===============================

Build wizards using Livewire, extended fork

v2.4.2(9mo ago)00MITPHPPHP ^8.2

Since Jul 18Pushed 9mo agoCompare

[ Source](https://github.com/blazery/laravel-livewire-wizard)[ Packagist](https://packagist.org/packages/blazery/laravel-livewire-wizard)[ Docs](https://github.com/spatie/laravel-livewire-wizard)[ RSS](/packages/blazery-laravel-livewire-wizard/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (12)Versions (4)Used By (0)

Build wizards using Livewire
============================

[](#build-wizards-using-livewire)

[![Latest Version on Packagist](https://camo.githubusercontent.com/01e8a8bb24995c3fbe71e584f5c19f142301d629bd83278bf8f09082b1e987de/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626c617a6572792f6c61726176656c2d6c697665776972652d77697a6172642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/blazery/laravel-livewire-wizard)[![Total Downloads](https://camo.githubusercontent.com/5ffdb9aecab24610d676dee2258b2e0a893f56269807eac6821ba5f9f1fe9ceb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f626c617a6572792f6c61726176656c2d6c697665776972652d77697a6172642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/blazery/laravel-livewire-wizard)

This package is a fork of [Spaties larave-livewire-wizard package](https://github.com/spatie/laravel-livewire-wizard), and tries to address and issue I ran into while developing using the package. Should you have encountered the same issue, migrating to this package should be swift, and a near drop in replacement.

The issue
---------

[](#the-issue)

I like what Livewire offers: Forms, Models, and Enums, all easily accessible in Livewire/Components. Unfortunately, using these in a StepComponent will break the state management done by the Wizard. Navigating back to a previous step that uses one of these data types will likely throw an Exception.

```
Cannot assign string to property \StepComponent::$likesCoffee of type \Enums\LikesCoffeeEnum;
```

or

```
Cannot assign array to property \StepComponent::$form of type \Livewire\Form;
```

This is because these objects don't retain type while traversing the Livewire event system. By default, events get serialized to JSON, and deserialized by the wizard again. This flow of events through the frontend results in data arriving with array or string types, instead of Forms, Arrays, or other synthesizables. This change uses Livewire/Synthesizers, an existing Livewire feature, to process these events instead. The end result, Forms, Models, Enums, and all other Synthesizable data types available in StepComponents.ult, Forms, Models, Enums and all other Synthesizable data types available in StepComponents.

Documentation
-------------

[](#documentation)

### Migrating to this package

[](#migrating-to-this-package)

This package ships with two new classes the replace the old ones.

```
- use Spatie\LivewireWizard\Components\WizardComponent;
+ use Spatie\LivewireWizard\Components\HydratedWizardComponent;

- class MyWizardComponent extends WizardComponent
+ class MyWizardComponent extends HydratedWizardComponent
{

}
```

```
- use Spatie\LivewireWizard\Components\StepComponent;
+ use Spatie\LivewireWizard\Components\DehydratedStepComponent;

- class MyStepComponent extends StepComponent
+ class MyStepComponent extends DehydratedStepComponent
{

}
```

Changing these classes is all it takes for your steps and wizard to support a wider variety of datatypes. For backwards compatibility reasons, the original components are still available. StepComponents that don't require Forms or Models can still extend `Spatie\LivewireWizard\Components\StepComponent`, skipping the dehydration of events. This is compatible with the new `HydratedWizardComponent`, so mixing `StepComponents` and `DehydratedStepComponent` in a single Wizard is allowed.

### Alternative method

[](#alternative-method)

The changes made for this new feature are also available as traits. Adding these to existing Wizards and Steps should have the same result.

See, `Spatie\LivewireWizard\Components\Concerns\WizardHydratesState` and `Spatie\LivewireWizard\Components\Concerns\DehydratedStepComponent` for more info.

```
use Spatie\LivewireWizard\Components\WizardComponent;
+ use Spatie\LivewireWizard\Components\Concerns\WizardHydratesState;

class MyWizardComponent extends WizardComponent
{
+   use WizardHydratesState;

}
```

```
  use Spatie\LivewireWizard\Components\StepComponent;
+ use Spatie\LivewireWizard\Components\Concerns\DehydratedStepComponent;

class MyStepComponent extends StepComponent
{
+    use DehydratedStepComponent;

}
```

Testing
-------

[](#testing)

```
composer test
```

Credits
-------

[](#credits)

Credits to the original developers

- [Freek Van der Herten](https://github.com/freekmurze)
- [Rias Van der Veken](https://github.com/riasvdv)
- [All Contributors](https://github.com/spatie/laravel-livewire-wizard/graphs/contributors)

And credits to the developers over at [Dolphiq](https://dolphiq.nl/), for providing feedback on this.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance55

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 65.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

298d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a3cd0d44e01524a708ad8b10f40bd25d0c3b47b4ef356c5c54cb25b2c528ba71?d=identicon)[blazery](/maintainers/blazery)

---

Top Contributors

[![freekmurze](https://avatars.githubusercontent.com/u/483853?v=4)](https://github.com/freekmurze "freekmurze (194 commits)")[![ju5t](https://avatars.githubusercontent.com/u/3635751?v=4)](https://github.com/ju5t "ju5t (24 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (14 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (12 commits)")[![bangnokia](https://avatars.githubusercontent.com/u/5652494?v=4)](https://github.com/bangnokia "bangnokia (8 commits)")[![riasvdv](https://avatars.githubusercontent.com/u/3626559?v=4)](https://github.com/riasvdv "riasvdv (5 commits)")[![musa11971](https://avatars.githubusercontent.com/u/21341801?v=4)](https://github.com/musa11971 "musa11971 (5 commits)")[![laravel-shift](https://avatars.githubusercontent.com/u/15991828?v=4)](https://github.com/laravel-shift "laravel-shift (4 commits)")[![fredericlesueurs](https://avatars.githubusercontent.com/u/35766280?v=4)](https://github.com/fredericlesueurs "fredericlesueurs (3 commits)")[![damms005](https://avatars.githubusercontent.com/u/9839355?v=4)](https://github.com/damms005 "damms005 (3 commits)")[![jimirobaer](https://avatars.githubusercontent.com/u/8984769?v=4)](https://github.com/jimirobaer "jimirobaer (3 commits)")[![bmartus](https://avatars.githubusercontent.com/u/4819899?v=4)](https://github.com/bmartus "bmartus (3 commits)")[![xHeinrich](https://avatars.githubusercontent.com/u/7674587?v=4)](https://github.com/xHeinrich "xHeinrich (2 commits)")[![designvoid](https://avatars.githubusercontent.com/u/630948?v=4)](https://github.com/designvoid "designvoid (2 commits)")[![fabio-ivona](https://avatars.githubusercontent.com/u/8792274?v=4)](https://github.com/fabio-ivona "fabio-ivona (2 commits)")[![OrangeJuiced](https://avatars.githubusercontent.com/u/22561290?v=4)](https://github.com/OrangeJuiced "OrangeJuiced (2 commits)")[![ersanserkan](https://avatars.githubusercontent.com/u/18284671?v=4)](https://github.com/ersanserkan "ersanserkan (1 commits)")[![Enaah](https://avatars.githubusercontent.com/u/10073766?v=4)](https://github.com/Enaah "Enaah (1 commits)")[![chengkangzai](https://avatars.githubusercontent.com/u/43839286?v=4)](https://github.com/chengkangzai "chengkangzai (1 commits)")[![nickfls](https://avatars.githubusercontent.com/u/12013206?v=4)](https://github.com/nickfls "nickfls (1 commits)")

---

Tags

spatielaravellaravel-livewire-wizard

###  Code Quality

TestsPest

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/blazery-laravel-livewire-wizard/health.svg)

```
[![Health](https://phpackages.com/badges/blazery-laravel-livewire-wizard/health.svg)](https://phpackages.com/packages/blazery-laravel-livewire-wizard)
```

###  Alternatives

[spatie/laravel-livewire-wizard

Build wizards using Livewire

4061.0M4](/packages/spatie-laravel-livewire-wizard)[spatie/laravel-data

Create unified resources and data transfer objects

1.7k28.9M627](/packages/spatie-laravel-data)[leandrocfe/filament-apex-charts

Apex Charts integration for Filament PHP.

4861.2M8](/packages/leandrocfe-filament-apex-charts)[spatie/laravel-support-bubble

A non-intrusive support chat bubble that can be displayed on any page

391173.6k](/packages/spatie-laravel-support-bubble)[tonysm/importmap-laravel

Use ESM with importmap to manage modern JavaScript in Laravel without transpiling or bundling.

148399.8k1](/packages/tonysm-importmap-laravel)[ralphjsmit/livewire-urls

Get the previous and current url in Livewire.

82270.3k4](/packages/ralphjsmit-livewire-urls)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
