@venegrad/vue3-click-outside
Version:
Vue click outside directive for vue3 and nuxt3
44 lines (40 loc) • 1.62 kB
JavaScript
;var component$1 = {
mounted(el, binding) {
const handler = e => {
if (!el.contains(e.target) && el !== e.target) {
binding.value(e);
}
};
el.__ClickOutsideHandler__ = handler;
document.addEventListener('click', handler);
},
beforeUnmount(el) {
document.removeEventListener('click', el.__ClickOutsideHandler__);
},
getSSRProps(binding, vnode) {
return {};
}
};// Import vue component
// Default export is installable instance of component.
// IIFE injects install function into component, allowing component
// to be registered via Vue.use() as well as Vue.component(),
var component = /*#__PURE__*/(() => {
// Get component instance
const installable = component$1;
// Attach install function executed by Vue.use()
installable.install = app => {
app.directive('outside', installable);
};
return installable;
})();
// It's possible to expose named exports when writing components that can
// also be used as directives, etc. - eg. import { RollupDemoDirective } from 'rollup-demo';
// export const RollupDemoDirective = directive;
var namedExports=/*#__PURE__*/Object.freeze({__proto__:null,'default':component});// iife/cjs usage extends esm default export - so import it all
// Attach named exports directly to component. IIFE/CJS will
// only expose one global var, with named exports exposed as properties of
// that global var (eg. plugin.namedExport)
Object.entries(namedExports).forEach(_ref => {
let [exportName, exported] = _ref;
if (exportName !== 'default') component[exportName] = exported;
});module.exports=component;