1const SCROLL_ANIMATION_TRIGGER_CLASSNAME="scroll-trigger",SCROLL_ANIMATION_OFFSCREEN_CLASSNAME="scroll-trigger--offscreen",SCROLL_ANIMATION_CANCEL_CLASSNAME="scroll-trigger--cancel";function onIntersection(e,t){e.forEach(((e,i)=>{if(e.isIntersecting){const r=e.target;r.classList.contains(SCROLL_ANIMATION_OFFSCREEN_CLASSNAME)&&(r.classList.remove(SCROLL_ANIMATION_OFFSCREEN_CLASSNAME),r.hasAttribute("data-cascade")&&r.setAttribute("style",`--animation-order: ${i};`)),t.unobserve(r)}else e.target.classList.add(SCROLL_ANIMATION_OFFSCREEN_CLASSNAME),e.target.classList.remove(SCROLL_ANIMATION_CANCEL_CLASSNAME)}))}function initializeScrollAnimationTrigger(e=document,t=!1){const i=Array.from(e.getElementsByClassName("scroll-trigger"));if(0===i.length)return;if(t)return void i.forEach((e=>{e.classList.add("scroll-trigger--design-mode")}));const r=new IntersectionObserver(onIntersection,{rootMargin:"0px 0px -50px 0px"});i.forEach((e=>r.observe(e)))}window.addEventListener("DOMContentLoaded",(()=>initializeScrollAnimationTrigger())),Shopify.designMode&&(document.addEventListener("shopify:section:load",(e=>initializeScrollAnimationTrigger(e.target,!0))),document.addEventListener("shopify:section:reorder",(()=>initializeScrollAnimationTrigger(document,!0))));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.