Not all notifications are created equal! Styling, animation and position all matter when pushing a notification you want to be read.
I've collected some of my favourite, versatile (and mostly lightweight) Vue.js Notification, Alert & Toast Components in this article!
I'll keep the list updated if I stumble upon a new awesome library! If you think I should include one in particular, just email me (firstname.lastname@example.org).
last updated: 06.02.2020
Okay, this first one is actually not a notification library, but it may be useful for some of you nonetheless! vue-notifications 589 is a bridge between your app and notification libraries.
You can use it to make sure your code is library-agnostic, meaning you can replace the UI library you're using without having to rewrite your code.
This library is so flexible! The alerts can be configured with buttons/actions, text, icons and various closing triggers. But besides simple alert popups Sweet Alerts also support more complex use-cases like nested alerts or the use of AJAX functions.
The design of the alert popups fits many project styles out-of-the-box - I rarely have to customize heavily. But you can of course use your own styling and content templates.
The default animations of the popup box and the icons included are timed really well but can get a bit annoying if the user will see these notifications a lot (or for you when testing your code...).
From a usability perspective, I usually use Sweet Alerts for actionable and more important notifications, like when I need the user confirm the deletion of an item in a CRUD view.
minified & gzipped: 8.5KB
For toasts (informational notifications), I love the Vue Toasted Library 1671! The notifications can be configured with custom actions, duration, text and icons (Material Icons, Fontawesome or Material Design Icons). Besides 3 available styles you can also choose whether the toast should be displayed full-width.
Browser support is awesome, as well as touch- and mobile-compatibility.
Vue Toasted also is officially used by Nuxt.js!
minified & gzipped: 17.8KB
It provides 11 layouts (= positions on the screen or in a container), 5 notification styles (= alert / success / warning / error / info), and 9 themes (= colour palettes and overall styles). It's also highly customizable, so you can create custom templates and use your own animations. It also supports using animate.css, mo.js, bounce.js, velocity and other libraries.
To manage your notifications, Noty offers a named queue system, API methods & Callbacks.
minified & gzipped: 10.3KB
vue-notification is a simple and pretty lightweight notification library.
You can choose between CSS and velocity-Animations for your notifications and customize duration, speed, positions and size. It offers 3 styles for success / error / warning alerts, but custom templating and styling is also possible.
Despite being a bit more limited than f.ex. Noty, this library covers everything I usually need in notifications without unnecessary overhead.
minified & gzipped: 4.2KB
You can choose icons, a backdrop, timeouts, positions, 3 different styles, progress bars and more. Templates include not only simple alerts, but also input prompts with validation.
The default styles tend to be a bit too particular for me to use this library out-of-the-box in my projects, but can easily be customized with styles and custom CSS animations.
Snotify also provides a built-in system for asynchronous notifications which might come in handy!
minified & gzipped: 5KB