laravilt / notifications
Complete notification system with toast messages, colors, icons, and actions. Display beautiful toast notifications with success, danger, warning, and info states. Supports dismissible notifications, custom durations, and action buttons.
Fund package maintenance!
fadymondy
Installs: 5
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/laravilt/notifications
Requires
- php: ^8.3|^8.4
- spatie/laravel-package-tools: ^1.14
Requires (Dev)
- larastan/larastan: ^2.9||^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- pestphp/pest-plugin-livewire: ^3.0
- pestphp/pest-plugin-type-coverage: ^3.5
- phpstan/extension-installer: ^1.3||^2.0
- phpstan/phpstan-deprecation-rules: ^1.1||^2.0
- phpstan/phpstan-phpunit: ^1.3||^2.0
This package is auto-updated.
Last update: 2025-12-02 15:42:00 UTC
README
Laravilt Notifications
Complete notification system with toast messages, colors, icons, and actions for Laravilt. Display beautiful toast notifications with success, danger, warning, and info states. Supports dismissible notifications, custom durations, and action buttons.
Features
- 🎨 Multiple States - Success, danger, warning, info, and custom states
- 🎯 Customizable - Title, body, icon, color, and duration
- ✨ Actions - Add custom action buttons to notifications
- ⏱️ Auto-dismiss - Configurable duration with manual dismiss option
- 🔔 Icon Support - Heroicons and Lucide icon integration
- 📱 Responsive - Beautiful toast notifications on all devices
- ⚡ Helper Functions - Global notification helpers for easy use
Installation
composer require laravilt/notifications
The package will automatically register its service provider.
Quick Start
use Laravilt\Notifications\Notification; // Success notification Notification::success() ->title('Success!') ->body('User created successfully') ->send(); // Danger notification Notification::danger() ->title('Error!') ->body('Something went wrong') ->send(); // Warning notification Notification::warning() ->title('Warning!') ->body('Please check your input') ->send(); // Info notification Notification::info() ->title('Info') ->body('New update available') ->send(); // Custom notification Notification::make() ->title('Custom Notification') ->body('This is a custom notification') ->icon('bell') ->color('purple') ->duration(5000) ->dismissible() ->send();
Helper Functions
// Global helper functions notify()->success('User created successfully'); notify()->danger('Something went wrong'); notify()->warning('Please check your input'); notify()->info('New update available'); // With title and body notify()->success( title: 'Success!', body: 'User created successfully' ); // Custom notification notify() ->title('Custom') ->body('Message') ->icon('bell') ->color('primary') ->send();
Available Methods
title(string $title)- Set notification titlebody(string $body)- Set notification body/messageicon(string $icon)- Set notification iconcolor(string $color)- Set notification colorduration(int $milliseconds)- Set auto-dismiss durationdismissible(bool $dismissible = true)- Make notification dismissiblestatus(string $status)- Set notification statusactions(array $actions)- Add action buttonssend()- Send the notification
Available States
success()- Success state (green)danger()- Danger/error state (red)warning()- Warning state (orange)info()- Info state (blue)
Available Colors
success- Greendanger- Redwarning- Orangeinfo- Blueprimary- Primary brand colorsecondary- Secondary color
Configuration
Publish the config file:
php artisan vendor:publish --tag="laravilt-notifications-config"
Assets
Publish the plugin assets:
php artisan vendor:publish --tag="laravilt-notifications-assets"
Views
Publish the views:
php artisan vendor:publish --tag="notifications-views"
Migrations
Publish the migrations:
php artisan vendor:publish --tag="notifications-migrations"
Frontend Integration (Vue 3)
The notifications are automatically available in your Inertia.js pages via the shared data.
<template> <NotificationContainer /> </template> <script setup> import NotificationContainer from '@/components/NotificationContainer.vue' </script>
Testing
composer test
Code Style
composer format
Static Analysis
composer analyse
License
The MIT License (MIT). Please see License File for more information.
