{"version":3,"file":"ImageWheel.DD9vCsM6.mjs","names":["React.useMemo","React.useRef","React.useState","React.useCallback","__esmMin","pe","init_ssg_sandbox_shims","ne","init_npm_react_18_3_1","de","window","init_jsx_runtime","p","ce","_e","addPropertyControls","useIsStaticRenderer","ControlType","init_framer_J2N2IBQG","buildItems","source","images","fallbackImages","count","repeat","items","cycle","index","getCardStyleValues","depth","angle","use3D","getCardPosition","xRadius","yRadius","horizontalCompression","verticalCompression","WheelImageRing","props","isStaticRenderer","itemRepeat","rotationRef","velocityRef","scrollVelocityRef","lastScrollYRef","frameRef","lastFrameTimeRef","isTickingRef","containerRef","itemRefs","isInView","setIsInView","shouldAnimate","autoSpin","pauseOffscreen","dragRef","total","spreadFactor","spread","wheelWidth","wheelHeight","clampedFade","fade","clampedBlur","blur","updateCardStyles","element","rotation","opacity","blurAmount","x","y","scale","rotateY","zIndex","shadow","shouldKeepTicking","stopTicking","startTicking","tick","time","delta","spinDirection","direction","speed","observer","entry","handleScroll","currentScrollY","deltaY","scrollBoost","boostedVelocity","maxBoost","onPointerDown","event","onPointerMove","deltaX","dragDirection","reverseDrag","onPointerUp","image","item","cardWidth","cardHeight","cardRadius","strokeWidth","stroke","init_ImageWheel"],"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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"}