{"version":3,"file":"HeroProjectLoop.DM7OgXK0.mjs","names":["React.useMemo","p","React.useRef","React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/TwL2pRUa5AaPHmIUpR7g/rHi7EBvsKI6oI1OyWTjb/HeroProjectLoop.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";function shuffleArray(arr){const a=[...arr];for(let i=a.length-1;i>0;i--){const j=Math.floor(Math.random()*(i+1));[a[i],a[j]]=[a[j],a[i]];}return a;}function loadImage(src,loaded){if(!src)return Promise.resolve();if(loaded.has(src))return Promise.resolve();return new Promise(resolve=>{const im=new Image;im.onload=()=>{loaded.add(src);resolve();};im.onerror=()=>resolve();im.src=src;});}export default function HeroProjectLoopInstant(props){const items=React.useMemo(()=>{const p=props;const out=[];for(let i=1;i<=20;i++){const img=p[`image${i}`];const name=(p[`name${i}`]??\"\").toString();if(img)out.push({image:img,name:name.trim()});}return props.shuffle?shuffleArray(out):out;},[props]);const loadedRef=React.useRef(new Set);const inFlightRef=React.useRef(false);const queuedIndexRef=React.useRef(null);const timerRef=React.useRef(null);const[index,setIndex]=React.useState(0);// 2-layer crossfade\nconst[activeLayer,setActiveLayer]=React.useState(0);const[layerSrc,setLayerSrc]=React.useState([null,null]);// Reset cuando cambian items\nReact.useEffect(()=>{if(items.length===0){setIndex(0);setActiveLayer(0);setLayerSrc([null,null]);return;}setIndex(0);setActiveLayer(0);setLayerSrc([items[0].image,null]);// Marca como “cargada” la primera si puede\nloadImage(items[0].image,loadedRef.current);},[items.length]);// Preload (pero marcando loaded solo cuando realmente carga)\nReact.useEffect(()=>{if(typeof window===\"undefined\")return;items.forEach(it=>{loadImage(it.image,loadedRef.current);});},[items]);const safeInterval=Math.max(150,props.intervalMs);// Fade no puede ser >= intervalo (si no, se solapa raro)\nconst safeFade=Math.max(0,Math.min(props.fadeMs,safeInterval-50));const fadeSec=safeFade/1e3;const runTransition=React.useCallback(async nextIndex=>{if(items.length<=1)return;if(inFlightRef.current){queuedIndexRef.current=nextIndex;return;}inFlightRef.current=true;const next=items[nextIndex];// Espera a que la imagen esté cargada para evitar “blank frame”\nawait loadImage(next.image,loadedRef.current);const nextLayer=activeLayer===0?1:0;setLayerSrc(prev=>{const copy=[...prev];copy[nextLayer]=next.image;return copy;});// Cambia índice (label) y activa crossfade (swap de layer)\nsetIndex(nextIndex);setActiveLayer(nextLayer);window.setTimeout(()=>{inFlightRef.current=false;if(queuedIndexRef.current!==null){const q=queuedIndexRef.current;queuedIndexRef.current=null;runTransition(q);}},safeFade);},[items,activeLayer,safeFade]);// Loop\nReact.useEffect(()=>{if(items.length<=1)return;if(timerRef.current)window.clearInterval(timerRef.current);timerRef.current=window.setInterval(()=>{const nextIndex=(index+1)%items.length;runTransition(nextIndex);},safeInterval);return()=>{if(timerRef.current)window.clearInterval(timerRef.current);timerRef.current=null;};},[items.length,safeInterval,index,runTransition]);const current=items.length?items[index]:null;const commonBgStyle={position:\"absolute\",inset:0,backgroundSize:props.imageFit,backgroundPosition:\"center\",backgroundRepeat:\"no-repeat\",transform:`scale(${props.imageScale})`,willChange:\"opacity\"};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(motion.div,{style:{...commonBgStyle,backgroundImage:layerSrc[0]?`url(${layerSrc[0]})`:\"none\"},animate:{opacity:activeLayer===0?1:0},transition:{duration:fadeSec,ease:\"linear\"}}),/*#__PURE__*/_jsx(motion.div,{style:{...commonBgStyle,backgroundImage:layerSrc[1]?`url(${layerSrc[1]})`:\"none\"},animate:{opacity:activeLayer===1?1:0},transition:{duration:fadeSec,ease:\"linear\"}}),props.showOverlay&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0) 55%)\",opacity:props.overlayOpacity,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:props.labelPadding,left:props.labelPadding,color:props.labelColor,fontFamily:props.labelFontFamily,fontSize:props.labelFontSize,fontWeight:props.labelFontWeight,letterSpacing:props.labelLetterSpacing,lineHeight:props.labelLineHeight,userSelect:\"none\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",maxWidth:\"80%\"},children:current?.name||\"\"}),items.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"grid\",placeItems:\"center\",fontFamily:\"Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial\",fontSize:14,opacity:.6},children:\"A\\xf1ade im\\xe1genes en Image 1… Image 20\"})]});}addPropertyControls(HeroProjectLoopInstant,{intervalMs:{type:ControlType.Number,title:\"Interval (ms)\",defaultValue:500,min:150,max:5e3,step:50},fadeMs:{type:ControlType.Number,title:\"Fade (ms)\",defaultValue:220,min:0,max:2e3,step:10},shuffle:{type:ControlType.Boolean,title:\"Shuffle\",defaultValue:false},imageFit:{type:ControlType.Enum,title:\"Image Fit\",defaultValue:\"cover\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"]},imageScale:{type:ControlType.Number,title:\"Image Scale\",defaultValue:1,min:1,max:1.2,step:.01},showOverlay:{type:ControlType.Boolean,title:\"Overlay\",defaultValue:true},overlayOpacity:{type:ControlType.Number,title:\"Overlay Op.\",defaultValue:.9,min:0,max:1,step:.05},labelColor:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#FFFFFF\"},labelPadding:{type:ControlType.Number,title:\"Label Pad\",defaultValue:20,min:0,max:80},labelFontFamily:{type:ControlType.String,title:\"Font\",defaultValue:\"Elza, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial\"},labelFontSize:{type:ControlType.Number,title:\"Size\",defaultValue:16,min:10,max:40},labelFontWeight:{type:ControlType.Number,title:\"Weight\",defaultValue:300,min:100,max:900,step:100},labelLetterSpacing:{type:ControlType.Number,title:\"Tracking\",defaultValue:0},labelLineHeight:{type:ControlType.Number,title:\"Line H.\",defaultValue:1.2,min:.9,max:2,step:.05},// Slots\nimage1:{type:ControlType.Image,title:\"Image 1\"},name1:{type:ControlType.String,title:\"Name 1\",defaultValue:\"\"},image2:{type:ControlType.Image,title:\"Image 2\"},name2:{type:ControlType.String,title:\"Name 2\",defaultValue:\"\"},image3:{type:ControlType.Image,title:\"Image 3\"},name3:{type:ControlType.String,title:\"Name 3\",defaultValue:\"\"},image4:{type:ControlType.Image,title:\"Image 4\"},name4:{type:ControlType.String,title:\"Name 4\",defaultValue:\"\"},image5:{type:ControlType.Image,title:\"Image 5\"},name5:{type:ControlType.String,title:\"Name 5\",defaultValue:\"\"},image6:{type:ControlType.Image,title:\"Image 6\"},name6:{type:ControlType.String,title:\"Name 6\",defaultValue:\"\"},image7:{type:ControlType.Image,title:\"Image 7\"},name7:{type:ControlType.String,title:\"Name 7\",defaultValue:\"\"},image8:{type:ControlType.Image,title:\"Image 8\"},name8:{type:ControlType.String,title:\"Name 8\",defaultValue:\"\"},image9:{type:ControlType.Image,title:\"Image 9\"},name9:{type:ControlType.String,title:\"Name 9\",defaultValue:\"\"},image10:{type:ControlType.Image,title:\"Image 10\"},name10:{type:ControlType.String,title:\"Name 10\",defaultValue:\"\"},image11:{type:ControlType.Image,title:\"Image 11\"},name11:{type:ControlType.String,title:\"Name 11\",defaultValue:\"\"},image12:{type:ControlType.Image,title:\"Image 12\"},name12:{type:ControlType.String,title:\"Name 12\",defaultValue:\"\"},image13:{type:ControlType.Image,title:\"Image 13\"},name13:{type:ControlType.String,title:\"Name 13\",defaultValue:\"\"},image14:{type:ControlType.Image,title:\"Image 14\"},name14:{type:ControlType.String,title:\"Name 14\",defaultValue:\"\"},image15:{type:ControlType.Image,title:\"Image 15\"},name15:{type:ControlType.String,title:\"Name 15\",defaultValue:\"\"},image16:{type:ControlType.Image,title:\"Image 16\"},name16:{type:ControlType.String,title:\"Name 16\",defaultValue:\"\"},image17:{type:ControlType.Image,title:\"Image 17\"},name17:{type:ControlType.String,title:\"Name 17\",defaultValue:\"\"},image18:{type:ControlType.Image,title:\"Image 18\"},name18:{type:ControlType.String,title:\"Name 18\",defaultValue:\"\"},image19:{type:ControlType.Image,title:\"Image 19\"},name19:{type:ControlType.String,title:\"Name 19\",defaultValue:\"\"},image20:{type:ControlType.Image,title:\"Image 20\"},name20:{type:ControlType.String,title:\"Name 20\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HeroProjectLoopInstant\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HeroProjectLoop.map"],"mappings":"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"}