toastify-all

Universal, modern toast notification engine for all JavaScript frameworks and platforms (React, Vue, Angular, React Native, Next.js, Vanilla)
353 1
Install
npm install toastify-all
Latest Version:1.0.1
Vue:3
License:Proprietary
Last Updated:Sep 28, 2026
Links: GitHub  ·  npm
Maintainer: veerupoojari

Toastify-All 🔔

The universal, modern toast notification engine for all JavaScript frameworks and platforms.
One unified API across React, Next.js, Vue 3, Angular, React Native, Svelte, and Vanilla HTML/JS.

npm version npm downloads bundle size


🎮 Live Interactive Demo

Try Toastify-All in real-time in your browser:
👉 Open Live Interactive Playground
(Customize positions, themes, transitions, test audio chimes, switch frameworks, and copy code snippets in 1 click)


💡 Why Toastify-All? (In a world with so many toasters)

Most toast libraries lock you into a single framework: react-toastify only works in React, vue-toastification only works in Vue, and ngx-toastr only works in Angular. If you work in a monorepo, micro-frontends, or move between different projects, you have to learn, install, and style completely different toast libraries every time.

Toastify-All eliminates framework lock-in forever. You get the beauty of modern glassmorphism, the battle-tested power of React-Toastify, and first-class native adapters for every major framework in a single, lightweight package.

Feature Toastify-All 🔔 react-toastify sonner vue-toastification ngx-toastr
Multi-Framework Support 🌟 React, Vue, Angular, RN, Vanilla ❌ React only ❌ React only ❌ Vue only ❌ Angular only
Next.js App Router Ready ✅ 'use client' built-in ⚠️ Needs manual wrapper ✅ Built-in N/A N/A
Modern Glassmorphic Design ✅ Blur + Subtle Borders ❌ Boxy 2018 design ✅ Minimalist ❌ Standard ❌ Standard
System Theme Auto-Sync ✅ Auto OS dark/light sync ❌ ❌ ❌ ❌
Promise Toast (toast.promise) ✅ Built-in ✅ Built-in ✅ Built-in ⚠️ Plugin ❌
Zero-Asset Audio Chimes ✅ Built-in (Web Audio API) ❌ ❌ ❌ ❌
Direct CDN <script> tag ✅ jsDelivr / unpkg ❌ ❌ ❌ ❌
Swipe & Drag Dismiss ✅ Desktop & Touch ✅ ✅ ✅ ❌

📦 Installation

npm install toastify-all
# or
yarn add toastify-all
# or
pnpm add toastify-all

🚀 Quick Start by Platform

1. React & Next.js (App Router & Pages Router)

Place <ToastContainer /> at the root of your application, then trigger toast from anywhere:

import React from 'react';
import { ToastContainer, toast } from 'toastify-all/react';

export default function App() {
  const notify = () => {
    // Basic toast
    toast("Welcome to Toastify-All!");

    // Beautiful variants with colored or system theme
    toast.success("Profile saved successfully!", { theme: "colored" });
    toast.error("Failed to connect to server!");
    toast.warning("Your session is about to expire.");
    toast.info("A new update is available.");

    // Dynamic Promise Toast (Loading -> Success / Error)
    const uploadFile = () => new Promise((resolve) => setTimeout(resolve, 2000));
    toast.promise(uploadFile(), {
      pending: "Uploading asset...",
      success: "Upload completed! 🚀",
      error: "Upload failed! ❌"
    });
  };

  return (
    <div>
      <button onClick={notify}>Show Notifications</button>
      <ToastContainer
        position="top-right"
        autoClose={4000}
        theme="system"
        transition="bounce"
      />
    </div>
  );
}

2. Vue 3 & Nuxt

In main.js / main.ts:

import { createApp } from 'vue';
import { ToastifyAllPlugin } from 'toastify-all/vue';
import App from './App.vue';

const app = createApp(App);
app.use(ToastifyAllPlugin, {
  position: 'top-right',
  theme: 'system'
});
app.mount('#app');

In any Vue component:

<template>
  <button @click="showToast">Notify</button>
</template>

<script setup>
import { useToast } from 'toastify-all/vue';

const toast = useToast();

const showToast = () => {
  toast.success('Toastify-All works seamlessly in Vue 3!');
};
</script>

3. Angular

Standalone Setup (Angular 14+ / 15+ / 16+ / 17+)

In main.ts or app.config.ts:

import { bootstrapApplication } from '@angular/platform-browser';
import { provideNotifications } from 'toastify-all/angular';
import { AppComponent } from './app/app.component';

bootstrapApplication(AppComponent, {
  providers: [
    provideNotifications({
      position: 'top-right',
      theme: 'system'
    })
  ]
});
In your Component:
import { Component } from '@angular/core';
import { NotificationService } from 'toastify-all/angular';

@Component({
  selector: 'app-root',
  template: `<button (click)="notify()">Trigger</button>`
})
export class AppComponent {
  constructor(private toast: NotificationService) {}

  notify() {
    this.toast.success('Toastify-All running in Angular!');
  }
}

4. React Native

Native alerts on iOS and native toasts on Android without browser DOM crashes:

import React from 'react';
import { View, Button } from 'react-native';
import { toast, ToastContainer } from 'toastify-all/react-native';

export default function App() {
  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Button
        title="Show Toast"
        onPress={() => toast.success('Mobile notification works!')}
      />
      <ToastContainer />
    </View>
  );
}

5. Vanilla JavaScript (No Framework)

import toast from 'toastify-all';

toast.configure({
  position: 'top-center',
  theme: 'colored'
});

toast.success('Vanilla JS toast!');

6. Direct CDN Browser <script> Tag

<!DOCTYPE html>
<html>
<head>
  <title>Toastify-All CDN Demo</title>
  <!-- Load Toastify-All via jsDelivr -->
  <script src="https://cdn.jsdelivr.net/npm/toastify-all/dist/index.umd.js"></script>
</head>
<body>
  <button onclick="ToastifyAll.toast.success('Hello from CDN!')">Click Me</button>
</body>
</html>

🛠️ Complete API Reference

Calling toast

Method Description
toast(message, [options]) Show a default toast
toast.success(message, [options]) Show a success toast (green)
toast.error(message, [options]) Show an error toast (red)
toast.info(message, [options]) Show an info toast (blue)
toast.warning(message, [options]) / toast.warn(...) Show a warning toast (amber)
toast.loading(message, [options]) Show a persistent loading spinner toast
toast.promise(promise, states, [options]) Automatically handles pending, success, and error states
toast.update(id, newState) Update an active toast's content or state
toast.dismiss([id]) Dismiss a specific toast by ID, or all toasts if no ID is passed
toast.isActive(id) Check if a toast is currently active on screen
toast.clearWaitingQueue() Dismiss all toasts exceeding the queue limit

Configuration Options

Options can be set globally via toast.configure(options) or per-toast:

toast.success("File uploaded", {
  title: "Upload Completed",
  position: "bottom-right",
  autoClose: 4000,
  theme: "system", // "light" | "dark" | "colored" | "system"
  transition: "slide", // "bounce" | "slide" | "zoom" | "flip"
  sound: true, // Subtle harmonic Web Audio chime
  hideProgressBar: false,
  closeOnClick: true,
  pauseOnHover: true,
  pauseOnFocusLoss: true,
  draggable: true,
  draggablePercent: 80,
  action: {
    label: "Undo",
    onClick: (id) => console.log("Undo clicked for toast", id)
  }
});

🌐 CDN Quick Start (No Bundler / Plain HTML)

If you are not using npm or a frontend framework, you can use Toastify-All directly from a global CDN without any build step:

<!-- Include Toastify-All via jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/toastify-all/dist/index.umd.js"></script>

<script>
  // Trigger notifications anytime
  ToastifyAll.toast.success("Welcome to Toastify-All!");
</script>

🤝 Contributing

Contributions, issues, and feature requests are welcome!

# 1. Clone the repository
git clone https://github.com/VeereshPoojari/toastify-all.git

# 2. Install dependencies
npm install

# 3. Run test suite
npm test

# 4. Build bundles
npm run build

Related Packages

gooey-toast

A framework-agnostic, physics-inspired toast notification library.

5,804 3
@aspect-ui-01/toast

Lightweight framework-agnostic toast notifications (~2KB)

3,926
sileojs

Toast notifications for JavaScript with gooey morphing and spring physics. Zero-...

2,047 0
toastifier

Light and Simple Multi-Framework Toaster

1,288 5

Version History

Version Released Vue License
1.0.1 >=3.0.0 Proprietary
1.0.0 >=3.0.0 Proprietary