@opensig/opendesign
Version:
29 lines (28 loc) • 803 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const useIntersectionObserver = require("./use-intersection-observer.js");
const is = require("../_utils/is.js");
let io = null;
function useIntersectionObserverDirective({
listener,
removeOnUnmounted
}) {
return {
vIntersectionObserver: {
beforeMount() {
io = useIntersectionObserver.useIntersectionObserver();
},
mounted(el) {
if (is.isFunction(listener)) {
io == null ? void 0 : io.observe(el, listener);
}
},
unmounted(el) {
if (listener && removeOnUnmounted) {
io == null ? void 0 : io.unobserve(el, listener);
}
}
}
};
}
exports.useIntersectionObserverDirective = useIntersectionObserverDirective;