A Snackbar/Toast implementation for Nuxt that is independent of any CSS framework. Works with Nuxt 3 and Nuxt 4.
Nuxt Snackbar provides a wrapper for vue3-snackbar to be used with Nuxt.
| Nuxt Snackbar | Nuxt | Vue |
|---|---|---|
1.x | 3.x, 4.x | 3.x |
nuxt-snackbar dependency to your projectnpx nuxi@latest module add nuxt-snackbar
nuxt-snackbar to the modules section of nuxt.config.tsexport default defineNuxtConfig({
modules: ['nuxt-snackbar'],
snackbar: {
bottom: true,
right: true,
duration: 5000
}
})
app.vue<template>
<div>
<main>
Main Content
</main>
<NuxtSnackbar />
</div>
</template>
app.vue should look something like this. <template>
<NuxtLayout>
<NuxtPage />
<NuxtSnackbar />
</NuxtLayout>
</template>
layouts/default.vue instead<template>
<div>
<slot />
<NuxtSnackbar />
</div>
</template>
useSnackbar() to use snackbar methods and features.const snackbar = useSnackbar();
snackbar.add({
type: 'success',
text: 'This is a snackbar message'
})
export default {
methods: {
successMessage() {
this.$snackbar.add({
type: 'success',
text: 'This is a snackbar message'
})
}
}
}
That's it! You can now use Nuxt Snackbar in your Nuxt app ✨
# Install dependencies
pnpm install
# Generate type stubs
pnpm dev:prepare
# Develop with the playground
pnpm dev
# Build the playground
pnpm dev:build
# Run ESLint
pnpm lint
# Run Vitest
pnpm test
pnpm test:watch
# Run type checks
pnpm test:types
Releases are published from CI: pushing a v* tag runs lint, tests, build,
and publishes to npm (see .github/workflows/ltpr.yml).