{"version":3,"file":"HideHeaderOnScroll.FV7MZab2.mjs","names":["useState","useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/S3XyQ3LghnPBx2VsPGNb/fz1PgQTvI2t90tQ18qBi/HideHeaderOnScroll.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,startTransition,useCallback,useEffect,useRef,useState}from\"react\";export function HideHeaderOnScroll(Component){return /*#__PURE__*/forwardRef(function HideHeaderOnScrollOverride(props,ref){const[isHidden,setIsHidden]=useState(false);const[isMobileViewport,setIsMobileViewport]=useState(false);const[isMenuOpen,setIsMenuOpen]=useState(false);const[observedElement,setObservedElement]=useState(null);const hiddenRef=useRef(false);const lastYRef=useRef(0);const tickingRef=useRef(false);const reduceMotionRef=useRef(false);const isMobileViewportRef=useRef(false);const isMenuOpenRef=useRef(false);const setCombinedRef=useCallback(node=>{setObservedElement(node instanceof HTMLElement?node:null);if(typeof ref===\"function\"){ref(node);}else if(ref&&typeof ref===\"object\"&&\"current\"in ref){ref.current=node;}},[ref]);useEffect(()=>{if(typeof window===\"undefined\")return;if(!observedElement)return;if(typeof ResizeObserver===\"undefined\")return;const updateMenuState=height=>{const nextIsMenuOpen=isMobileViewportRef.current&&height>80;if(isMenuOpenRef.current!==nextIsMenuOpen){isMenuOpenRef.current=nextIsMenuOpen;startTransition(()=>setIsMenuOpen(nextIsMenuOpen));}if(nextIsMenuOpen&&hiddenRef.current){hiddenRef.current=false;startTransition(()=>setIsHidden(false));}};const observer=new ResizeObserver(entries=>{const entry=entries[0];if(!entry)return;updateMenuState(entry.contentRect.height);});observer.observe(observedElement);updateMenuState(observedElement.getBoundingClientRect().height);return()=>{observer.disconnect();};},[observedElement]);useEffect(()=>{if(typeof window===\"undefined\")return;const mediaQuery=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const mobileQuery=window.matchMedia(\"(max-width: 767.98px)\");reduceMotionRef.current=mediaQuery.matches;isMobileViewportRef.current=mobileQuery.matches;startTransition(()=>setIsMobileViewport(mobileQuery.matches));if(!mobileQuery.matches&&isMenuOpenRef.current){isMenuOpenRef.current=false;startTransition(()=>setIsMenuOpen(false));}const onMotionChange=()=>{reduceMotionRef.current=mediaQuery.matches;};const showHeader=()=>{if(hiddenRef.current){hiddenRef.current=false;startTransition(()=>setIsHidden(false));}};const hideHeader=()=>{if(!hiddenRef.current){hiddenRef.current=true;startTransition(()=>setIsHidden(true));}};const threshold=12;const minTop=8;const updateFromScroll=()=>{const currentY=window.scrollY||window.pageYOffset||0;if(isMobileViewportRef.current&&isMenuOpenRef.current){showHeader();lastYRef.current=currentY;tickingRef.current=false;return;}const delta=currentY-lastYRef.current;if(currentY<=minTop){showHeader();}else if(Math.abs(delta)>=threshold){if(delta>0){hideHeader();}else{showHeader();}}lastYRef.current=currentY;tickingRef.current=false;};const onScroll=()=>{if(!tickingRef.current){tickingRef.current=true;window.requestAnimationFrame(updateFromScroll);}};const onViewportChange=()=>{const isMobile=mobileQuery.matches;isMobileViewportRef.current=isMobile;startTransition(()=>setIsMobileViewport(isMobile));if(!isMobile&&isMenuOpenRef.current){isMenuOpenRef.current=false;startTransition(()=>setIsMenuOpen(false));}};if(typeof mediaQuery.addEventListener===\"function\"){mediaQuery.addEventListener(\"change\",onMotionChange);}else{mediaQuery.addListener(onMotionChange);}if(typeof mobileQuery.addEventListener===\"function\"){mobileQuery.addEventListener(\"change\",onViewportChange);}else{mobileQuery.addListener(onViewportChange);}const initialY=window.scrollY||window.pageYOffset||0;lastYRef.current=initialY;tickingRef.current=false;window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",onScroll);tickingRef.current=false;if(typeof mediaQuery.removeEventListener===\"function\"){mediaQuery.removeEventListener(\"change\",onMotionChange);}else{mediaQuery.removeListener(onMotionChange);}if(typeof mobileQuery.removeEventListener===\"function\"){mobileQuery.removeEventListener(\"change\",onViewportChange);}else{mobileQuery.removeListener(onViewportChange);}};},[]);const shouldForceVisible=isMobileViewport&&isMenuOpen;const mergedStyle={...props.style,transform:`${props.style?.transform??\"\"} ${shouldForceVisible||!isHidden?\"translateY(0)\":\"translateY(-110%)\"}`.trim(),opacity:shouldForceVisible||!isHidden?props.style?.opacity??1:.98,transition:reduceMotionRef.current?props.style?.transition??\"none\":props.style?.transition?`${props.style.transition}, transform 0.28s ease, opacity 0.28s ease`:\"transform 0.28s ease, opacity 0.28s ease\",willChange:props.style?.willChange?`${props.style.willChange}, transform, opacity`:\"transform, opacity\"};return /*#__PURE__*/_jsx(Component,{ref:setCombinedRef,...props,style:mergedStyle});});}\nexport const __FramerMetadata__ = {\"exports\":{\"HideHeaderOnScroll\":{\"type\":\"reactHoc\",\"name\":\"HideHeaderOnScroll\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HideHeaderOnScroll.map"],"mappings":"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"}