Download the PHP package blazery/laravel-livewire-wizard without Composer
On this page you can find all versions of the php package blazery/laravel-livewire-wizard. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download blazery/laravel-livewire-wizard
More information about blazery/laravel-livewire-wizard
Files in blazery/laravel-livewire-wizard
Package laravel-livewire-wizard
Short Description Build wizards using Livewire
License MIT
Homepage https://github.com/spatie/laravel-livewire-wizard
Informations about the package laravel-livewire-wizard
Build wizards using Livewire
[](https://packagist.org/packages/blazery/laravel-livewire-wizard) [](https://packagist.org/packages/blazery/laravel-livewire-wizard)This package is a fork of Spaties larave-livewire-wizard package, 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
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.
or
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
Migrating to this package
This package ships with two new classes the replace the old ones.
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
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.
Testing
Credits
Credits to the original developers
And credits to the developers over at Dolphiq, for providing feedback on this.
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-livewire-wizard with dependencies
illuminate/contracts Version ^10.0|^11.0|^12.0
illuminate/support Version ^10.0|^11.0|^12.0
livewire/livewire Version ^3.0
spatie/laravel-collection-macros Version ^7.13|^8.0
spatie/laravel-package-tools Version ^1.16.1