UNPKG

@inkline/inkline

Version:

Inkline is the Vue.js UI/UX Library built for creating your next design system

26 lines 682 B
import { on, isVisible } from '../helpers/index.mjs'; export const onClickOutside = (element, binding) => (e) => { if (!isVisible(element) || !e.target) { return; } if (element === e.target || element.contains(e.target)) { return; } binding.value(e); }; /** * v-click-outside * @example * ```vue * <div v-click-outside="handleClose"> * ``` */ export const ClickOutsideDirective = { beforeMount(element, binding) { if (typeof window !== 'undefined') { on(window.document, 'mouseup', onClickOutside(element, binding)); } } }; export default ClickOutsideDirective; //# sourceMappingURL=click-outside.mjs.map