{"version":3,"file":"Pre_Loader_Animation.Ddkicsqb.mjs","names":["sequence","progress","currentProgress","startTime","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/dDVaNhnzLO2AgYPeHlbF/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 (629c622)\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-kFwdu\";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 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:5.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:3.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-kFwdu.framer-1ps8qw6, .framer-kFwdu .framer-1ps8qw6 { display: block; }\",\".framer-kFwdu.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-kFwdu .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-kFwdu .framer-135fdhh-container { flex: none; height: 94px; position: relative; width: 517px; }\",\".framer-kFwdu .framer-osfdmp-container { flex: none; height: 20px; position: relative; width: auto; z-index: 3; }\",\".framer-kFwdu .framer-dlw8o4 { flex: none; height: 100px; overflow: hidden; position: relative; width: 300px; }\",\".framer-kFwdu.framer-v-i1hvts.framer-gowqoe { width: 390px; }\",\".framer-kFwdu.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-kFwdu\");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\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerbqgp_ZtbH\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"688\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"mmMEjYY18\\\":\\\"myPreloader\\\"}\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"XpKKtPhsa\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"378\"}},\"__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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"}