{"version":3,"file":"ImageWheel.zR92b3FL.mjs","names":["React.useMemo","React.useRef","React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/pYokHPrgLjc7DSameVtI/H5lPhPtKzqy8gsmxG3D0/ImageWheel.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const fallbackImages=[{src:\"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=900&q=80\",alt:\"Landscape\"},{src:\"https://images.unsplash.com/photo-1493246507139-91e8fad9978e?auto=format&fit=crop&w=900&q=80\",alt:\"Water\"},{src:\"https://images.unsplash.com/photo-1519608487953-e999c86e7455?auto=format&fit=crop&w=900&q=80\",alt:\"Mountains\"}];function buildItems(images,repeat){const source=images&&images.length>0?images:fallbackImages.map(image=>({image}));const count=Math.max(1,Math.round(repeat));const items=[];for(let cycle=0;cycle<count;cycle+=1){for(let index=0;index<source.length;index+=1){items.push(source[index]?.image||fallbackImages[index%fallbackImages.length]);}}return items;}function getCardStyleValues(angle,use3D){const depth=(Math.sin(angle)+1)/2;if(!use3D){return{depth,scale:1,rotateY:0,shadow:20,zIndex:Math.round(depth*1e3)};}return{depth,scale:.72+depth*.28,rotateY:-Math.cos(angle)*52,shadow:12+depth*28,zIndex:Math.round(depth*1e3)};}function getCardPosition(angle,xRadius,yRadius,use3D){const depth=(Math.sin(angle)+1)/2;if(!use3D){return{x:Math.cos(angle)*xRadius,y:Math.sin(angle)*yRadius};}// Pull the rear arc inward so smaller back cards do not feel overly spaced out.\nconst horizontalCompression=.74+depth*.26;const verticalCompression=.88+depth*.12;return{x:Math.cos(angle)*xRadius*horizontalCompression,y:Math.sin(angle)*yRadius*verticalCompression};}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function WheelImageRing(props){const{images=fallbackImages.map(image=>({image})),itemRepeat=3,cardWidth=150,cardHeight=200,cardRadius=22,stroke=\"rgba(255, 255, 255, 0.14)\",strokeWidth=1,wheelWidth=84,wheelHeight=44,spread=1,use3D=true,autoSpin=true,pauseOffscreen=true,speed=12,scrollBoost=12,direction=\"clockwise\",reverseDrag=false,background=\"transparent\",fade=.4,blur=0}=props;const isStaticRenderer=useIsStaticRenderer();const items=React.useMemo(()=>buildItems(images,itemRepeat),[images,itemRepeat]);const rotationRef=React.useRef(0);const velocityRef=React.useRef(0);const scrollVelocityRef=React.useRef(0);const lastScrollYRef=React.useRef(0);const frameRef=React.useRef(null);const lastFrameTimeRef=React.useRef(0);const isTickingRef=React.useRef(false);const containerRef=React.useRef(null);const itemRefs=React.useRef([]);const[isInView,setIsInView]=React.useState(true);const shouldAnimate=autoSpin&&!isStaticRenderer&&(!pauseOffscreen||isInView);const dragRef=React.useRef({active:false,pointerId:-1,x:0});const total=Math.max(1,items.length);const spreadFactor=Math.max(.6,Math.min(spread,1.8));const xRadius=wheelWidth/100*320*spreadFactor;const yRadius=wheelHeight/100*150*spreadFactor;const clampedFade=Math.max(0,Math.min(1,fade));const clampedBlur=Math.max(0,blur);itemRefs.current.length=items.length;const updateCardStyles=React.useCallback(rotation=>{for(let index=0;index<items.length;index+=1){const element=itemRefs.current[index];if(!element)continue;const angle=(index/total*Math.PI*2+rotation*Math.PI/180)%(Math.PI*2);const{x,y}=getCardPosition(angle,xRadius,yRadius,use3D);const{scale,rotateY,shadow,zIndex}=getCardStyleValues(angle,use3D);const depth=(Math.sin(angle)+1)/2;const opacity=1-clampedFade*(1-depth);const blurAmount=clampedBlur*(1-depth);element.style.transform=`translate3d(${x}px, ${y}px, 0) scale(${scale}) rotateY(${rotateY}deg)`;element.style.opacity=`${opacity}`;element.style.filter=`blur(${blurAmount}px)`;element.style.zIndex=`${zIndex}`;element.style.boxShadow=`0 ${shadow}px ${shadow*1.6}px rgba(0,0,0,0.20)`;}},[clampedBlur,clampedFade,items.length,total,use3D,xRadius,yRadius]);const shouldKeepTicking=React.useCallback(()=>{if(dragRef.current.active)return true;if(isInView&&shouldAnimate)return true;if(Math.abs(velocityRef.current)>=.002)return true;if(scrollVelocityRef.current>=.01)return true;return false;},[isInView,shouldAnimate]);const stopTicking=React.useCallback(()=>{if(frameRef.current!==null&&typeof window!==\"undefined\"){window.cancelAnimationFrame(frameRef.current);}frameRef.current=null;lastFrameTimeRef.current=0;isTickingRef.current=false;},[]);const startTicking=React.useCallback(()=>{if(typeof window===\"undefined\"||isStaticRenderer||isTickingRef.current)return;const tick=time=>{if(!lastFrameTimeRef.current)lastFrameTimeRef.current=time;const delta=(time-lastFrameTimeRef.current)/1e3;lastFrameTimeRef.current=time;if(!dragRef.current.active){if(shouldAnimate&&isInView){const spinDirection=direction===\"clockwise\"?1:-1;rotationRef.current+=spinDirection*speed*delta;rotationRef.current+=spinDirection*scrollVelocityRef.current*delta;}rotationRef.current+=velocityRef.current;velocityRef.current*=.96;scrollVelocityRef.current*=isInView?.9:.82;if(Math.abs(velocityRef.current)<.002){velocityRef.current=0;}if(scrollVelocityRef.current<.01){scrollVelocityRef.current=0;}}updateCardStyles(rotationRef.current);if(shouldKeepTicking()){frameRef.current=window.requestAnimationFrame(tick);}else{stopTicking();}};isTickingRef.current=true;frameRef.current=window.requestAnimationFrame(tick);},[direction,isInView,isStaticRenderer,shouldAnimate,shouldKeepTicking,speed,stopTicking,updateCardStyles]);React.useEffect(()=>{updateCardStyles(rotationRef.current);},[updateCardStyles]);React.useEffect(()=>{const element=containerRef.current;if(!element||typeof window===\"undefined\"||typeof IntersectionObserver===\"undefined\"){return;}const observer=new IntersectionObserver(([entry])=>{setIsInView(entry.isIntersecting);},{threshold:.1});observer.observe(element);return()=>observer.disconnect();},[]);React.useEffect(()=>{if(typeof window===\"undefined\")return;if(isStaticRenderer)return;lastScrollYRef.current=window.scrollY;const handleScroll=()=>{const currentScrollY=window.scrollY;const deltaY=Math.abs(currentScrollY-lastScrollYRef.current);lastScrollYRef.current=currentScrollY;if(!isInView||!autoSpin||scrollBoost<=0||deltaY===0)return;const boostedVelocity=deltaY*scrollBoost*.08;const maxBoost=Math.max(18,scrollBoost*8);scrollVelocityRef.current=Math.min(scrollVelocityRef.current+boostedVelocity,maxBoost);startTicking();};window.addEventListener(\"scroll\",handleScroll,{passive:true});return()=>window.removeEventListener(\"scroll\",handleScroll);},[autoSpin,isInView,isStaticRenderer,scrollBoost]);React.useEffect(()=>{if(isStaticRenderer)return;if(shouldKeepTicking()){startTicking();}else{stopTicking();updateCardStyles(rotationRef.current);}return()=>stopTicking();},[isStaticRenderer,shouldKeepTicking,startTicking,stopTicking,updateCardStyles]);const onPointerDown=event=>{if(isStaticRenderer)return;dragRef.current={active:true,pointerId:event.pointerId,x:event.clientX};velocityRef.current=0;if(containerRef.current){containerRef.current.style.cursor=\"grabbing\";}startTicking();event.currentTarget.setPointerCapture(event.pointerId);};const onPointerMove=event=>{if(isStaticRenderer)return;if(!dragRef.current.active||dragRef.current.pointerId!==event.pointerId)return;const deltaX=event.clientX-dragRef.current.x;dragRef.current.x=event.clientX;const dragDirection=reverseDrag?-1:1;rotationRef.current+=deltaX*.28*dragDirection;velocityRef.current=deltaX*.03*dragDirection;};const onPointerUp=event=>{if(isStaticRenderer)return;if(dragRef.current.pointerId!==event.pointerId)return;dragRef.current.active=false;if(containerRef.current){containerRef.current.style.cursor=\"grab\";}event.currentTarget.releasePointerCapture(event.pointerId);};return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,onPointerDown:onPointerDown,onPointerMove:onPointerMove,onPointerUp:onPointerUp,onPointerCancel:onPointerUp,style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",background,cursor:isStaticRenderer?\"default\":dragRef.current.active?\"grabbing\":\"grab\",userSelect:\"none\",touchAction:isStaticRenderer?\"auto\":\"none\"},children:items.map((item,index)=>{const image=item?.src?item:fallbackImages[index%fallbackImages.length];const angle=index/total*Math.PI*2%(Math.PI*2);const{x,y}=getCardPosition(angle,xRadius,yRadius,use3D);const{scale,rotateY,shadow,zIndex}=getCardStyleValues(angle,use3D);const depth=(Math.sin(angle)+1)/2;const opacity=1-clampedFade*(1-depth);const blurAmount=clampedBlur*(1-depth);return /*#__PURE__*/_jsxs(\"div\",{ref:element=>{itemRefs.current[index]=element;},style:{position:\"absolute\",left:\"50%\",top:\"50%\",width:cardWidth,height:cardHeight,marginLeft:-cardWidth/2,marginTop:-cardHeight/2,borderRadius:cardRadius,overflow:\"hidden\",transform:`translate3d(${x}px, ${y}px, 0) scale(${scale}) rotateY(${rotateY}deg)`,transformStyle:\"preserve-3d\",backfaceVisibility:\"hidden\",opacity,filter:`blur(${blurAmount}px)`,zIndex,boxShadow:`0 ${shadow}px ${shadow*1.6}px rgba(0,0,0,0.20)`,background:\"transparent\"},children:[strokeWidth>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,borderRadius:cardRadius,boxSizing:\"border-box\",border:`${strokeWidth}px solid ${stroke}`,pointerEvents:\"none\",zIndex:1}}),/*#__PURE__*/_jsx(\"img\",{src:image.src,alt:image.alt||\"\",draggable:false,loading:\"lazy\",decoding:\"async\",style:{width:\"100%\",height:\"100%\",display:\"block\",objectFit:\"cover\",pointerEvents:\"none\",opacity:1}})]},`${image.src||\"image\"}-${index}`);})});}addPropertyControls(WheelImageRing,{images:{type:ControlType.Array,title:\"Images\",control:{type:ControlType.Object,controls:{image:{type:ControlType.ResponsiveImage,title:\"Image\"}}},defaultValue:[{},{},{}],maxCount:24},itemRepeat:{type:ControlType.Number,title:\"Repeat\",defaultValue:3,min:1,max:12,step:1,displayStepper:true},cardWidth:{type:ControlType.Number,title:\"Card W\",defaultValue:150,min:60,max:320,step:2,unit:\"px\"},cardHeight:{type:ControlType.Number,title:\"Card H\",defaultValue:200,min:80,max:380,step:2,unit:\"px\"},cardRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:22,min:0,max:80,step:1,unit:\"px\"},stroke:{type:ControlType.Color,title:\"Stroke\",defaultValue:\"rgba(255, 255, 255, 0.14)\"},strokeWidth:{type:ControlType.Number,title:\"Stroke W\",defaultValue:1,min:0,max:12,step:1,unit:\"px\"},wheelWidth:{type:ControlType.Number,title:\"Wheel W\",defaultValue:84,min:30,max:120,step:1,unit:\"%\"},wheelHeight:{type:ControlType.Number,title:\"Wheel H\",defaultValue:44,min:10,max:80,step:1,unit:\"%\"},spread:{type:ControlType.Number,title:\"Spread\",defaultValue:1,min:.6,max:1.8,step:.05},use3D:{type:ControlType.Boolean,title:\"3D\",defaultValue:true},autoSpin:{type:ControlType.Boolean,title:\"Animate\",defaultValue:true},pauseOffscreen:{type:ControlType.Boolean,title:\"Pause Off Screen\",defaultValue:true},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:12,min:0,max:80,step:1,hidden:props=>!props.autoSpin},scrollBoost:{type:ControlType.Number,title:\"Scroll\",defaultValue:12,min:0,max:40,step:1,hidden:props=>!props.autoSpin},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"clockwise\",options:[\"clockwise\",\"counterclockwise\"],optionTitles:[\"Clockwise\",\"Counter\"]},reverseDrag:{type:ControlType.Boolean,title:\"Reverse Drag\",defaultValue:false},background:{type:ControlType.Color,title:\"Bg\",defaultValue:\"transparent\"},fade:{type:ControlType.Number,title:\"Depth Fade\",defaultValue:.4,min:0,max:1,step:.01},blur:{type:ControlType.Number,title:\"Depth Blur\",defaultValue:0,min:0,max:20,step:.5,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"WheelImageRing\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ImageWheel.map"],"mappings":"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"}