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

1.0.0 2025-12-02 12:48 UTC

This package is auto-updated.

Last update: 2025-12-02 15:42:00 UTC


README

Notifications

Laravilt Notifications

Latest Stable Version License Downloads Dependabot Updates PHP Code Styling Tests

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 title
  • body(string $body) - Set notification body/message
  • icon(string $icon) - Set notification icon
  • color(string $color) - Set notification color
  • duration(int $milliseconds) - Set auto-dismiss duration
  • dismissible(bool $dismissible = true) - Make notification dismissible
  • status(string $status) - Set notification status
  • actions(array $actions) - Add action buttons
  • send() - 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 - Green
  • danger - Red
  • warning - Orange
  • info - Blue
  • primary - Primary brand color
  • secondary - 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.