{"version":3,"file":"Examples.B7p709Vh.mjs","names":["useState","useRef","useCallback","useMemo"],"sources":["https:/framerusercontent.com/modules/01eYIhivoGtV4cOLgQ02/ClLIHzvpSm37LV2Lge8p/Examples.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";const PRELOADER_SESSION_KEY=\"portfolio:home-editorial-preloader-shown:v1\";export function disablePointerEvents(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,style:{...props.style,pointerEvents:\"none\",userSelect:\"none\",WebkitUserSelect:\"none\"}});});}export function hideNavbarOnScroll(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[isVisible,setIsVisible]=useState(true);const[prefersReducedMotion,setPrefersReducedMotion]=useState(false);const isVisibleRef=useRef(true);const lastScrollY=useRef(0);const latestScrollY=useRef(0);const rafId=useRef(null);const setVisibility=useCallback(nextVisible=>{if(isVisibleRef.current===nextVisible)return;isVisibleRef.current=nextVisible;startTransition(()=>setIsVisible(nextVisible));},[]);useEffect(()=>{if(typeof window===\"undefined\")return;const mediaQuery=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const updateMotionPreference=()=>{startTransition(()=>setPrefersReducedMotion(mediaQuery.matches));};updateMotionPreference();if(typeof mediaQuery.addEventListener===\"function\"){mediaQuery.addEventListener(\"change\",updateMotionPreference);}else{mediaQuery.addListener(updateMotionPreference);}return()=>{if(typeof mediaQuery.removeEventListener===\"function\"){mediaQuery.removeEventListener(\"change\",updateMotionPreference);}else{mediaQuery.removeListener(updateMotionPreference);}};},[]);useEffect(()=>{if(typeof window===\"undefined\")return;const topOffset=16;const hideOffset=96;const initialGraceMs=3e3;const directionThreshold=3;const mountedAt=Date.now();lastScrollY.current=window.scrollY||0;latestScrollY.current=lastScrollY.current;const updateOnFrame=()=>{rafId.current=null;const currentY=latestScrollY.current;const delta=currentY-lastScrollY.current;const isWithinGracePeriod=Date.now()-mountedAt<initialGraceMs;if(currentY<=topOffset){setVisibility(true);}else if(delta<-directionThreshold){setVisibility(true);}else if(delta>directionThreshold&&!isWithinGracePeriod&&currentY>=hideOffset){setVisibility(false);}lastScrollY.current=currentY;};const onScroll=()=>{latestScrollY.current=window.scrollY||0;if(rafId.current!==null)return;rafId.current=window.requestAnimationFrame(updateOnFrame);};window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",onScroll);if(rafId.current!==null){window.cancelAnimationFrame(rafId.current);}};},[setVisibility]);const mergedStyle=useMemo(()=>{const baseTransform=typeof props.style?.transform===\"string\"?props.style.transform:\"\";const visibilityTransform=isVisible?\"translateY(0px)\":\"translateY(-160px)\";const composedTransform=`${baseTransform} ${visibilityTransform}`.trim();const transition=prefersReducedMotion?props.style?.transition:[props.style?.transition,\"transform 0.5s cubic-bezier(0.42, 0, 0.58, 1)\"].filter(Boolean).join(\", \");return{...props.style,transform:composedTransform,transition,pointerEvents:!isVisible?\"none\":props.style?.pointerEvents,willChange:\"transform\"};},[isVisible,prefersReducedMotion,props.style]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,style:mergedStyle});});}export function showPreloaderOncePerVisit(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const shouldShowPreloader=useMemo(()=>{if(typeof window===\"undefined\")return true;try{return window.sessionStorage.getItem(PRELOADER_SESSION_KEY)!==\"1\";}catch{return true;}},[]);useEffect(()=>{if(!shouldShowPreloader||typeof window===\"undefined\")return;const timeoutId=window.setTimeout(()=>{try{window.sessionStorage.setItem(PRELOADER_SESSION_KEY,\"1\");}catch{// Ignore storage write issues.\n}},4500);return()=>{window.clearTimeout(timeoutId);};},[shouldShowPreloader]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,...!shouldShowPreloader?{$control__variant:\"Remove Stop Scroll\"}:null});});}export function showNavbarAfterPreloader(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[isReady,setIsReady]=useState(()=>{if(typeof window===\"undefined\")return false;try{return window.sessionStorage.getItem(PRELOADER_SESSION_KEY)===\"1\";}catch{return false;}});useEffect(()=>{if(typeof window===\"undefined\")return;let timeoutId=null;let hasShownPreloader=false;try{hasShownPreloader=window.sessionStorage.getItem(PRELOADER_SESSION_KEY)===\"1\";}catch{hasShownPreloader=false;}if(hasShownPreloader){if(!isReady)startTransition(()=>setIsReady(true));return;}timeoutId=window.setTimeout(()=>{try{window.sessionStorage.setItem(PRELOADER_SESSION_KEY,\"1\");}catch{// Ignore storage write issues.\n}startTransition(()=>setIsReady(true));},4500);return()=>{if(timeoutId!==null){window.clearTimeout(timeoutId);}};},[isReady]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,style:{...props.style,visibility:isReady?props.style?.visibility:\"hidden\",pointerEvents:isReady?props.style?.pointerEvents:\"none\"}});});}export function scaleInstagramPost(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const containerRef=useRef(null);const[scale,setScale]=useState(1);/**\n         * Dimensioni originali del componente Instagram.\n         * Sostituiscile con le dimensioni reali con cui è stato progettato.\n         */const originalWidth=430;const originalHeight=760;useEffect(()=>{const container=containerRef.current;if(!container||typeof ResizeObserver===\"undefined\")return;const updateScale=()=>{const availableWidth=container.getBoundingClientRect().width;const nextScale=Math.min(availableWidth/originalWidth,1);setScale(nextScale);};updateScale();const observer=new ResizeObserver(updateScale);observer.observe(container);return()=>observer.disconnect();},[]);const setContainerRefs=useCallback(node=>{containerRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref){ref.current=node;}},[ref]);return /*#__PURE__*/_jsx(\"div\",{ref:setContainerRefs,style:{...props.style,position:\"relative\",width:\"100%\",height:originalHeight*scale,overflow:\"visible\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:\"50%\",width:originalWidth,height:originalHeight,transform:`translateX(-50%) scale(${scale})`,transformOrigin:\"top center\"},children:/*#__PURE__*/_jsx(Component,{...props,style:{width:originalWidth,height:originalHeight}})})});});}\nexport const __FramerMetadata__ = {\"exports\":{\"showPreloaderOncePerVisit\":{\"type\":\"reactHoc\",\"name\":\"showPreloaderOncePerVisit\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showNavbarAfterPreloader\":{\"type\":\"reactHoc\",\"name\":\"showNavbarAfterPreloader\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hideNavbarOnScroll\":{\"type\":\"reactHoc\",\"name\":\"hideNavbarOnScroll\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"scaleInstagramPost\":{\"type\":\"reactHoc\",\"name\":\"scaleInstagramPost\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"disablePointerEvents\":{\"type\":\"reactHoc\",\"name\":\"disablePointerEvents\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"0KAAiN,SAAgB,EAAqB,EAAU,CAAC,OAAoB,GAAY,EAAM,IAA2B,EAAK,EAAU,CAAK,MAAI,GAAG,EAAM,MAAM,CAAC,GAAG,EAAM,MAAM,cAAc,OAAO,WAAW,OAAO,iBAAiB,MAAM,CAAC,CAAC,CAAG,CAAE,CAAC,SAAgB,EAAmB,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,EAAU,GAAcA,EAAS,EAAI,EAAO,CAAC,EAAqB,GAAyBA,EAAS,EAAK,EAAQ,EAAaC,EAAO,EAAI,EAAQ,EAAYA,EAAO,CAAC,EAAQ,EAAcA,EAAO,CAAC,EAAQ,EAAMA,EAAO,IAAI,EAAQ,EAAcC,EAAY,GAAa,CAAI,EAAa,UAAU,IAAmB,EAAa,QAAQ,EAAY,MAAoB,EAAa,CAAW,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAc,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,EAAW,EAAO,WAAW,kCAAkC,EAAQ,MAA2B,CAAC,MAAoB,EAAwB,EAAW,OAAO,CAAC,CAAE,EAAkM,OAAhM,EAAuB,EAAK,OAAO,EAAW,kBAAmB,WAAY,EAAW,iBAAiB,SAAS,CAAsB,EAAQ,EAAW,YAAY,CAAsB,MAAa,CAAI,OAAO,EAAW,qBAAsB,WAAY,EAAW,oBAAoB,SAAS,CAAsB,EAAQ,EAAW,eAAe,CAAsB,CAAG,CAAE,EAAE,CAAC,CAAC,EAAE,MAAc,CAAC,GAAU,IAAS,OAAY,OAAO,IAAiG,EAAU,KAAK,IAAI,EAAE,EAAY,QAAQ,EAAO,SAAS,EAAE,EAAc,QAAQ,EAAY,QAAQ,IAAM,MAAkB,CAAC,EAAM,QAAQ,KAAK,IAAM,EAAS,EAAc,QAAc,EAAM,EAAS,EAAY,QAAc,EAAoB,KAAK,IAAI,EAAE,EAAU,IAAkB,GAAU,IAAwC,EAAM,GAAnC,EAAc,EAAI,EAAmE,EAAM,GAAoB,CAAC,GAAqB,GAAU,IAAY,EAAc,EAAK,EAAG,EAAY,QAAQ,CAAS,EAAQ,MAAa,CAAC,EAAc,QAAQ,EAAO,SAAS,EAAK,EAAM,UAAU,OAAY,EAAM,QAAQ,EAAO,sBAAsB,CAAa,EAAE,EAA4D,OAA1D,EAAO,iBAAiB,SAAS,EAAS,CAAC,QAAQ,EAAI,CAAC,MAAY,CAAC,EAAO,oBAAoB,SAAS,CAAQ,EAAK,EAAM,UAAU,MAAM,EAAO,qBAAqB,EAAM,OAAO,CAAG,CAAE,EAAE,CAAC,CAAa,CAAC,EAAE,IAAM,EAAYC,MAAY,CAAkK,IAAM,EAAkB,GAArK,OAAO,EAAM,OAAO,WAAY,SAAS,EAAM,MAAM,UAAU,GAAuH,GAA1F,EAAU,kBAAkB,uBAAuF,KAAK,EAAQ,EAAW,EAAqB,EAAM,OAAO,WAAW,CAAC,EAAM,OAAO,WAAW,+CAA+C,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,CAAC,GAAG,EAAM,MAAM,UAAU,EAAkB,aAAW,cAAe,EAAiB,EAAM,OAAO,cAApB,OAAkC,WAAW,WAAW,CAAE,EAAE,CAAC,EAAU,EAAqB,EAAM,KAAK,CAAC,EAAE,OAAoB,EAAK,EAAU,CAAK,MAAI,GAAG,EAAM,MAAM,CAAW,CAAC,CAAE,CAAC,CAAE,CAAC,SAAgB,EAA0B,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAC,IAAM,EAAoBA,MAAY,CAAC,GAAU,IAAS,OAAY,MAAO,GAAK,GAAG,CAAC,OAAO,EAAO,eAAe,QAAQ,CAAqB,IAAI,GAAI,MAAM,CAAC,MAAO,EAAK,CAAC,EAAE,CAAC,CAAC,EAC/4G,OADi5G,MAAc,CAAC,GAAG,CAAC,GAA4B,IAAS,OAAY,OAAO,IAAM,EAAU,EAAO,eAAe,CAAC,GAAG,CAAC,EAAO,eAAe,QAAQ,EAAsB,GAAG,CAAE,MAAM,CACppH,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAO,aAAa,CAAS,CAAE,CAAE,EAAE,CAAC,CAAmB,CAAC,EAAsB,EAAK,EAAU,CAAK,MAAI,GAAG,EAAM,GAAI,EAA6D,KAAzC,CAAC,kBAAkB,oBAAoB,CAAM,CAAC,CAAE,CAAC,CAAE,uBADpK,IAA4F,EAAO,EAAsB"}