realrashid / sweet-alert
A beautiful, responsive, customizable, accessible (WAI-ARIA) replacement for JavaScript popup boxes for Laravel - rebuilt with a fluent, Laravel-native API.
Fund package maintenance!
Requires
- php: ^8.3
- laravel/framework: ^11.0|^12.0|^13.0
Requires (Dev)
- inertiajs/inertia-laravel: ^2.0
- laravel/pint: ^1.18
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.5.0
- orchestra/testbench: ^9.0.0||^10.0||^11.0
- pestphp/pest: ^3.0|^4.0
- pestphp/pest-plugin-arch: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
- phpstan/phpstan: ^2.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-07 22:14:36 UTC
README
A beautiful, responsive, customizable, accessible (WAI-ARIA) replacement for JavaScript popup boxes for Laravel — rebuilt from scratch with a fluent, Laravel-native API.
Features
- Fluent Builder API — Chain methods naturally like Laravel Eloquent
- Full SweetAlert2 Coverage — Inputs, deny buttons, pre-confirm, animations, themes, and more
- Three Purpose-Built Builders —
AlertBuilder,ToastBuilder, andInputBuilder - PHP 8.3+ Enums — Type-safe
AlertType,InputType, andPositionenums with IDE autocompletion - Livewire v4 Support — First-class
SweetAlertTraitfor dispatching alerts as browser events - Inertia.js Support — Share alerts with Vue/React via the included middleware
- Guarded Actions —
data-confirmasks before any link or form goes through, no JavaScript to write - Laravel Boost Ready — ships a guideline and skill so AI assistants write v8 code, not v7
- Guided Upgrade —
php artisan alert:upgrademigrates a v7 codebase for you, with--dry-run
See It Running
AlertDeck is a Laravel app that
exercises every alert this package can produce — in Blade, in Livewire and in
Inertia, plus the guarded-action attributes, all seven themes, and routes
migrated from v7 by alert:upgrade.
Quick Start
composer require realrashid/sweet-alert php artisan alert:install
Upgrading from v7? See what would change before anything is written:
php artisan alert:upgrade --dry-run
Add the Blade directive to your layout:
<head> ... </head> <body> ... @sweetAlert </body>
Fire an alert from any controller:
use RealRashid\SweetAlert\Facades\Alert; Alert::title('Welcome!') ->success() ->text('Your account has been created.') ->flash(); return redirect()->route('dashboard');
Or use the global helper:
alert('Success!', 'Your data has been saved.', 'success'); return redirect()->back();
Documentation
Ready to explore all the features and options? Dive into our comprehensive documentation:
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
If you discover a security vulnerability, please help us maintain the security of this project by responsibly disclosing it to us. To report a security vulnerability, please send an email to realrashid05@gmail.com. We'll address the issue as promptly as possible.
Credits
Support My Work
If you find Laravel SweetAlert helpful and would like to support my work, you can buy me a coffee. Your support will help keep this project alive and thriving. It's a small token of appreciation that goes a long way.
License
The MIT License (MIT). Please see License File for more information.
Made with ❤️ from Pakistan