1function _dispatchProductView(element){const Cls=window.StandardEvents?.ProductViewEvent;if(!Cls)return;const raw=element.getAttribute("view-event-payload");if(!raw)return;let payload;try{payload=JSON.parse(raw)}catch{return}try{element.dispatchEvent(new Cls(payload))}catch{}}function onIntersection(elements,observer){elements.forEach((entry,index)=>{if(entry.isIntersecting){const elementTarget=entry.target;elementTarget.classList.add("animation-card"),elementTarget.dataset.active="true",elementTarget.removeAttribute("data-observed"),elementTarget.setAttribute("style",`--animation-order: ${index+1};`),observer.unobserve(elementTarget),_dispatchProductView(elementTarget)}})}function initializeScrollAnimationTrigger(rootEl=document){Array.from(rootEl.querySelectorAll(".anm-reveal-container")).forEach(container=>{const animationTriggerElements=Array.from(container.querySelectorAll(".anm-reveal-item[data-active='false']:not([data-observed])"));if(animationTriggerElements.length===0)return;const observer=new IntersectionObserver((entries,obs)=>{onIntersection(entries,obs)},{rootMargin:"0px 0px -50px 0px"});animationTriggerElements.forEach(element=>{element.setAttribute("data-observed","true"),observer.observe(element)})})}window.addEventListener("DOMContentLoaded",()=>{initializeScrollAnimationTrigger()}),document.addEventListener(`${ANIMATION_EVENT.revealItem}`,event=>{initializeScrollAnimationTrigger(event.detail?.rootElement)}),Shopify.designMode&&document.addEventListener("shopify:section:load",()=>initializeScrollAnimationTrigger(document)); 2//# sourceMappingURL=/cdn/shop/t/68/assets/animation-card.js.map?v=18656864373832166051790283697
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.