nuxt-toastify
Version:
Wrapper for Vue 3 Toastify
67 lines (62 loc) • 1.78 kB
JavaScript
'use strict';
const kit = require('@nuxt/kit');
const defu = require('defu');
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
const name = "nuxt-toastify";
const version = "1.1.0";
const module$1 = kit.defineNuxtModule({
meta: {
name,
version,
configKey: "toastify",
compatibility: {
nuxt: ">=3.0.0"
}
},
defaults: {
multiple: true,
newestOnTop: false,
dangerouslyHTMLString: false,
clearOnUrlChange: false,
rtl: false,
autoClose: 5e3,
hideProgressBar: false,
pauseOnHover: true,
pauseOnFocusLoss: true,
closeOnClick: true,
theme: "auto"
},
setup(options, nuxt) {
const resolver = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('module.cjs', document.baseURI).href)));
nuxt.options.runtimeConfig.toastify = defu.defu(
nuxt.options.runtimeConfig.toastify || {},
options
);
nuxt.options.runtimeConfig.public.toastify = defu.defu(
nuxt.options.runtimeConfig.public.toastify || {},
options
);
nuxt.options.css = [
...nuxt.options.css || [],
"vue3-toastify/dist/index.css"
];
nuxt.options.build.transpile = [
...nuxt.options.build.transpile || [],
"vue3-toastify"
];
kit.addPlugin(resolver.resolve("./runtime/plugin"));
kit.addImports([
{
name: "toast",
as: "useToastify",
from: "vue3-toastify"
},
{
name: "toast",
as: "ToastifyOption",
from: "vue3-toastify"
}
]);
}
});
module.exports = module$1;