Initial commit

This commit is contained in:
Grit-Grenzdoerfer
2023-09-17 13:24:39 +02:00
commit 5f27fe0c5b
753 changed files with 15517 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
export default function inView(node, params = { threshold: 0 }) {
let observer
const handleIntersect = (e) => {
const v = e[0].isIntersecting ? "enter" : "exit"
node.dispatchEvent(new CustomEvent(v))
}
const setObserver = ({ threshold }) => {
const options = { threshold }
if (observer) observer.disconnect()
observer = new IntersectionObserver(handleIntersect, options)
observer.observe(node)
}
setObserver(params)
return {
update(params) {
setObserver(params)
},
destroy() {
if (observer) observer.disconnect()
},
}
}