UNPKG

@studiometa/js-toolkit

Version:

A set of useful little bits of JavaScript to boost your project! 🚀

27 lines (26 loc) • 837 B
import { getTargetElements } from "./utils.js"; import { isString, getComponentResolver } from "../utils/index.js"; function importOnInteraction(fn, nameOrSelectorOrElement, events, parent) { const normalizedEvents = isString(events) ? [events] : events; const resolver = getComponentResolver(fn); return new Promise((resolve) => { const elements = getTargetElements(nameOrSelectorOrElement, parent?.$el); const eventListenerOptions = { capture: true, passive: true, once: true }; const handler = () => { resolver(resolve); }; for (const element of elements) { for (const event of normalizedEvents) { element.addEventListener(event, handler, eventListenerOptions); } } }); } export { importOnInteraction }; //# sourceMappingURL=importOnInteraction.js.map