{"version":3,"file":"Pre_Loader_Animation.BcOWZFDP.mjs","names":["useState","sequence","progress","currentProgress","startTime","useState","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","useState","useCallback","preloader"],"sources":["https:/framerusercontent.com/modules/CBoUnmBMUavvgbmpqQuH/jVaeJhQRljRvHvVsaMQn/Loading_Bar.js","https:/framerusercontent.com/modules/HsPs7gSlvP6As4kZ4gCJ/v7fAsunbrkOO92sBlkdQ/Randomize_Loadingtext.js","https:/framerusercontent.com/modules/B9FqlRQsJ0C4SO1tTk8T/f9SWz0ONIdyNRHKoaa45/bqgp_ZtbH.js","https:/framerusercontent.com/modules/sAwo1Z1quZvVcbd4HTEb/6CQtrcqHmMttARgua42n/Pre_Loader_Animation.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";export default function LoadingBar({waveSpeed=5,waveWidth=2.5,barWidth=50,loadingDuration=5,startDelay=0}){const[progress,setProgress]=useState(0);const[wavePosition,setWavePosition]=useState(-3);const[isComplete,setIsComplete]=useState(false);const[wavePhase,setWavePhase]=useState(0)// 0: normal, 1: filling, 2: complete\n;const[fadePhase,setFadePhase]=useState(0);const[hasStarted,setHasStarted]=useState(false);// Start delay effect\nuseEffect(()=>{if(startDelay>0){const delayTimer=setTimeout(()=>{setHasStarted(true);},startDelay*1e3);return()=>clearTimeout(delayTimer);}else{setHasStarted(true);}},[startDelay]);// Unpredictable progress animation with dramatic speed changes\nuseEffect(()=>{if(!hasStarted)return;// Don't start loading until delay is complete\n// Generate sequence that fits exactly within duration\nconst generateSequence=()=>{const sequence=[];const targetDuration=loadingDuration*1e3;// Define speed types with dramatic contrasts\nconst speedTypes=[{name:\"crawl\",duration:[1e3,2500],progress:[.03,.08]},{name:\"slow\",duration:[800,1500],progress:[.05,.12]},{name:\"medium\",duration:[400,800],progress:[.08,.15]},{name:\"fast\",duration:[150,400],progress:[.12,.25]},{name:\"burst\",duration:[50,200],progress:[.15,.35]}];let totalTime=0;let totalProgress=0;while(totalProgress<.95&&totalTime<targetDuration*.8){// Pick random speed type\nconst speedType=speedTypes[Math.floor(Math.random()*speedTypes.length)];// Random values within speed type range\nconst duration=Math.random()*(speedType.duration[1]-speedType.duration[0])+speedType.duration[0];const progress=Math.random()*(speedType.progress[1]-speedType.progress[0])+speedType.progress[0];// Random pause (30% chance, varies by speed type)\nconst shouldPause=Math.random()<.3;let pauseTime=0;if(shouldPause){if(speedType.name===\"burst\"||speedType.name===\"fast\"){pauseTime=Math.random()*800+200// Longer pauses after fast movements\n;}else{pauseTime=Math.random()*400+100// Shorter pauses after slow movements\n;}}sequence.push({progressAmount:Math.min(progress,.95-totalProgress),loadTime:duration,pauseTime:pauseTime,speedType:speedType.name});totalProgress+=progress;totalTime+=duration+pauseTime;}// Scale timing to fit exact duration\nconst actualTime=sequence.reduce((sum,seg)=>sum+seg.loadTime+seg.pauseTime,0);const timeScale=targetDuration*.9/actualTime// Leave 10% buffer\n;sequence.forEach(seg=>{seg.loadTime*=timeScale;seg.pauseTime*=timeScale;});return sequence;};const sequence=generateSequence();let currentSegmentIndex=0;let currentProgress=0;const executeSegment=()=>{if(currentSegmentIndex>=sequence.length){// Check if we need to rush to completion\nconst remainingProgress=1-currentProgress;if(remainingProgress>.01){// Rush to completion with a fast burst\nconst startTime=Date.now();const rushDuration=Math.min(remainingProgress*1e3,800)// Max 800ms rush\n;const rushInterval=setInterval(()=>{const elapsed=Date.now()-startTime;const rushProgress=Math.min(elapsed/rushDuration,1);const newProgress=currentProgress+remainingProgress*rushProgress;setProgress(newProgress);if(rushProgress>=1){clearInterval(rushInterval);setProgress(1);setIsComplete(true);// Start wave fade-in animation where it stopped\nsetTimeout(()=>{setWavePhase(1);setTimeout(()=>{setWavePhase(2);// Then start main fade sequence\nsetTimeout(()=>{let phase=0;const fadeInterval=setInterval(()=>{phase++;setFadePhase(phase);if(phase>=3){clearInterval(fadeInterval);}},167);},500);},400)// 400ms wave fade duration\n;},100);}},16);}else{setProgress(1);setIsComplete(true);setTimeout(()=>{let phase=0;const fadeInterval=setInterval(()=>{phase++;setFadePhase(phase);if(phase>=3){clearInterval(fadeInterval);}},167);},500);}return;}const segment=sequence[currentSegmentIndex];const targetProgress=currentProgress+segment.progressAmount;const startTime=Date.now();const loadInterval=setInterval(()=>{const elapsed=Date.now()-startTime;const segmentProgress=Math.min(elapsed/segment.loadTime,1);// Apply easing based on speed type for more realistic feel\nlet easedProgress=segmentProgress;if(segment.speedType===\"crawl\"){easedProgress=Math.pow(segmentProgress,2)// Ease-in for crawl\n;}else if(segment.speedType===\"burst\"){easedProgress=1-Math.pow(1-segmentProgress,.5)// Ease-out for burst\n;}const newProgress=currentProgress+segment.progressAmount*easedProgress;setProgress(newProgress);if(segmentProgress>=1){clearInterval(loadInterval);currentProgress=targetProgress;if(segment.pauseTime>0){setTimeout(()=>{currentSegmentIndex++;executeSegment();},segment.pauseTime);}else{currentSegmentIndex++;executeSegment();}}},16);};executeSegment();},[loadingDuration,hasStarted]);// Wave animation - stops when loading completes\nuseEffect(()=>{if(isComplete||!hasStarted)return;// Stop wave when loading is done or hasn't started\nconst interval=setInterval(()=>{setWavePosition(prev=>{const next=prev+.5*waveSpeed;return next>barWidth+3?-3:next;});},100);return()=>clearInterval(interval);},[waveSpeed,barWidth,isComplete,hasStarted]);// Build the bar\nconst currentProgress=Math.floor(progress*barWidth);let bar=\"\";for(let i=0;i<barWidth;i++){if(i<currentProgress){// This position is loaded\nlet char=\"█\";// Apply fade effect\nif(fadePhase===1)char=\"▓\";else if(fadePhase===2)char=\"░\";else if(fadePhase>=3)char=\" \";// Apply wave effect (only when not fading)\nif(fadePhase===0){const dist=Math.abs(wavePosition-i);if(wavePhase===1){// Wave is fading in place - gradually convert light areas to solid\nif(dist<.5)char=\"▒\"// Wave center becomes medium\n;else if(dist<waveWidth/2)char=\"▓\"// Wave middle becomes dark\n;else if(dist<waveWidth)char=\"█\"// Wave edge becomes solid\n;}else if(wavePhase===0){// Normal wave effect (while loading)\nif(dist<.5)char=\"░\";else if(dist<waveWidth/2)char=\"▒\";else if(dist<waveWidth)char=\"▓\";}// wavePhase === 2 means wave is fully filled (no effect)\n}bar+=char;}else if(i===currentProgress&&currentProgress>0&&!isComplete){// Lead block (while loading)\nbar+=\"▒\";}else{// Empty space\nbar+=\" \";}}return /*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"monospace\",fontSize:\"16px\",color:\"white\",whiteSpace:\"nowrap\",textAlign:\"left\",width:`${barWidth*.6}em`,overflow:\"hidden\"},children:bar});}LoadingBar.defaultProps={waveSpeed:5,waveWidth:2.5,barWidth:50,loadingDuration:5,startDelay:0};if(typeof window!==\"undefined\"){LoadingBar.propertyControls={startDelay:{type:\"number\",title:\"Start Delay (s)\",min:0,max:10,step:.1,defaultValue:0},waveSpeed:{type:\"number\",title:\"Wave Speed\",min:.5,max:10,step:.5,defaultValue:5},waveWidth:{type:\"number\",title:\"Wave Width\",min:1,max:8,step:.5,defaultValue:2.5},barWidth:{type:\"number\",title:\"Bar Width (blocks)\",min:10,max:100,step:5,defaultValue:50},loadingDuration:{type:\"number\",title:\"Loading Duration (s)\",min:1,max:20,step:.5,defaultValue:5}};}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LoadingBar\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Loading_Bar.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{motion,AnimatePresence}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";const words=[\"goodness\",\"human art\",\"renders\",\"artistry\",\"freshness\",\"stories\",\"authenticity\",\"the soul\",\"polygons\",\"shadows\",\"space\",\"cloth\",\"particles\",\"global illumination\",\"radiance fields\",\"monte carlo sampling\",\"brute force sampling\",\"gamma correction\",\"vertex shaders\",\"framebuffers\",\"awe\",\"stars\",\"thoughts\",\"dreams\",\"visions\"];export default function LoadingText({fontSize=48,textAlign=\"center\",entryDelay=.5,wordInterval=1.5,visibleDuration=2}){const[currentWord,setCurrentWord]=useState(words[0]);const[isVisible,setIsVisible]=useState(false);const[hasEntryCompleted,setHasEntryCompleted]=useState(false);useEffect(()=>{// Initial entrance delay\nconst entranceTimer=setTimeout(()=>{setIsVisible(true);// Mark entry as completed after animation finishes\nsetTimeout(()=>{setHasEntryCompleted(true);},600)// Default spring animation duration\n;},entryDelay*1e3);// Exit after visible duration\nconst exitTimer=setTimeout(()=>{setIsVisible(false);},(entryDelay+visibleDuration)*1e3);return()=>{clearTimeout(entranceTimer);clearTimeout(exitTimer);};},[entryDelay,visibleDuration]);useEffect(()=>{if(!hasEntryCompleted)return;// Start word cycling only after entry animation completes\nconst changeWord=()=>{let nextWord;do{nextWord=words[Math.floor(Math.random()*words.length)];}while(nextWord===currentWord&&words.length>1)setCurrentWord(nextWord);};// Change word immediately, then set interval\nchangeWord();const interval=setInterval(changeWord,wordInterval*1e3);return()=>clearInterval(interval);},[hasEntryCompleted,wordInterval]);return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:textAlign,alignItems:\"center\",width:\"100%\",height:\"100%\",fontFamily:\"serif\",fontSize:`${fontSize}px`,fontStyle:\"italic\",color:\"white\"},children:/*#__PURE__*/_jsxs(motion.div,{layout:true,initial:{y:-100,opacity:0},animate:{y:isVisible?0:-100,opacity:isVisible?1:0},transition:{type:\"spring\",stiffness:300,damping:30},style:{display:\"flex\",alignItems:\"center\",gap:`${fontSize*.25}px`,height:`${fontSize*1.25}px`,overflow:\"hidden\",position:\"relative\"},children:[/*#__PURE__*/_jsx(motion.span,{layout:true,transition:{type:\"spring\",stiffness:300,damping:30},children:\"loading\"}),/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",children:/*#__PURE__*/_jsx(motion.span,{initial:{y:fontSize*.625,opacity:0},animate:{y:0,opacity:1},exit:{y:-fontSize*.625,opacity:0},transition:{type:\"spring\",stiffness:400,damping:25,duration:.3},style:{whiteSpace:\"nowrap\"},children:currentWord},currentWord)})]})});}// Add property controls for Framer\nLoadingText.defaultProps={fontSize:48,textAlign:\"center\",entryDelay:.5,wordInterval:1.5,visibleDuration:2};addPropertyControls(LoadingText,{fontSize:{type:ControlType.Number,title:\"Font Size\",min:12,max:120,step:1,defaultValue:48,displayStepper:true},textAlign:{type:ControlType.Enum,title:\"Text Align\",options:[\"flex-start\",\"center\",\"flex-end\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\"},entryDelay:{type:ControlType.Number,title:\"Entry Delay (s)\",min:0,max:5,step:.1,defaultValue:.5,displayStepper:true},wordInterval:{type:ControlType.Number,title:\"Word Interval (s)\",min:.5,max:5,step:.1,defaultValue:1.5,displayStepper:true},visibleDuration:{type:ControlType.Number,title:\"Visible Duration (s)\",min:1,max:10,step:.1,defaultValue:2,displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LoadingText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Randomize_Loadingtext.map","// Generated by Framer (b2f4b2d)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import LoadingBar from\"https://framerusercontent.com/modules/CBoUnmBMUavvgbmpqQuH/jVaeJhQRljRvHvVsaMQn/Loading_Bar.js\";import LoadingText from\"https://framerusercontent.com/modules/HsPs7gSlvP6As4kZ4gCJ/v7fAsunbrkOO92sBlkdQ/Randomize_Loadingtext.js\";const LoadingTextFonts=getFonts(LoadingText);const LoadingBarFonts=getFonts(LoadingBar);const cycleOrder=[\"OmYDlMGbP\",\"XpKKtPhsa\"];const serializationHash=\"framer-mZ7vB\";const variantClassNames={OmYDlMGbP:\"framer-v-gowqoe\",XpKKtPhsa:\"framer-v-i1hvts\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const mmMEjYY18=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Loader-Mobile\":\"XpKKtPhsa\",\"Loader-Web\":\"OmYDlMGbP\"};const getProps=({height,id,myPreloader,width,...props})=>{return{...props,mmMEjYY18:myPreloader??props.mmMEjYY18,variant:humanReadableVariantMap[props.variant]??props.variant??\"OmYDlMGbP\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,mmMEjYY18,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"OmYDlMGbP\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapkbs1t8=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(mmMEjYY18){const res=await mmMEjYY18(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"XpKKtPhsa\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-gowqoe\",className,classNames),\"data-framer-name\":\"Loader-Web\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"OmYDlMGbP\",onTap:onTapkbs1t8,ref:refBinding,style:{...style},...addPropertyOverrides({XpKKtPhsa:{\"data-framer-name\":\"Loader-Mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-j172qk\",layoutDependency:layoutDependency,layoutId:\"sAG2UOqCJ\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-135fdhh-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"tco04QIoe-container\",nodeId:\"tco04QIoe\",rendersWithMotion:true,scopeId:\"bqgp_ZtbH\",style:{opacity:.75},children:/*#__PURE__*/_jsx(LoadingText,{entryDelay:.5,fontSize:26,height:\"100%\",id:\"tco04QIoe\",layoutId:\"tco04QIoe\",style:{height:\"100%\",width:\"100%\"},textAlign:\"center\",visibleDuration:4.25,width:\"100%\",wordInterval:1.75,...addPropertyOverrides({XpKKtPhsa:{fontSize:16}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-osfdmp-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"JCzCh1MF6-container\",nodeId:\"JCzCh1MF6\",rendersWithMotion:true,scopeId:\"bqgp_ZtbH\",children:/*#__PURE__*/_jsx(LoadingBar,{barWidth:35,height:\"100%\",id:\"JCzCh1MF6\",layoutId:\"JCzCh1MF6\",loadingDuration:2.5,startDelay:.75,style:{height:\"100%\"},waveSpeed:5,waveWidth:6,width:\"100%\",...addPropertyOverrides({XpKKtPhsa:{barWidth:25,waveWidth:5}},baseVariant,gestureVariant)})})}),isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-dlw8o4\",layoutDependency:layoutDependency,layoutId:\"SwU7BAeUo\",style:{backgroundColor:\"rgb(255, 255, 255)\",opacity:0}})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-mZ7vB.framer-1ps8qw6, .framer-mZ7vB .framer-1ps8qw6 { display: block; }\",\".framer-mZ7vB.framer-gowqoe { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 688px; }\",\".framer-mZ7vB .framer-j172qk { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 378px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-mZ7vB .framer-135fdhh-container { flex: none; height: 94px; position: relative; width: 517px; }\",\".framer-mZ7vB .framer-osfdmp-container { flex: none; height: 20px; position: relative; width: auto; z-index: 3; }\",\".framer-mZ7vB .framer-dlw8o4 { flex: none; height: 100px; overflow: hidden; position: relative; width: 300px; }\",\".framer-mZ7vB.framer-v-i1hvts.framer-gowqoe { width: 390px; }\",\".framer-mZ7vB.framer-v-i1hvts .framer-135fdhh-container { height: 35px; width: 389px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 378\n * @framerIntrinsicWidth 688\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"XpKKtPhsa\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"mmMEjYY18\":\"myPreloader\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerbqgp_ZtbH=withCSS(Component,css,\"framer-mZ7vB\");export default Framerbqgp_ZtbH;Framerbqgp_ZtbH.displayName=\"Loader Graphics\";Framerbqgp_ZtbH.defaultProps={height:378,width:688};addPropertyControls(Framerbqgp_ZtbH,{variant:{options:[\"OmYDlMGbP\",\"XpKKtPhsa\"],optionTitles:[\"Loader-Web\",\"Loader-Mobile\"],title:\"Variant\",type:ControlType.Enum},mmMEjYY18:{title:\"my-preloader\",type:ControlType.EventHandler}});addFonts(Framerbqgp_ZtbH,[{explicitInter:true,fonts:[]},...LoadingTextFonts,...LoadingBarFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerbqgp_ZtbH\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"mmMEjYY18\\\":\\\"myPreloader\\\"}\",\"framerIntrinsicWidth\":\"688\",\"framerIntrinsicHeight\":\"378\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"XpKKtPhsa\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./bqgp_ZtbH.map","import{jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useCallback}from\"react\";export default function PreloaderController({duration=3e3,fadeOutDelay=500,customPreloaderID=\"my-preloader\",runOncePerSession=true,preloadImages=true,onComplete=()=>{},...props}){const[progress,setProgress]=useState(0);const[isActive,setIsActive]=useState(true);// Session management\nconst getSessionKey=useCallback(()=>{return`preloader-completed-${window.location.pathname}`;},[]);const hasRunThisSession=useCallback(()=>{return runOncePerSession&&sessionStorage.getItem(getSessionKey());},[runOncePerSession,getSessionKey]);const markSessionComplete=useCallback(()=>{if(runOncePerSession){sessionStorage.setItem(getSessionKey(),\"true\");}},[runOncePerSession,getSessionKey]);// Find preloader element\nconst findPreloader=useCallback(()=>{const selectors=[`#${customPreloaderID}`,'[aria-label=\"my-preloader\"]','[data-framer-name*=\"preloader\"]','[class*=\"preloader\"]'];for(const selector of selectors){const element=document.querySelector(selector);if(element)return element;}return null;},[customPreloaderID]);// Scroll prevention\nconst preventScroll=useCallback(e=>{e.preventDefault();e.stopPropagation();return false;},[]);const preventKeys=useCallback(e=>{const blockedKeys=[32,33,34,35,36,37,38,39,40];if(blockedKeys.includes(e.keyCode)){e.preventDefault();return false;}},[]);// Lock/unlock scroll\nconst lockScroll=useCallback(()=>{const scrollY=window.scrollY;const originalStyles={overflow:document.body.style.overflow,htmlOverflow:document.documentElement.style.overflow,position:document.body.style.position,top:document.body.style.top,width:document.body.style.width};Object.assign(document.body.style,{overflow:\"hidden\",position:\"fixed\",top:`-${scrollY}px`,width:\"100%\"});document.documentElement.style.overflow=\"hidden\";document.addEventListener(\"wheel\",preventScroll,{passive:false});document.addEventListener(\"touchmove\",preventScroll,{passive:false});document.addEventListener(\"keydown\",preventKeys,{passive:false});return{originalStyles,scrollY};},[preventScroll,preventKeys]);const unlockScroll=useCallback((originalStyles,scrollY)=>{Object.assign(document.body.style,originalStyles);document.documentElement.style.overflow=originalStyles.htmlOverflow;window.scrollTo(0,scrollY);document.removeEventListener(\"wheel\",preventScroll);document.removeEventListener(\"touchmove\",preventScroll);document.removeEventListener(\"keydown\",preventKeys);},[preventScroll,preventKeys]);// Simple scroll-based image preloading (temporarily unlock scroll)\nconst triggerLazyLoading=useCallback((originalStyles,originalScrollY)=>{if(!preloadImages)return;console.log(\"🚀 Starting lazy loading trigger by scrolling...\");// TEMPORARILY unlock scroll for lazy loading\nObject.assign(document.body.style,originalStyles);document.documentElement.style.overflow=originalStyles.htmlOverflow;window.scrollTo(0,originalScrollY);const pageHeight=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight);let currentPosition=originalScrollY;const scrollStep=window.innerHeight;const scrollSpeed=150// ms between scrolls\n;const scrollInterval=setInterval(()=>{currentPosition+=scrollStep;window.scrollTo(0,currentPosition);// Trigger events that lazy loading libraries listen for\nwindow.dispatchEvent(new Event(\"scroll\"));window.dispatchEvent(new Event(\"resize\"));console.log(`📜 Scrolled to ${currentPosition}/${pageHeight}`);if(currentPosition>=pageHeight){clearInterval(scrollInterval);// Restore original position and RE-LOCK scroll\nsetTimeout(()=>{window.scrollTo(0,originalScrollY);// Re-apply scroll lock\nObject.assign(document.body.style,{overflow:\"hidden\",position:\"fixed\",top:`-${originalScrollY}px`,width:\"100%\"});document.documentElement.style.overflow=\"hidden\";console.log(\"✅ Lazy loading triggered, scroll re-locked\");},200);}},scrollSpeed);// Safety timeout\nsetTimeout(()=>{clearInterval(scrollInterval);window.scrollTo(0,originalScrollY);// Re-apply scroll lock even on timeout\nObject.assign(document.body.style,{overflow:\"hidden\",position:\"fixed\",top:`-${originalScrollY}px`,width:\"100%\"});document.documentElement.style.overflow=\"hidden\";console.log(\"⏰ Scroll timeout reached, scroll re-locked\");},4e3);},[preloadImages]);// Update progress elements\nconst updateProgressElements=useCallback((element,progressValue)=>{if(!element)return;const progressElement=element.querySelector(\"[data-progress]\");if(progressElement){progressElement.textContent=`${Math.round(progressValue)}%`;}const progressBar=element.querySelector(\"[data-progress-bar]\");if(progressBar){progressBar.style.width=`${progressValue}%`;}},[]);useEffect(()=>{const initializePreloader=()=>{// Check session first\nif(hasRunThisSession()){const preloader=findPreloader();if(preloader){Object.assign(preloader.style,{opacity:\"0\",pointerEvents:\"none\",display:\"none\"});}setIsActive(false);onComplete();return;}if(!isActive)return;const preloader=findPreloader();if(!preloader){console.warn(`Preloader element \"${customPreloaderID}\" not found`);return;}// Setup preloader\nObject.assign(preloader.style,{display:\"block\",opacity:\"1\",pointerEvents:\"auto\",position:\"fixed\",top:\"0\",left:\"0\",width:\"100vw\",height:\"100vh\",zIndex:\"9999\",cursor:\"default\",transition:`opacity ${fadeOutDelay}ms ease-out`});// Lock scroll\nconst{originalStyles,scrollY}=lockScroll();// Start lazy loading trigger after a short delay\nsetTimeout(()=>{triggerLazyLoading(originalStyles,scrollY);},500);// Progress animation\nconst progressInterval=setInterval(()=>{setProgress(prev=>{const increment=100/(duration/50);const newProgress=Math.min(prev+increment,100);updateProgressElements(preloader,newProgress);if(newProgress>=100){clearInterval(progressInterval);// Fade out after progress completes\nsetTimeout(()=>{unlockScroll(originalStyles,scrollY);preloader.style.opacity=\"0\";preloader.style.pointerEvents=\"none\";setTimeout(()=>{preloader.style.display=\"none\";markSessionComplete();setIsActive(false);onComplete();},fadeOutDelay);},fadeOutDelay);}return newProgress;});},50);// Cleanup\nreturn()=>{clearInterval(progressInterval);unlockScroll(originalStyles,scrollY);};};const timeoutId=setTimeout(initializePreloader,100);return()=>clearTimeout(timeoutId);},[duration,fadeOutDelay,onComplete,isActive,customPreloaderID,runOncePerSession,hasRunThisSession,findPreloader,lockScroll,unlockScroll,updateProgressElements,markSessionComplete,triggerLazyLoading]);return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"none\"},children:[/*#__PURE__*/_jsxs(\"p\",{children:[\"Preloader Controller - Progress: \",Math.round(progress),\"%\"]}),/*#__PURE__*/_jsxs(\"p\",{children:[\"Session Control: \",runOncePerSession?\"Enabled\":\"Disabled\"]})]});}// Static helper method\nPreloaderController.shouldShowPreloader=(runOncePerSession=true)=>{if(typeof window===\"undefined\")return true;if(!runOncePerSession)return true;const sessionKey=`preloader-completed-${window.location.pathname}`;return!sessionStorage.getItem(sessionKey);};PreloaderController.defaultProps={duration:3e3,fadeOutDelay:500,customPreloaderID:\"my-preloader\",runOncePerSession:true,preloadImages:true,onComplete:()=>{}};if(typeof window!==\"undefined\"){PreloaderController.propertyControls={duration:{type:\"number\",title:\"Duration (ms)\",min:1e3,max:1e4,step:500,defaultValue:3e3},fadeOutDelay:{type:\"number\",title:\"Fade Out Delay (ms)\",min:0,max:2e3,step:100,defaultValue:500},customPreloaderID:{type:\"string\",title:\"Preloader Element ID\",defaultValue:\"my-preloader\"},runOncePerSession:{type:\"boolean\",title:\"Run Once Per Session\",defaultValue:true},preloadImages:{type:\"boolean\",title:\"Preload Site Images\",defaultValue:true}};}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PreloaderController\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Pre_Loader_Animation.map"],"mappings":"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"}