{"version":3,"file":"Logo_Cycle.8o7EU-Ez.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/K5fRQmIJOS9KavHEnU5A/EVGX8csyuBGFoVfmQkCY/Logo_Cycle.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{useState,useEffect,useRef}from\"react\";import{AnimatePresence,motion}from\"framer-motion\";// ─── Helpers ─────────────────────────────────────────────────────────────────\nfunction 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;}let _id=0;const uid=()=>String(++_id);// ─── Default logos ────────────────────────────────────────────────────────────\nconst DEFAULT_LOGOS=[\"https://framerusercontent.com/images/ZHbjcXwr7psLODoRYpNFzHmQk.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370ea48d4fb0c708dd1dc_logo-microsoft.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370ea9ba384ff47fa5d51_logo-asana.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370eaec918fbd4a0acc12_logo-snapchat.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370ea155a551c08692a03_logo-google.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370eafdf2b295d65f9450_logo-bluesky.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370ea68a433ee5808ed90_logo-codepen.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370ea2ebc0415055d04f3_logo-linkedin.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370ea7699561e6f9f008f_logo-android.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370ea753f2afe2f6b036f_logo-apple.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370eabec1e0c00348b5ed_logo-twitter.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370ea36c91584afe43e2d_logo-medium.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370ea87b05cdce0387084_logo-eventbrite.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370eaf4465d763c2f9b2a_logo-behance.svg\",\"https://cdn.prod.website-files.com/68836e3f51ac98fec14ceed2/688370eaec1d445957d7e3a1_logo-chatgpt.svg\",\"https://framerusercontent.com/images/jJM5yAkAnaHWBJtTFS5IPLBRY.svg?width=1024&height=1024\",\"https://framerusercontent.com/images/0gb313nkvGFxzrFMbVaU7mJpg.svg?width=504&height=170\",\"https://framerusercontent.com/images/UNDNoFCpXeRVawtP3jCCvUs05ic.svg?width=361&height=150\",\"https://framerusercontent.com/images/sTAN5kt217gaFc9mwYWpT5p4A.svg?width=1025&height=115\",\"https://framerusercontent.com/images/1JmeVoax6J8QB8pUBeOfzN8wA.svg?width=1024&height=277\",\"https://framerusercontent.com/images/bpocNNQ9TzP7VG6nR9lJqDQrew.svg?width=559&height=168\",\"https://framerusercontent.com/images/UHGJJo6UnSP6j9zcGAHniGe7SZc.svg?width=408&height=408\"];// ─── Animation variant builder ────────────────────────────────────────────────\nfunction buildVariants(animationType,isVertical,enterTransition,exitTransition){switch(animationType){case\"Blur Rise\":return{needsPerspective:false,initial:{y:\"40%\",filter:\"blur(14px)\",opacity:0,scale:.92},enterVariant:{y:\"0%\",filter:\"blur(0px)\",opacity:1,scale:1,transition:enterTransition},exitVariant:{y:\"-40%\",filter:\"blur(14px)\",opacity:0,scale:.92,transition:exitTransition}};case\"Slide\":return{needsPerspective:false,initial:isVertical?{y:\"50%\",x:\"0%\",opacity:0}:{x:\"50%\",y:\"0%\",opacity:0},enterVariant:{y:\"0%\",x:\"0%\",opacity:1,transition:enterTransition},exitVariant:{...isVertical?{y:\"-50%\",x:\"0%\"}:{x:\"-50%\",y:\"0%\"},opacity:0,transition:exitTransition}};case\"Crossfade\":return{needsPerspective:false,initial:{opacity:0},enterVariant:{opacity:1,transition:enterTransition},exitVariant:{opacity:0,transition:exitTransition}};case\"Drift\":return{needsPerspective:false,initial:{y:\"18%\",opacity:0},enterVariant:{y:\"0%\",opacity:1,transition:enterTransition},exitVariant:{y:\"-18%\",opacity:0,transition:exitTransition}};case\"Reveal\":return{needsPerspective:false,initial:{clipPath:\"inset(100% 0% 0% 0%)\",opacity:1},enterVariant:{clipPath:\"inset(0% 0% 0% 0%)\",opacity:1,transition:enterTransition},exitVariant:{clipPath:\"inset(0% 0% 100% 0%)\",opacity:1,transition:exitTransition}};case\"Flip\":return{needsPerspective:true,initial:isVertical?{rotateX:90,opacity:0,scale:.9}:{rotateY:-90,opacity:0,scale:.9},enterVariant:{rotateX:0,rotateY:0,opacity:1,scale:1,transition:enterTransition},exitVariant:isVertical?{rotateX:-90,opacity:0,scale:.9,transition:exitTransition}:{rotateY:90,opacity:0,scale:.9,transition:exitTransition}};case\"Gravity\":{return{needsPerspective:false,initial:{y:\"-100%\",opacity:0,rotate:isVertical?-6:6,scale:.88},enterVariant:{y:\"0%\",opacity:1,rotate:0,scale:1,transition:enterTransition},exitVariant:{y:\"100%\",opacity:0,rotate:isVertical?6:-6,scale:.88,transition:exitTransition}};}case\"Blur Zoom\":return{needsPerspective:false,initial:{scale:.6,filter:\"blur(20px)\",opacity:0},enterVariant:{scale:1,filter:\"blur(0px)\",opacity:1,transition:enterTransition},exitVariant:{scale:1.4,filter:\"blur(20px)\",opacity:0,transition:exitTransition}};default:return{needsPerspective:false,initial:{y:\"40%\",filter:\"blur(14px)\",opacity:0,scale:.92},enterVariant:{y:\"0%\",filter:\"blur(0px)\",opacity:1,scale:1,transition:enterTransition},exitVariant:{y:\"-40%\",filter:\"blur(14px)\",opacity:0,scale:.92,transition:exitTransition}};}}// ─── Component ────────────────────────────────────────────────────────────────\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 640\n * @framerIntrinsicHeight 280\n * @framerDisableUnlink\n */export default function LogoWallCycle(props){const{logos:rawLogos,columns=4,rows=2,swapInterval=1.5,transition={type:\"tween\",duration:.7,ease:[.76,0,.24,1]},animationType=\"Blur Rise\",animationDirection=\"Vertical\",shuffle=true,gap=2,borderRadius=\"12px\",cellBackground=\"#F2F2F7\",cellAspectRatio=1.5,logoWidth=66,logoHeight=40,logoFilter=\"none\",logoColor=\"#000000\",style}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isStaticRenderer=useIsStaticRenderer();// Disable animations during both Canvas editing and SSR/Static Export\nconst isStatic=isCanvas||isStaticRenderer;const logos=rawLogos&&rawLogos.length>0?rawLogos.map(l=>typeof l===\"string\"?l:l?.src??\"\"):DEFAULT_LOGOS;const visibleCount=columns*rows;const isVertical=animationDirection===\"Vertical\";const[cells,setCells]=useState([]);const roundRef=useRef([]);const logosRef=useRef(logos);const shuffleRef=useRef(shuffle);useEffect(()=>{logosRef.current=logos;shuffleRef.current=shuffle;},[logos,shuffle]);const patternRef=useRef([]);const patternIdxRef=useRef(0);const timerRef=useRef(null);function buildRound(onScreen){const available=logosRef.current.filter(src=>!onScreen.has(src));if(available.length===0)return[];return shuffleRef.current?shuffleArray(available):[...available];}useEffect(()=>{const srcs=[...logos];const ordered=shuffle?shuffleArray(srcs):[...srcs];const displayed=[];while(displayed.length<visibleCount)displayed.push(...ordered);const visible=displayed.slice(0,visibleCount);setCells(visible.map(src=>({id:uid(),src,isInitial:true})));const onScreen=new Set(visible);roundRef.current=buildRound(onScreen);patternRef.current=shuffleArray(Array.from({length:visibleCount},(_,i)=>i));patternIdxRef.current=0;},[JSON.stringify(logos),visibleCount,shuffle]);useEffect(()=>{if(isStatic)return;if(timerRef.current)clearInterval(timerRef.current);timerRef.current=setInterval(()=>{const idx=patternRef.current[patternIdxRef.current%visibleCount];patternIdxRef.current++;setCells(prev=>{if(!prev[idx])return prev;// onScreen contains the other cells (excluding the one being swapped)\nconst onScreen=new Set(prev.filter((_,i)=>i!==idx).map(c=>c.src));// The logo currently sitting in the cell we're about to swap\nconst outgoingSrc=prev[idx].src;// Ensure we don't pick a logo that is in another cell AND don't pick the outgoing logo\nlet pickedIdx=roundRef.current.findIndex(src=>!onScreen.has(src)&&src!==outgoingSrc);if(pickedIdx===-1){// Rebuild the pool by excluding ALL currently visible logos\nconst allVisible=new Set(prev.map(c=>c.src));roundRef.current=buildRound(allVisible);// If there are STILL no available logos, abort the swap entirely\nif(roundRef.current.length===0)return prev;pickedIdx=0;}const[incomingSrc]=roundRef.current.splice(pickedIdx,1);const next=[...prev];next[idx]={id:uid(),src:incomingSrc,isInitial:false};return next;});},swapInterval*1e3);return()=>{if(timerRef.current)clearInterval(timerRef.current);};},[visibleCount,swapInterval,isStatic]);// ── Canvas/Static preview ─────────────────────────────────────────────────\nif(isStatic){const srcs=[...logos];const displayed=[];while(displayed.length<visibleCount)displayed.push(...srcs);const visible=displayed.slice(0,visibleCount);return /*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${columns}, 1fr)`,gridTemplateRows:`repeat(${rows}, 1fr)`,gap:`${gap}px`,width:\"100%\",height:\"100%\",...style},children:visible.map((src,i)=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",overflow:\"hidden\",borderRadius,background:cellBackground,width:\"100%\",height:\"100%\",aspectRatio:cellAspectRatio,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:logoFilter===\"solidColor\"?/*#__PURE__*/_jsx(\"div\",{style:{width:`${logoWidth}%`,height:`${logoHeight}%`,backgroundColor:logoColor,WebkitMaskImage:`url(${src})`,WebkitMaskSize:\"contain\",WebkitMaskPosition:\"center\",WebkitMaskRepeat:\"no-repeat\",maskImage:`url(${src})`,maskSize:\"contain\",maskPosition:\"center\",maskRepeat:\"no-repeat\",display:\"block\"}}):/*#__PURE__*/_jsx(\"img\",{src:src,style:{width:`${logoWidth}%`,height:`${logoHeight}%`,objectFit:\"contain\",filter:logoFilter,display:\"block\"}})},i))});}// ── Animation variants ────────────────────────────────────────────────────\nconst enterTransition={...transition,delay:(transition?.delay??0)+.05};const exitTransition={...transition,delay:0};const{needsPerspective,initial,enterVariant,exitVariant}=buildVariants(animationType,isVertical,enterTransition,exitTransition);// ── Render ────────────────────────────────────────────────────────────────\nreturn /*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${columns}, 1fr)`,gridTemplateRows:`repeat(${rows}, 1fr)`,gap:`${gap}px`,width:\"100%\",height:\"100%\",...style},children:Array.from({length:visibleCount}).map((_,cellIdx)=>{const cell=cells[cellIdx];return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",overflow:\"hidden\",borderRadius,background:cellBackground,width:\"100%\",height:\"100%\",aspectRatio:cellAspectRatio},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...needsPerspective?{perspective:\"600px\",perspectiveOrigin:\"50% 50%\"}:{}},children:/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:cell&&/*#__PURE__*/_jsx(motion.div,{variants:{enter:enterVariant,exit:exitVariant},initial:cell.isInitial?false:initial,animate:\"enter\",exit:\"exit\",style:{position:\"absolute\",width:`${logoWidth}%`,height:`${logoHeight}%`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",willChange:\"transform, opacity, filter\",transformStyle:needsPerspective?\"preserve-3d\":\"flat\"},children:logoFilter===\"solidColor\"?/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",backgroundColor:logoColor,WebkitMaskImage:`url(${cell.src})`,WebkitMaskSize:\"contain\",WebkitMaskPosition:\"center\",WebkitMaskRepeat:\"no-repeat\",maskImage:`url(${cell.src})`,maskSize:\"contain\",maskPosition:\"center\",maskRepeat:\"no-repeat\",display:\"block\"}}):/*#__PURE__*/_jsx(\"img\",{src:cell.src,style:{width:\"100%\",height:\"100%\",objectFit:\"contain\",filter:logoFilter,display:\"block\"}})},cell.id)})})},cellIdx);})});}// ─── Default Props ────────────────────────────────────────────────────────────\nLogoWallCycle.defaultProps={columns:4,rows:2,swapInterval:1.5,transition:{type:\"tween\",duration:.7,ease:[.76,0,.24,1]},animationType:\"Blur Rise\",animationDirection:\"Vertical\",shuffle:true,gap:2,borderRadius:\"12px\",cellBackground:\"#F2F2F7\",cellAspectRatio:1.5,logoWidth:66,logoHeight:40,logoFilter:\"none\",logoColor:\"#000000\"};// ─── Property Controls ────────────────────────────────────────────────────────\naddPropertyControls(LogoWallCycle,{// ── Content ──────────────────────────────────────────────────────────────\nlogos:{type:ControlType.Array,title:\"Logos\",control:{type:ControlType.Image},description:\"Add logos. Only the first (columns \\xd7 rows) are shown at once — extras feed the cycling pool.\"},// ── Grid ─────────────────────────────────────────────────────────────────\ncolumns:{type:ControlType.Number,title:\"Columns\",defaultValue:4,min:1,max:12,step:1,displayStepper:true},rows:{type:ControlType.Number,title:\"Rows\",defaultValue:2,min:1,max:8,step:1,displayStepper:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:2,min:0,max:60,step:1,unit:\"px\"},// ── Cell ─────────────────────────────────────────────────────────────────\ncellBackground:{type:ControlType.Color,title:\"Cell BG\",defaultValue:\"#F2F2F7\"},borderRadius:{type:ControlType.BorderRadius,title:\"Cell Radius\",defaultValue:\"12px\"},cellAspectRatio:{type:ControlType.Number,title:\"Aspect Ratio\",defaultValue:1.5,min:.1,max:5,step:.1,displayStepper:true,description:\"Ratio of cell width to height. Solves grid collapse when height is set to Fit Content.\"},// ── Logo area ─────────────────────────────────────────────────────────────\nlogoWidth:{type:ControlType.Number,title:\"Logo W\",defaultValue:66,min:10,max:100,step:1,unit:\"%\",description:\"Logo area width as % of cell width.\"},logoHeight:{type:ControlType.Number,title:\"Logo H\",defaultValue:40,min:10,max:100,step:1,unit:\"%\",description:\"Logo area height as % of cell height.\"},logoFilter:{type:ControlType.Enum,title:\"Filter\",defaultValue:\"none\",options:[\"none\",\"solidColor\",\"grayscale(100%)\",\"invert(100%)\",\"grayscale(100%) invert(100%)\",\"opacity(0.5)\"],optionTitles:[\"Original\",\"Solid Color\",\"Grayscale\",\"Invert\",\"Mono Invert\",\"Muted\"]},logoColor:{type:ControlType.Color,title:\"Logo Color\",defaultValue:\"#000000\",hidden(props){return props.logoFilter!==\"solidColor\";}},// ── Animation ────────────────────────────────────────────────────────────\nanimationType:{type:ControlType.Enum,title:\"Animation\",defaultValue:\"Blur Rise\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",options:[\"Blur Rise\",\"Slide\",\"Crossfade\",\"Drift\",\"Reveal\",\"Flip\",\"Gravity\",\"Blur Zoom\"],optionTitles:[\"Blur Rise\",\"Slide\",\"Crossfade\",\"Drift\",\"Reveal\",\"Flip\",\"Gravity\",\"Blur Zoom\"]},animationDirection:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"Vertical\",options:[\"Vertical\",\"Horizontal\"],displaySegmentedControl:true,hidden(props){return props.animationType!==\"Slide\"&&props.animationType!==\"Flip\";}},swapInterval:{type:ControlType.Number,title:\"Interval\",defaultValue:1.5,min:.3,max:20,step:.1,unit:\"s\",description:\"Seconds between each logo swap.\"},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"tween\",duration:.7,ease:[.76,0,.24,1]}},shuffle:{type:ControlType.Boolean,title:\"Shuffle\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Explore [more components](https://dub.sh/daniyal-framer)\\nMade by [Daniyal](https://dub.sh/daniyal-threads)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LogoWallCycle\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"640\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"280\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Logo_Cycle.map"],"mappings":"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"}