tailwindcss-intersect
Version:
Tailwind CSS with Intersection Observer variants
2 lines (1 loc) • 897 B
JavaScript
(()=>{var o={start(){if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",()=>this.observe());return}this.observe()},restart(){this._observers.forEach(s=>s.disconnect()),this._observers=[],this.observe()},observe(){let s=['[class*=" intersect:"]','[class*=":intersect:"]','[class^="intersect:"]','[class="intersect"]','[class*=" intersect "]','[class^="intersect "]','[class$=" intersect"]'];document.querySelectorAll(s.join(",")).forEach(e=>{let t=new IntersectionObserver(c=>{c.forEach(n=>{if(!n.isIntersecting){e.setAttribute("no-intersect","");return}e.removeAttribute("no-intersect"),e.classList.contains("intersect-once")&&t.disconnect()})},{threshold:this._getThreshold(e)});t.observe(e),this._observers.push(t)})},_getThreshold(s){return s.classList.contains("intersect-full")?.99:s.classList.contains("intersect-half")?.5:0},_observers:[]},r=o;r.start();})();