UNPKG

vuestic-ui

Version:
24 lines (23 loc) 970 B
import { watch, unref } from "vue"; import { u as useWindow } from "./useWindow.mjs"; import { u as unwrapEl } from "../utils/unwrapEl.mjs"; import { a as addEventListener, r as removeEventListener } from "../utils/add-event-listener.mjs"; const useEvent = (event, listener, target) => { const source = target && typeof target !== "boolean" ? target : useWindow(); const capture = typeof target === "boolean" ? target : false; watch(source, (newValue, oldValue) => { if (!Array.isArray(event)) { addEventListener(unwrapEl(unref(newValue)), event, listener, capture); removeEventListener(unwrapEl(unref(oldValue)), event, listener, capture); } else { event.forEach((e) => { addEventListener(unwrapEl(unref(newValue)), e, listener, capture); removeEventListener(unwrapEl(unref(oldValue)), e, listener, capture); }); } }, { immediate: true }); }; export { useEvent as u }; //# sourceMappingURL=useEvent.mjs.map