PageSourceSearch

https://www.soulflower.in/cdn/shop/t/140/assets/animations.js?v=47399527081059271061789808688

js soulflower.in collected 2026-10-09 17:31:45 UTC 4,097 bytes, 18 lines download raw bytes

1const SCROLL_ANIMATION_TRIGGER_CLASSNAME="scroll-trigger",SCROLL_ANIMATION_OFFSCREEN_CLASSNAME="scroll-trigger--offscreen",SCROLL_ZOOM_IN_TRIGGER_CLASSNAME="animate--zoom-in",SCROLL_ANIMATION_CANCEL_CLASSNAME="scroll-trigger--cancel";function onIntersection(elements,observer){elements.forEach((element,index)=>{if(element.isIntersecting){const elementTarget=element.target;elementTarget.classList.contains(SCROLL_ANIMATION_OFFSCREEN_CLASSNAME)&&(elementTarget.classList.remove(SCROLL_ANIMATION_OFFSCREEN_CLASSNAME),elementTarget.hasAttribute("data-cascade")&&elementTarget.setAttribute("style",`--animation-order: ${index};`)),observer.unobserve(elementTarget)}else element.target.classList.add(SCROLL_ANIMATION_OFFSCREEN_CLASSNAME),element.target.classList.remove(SCROLL_ANIMATION_CANCEL_CLASSNAME)})}function initializeScrollAnimationTrigger(rootEl=document,isDesignModeEvent=!1){const animationTriggerElements=Array.from(rootEl.getElementsByClassName(SCROLL_ANIMATION_TRIGGER_CLASSNAME));if(animationTriggerElements.length===0)return;if(isDesignModeEvent){animationTriggerElements.forEach(element=>{element.classList.add("scroll-trigger--design-mode")});return}const observer=new IntersectionObserver(onIntersection,{rootMargin:"0px 0px -50px 0px"});animationTriggerElements.forEach(element=>observer.observe(element))}function initializeScrollZoomAnimationTrigger(){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const animationTriggerElements=Array.from(document.getElementsByClassName(SCROLL_ZOOM_IN_TRIGGER_CLASSNAME));if(animationTriggerElements.length===0)return;const scaleAmount=.2/100;animationTriggerElements.forEach(element=>{let elementIsVisible=!1;new IntersectionObserver(elements=>{elements.forEach(entry=>{elementIsVisible=entry.isIntersecting})}).observe(element),element.style.setProperty("--zoom-in-ratio",1+scaleAmount*percentageSeen(element)),window.addEventListener("scroll",throttle(()=>{elementIsVisible&&element.style.setProperty("--zoom-in-ratio",1+scaleAmount*percentageSeen(element))}),{passive:!0})})}function percentageSeen(element){const viewportHeight=window.innerHeight,scrollY=window.scrollY,elementPositionY=element.getBoundingClientRect().top+scrollY,elementHeight=element.offsetHeight;if(elementPositionY>scrollY+viewportHeight)return 0;if(elementPositionY+elementHeight<scrollY)return 100;let percentage=(scrollY+viewportHeight-elementPositionY)/((viewportHeight+elementHeight)/100);return Math.round(percentage)}window.addEventListener("DOMContentLoaded",()=>{initializeScrollAnimationTrigger(),initializeScrollZoomAnimationTrigger()}),Shopify.designMode&&(document.addEventListener("shopify:section:load",event=>initializeScrollAnimationTrigger(event.target,!0)),document.addEventListener("shopify:section:reorder",()=>initializeScrollAnimationTrigger(document,!0))),document.addEventListener("DOMContentLoaded",function(){const buttons=document.querySelectorAll("a.button"),arrowSVG=`
2    <svg xmlns="http://www.w3.org/2000/svg"
3         class="icon icon-arrow"
4         viewBox="10 12 16 12"
5         fill="none"
6         aria-hidden="true"
7         focusable="false">
8      <path d="M23.625 17.1677H25.2321V18.8343H23.625Z" fill="currentColor"/>
9      <path d="M22.0181 15.5002H23.6252V17.1668H22.0181Z" fill="currentColor"/>
10      <path d="M10.7681 17.1677H22.0181V18.8343H10.7681Z" fill="currentColor"/>
11      <path d="M20.4106 13.8342H22.0178V15.5008H20.4106Z" fill="currentColor"/>
12      <path d="M18.8037 12.1667H20.4109V13.8333H18.8037Z" fill="currentColor"/>
13      <path d="M22.0181 18.8337H23.6252V20.5003H22.0181Z" fill="currentColor"/>
14      <path d="M20.4106 20.5007H22.0178V22.1673H20.4106Z" fill="currentColor"/>
15      <path d="M18.8037 22.1672H20.4109V23.8338H18.8037Z" fill="currentColor"/>
16    </svg>
17  `;buttons.forEach(button=>{if(!button.querySelector(".icon-wrap")){const iconWrap=document.createElement("span");iconWrap.classList.add("icon-wrap"),iconWrap.innerHTML=arrowSVG,button.appendChild(iconWrap)}})});
18//# sourceMappingURL=/cdn/shop/t/140/assets/animations.js.map?v=47399527081059271061789808688

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.