{"version":3,"file":"NavbarScrollControl.CFevWbxa.mjs","names":["useState","__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/OD6tmO96HPSGA7fSHsQD/SZcJB7TL3kQJeLNuonC5/lbFFeYso4.js","https:/framerusercontent.com/modules/4NMTIbeBFmjy2G2lj2lB/GvGslAsBgKtaS9bWkJpF/NavbarScrollControl.js"],"sourcesContent":["// Generated by Framer (fe01371)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-X0LMJ .framer-styles-preset-1ws64tt:not(.rich-text-wrapper), .framer-X0LMJ .framer-styles-preset-1ws64tt.rich-text-wrapper a { --framer-link-hover-text-decoration: underline; --framer-link-text-color: #ff611a; }\"];export const className=\"framer-X0LMJ\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{useScroll,useMotionValueEvent}from\"framer\";import{useState,useEffect}from\"react\";export function withNavbarControl(){const{scrollY}=useScroll();// ИСПРАВЛЕНИЕ SSR: По умолчанию на сервере ставим false.\n// Если это реальный десктоп, useEffect мгновенно переключит в true в первую миллисекунду.\n// Если это мобилка — она сразу отрендерится видимой и со своими стилями, ничего не пропадет.\nconst[isDesktop,setIsDesktop]=useState(false);const[isHeroVisible,setIsHeroVisible]=useState(true);useEffect(()=>{if(typeof window===\"undefined\")return;const mediaQuery=window.matchMedia(\"(min-width: 1200px)\");const handleBreakpointChange=e=>{setIsDesktop(e.matches);if(!e.matches){setIsHeroVisible(false)// На мобилках всегда виден\n;}else{setIsHeroVisible(scrollY.get()<window.innerHeight);}};// Принудительно вызываем один раз на клиенте при монтировании\nhandleBreakpointChange(mediaQuery);mediaQuery.addEventListener(\"change\",handleBreakpointChange);return()=>mediaQuery.removeEventListener(\"change\",handleBreakpointChange);},[scrollY]);useMotionValueEvent(scrollY,\"change\",latest=>{if(!isDesktop)return;if(latest<window.innerHeight){setIsHeroVisible(true);}else{setIsHeroVisible(false);}});// ТЕЛЕФОНЫ И ПЛАНШЕТЫ (1199px и меньше)\n// Теперь при первой загрузке в браузере мобилка гарантированно попадет сюда\nif(!isDesktop){return{style:{width:\"100%\",justifyContent:\"center\",alignItems:\"center\",// Явно сбрасываем видимость, чтобы серверный десктопный код не затер ее\nvisibility:\"visible\",pointerEvents:\"auto\"}};}// ДЕСКТОП (1200px и больше)\nconst shouldHide=isHeroVisible;return{style:{width:\"100%\",left:0,right:0,justifyContent:\"center\",alignItems:\"center\",position:shouldHide?\"absolute\":\"fixed\",visibility:shouldHide?\"hidden\":\"visible\",pointerEvents:shouldHide?\"none\":\"auto\"}};}// 2. Оверрайд для фрейма HOLDER\nexport function withHolderControl(){return{style:{width:\"100%\",maxWidth:\"1920px\",marginLeft:\"auto\",marginRight:\"auto\"}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withwithNavbarControl(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...withNavbarControl(props)});};}withwithNavbarControl.displayName=\"withNavbarControl\";export function withwithHolderControl(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...withHolderControl(props)});};}withwithHolderControl.displayName=\"withHolderControl\";\nexport const __FramerMetadata__ = {\"exports\":{\"withHolderControl\":{\"type\":\"override\",\"name\":\"withHolderControl\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNavbarControl\":{\"type\":\"override\",\"name\":\"withNavbarControl\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withwithNavbarControl\":{\"type\":\"reactHoc\",\"name\":\"withwithNavbarControl\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withwithHolderControl\":{\"type\":\"reactHoc\",\"name\":\"withwithHolderControl\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NavbarScrollControl.map"],"mappings":"6QAC6B,EAAC,EAAU,UAAU,CAAC,CAAC,EAAe,EAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAe,EAAI,CAAC,6NAA6N,EAAe,EAAU,kBCD9O,SAAgB,GAAmB,CAAC,GAAK,CAAC,WAAS,EAAU,EAG3L,CAAC,EAAU,GAAcA,EAAS,EAAK,EAAO,CAAC,EAAc,GAAkBA,EAAS,EAAI,EAIjG,GAJmG,MAAc,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,EAAW,EAAO,WAAW,qBAAqB,EAAQ,EAAuB,GAAG,CAAC,EAAa,EAAE,OAAO,EAAM,EAAE,QAC1Q,EAAiB,EAAQ,IAAI,EAAE,EAAO,WAAW,EADkO,EAAiB,EAAK,CACrP,EACqC,OAAhG,EAAuB,CAAU,EAAE,EAAW,iBAAiB,SAAS,CAAsB,MAAY,EAAW,oBAAoB,SAAS,CAAsB,CAAE,EAAE,CAAC,CAAO,CAAC,EAAE,EAAoB,EAAQ,SAAS,GAAQ,CAAK,IAAoB,EAAO,EAAO,YAAa,EAAiB,EAAI,EAAQ,EAAiB,EAAK,EAAG,CAAC,EAE5U,CAAC,EAAW,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,eAAe,SAAS,WAAW,SAC7E,WAAW,UAAU,cAAc,MAAM,CAAC,EAC1C,IAAM,EAAW,EAAc,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,SAAS,WAAW,SAAS,SAAS,EAAW,WAAW,QAAQ,WAAW,EAAW,SAAS,UAAU,cAAc,EAAW,OAAO,MAAM,CAAC,CAAE,CAC9O,SAAgB,GAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,SAAS,SAAS,WAAW,OAAO,YAAY,MAAM,CAAC,CAAE,CAAoJ,SAAgB,EAAsB,EAAE,CAAC,MAAO,KAAQ,EAA+BC,CAAuC,EAASC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAkB,CAAK,CAAC,CAAC,EAAI,CAAuD,SAAgB,EAAsB,EAAE,CAAC,MAAO,KAAQ,EAA+BD,CAAuC,EAASC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAkB,CAAK,CAAC,CAAC,EAAI,qBAVzoB,IAAkD,IAAsC,EAUmU,EAAsB,YAAY,oBAA6M,EAAsB,YAAY"}