{"version":3,"file":"LogoTickerWithProgress.ViPH1PNN.mjs","names":["useState","useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/quFdcrB1lAHW4Goin0H9/lCuzUfBDhXhNpPrVqWSO/LogoTickerWithProgress.js"],"sourcesContent":["// Logo ticker with draggable progress bar to control animation\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useCallback,useRef,useState,startTransition,useEffect}from\"react\";import{motion,useMotionValue,animate}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function LogoTickerWithProgress(props){const{logos=[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Logo 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Logo 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Logo 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Logo 4\"},{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Logo 5\"}],visibleLogos=3,logoHeight=60,spacing=60,backgroundColor=\"#F8F8F8\",pauseOnHover=true,showProgressBar=true,progressBarHeight=4,progressBarColor=\"#E0E0E0\",progressFillColor=\"#000000\",progressHandleColor=\"#000000\",handleType=\"circle\",handleImage={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Handle\"},speed=8,focusLogo=0,showLeftFade=true,leftFadeWidth=50,showRightFade=true,rightFadeWidth=50,progressBarGap=20}=props;const[progress,setProgress]=useState(0);const[isDragging,setIsDragging]=useState(false);const[isHovered,setIsHovered]=useState(false);const trackRef=useRef(null);const containerRef=useRef(null);const isStatic=useIsStaticRenderer();// Motion values for animation control\nconst x=useMotionValue(0);// Create duplicated logos for seamless looping\nconst duplicatedLogos=[...logos,...logos,...logos];// Calculate total width needed for all logos\nconst logoWidth=logoHeight+spacing;const totalLogosWidth=logos.length*logoWidth-spacing;const containerWidth=visibleLogos*logoWidth-spacing;// Calculate which logo should be in focus (center visible logo)\nconst getFocusIndex=useCallback(()=>{if(logos.length<=visibleLogos)return 0;// Calculate the current position in the animation cycle\nconst currentPosition=progress/100*logos.length;// Start from the selected focus logo and add the current position\nconst calculatedIndex=(focusLogo+currentPosition)%logos.length;return Math.floor(calculatedIndex);},[focusLogo,logos.length,visibleLogos,progress]);// Auto-loop animation with seamless looping\nuseEffect(()=>{if(isStatic||isDragging||logos.length<=visibleLogos||pauseOnHover&&isHovered)return;const controls=animate(progress,100,{duration:speed*((100-progress)/100),ease:\"linear\",onUpdate:value=>{startTransition(()=>setProgress(value));},onComplete:()=>{// Jump back to start position without smooth transition\nstartTransition(()=>setProgress(0));}});return()=>controls.stop();},[isDragging,logos.length,visibleLogos,isStatic,isHovered,pauseOnHover,speed,progress]);// Update animation position based on progress with seamless looping\nuseEffect(()=>{if(containerRef.current&&logos.length>0){// Calculate position to create seamless loop\nconst logoWidth=logoHeight+spacing;const singleLoopWidth=logos.length*logoWidth;// Use progress to determine position within one complete cycle\nconst normalizedProgress=progress/100;const targetX=-normalizedProgress*singleLoopWidth;x.set(targetX);}},[progress,x,logos.length,logoHeight,spacing]);const updateProgressFromEvent=useCallback(e=>{if(!trackRef.current||logos.length<=visibleLogos)return;const rect=trackRef.current.getBoundingClientRect();const clientX=e.clientX-rect.left;const newProgress=Math.max(0,Math.min(100,clientX/rect.width*100));startTransition(()=>setProgress(newProgress));},[logos.length,visibleLogos]);const handleMouseDown=useCallback(e=>{if(isStatic)return;e.preventDefault();startTransition(()=>setIsDragging(true));updateProgressFromEvent(e);},[isStatic,updateProgressFromEvent]);const handleMouseMove=useCallback(e=>{if(!isDragging)return;updateProgressFromEvent(e);},[isDragging,updateProgressFromEvent]);const handleMouseUp=useCallback(()=>{startTransition(()=>{setIsDragging(false);});},[]);// Global mouse event listeners\nuseEffect(()=>{if(isStatic||!isDragging)return;const handleGlobalMouseMove=e=>handleMouseMove(e);const handleGlobalMouseUp=()=>handleMouseUp();document.addEventListener(\"mousemove\",handleGlobalMouseMove);document.addEventListener(\"mouseup\",handleGlobalMouseUp);return()=>{document.removeEventListener(\"mousemove\",handleGlobalMouseMove);document.removeEventListener(\"mouseup\",handleGlobalMouseUp);};},[isDragging,handleMouseMove,handleMouseUp,isStatic]);const focusIndex=getFocusIndex();// Handle logo drag\nconst handleLogoDrag=useCallback((event,info)=>{if(containerRef.current&&logos.length>visibleLogos){const containerWidth=containerRef.current.offsetWidth;const maxScroll=Math.max(0,totalLogosWidth-containerWidth);// Calculate progress based on drag offset - one slide at a time\nconst logoWidth=logoHeight+spacing;const slideDistance=logoWidth;const dragThreshold=slideDistance*.3// 30% of slide distance to trigger\n;if(Math.abs(info.offset.x)>dragThreshold){const direction=info.offset.x>0?-1:1// Reverse direction for natural feel\n;const currentSlide=Math.round(progress/100*logos.length);const newSlide=Math.max(0,Math.min(logos.length-1,currentSlide+direction));const newProgress=newSlide/logos.length*100;startTransition(()=>setProgress(newProgress));}}},[progress,logos.length,visibleLogos,totalLogosWidth,logoHeight,spacing]);return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",backgroundColor,overflow:\"hidden\",position:\"relative\",display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{flex:1,overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\",width:\"100%\"},onMouseEnter:()=>pauseOnHover&&setIsHovered(true),onMouseLeave:()=>pauseOnHover&&setIsHovered(false),children:[/*#__PURE__*/_jsx(motion.div,{style:{display:\"flex\",alignItems:\"center\",gap:spacing,x,width:totalLogosWidth*3},children:duplicatedLogos.map((logo,index)=>{const originalIndex=index%logos.length;const isInFocus=originalIndex===focusIndex;return /*#__PURE__*/_jsx(motion.div,{style:{height:logoHeight,width:logoHeight,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0},initial:{scale:.6},animate:{scale:isInFocus?1:.6,transition:{duration:.3,ease:\"easeInOut\"}},children:/*#__PURE__*/_jsx(\"img\",{src:logo.src,alt:logo.alt,style:{height:\"100%\",width:\"100%\",objectFit:\"contain\",opacity:isInFocus?1:.5,filter:isInFocus?\"none\":\"grayscale(100%)\",transition:\"opacity 0.3s ease, filter 0.3s ease\",pointerEvents:\"none\"}})},index);})}),showLeftFade&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:leftFadeWidth,height:\"100%\",background:`linear-gradient(to right, ${backgroundColor} 0%, transparent 100%)`,pointerEvents:\"none\",zIndex:2}}),showRightFade&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,right:0,width:rightFadeWidth,height:\"100%\",background:`linear-gradient(to left, ${backgroundColor} 0%, transparent 100%)`,pointerEvents:\"none\",zIndex:2}})]}),showProgressBar&&logos.length>visibleLogos&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"20px\",backgroundColor,display:\"flex\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"60%\",maxWidth:\"400px\"},children:/*#__PURE__*/_jsxs(\"div\",{ref:trackRef,style:{position:\"relative\",width:\"100%\",height:progressBarHeight,backgroundColor:progressBarColor,borderRadius:progressBarHeight/2,cursor:\"pointer\",userSelect:\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:`${progress}%`,height:\"100%\",backgroundColor:progressFillColor,borderRadius:progressBarHeight/2,transition:\"none\"}}),handleType===\"circle\"?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"50%\",left:`${progress}%`,width:progressBarHeight*3,height:progressBarHeight*3,backgroundColor:progressHandleColor,borderRadius:\"50%\",transform:\"translate(-50%, -50%)\",cursor:\"grab\",transition:\"none\",...isDragging&&{transform:\"translate(-50%, -50%) scale(1.2)\"}},onMouseDown:handleMouseDown}):/*#__PURE__*/_jsx(\"img\",{src:handleImage?.src||\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:handleImage?.alt||\"Handle\",style:{position:\"absolute\",top:\"50%\",left:`${progress}%`,width:progressBarHeight*3,height:progressBarHeight*3,objectFit:\"contain\",transform:\"translate(-50%, -50%)\",cursor:\"grab\",transition:\"none\",...isDragging&&{transform:\"translate(-50%, -50%) scale(1.2)\"}},onMouseDown:handleMouseDown})]})})})]});}addPropertyControls(LogoTickerWithProgress,{logos:{type:ControlType.Array,title:\"Logos\",control:{type:ControlType.ResponsiveImage},defaultValue:[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Logo 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Logo 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Logo 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Logo 4\"},{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Logo 5\"}],maxCount:40},visibleLogos:{type:ControlType.Number,title:\"Visible Logos\",defaultValue:3,min:1,max:10,step:1,displayStepper:true},logoHeight:{type:ControlType.Number,title:\"Logo Height\",defaultValue:40,min:20,max:300,step:5,unit:\"px\"},spacing:{type:ControlType.Number,title:\"Logo Spacing\",defaultValue:40,min:10,max:100,step:5,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#FFFFFF\"},pauseOnHover:{type:ControlType.Boolean,title:\"Pause on Hover\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},showLeftFade:{type:ControlType.Boolean,title:\"Show Left Fade\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},leftFadeWidth:{type:ControlType.Number,title:\"Left Fade Width\",defaultValue:50,min:10,max:150,step:5,unit:\"px\",hidden:({showLeftFade})=>!showLeftFade},showRightFade:{type:ControlType.Boolean,title:\"Show Right Fade\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},rightFadeWidth:{type:ControlType.Number,title:\"Right Fade Width\",defaultValue:50,min:10,max:150,step:5,unit:\"px\",hidden:({showRightFade})=>!showRightFade},showProgressBar:{type:ControlType.Boolean,title:\"Show Progress Bar\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},progressBarHeight:{type:ControlType.Number,title:\"Progress Bar Height\",defaultValue:8,min:4,max:20,step:1,unit:\"px\",hidden:({showProgressBar})=>!showProgressBar},progressBarColor:{type:ControlType.Color,title:\"Progress Bar Color\",defaultValue:\"#EEEEEE\",hidden:({showProgressBar})=>!showProgressBar},progressFillColor:{type:ControlType.Color,title:\"Progress Fill Color\",defaultValue:\"#0099FF\",hidden:({showProgressBar})=>!showProgressBar},progressHandleColor:{type:ControlType.Color,title:\"Progress Handle Color\",defaultValue:\"#FFFFFF\",hidden:({showProgressBar})=>!showProgressBar},handleType:{type:ControlType.Enum,title:\"Handle Type\",defaultValue:\"circle\",options:[\"circle\",\"image\"],hidden:({showProgressBar})=>!showProgressBar},handleImage:{type:ControlType.ResponsiveImage,title:\"Handle Image\",hidden:({showProgressBar,handleType})=>!showProgressBar||handleType!==\"image\"},speed:{type:ControlType.Number,title:\"Animation Speed\",defaultValue:8,min:1,max:200,step:2,unit:\"s\"},focusLogo:{type:ControlType.Number,title:\"Focus Logo\",defaultValue:0,min:0,max:10,step:1,displayStepper:true,hidden:({showProgressBar})=>!showProgressBar}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LogoTickerWithProgress\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LogoTickerWithProgress.map"],"mappings":"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"}