SileoToast) to dispatch toast events from server-side logic (e.g., form submissions, API calls) to the frontend. This is a clean separation of concerns but requires Livewire’s event system to function.SileoToast trait and a Livewire component (sileo-toaster) are required. No database or middleware changes are needed.$dispatchBrowserEvent. This works seamlessly in Livewire-heavy apps but may require adjustments in hybrid (Livewire + Inertia/Blade) setups.vite.config.js to include @vitejs/plugin-react.npm install sileo react react-dom @vitejs/plugin-react
composer require superbyte23/sileo-livewire
php artisan vendor:publish --tag=sileo-livewire-js
SileoToast trait to Livewire components:
use Superbyte23\SileoLivewire\SileoToast;
class MyComponent extends Component {
use SileoToast;
}
$this->toast('Success!', 'info');
sileo-toaster Livewire component to the root layout (app.blade.php):
<livewire:sileo-toaster position="top-right" />
$dispatchBrowserEvent. Ensure no existing listeners conflict with sileo-toast events.!important overrides or custom BEM classes.tail -f storage/logs/livewire.log).$queueIdle for batch dispatches.// In sileo-bridge.js
setTimeout(() => { /* Force-remove stale toasts */ }, 30000);
replace: true:
$this->toast('Error!', 'error', ['replace' => true]);
| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Livewire event dispatch fails | Toasts never appear. | Fallback to Blade @stack or JS alert(). |
| React hydration errors | Toasts render incorrectly. | Polyfill missing React dependencies. |
| CSS conflicts | Toasts are unstyled or hidden. | Inspect Sileo’s shadow DOM; use !important. |
| Network partition | Toasts fail silently. | Add a Blade fallback: <div x-data="..."> |
| PHP trait conflicts | Namespace collisions. | Use fully qualified trait paths. |
$dispatchBrowserEvent).How can I help you explore Laravel packages today?