Skip to content

rohit-chouhan/tiny-notify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔔 Tiny Notify

Super lightweight, dependency-free toast/notification system for the web.


🚀 Features

  • ✅ Zero dependencies, ultra-lightweight
  • ✅ Multiple positions (top-right, bottom-left, top-center, etc.)
  • ✅ Toast types: info, success, warning, error
  • ✅ Auto-dismiss with configurable timeout
  • ✅ Sticky toasts (timeout: 0 or Infinity)
  • ✅ Hover to pause, dismiss button
  • ✅ Progress bar option
  • ✅ Limit max toasts per position
  • ✅ Works with CDN or bundlers

📦 Installation

1. Use in a bundler (ESM/TypeScript)

npm install tiny-notify

Import in your app:

import TinyNotify from "tiny-notify";

TinyNotify.success("Hello from bundler!",
    {
        position: "bottom-right",
        timeout: 2500
    }
);

2. Use in CDN (for plain HTML)

<script src="https://cdn.jsdelivr.net/gh/rohit-chouhan/tiny-notify/dist/tiny-notify.js"></script>

Now TinyNotify is available globally:

<button onclick="TinyNotify.success('Saved successfully!', { position: 'top-right', timeout: 2000 })">
  Show Success
</button>

⚡ Usage Examples

Basic Example

TinyNotify.show("Hello World!");

Different Types

TinyNotify.success("Operation successful!");
TinyNotify.error("Something went wrong...");
TinyNotify.info("Here is some info");
TinyNotify.warning("Be careful!");

Options

TinyNotify.show("Custom notification", {
  type: "info",          // success | error | warning | info
  position: "bottom-left", // top-right | top-left | bottom-right | bottom-left | top-center | bottom-center
  timeout: 4000,         // ms; 0 or Infinity = sticky
  dismissible: true,     // show × button
  showProgress: true,    // progress bar
  maxPerPosition: 5,     // auto-trim old toasts
  nonce: null            // CSP nonce for dynamic styles (if needed)
});

Set Defaults (globally)

TinyNotify.setDefaults({
  position: "top-right",
  timeout: 3000,
  maxPerPosition: 5
});

Clear All

TinyNotify.clear(); // removes all toasts

TinyNotify.clear("top-right"); // removes toasts from specific position

🛠️ Building

To build the library for production:

npm run build

This will generate the bundled file in dist/tiny-notify.js.

For development, you can modify the source files in src/ and run the build command.

Demo

👉 Live Playground https://tiny-notify.js.org/

Copyright and License

Copyright © 2025 Rohit Chouhan. Licensed under the MIT LICENSE.

About

A super lightweight JavaScript toast/notification system with zero dependencies.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors