{"version":3,"file":"PicksAnimationOverrides.Rb75R36h.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/l3IBoMe4UYYIFPgCGwKO/mKbts5kRAvy7mPxzkZ7F/PicksAnimationOverrides.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";// ─────────────────────────────────────────────────────────────\n// Shared animation helper\n// ─────────────────────────────────────────────────────────────\nfunction useScrollReveal(ref,options={}){useEffect(()=>{const el=ref.current;if(!el)return;const{stagger=90,duration=520,y=36,scale=true,selfOnly=false}=options;const easing=\"cubic-bezier(0.22,1,0.36,1)\";if(selfOnly){// Animate the element itself\nel.style.opacity=\"0\";el.style.transform=`translateY(${y}px)${scale?\" scale(0.97)\":\"\"}`;el.style.transition=`opacity ${duration}ms ${easing}, transform ${duration}ms ${easing}`;el.style.willChange=\"opacity, transform\";const obs=new IntersectionObserver(([entry])=>{if(!entry.isIntersecting)return;el.style.opacity=\"1\";el.style.transform=\"translateY(0px) scale(1)\";obs.disconnect();},{threshold:.15,rootMargin:\"0px 0px -50px 0px\"});obs.observe(el);return()=>obs.disconnect();}// Animate direct children with stagger\nconst children=Array.from(el.children);children.forEach((child,i)=>{child.style.opacity=\"0\";child.style.transform=`translateY(${y}px)${scale?\" scale(0.97)\":\"\"}`;child.style.transition=`opacity ${duration}ms ${easing} ${i*stagger}ms, transform ${duration}ms ${easing} ${i*stagger}ms`;child.style.willChange=\"opacity, transform\";});let triggered=false;const obs=new IntersectionObserver(([entry])=>{if(!entry.isIntersecting||triggered)return;triggered=true;children.forEach(child=>{child.style.opacity=\"1\";child.style.transform=\"translateY(0px) scale(1)\";});obs.disconnect();},{threshold:.1,rootMargin:\"0px 0px -40px 0px\"});obs.observe(el);return()=>obs.disconnect();},[]);}// ─────────────────────────────────────────────────────────────\n// withPicksRowReveal\n// Apply to the product card row stacks:\n//   nodeId=\"uSzWwO6cD\"  (row 1 inner card container)\n//   nodeId=\"ftVyBz9UG\"  (row 2 inner card container)\n// ─────────────────────────────────────────────────────────────\nexport function withPicksRowReveal(Component){return props=>{const ref=useRef(null);useScrollReveal(ref,{stagger:100,duration:520,y:40,scale:true});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}// ─────────────────────────────────────────────────────────────\n// withPicksTitleReveal\n// Apply to the \"Thawani's Picks\" title text node (fF6iBQnfR)\n// and the \"No Down Payments Needed\" title (yOzvEXAt6)\n// ─────────────────────────────────────────────────────────────\nexport function withPicksTitleReveal(Component){return props=>{const ref=useRef(null);useScrollReveal(ref,{duration:560,y:24,scale:false,selfOnly:true});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}// ─────────────────────────────────────────────────────────────\n// withSectionReveal\n// Apply to the outer Features sections:\n//   nodeId=\"n_BMzRzJz\"  (row 1 section)\n//   nodeId=\"JApsNEAXO\"  (row 2 section)\n//   nodeId=\"EVeK4fbbP\"  (No Down Payments section)\n// ─────────────────────────────────────────────────────────────\nexport function withSectionReveal(Component){return props=>{const ref=useRef(null);useScrollReveal(ref,{duration:480,y:30,scale:false,selfOnly:true});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withPicksRowReveal\":{\"type\":\"reactHoc\",\"name\":\"withPicksRowReveal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withPicksTitleReveal\":{\"type\":\"reactHoc\",\"name\":\"withPicksTitleReveal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSectionReveal\":{\"type\":\"reactHoc\",\"name\":\"withSectionReveal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PicksAnimationOverrides.map"],"mappings":"yHAGA,SAAS,EAAgB,EAAI,EAAQ,CAAC,EAAE,CAAC,MAAc,CAAC,IAAM,EAAG,EAAI,QAAQ,GAAG,CAAC,EAAG,OAAO,GAAK,CAAC,UAAQ,GAAG,WAAS,IAAI,IAAE,GAAG,QAAM,GAAK,WAAS,IAAO,EAAc,EAAO,8BAA8B,GAAG,EAAS,CACxN,EAAG,MAAM,QAAQ,IAAI,EAAG,MAAM,UAAU,cAAc,EAAE,KAAK,EAAM,eAAe,KAAK,EAAG,MAAM,WAAW,WAAW,EAAS,KAAK,EAAO,cAAc,EAAS,KAAK,IAAS,EAAG,MAAM,WAAW,qBAAqB,IAAM,EAAI,IAAI,sBAAsB,CAAC,KAAS,CAAK,EAAM,iBAAsB,EAAG,MAAM,QAAQ,IAAI,EAAG,MAAM,UAAU,2BAA2B,EAAI,WAAW,EAAE,EAAE,CAAC,UAAU,IAAI,WAAW,mBAAmB,CAAC,EAAkB,OAAhB,EAAI,QAAQ,CAAE,MAAY,EAAI,WAAW,CAAE,CACzd,IAAM,EAAS,MAAM,KAAK,EAAG,QAAQ,EAAE,EAAS,SAAS,EAAM,IAAI,CAAC,EAAM,MAAM,QAAQ,IAAI,EAAM,MAAM,UAAU,cAAc,EAAE,KAAK,EAAM,eAAe,KAAK,EAAM,MAAM,WAAW,WAAW,EAAS,KAAK,EAAO,GAAG,EAAE,EAAQ,gBAAgB,EAAS,KAAK,EAAO,GAAG,EAAE,EAAQ,IAAI,EAAM,MAAM,WAAW,oBAAqB,CAAC,EAAE,IAAI,EAAU,GAAY,EAAI,IAAI,sBAAsB,CAAC,KAAS,CAAI,CAAC,EAAM,gBAAgB,IAAiB,EAAU,GAAK,EAAS,QAAQ,GAAO,CAAC,EAAM,MAAM,QAAQ,IAAI,EAAM,MAAM,UAAU,0BAA2B,CAAC,EAAE,EAAI,WAAW,EAAE,EAAE,CAAC,UAAU,GAAG,WAAW,mBAAmB,CAAC,EAAkB,OAAhB,EAAI,QAAQ,CAAE,MAAY,EAAI,WAAW,CAAE,EAAE,CAAC,CAAC,CAAE,CAM/pB,SAAgB,EAAmB,EAAU,CAAC,MAAO,IAAO,CAAC,IAAM,EAAIA,EAAO,IAAI,EAAkE,OAAhE,EAAgB,EAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,EAAE,GAAG,MAAM,EAAI,CAAC,EAAsB,EAAK,MAAM,CAAK,MAAI,MAAM,CAAC,QAAQ,UAAU,EAAE,SAAsB,EAAK,EAAU,CAAC,GAAG,CAAK,CAAC,CAAC,CAAC,CAAE,CAAE,iBAXlO,IAAoC"}