ascsoftw/livewire-toast

Livewire Package to display Toast Notifications

1.0.1 2021-05-25 11:07 UTC

This package is auto-updated.

Last update: 2024-03-25 16:59:16 UTC


README

Livewire Package to display Toast Notification based on TALL Stack.

68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f50316145755a71396b536f6b325249664a432f67697068792e676966

Requirements

Make sure that Livewire is installed properly on your project.

Make sure that TailwindCSS is installed properly on your project.

Make sure that AlpineJS is installed properly on your project.

Installation

You can install the Package using Composer

composer require ascsoftw/livewire-toast

Usage

Put Livewire-component @livewire('livewire-toast') anywhere into your app layout.

You can then call the Livewire Toast as below:

From Livewire Component

$this->emitTo('livewire-toast', 'show', 'Project Added Successfully'); //Will show Success Message
$this->emitTo('livewire-toast', 'showError', 'There was an Error!'); //Will show error. showError, showWarning, showInfo, showSuccess are supported
$this->emitTo('livewire-toast', 'show', ['type' => 'warning', 'message' => 'This is warning!']); //Can also pass type and message as array

Using Session Flash

session()->flash('livewire-toast', 'Project Added Successfully');
session()->flash('livewire-toast', ['type' => 'error', 'message' => 'There was an Error!']);

From Livewire View

$emitTo('livewire-toast', 'show', 'Project Added Successfully'); //Will show Success Message
$emitTo('livewire-toast', 'showError', 'There was an Error!'); //Will show error. showError, showWarning, showInfo, showSuccess are supported
$emitTo('livewire-toast', 'show', {'type' : 'warning', 'message' : 'This is warning!'}); //Can also pass type and message as object

From JS

Livewire.emitTo('livewire-toast', 'show', 'Project Added Successfully'); //Will show Success Message
Livewire.emitTo('livewire-toast', 'showError', 'There was an Error!'); //Will show error. showError, showWarning, showInfo, showSuccess are supported
Livewire.emitTo('livewire-toast', 'show', {'type' : 'warning', 'message' : 'This is warning!'}); //Can also pass type and message as object

Configurations

If you want to override the configurations, you must publish the assets using below command

php artisan vendor:publish --tag=config

This will publish the configuration file at config/livewire-toast.php. You can override any configurations.

Name Type Default Description Options
type String success Notification Type success, warning, error, info
position String bottom-right Part of the screen where notifications will pop out bottom-right, bottom-left, top-right, top-left
duration Number 3000 Time (in ms) to keep the notification on screen (if negative - notification will stay forever or until clicked)
showIcon Boolean true Whether to show icon next to message.
hideOnClick Boolean true Close notification when clicked
color.bg.success String green Color for Success Notification. Must be available in TailwindCss
color.bg.warning String yellow Color for Warning Notification. Must be available in TailwindCss
color.bg.info String blue Color for Info Notification. Must be available in TailwindCss
color.bg.error String red Color for Error Notification. Must be available in TailwindCss
text_color String white Text Color used by TailwindCss class. If using color other than white or black, provide full color like red-300.
transition Boolean true Whether to use Transition to hide/show Notification
transition_type String appear_from_above Transition Type appear_from_below, appear_from_above, appear_from_left, appear_from_right, zoom_in, rotate

You can also publish the View using below command

php artisan vendor:publish --tag=views

This will publish the Views in resources/views/vendor/livewire-toast directory which you can then customize.

Troubleshooting

Your messages don't get styles while using TailwindCss? Please publish your view. Therefore Laravel Mix compiler will find package related views and will purge CSS accordingly.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Credits

License

MIT