@studiometa/js-toolkit
Version:
A set of useful little bits of JavaScript to boost your project! 🚀
27 lines (26 loc) • 837 B
JavaScript
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