npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

nuxt-toasts

v0.2.6

Published

Notification manager for Nuxt.

Readme

Nuxt Toasts

npm version npm downloads License Nuxt

My new Nuxt module for doing amazing things.

Features

Notification Store

This project provides a Pinia store for managing notifications within a Vue.js application. It leverages Vue's reactivity and lodash utility functions to handle notifications that are automatically removed after a specified interval.

Notification Component

The project also includes a notification component that displays notifications from the store. The component listens for changes in the notifications list and displays a toast for each notification. The toast includes a title, text, and when clicked, it automatically disappears. The toast is styled based on the notification type (success, warning, info, error).

Overview

The store manages a list of notifications. Each notification includes:

  • id: A unique identifier generated using _.uniqueId().
  • title: The title of the notification.
  • text: (Optional) A description or additional information.
  • type: The notification type. Available types include: success, warning, info, and error.
  • interval: The duration (in milliseconds) after which the notification is automatically removed (default is 3000 ms).
  • response: (Optional) Additional data or response information.

Functions

addNotification()

  • Description: Creates a notification object and adds it to the notifications list.
  • Operation:
    • Generates a unique id using _.uniqueId().
    • Pushes the notification into a reactive array.
    • Sets a timer with setTimeout to remove the notification after the specified interval.

add()

  • Description: An asynchronous function that adds notifications with default values if not all parameters are provided.
  • Usage: Accepts a partial notification object (excluding the id), fills in missing values, and then calls addNotification.
  • Example:
    // Notification with default values
    add();
    
    // Notification with custom values
    add({ type: 'error', title: 'Error!', text: 'Something went wrong.', interval: 5000 });
    

Quick Setup

Install the module to your Nuxt application with one command:

npx nuxi module add nuxt-toasts

Now use the Notification.vue component in your Nuxt application:

<template>
  <v-main>
    <!-- Your app content -->
    
    <Notification /> <- Add this line
  </v-main>
</template>

You can create notifications using the useNotificationStore function:

<script setup lang="ts">
  import { useNotificationStore } from 'nuxt-toasts';
  
  const notificationStore = useNotificationStore();
  
  const onSubmit = async () => {
    try {
      // Perform an action
    } catch (error) {
      notificationStore.add({ type: 'error', title: 'Error!', text: 'Something went wrong.' });
    }
  };
  
  const onLogout = async () => {
    notificationStore.add({ type: 'info', title: 'Logged out', text: 'You have been logged out.' });
  };

  const Download = (notification) => {
    // Perform download
    alert('Downloaded your file');

    // Remove notification
    notificationStore.removeNotification(notification.id);
  }

  const downloadFile = async () => {
    const notification = await notificationStore.add({
      type: 'info',
      title: 'Download ready',
      text: 'Your file is ready to be downloaded. Click here to download.',
      interval: 30000,
      callback: () => Download(notification)
    });
  };
</script>

That's it! You can now use Nuxt Toasts in your Nuxt app ✨

Contribution

# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Release new version
npm run release