devrabiul / laravel-toaster-magic
Laravel Toaster Magic is a lightweight, flexible toast library for Laravel projects, with no jQuery, Bootstrap, or Tailwind dependency.
Installs: 5 277
Dependents: 0
Suggesters: 0
Security: 0
Stars: 172
Watchers: 4
Forks: 9
Open Issues: 0
README
Laravel Toaster Magic is a lightweight and flexible toast notification package for Laravel applications β built with zero dependencies on jQuery, Bootstrap, or Tailwind. Itβs fully compatible with Livewire, supports custom events, and now features a Material-inspired design for a modern UX out of the box.
π Table of Contents
- Live Demo
- Features
- Installation
- Usage
- Alternative Syntax & Fluent API
- Toast Position Options
- Get Started Today
- Contributing
- License
- Contact
π Live Demo
β¨ Features
- π₯ Easy-to-Use β Simple and intuitive toast notifications for Laravel.
- π RTL Support β Full compatibility with right-to-left (RTL) languages.
- π Dark Mode β Seamless dark mode integration.
- π¨ Customizable β Tailor toasts with various styles, buttons, and positions.
- β‘ Livewire v3 Ready β Fully supports Livewire v3 with event-based dispatching.
π¦ Installation
Install the package via Composer:
composer require devrabiul/laravel-toaster-magic
Then publish the package assets:
php artisan vendor:publish --provider="Devrabiul\ToastMagic\ToastMagicServiceProvider"
βοΈ Usage
1. Basic Setup
Include the necessary assets in your layout Blade template:
In the <head>
section:
{!! ToastMagic::styles() !!}
Before the closing </body>
tag:
{!! ToastMagic::scripts() !!}
Example:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Page</title> {!! ToastMagic::styles() !!} </head> <body> <!-- Your Content --> {!! ToastMagic::scripts() !!} </body> </html>
2. Usage in Controller
Trigger toast notifications from your controllers using the ToastMagic
facade:
use Devrabiul\ToastMagic\Facades\ToastMagic; public function store() { // Your logic ToastMagic::success('Successfully Created'); // Another Way - message and description ToastMagic::success("Success!", "Your data has been saved!"); // Another Way - message and description ToastMagic::success("Success!", "Your data has been saved!", [ 'showCloseBtn' => true, 'customBtnText' => 'Link Text', 'customBtnLink' => 'https:/demo.com', ]); return back(); }
3. Usage in JavaScript (Optional)
Use ToastMagic directly in JavaScript (for AJAX responses, etc.):
const toastMagic = new ToastMagic(); // Basic notifications toastMagic.success("Success!", "Your data has been saved!"); toastMagic.error("Error!", "Something went wrong."); toastMagic.warning("Warning!", "Check your input.", true); toastMagic.info("Info!", "Click for details.", false, "Learn More", "https://example.com");
4. β Livewire v3 Support
Enable Livewire support by updating your config file:
// config/laravel-toaster-magic.php return [ 'options' => [ // your toast options... ], 'livewire_enabled' => true, 'livewire_version' => 'v3', ];
- Set
'livewire_enabled' => true
to activate Livewire integration. - Set
'livewire_version' => 'v3'
to specify the Livewire version.
Dispatch toast notifications from Livewire components:
$this->dispatch('toastMagic', status: 'success', title: 'User Created', message: 'The user has been successfully created.', options: [ 'showCloseBtn' => true, 'customBtnText' => 'Link Text', 'customBtnLink' => 'https:/demo.com', ], ); $this->dispatch('toastMagic', status: 'info', title: 'User Created 2', message: 'The user has been successfully created.' );
Supported status types: success
, info
, warning
, error
5. β Themes
Change Theme by updating your config file:
// config/laravel-toaster-magic.php return [ 'options' => [ // your toast options.. "theme" => "material", // "default, material". ], // your toast options.. ];
π§© Alternative Syntax & Fluent API
ToastMagic provides both simple and advanced APIs to suit your style.
πΉ Static Method (Quick)
use Devrabiul\ToastMagic\Facades\ToastMagic; ToastMagic::success('Operation Successful'); ToastMagic::error('Something went wrong');
πΉ Fluent Syntax (Advanced)
ToastMagic::dispatch()->success( 'User Created', 'The user has been successfully created.', [ 'showCloseBtn' => true, 'customBtnText' => 'View Profile', 'customBtnLink' => 'https://demo.com', ] );
π Toast Position Options
Customize toast display position using any of the following:
Position | Description |
---|---|
toast-top-start |
Top left corner |
toast-top-end |
Top right corner (default) |
toast-top-center |
Top center |
toast-bottom-start |
Bottom left corner |
toast-bottom-end |
Bottom right corner |
toast-bottom-center |
Bottom center |
π― Get Started Today!
Experience the magic of ToastMagic and enrich your Laravel application with modern, elegant toast notifications.
- π GitHub: devrabiul/laravel-toaster-magic
- π Live Demo: laravel-toaster-magic.rixetbd.com
- π Packagist: packagist.org/packages/devrabiul/laravel-toaster-magic
π€ Contributing
We welcome contributions! Please fork the repository, make your changes, and submit a pull request. For feature requests or issues, open a GitHub issue.
π License
This package is open-source software licensed under the MIT license.
π± Treeware
This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest youβll be creating employment for local families and restoring wildlife habitats.
π¬ Contact
For support or inquiries, feel free to reach out: π§ devrabiul@gmail.com