0.0.1 • Published 5 months ago

@devzatokio/vue-toaster v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Vue Toaster

Vue.js toast notification plugin for vue 3

Installation

# yarn
yarn add @devzatokio/vue-toaster

# npm
npm install @devzatokio/vue-toaster

Import

You can install Toaster so it's usable globally:

// In you main.js
// ... considering that your app creation is here
import Toaster from "@devzatokio/vue-toaster";

createApp(App).use(Toaster).mount("#app");

You can also import Toaster locally:

import { createToaster } from "@devzatokio/vue-toaster";

const toaster = createToaster({ /* options */ });

toaster.show(`Hey! I'm here`);

Usage

// this.$toast.show(message, {/* options */});
this.$toast.show(`Hey! I'm here`);
this.$toast.success(`Hey! I'm here`);
this.$toast.error(`Hey! I'm here`);
this.$toast.warning(`Hey! I'm here`);
this.$toast.info(`Hey! I'm here`);

// Close all opened toast after 3000ms
setTimeout(this.$toast.clear, 3000);

Available options

The API methods accepts these options:

AttributeTypeDefaultDescription
messageString--Message text/html (required)
typeStringdefaultOne of success, info, warning, error, default
positionStringbottom-rightOne of top, bottom, top-right, bottom-right,top-left, bottom-left
durationNumber or false4000Visibility duration in milliseconds or false that disables duration
dismissibleBooleantrueAllow user close by clicking
onClickFunction--Do something when user clicks
onCloseFunction--Do something after toast gets dismissed
queueBooleanfalseWait for existing to close before showing new
maxToastsNumber or falsefalseDefines the max of toasts showed in simultaneous
pauseOnHoverBooleantruePause the timer when mouse on over a toast
useDefaultCssBooleantrueUser default css styles

API methods

show(message, ?options)

This is generic method, you can use this method to make any kind of toast.

// Can accept a message as string and apply rest of options from defaults
this.$toast.show("Howdy!");

// Can accept an Object of options.
// If yout don't pass options, the default toast will be showed
this.$toast.show("Something went wrong!", {
  type: "error",
  // all of other options may go here
});

success(message,?options)

There are some proxy methods to make it more readable. The same rule for error, info and warning methods

this.$toast.success("Profile saved.", {
  // optional options Object
});

Global options

You can set options for all the instances during plugin initialization

app.use(Toaster, {
  // One of the options
  position: "top",
});

Further you can override option when creating new instances

this.$toast.success("Order placed.", {
  // override the global option
  position: "bottom",
});

How to execute example

Clone the project and run:

cd example; yarn install; yarn serve

License

MIT License