{"version":3,"file":"VortexCarousel.gaAl2Vos.mjs","names":["useState","useRef","startTransition","_Fragment"],"sources":["https:/framerusercontent.com/modules/RhXewh98IFGdE8FdMopz/JvgHWKWpvHCIDCT7rNi3/VortexCarousel.js"],"sourcesContent":["// Vortex Carousel - A draggable 3D carousel component with customizable rotation, perspective, and auto-rotation features\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * Vortex Carousel\n * \n * A stunning 3D carousel component with drag-to-rotate functionality, auto-rotation, \n * and advanced perspective controls. Perfect for showcasing images, products, or portfolios \n * in an engaging rolodex-style layout.\n * \n * Features:\n * - Drag to rotate with smooth inertia\n * - Auto-rotation with customizable speed and direction\n * - Advanced 3D perspective controls\n * - Responsive image support\n * - Live preview controls for easy customization\n * - Customizable dimensions, spacing, and styling\n *\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 600\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function VortexCarousel(props){const{items=[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Image 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Image 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Image 4\"},{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Image 5\"},{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image 6\"}],itemWidth=275,itemHeight=275,xOffset=50,borderRadius=20,backgroundType=\"solid\",backgroundColor=\"#0d0d0d\",autoRotate=false,rotationSpeed=1,rotationDirection=\"clockwise\",dragSmoothness=.95,verticalPosition=10,horizontalPosition=50,advanced3D={perspective:1800,perspectiveOriginX:50,perspectiveOriginY:-300,rotateX:0,rotateY:0},showControlsInPreview=true}=props;const{perspective,perspectiveOriginX,perspectiveOriginY,rotateX,rotateY}=advanced3D;// Helper function to get image src from ResponsiveImage or string\nconst getImageSrc=src=>{if(typeof src===\"string\")return src;if(src&&typeof src===\"object\"&&src.src)return src.src;if(src&&typeof src===\"object\"&&typeof src.url===\"string\")return src.url;return\"\";};// Filter out items with empty images\nconst validItems=items.filter(item=>{const imageSrc=getImageSrc(item.src);return imageSrc&&imageSrc.trim()!==\"\";});const[progress,setProgress]=useState(0);const[isDragging,setIsDragging]=useState(false);const[showControls,setShowControls]=useState(false);const[expandedSection,setExpandedSection]=useState(null);const[imageErrors,setImageErrors]=useState(new Set);const[localItemWidth,setLocalItemWidth]=useState(itemWidth);const[localItemHeight,setLocalItemHeight]=useState(itemHeight);const[localXOffset,setLocalXOffset]=useState(xOffset);const[localBorderRadius,setLocalBorderRadius]=useState(borderRadius);const[localVerticalPosition,setLocalVerticalPosition]=useState(verticalPosition);const[localHorizontalPosition,setLocalHorizontalPosition]=useState(horizontalPosition);const[localPerspective,setLocalPerspective]=useState(perspective);const[localPerspectiveOriginX,setLocalPerspectiveOriginX]=useState(perspectiveOriginX);const[localPerspectiveOriginY,setLocalPerspectiveOriginY]=useState(perspectiveOriginY);const[localRotateX,setLocalRotateX]=useState(rotateX);const[localRotateY,setLocalRotateY]=useState(rotateY);const[localAutoRotate,setLocalAutoRotate]=useState(autoRotate);const[localRotationSpeed,setLocalRotationSpeed]=useState(rotationSpeed);const[localRotationDirection,setLocalRotationDirection]=useState(rotationDirection);const[localDragSmoothness,setLocalDragSmoothness]=useState(dragSmoothness);const dragStartX=useRef(0);const progressStart=useRef(0);const velocityRef=useRef(0);const lastDragX=useRef(0);const lastDragTime=useRef(0);const animationFrameRef=useRef(null);const autoRotateRef=useRef(null);const itemCount=validItems.length;// Calculate circumference and segment based on original code\nconst c=(localItemWidth+localXOffset)*2*Math.PI;const seg=c/itemCount;// Direction multiplier: 1 for clockwise, -1 for counter-clockwise\nconst directionMultiplier=localRotationDirection===\"clockwise\"?1:-1;// Wrap progress value to stay within 0-1 range\nconst wrapProgress=val=>{const wrapped=val%1;return wrapped<0?wrapped+1:wrapped;};const handleDragStart=event=>{const clientX=\"touches\"in event?event.touches[0].clientX:event.clientX;dragStartX.current=clientX;lastDragX.current=clientX;lastDragTime.current=Date.now();progressStart.current=progress;velocityRef.current=0;startTransition(()=>setIsDragging(true));if(animationFrameRef.current){cancelAnimationFrame(animationFrameRef.current);animationFrameRef.current=null;}};const handleDrag=event=>{if(!isDragging)return;event.preventDefault();const clientX=\"touches\"in event?event.touches[0].clientX:event.clientX;const currentTime=Date.now();const deltaX=clientX-dragStartX.current;const deltaTime=currentTime-lastDragTime.current;// Calculate velocity\nif(deltaTime>0){velocityRef.current=(clientX-lastDragX.current)/deltaTime;}lastDragX.current=clientX;lastDragTime.current=currentTime;// Update progress based on drag distance - matching original GSAP logic with direction\nconst newProgress=progressStart.current+deltaX/c*directionMultiplier;startTransition(()=>setProgress(newProgress));};const handleDragEnd=()=>{if(!isDragging)return;startTransition(()=>setIsDragging(false));// Apply inertia\nconst inertiaStrength=100;let currentProgress=progress;let velocity=velocityRef.current*inertiaStrength*directionMultiplier;const animate=()=>{velocity*=dragSmoothness// Use dragSmoothness prop for damping\n;currentProgress+=velocity/c;if(Math.abs(velocity)>.001){startTransition(()=>setProgress(currentProgress));animationFrameRef.current=requestAnimationFrame(animate);}else{// Snap to nearest item\nconst wrappedProgress=wrapProgress(currentProgress);const currentIndex=Math.round(wrappedProgress*itemCount);const snapProgress=currentProgress-wrappedProgress+currentIndex/itemCount;startTransition(()=>setProgress(snapProgress));animationFrameRef.current=null;}};if(Math.abs(velocity)>.001){animate();}else{// Snap immediately if no velocity\nconst wrappedProgress=wrapProgress(progress);const currentIndex=Math.round(wrappedProgress*itemCount);const snapProgress=progress-wrappedProgress+currentIndex/itemCount;startTransition(()=>setProgress(snapProgress));}};const handleItemClick=index=>{if(isDragging)return;startTransition(()=>setProgress(wrapProgress(index/itemCount)));};useEffect(()=>{return()=>{if(animationFrameRef.current){cancelAnimationFrame(animationFrameRef.current);}};},[]);// Auto-rotation effect\nuseEffect(()=>{if(!localAutoRotate||isDragging){if(autoRotateRef.current){cancelAnimationFrame(autoRotateRef.current);autoRotateRef.current=null;}return;}let lastTime=Date.now();const rotate=()=>{const currentTime=Date.now();const deltaTime=currentTime-lastTime;lastTime=currentTime;// Rotate based on speed (rotationSpeed is in rotations per minute) with direction\nconst rotationPerMs=localRotationSpeed/6e4*directionMultiplier// Convert RPM to rotations per millisecond\n;const progressIncrement=rotationPerMs*deltaTime;startTransition(()=>setProgress(prev=>wrapProgress(prev+progressIncrement)));autoRotateRef.current=requestAnimationFrame(rotate);};autoRotateRef.current=requestAnimationFrame(rotate);return()=>{if(autoRotateRef.current){cancelAnimationFrame(autoRotateRef.current);autoRotateRef.current=null;}};},[localAutoRotate,isDragging,localRotationSpeed,directionMultiplier]);// Sync local state with props\nuseEffect(()=>{setLocalItemWidth(itemWidth);setLocalItemHeight(itemHeight);setLocalXOffset(xOffset);setLocalBorderRadius(borderRadius);setLocalVerticalPosition(verticalPosition);setLocalHorizontalPosition(horizontalPosition);setLocalPerspective(perspective);setLocalPerspectiveOriginX(perspectiveOriginX);setLocalPerspectiveOriginY(perspectiveOriginY);setLocalRotateX(rotateX);setLocalRotateY(rotateY);setLocalAutoRotate(autoRotate);setLocalRotationSpeed(rotationSpeed);setLocalRotationDirection(rotationDirection);setLocalDragSmoothness(dragSmoothness);},[itemWidth,itemHeight,xOffset,borderRadius,verticalPosition,horizontalPosition,perspective,perspectiveOriginX,perspectiveOriginY,rotateX,rotateY,autoRotate,rotationSpeed,rotationDirection,dragSmoothness]);// Reset image errors when items change\nuseEffect(()=>{setImageErrors(new Set);},[items]);const isPreview=RenderTarget.current()===RenderTarget.preview;const toggleSection=section=>{startTransition(()=>setExpandedSection(expandedSection===section?null:section));};const renderSlider=(label,value,onChange,min,max,step,unit=\"\")=>/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:12},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",marginBottom:4,fontSize:11,color:\"#999\"},children:[/*#__PURE__*/_jsx(\"label\",{style:{cursor:\"default\"},children:label}),/*#__PURE__*/_jsxs(\"span\",{children:[value,unit]})]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:min,max:max,step:step,value:value,onChange:e=>startTransition(()=>onChange(parseFloat(e.target.value))),\"aria-label\":label,style:{width:\"100%\",height:4,borderRadius:2,background:\"#333\",outline:\"none\",cursor:\"pointer\"}})]});const renderToggle=(label,value,onChange)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",marginBottom:12},children:[/*#__PURE__*/_jsx(\"label\",{style:{fontSize:11,color:\"#999\",cursor:\"default\"},children:label}),/*#__PURE__*/_jsx(\"div\",{onClick:()=>startTransition(()=>onChange(!value)),role:\"switch\",\"aria-checked\":value,\"aria-label\":label,tabIndex:0,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();startTransition(()=>onChange(!value));}},style:{width:36,height:20,borderRadius:10,background:value?\"#0099FF\":\"#333\",position:\"relative\",cursor:\"pointer\",transition:\"background 0.2s\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:16,height:16,borderRadius:\"50%\",background:\"#fff\",position:\"absolute\",top:2,left:value?18:2,transition:\"left 0.2s\"}})})]});const renderSegmentedControl=(label,value,options,onChange)=>/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:12},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,color:\"#999\",marginBottom:4},children:label}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:4,background:\"#222\",borderRadius:6,padding:2},role:\"radiogroup\",\"aria-label\":label,children:options.map(option=>/*#__PURE__*/_jsx(\"div\",{onClick:()=>startTransition(()=>onChange(option.value)),role:\"radio\",\"aria-checked\":value===option.value,tabIndex:value===option.value?0:-1,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();startTransition(()=>onChange(option.value));}},style:{flex:1,padding:\"4px 8px\",borderRadius:4,background:value===option.value?\"#0099FF\":\"transparent\",color:value===option.value?\"#fff\":\"#999\",fontSize:10,textAlign:\"center\",cursor:\"pointer\",transition:\"all 0.2s\"},children:option.label},option.value))})]});const renderSection=(title,sectionKey,content)=>/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:8},children:[/*#__PURE__*/_jsxs(\"div\",{onClick:()=>toggleSection(sectionKey),role:\"button\",\"aria-expanded\":expandedSection===sectionKey,\"aria-label\":`Toggle ${title} section`,tabIndex:0,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();toggleSection(sectionKey);}},style:{padding:\"8px 12px\",background:\"#1a1a1a\",borderRadius:6,cursor:\"pointer\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",fontSize:12,fontWeight:600,color:\"#fff\"},children:[/*#__PURE__*/_jsx(\"span\",{children:title}),/*#__PURE__*/_jsx(\"span\",{style:{transform:expandedSection===sectionKey?\"rotate(180deg)\":\"rotate(0deg)\",transition:\"transform 0.2s\"},\"aria-hidden\":\"true\",children:\"▼\"})]}),expandedSection===sectionKey&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px\",background:\"#0a0a0a\",borderRadius:6,marginTop:4},children:content})]});return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",backgroundColor:backgroundType===\"solid\"?backgroundColor:\"transparent\",overflow:\"hidden\",position:\"relative\"},role:\"region\",\"aria-label\":\"3D Image Carousel\",children:[isPreview&&showControlsInPreview&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:16,left:16,zIndex:1e3,pointerEvents:\"all\"},children:!showControls?/*#__PURE__*/_jsxs(\"button\",{onClick:()=>startTransition(()=>setShowControls(true)),style:{background:\"rgba(0, 0, 0, 0.8)\",backdropFilter:\"blur(10px)\",border:\"1px solid rgba(255, 255, 255, 0.1)\",borderRadius:8,padding:\"8px 12px\",color:\"#fff\",fontSize:12,fontWeight:600,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",gap:6},children:[/*#__PURE__*/_jsx(\"span\",{children:\"⚙️\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Controls\"})]}):/*#__PURE__*/_jsxs(\"div\",{style:{background:\"rgba(0, 0, 0, 0.9)\",backdropFilter:\"blur(10px)\",border:\"1px solid rgba(255, 255, 255, 0.1)\",borderRadius:12,padding:16,width:280,maxHeight:\"calc(100vh - 32px)\",overflowY:\"auto\",fontFamily:\"system-ui, -apple-system, sans-serif\"},role:\"dialog\",\"aria-label\":\"Carousel Controls Panel\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",marginBottom:16},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontSize:14,fontWeight:700,color:\"#fff\"},children:\"Carousel Controls\"}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>startTransition(()=>setShowControls(false)),\"aria-label\":\"Close controls panel\",style:{background:\"transparent\",border:\"none\",color:\"#999\",fontSize:18,cursor:\"pointer\",padding:0,width:24,height:24,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:\"\\xd7\"})]}),renderSection(\"Dimensions\",\"dimensions\",/*#__PURE__*/_jsxs(_Fragment,{children:[renderSlider(\"Width\",localItemWidth,setLocalItemWidth,100,500,5,\"px\"),renderSlider(\"Height\",localItemHeight,setLocalItemHeight,100,500,5,\"px\"),renderSlider(\"Depth Offset\",localXOffset,setLocalXOffset,0,200,5,\"px\"),renderSlider(\"Corner Radius\",localBorderRadius,setLocalBorderRadius,0,50,1,\"px\")]})),renderSection(\"Position\",\"position\",/*#__PURE__*/_jsxs(_Fragment,{children:[renderSlider(\"Vertical\",localVerticalPosition,setLocalVerticalPosition,-50,100,1,\"%\"),renderSlider(\"Horizontal\",localHorizontalPosition,setLocalHorizontalPosition,0,100,1,\"%\")]})),renderSection(\"Advanced 3D\",\"advanced3d\",/*#__PURE__*/_jsxs(_Fragment,{children:[renderSlider(\"Perspective\",localPerspective,setLocalPerspective,500,5e3,100,\"px\"),renderSlider(\"Origin X\",localPerspectiveOriginX,setLocalPerspectiveOriginX,0,100,1,\"%\"),renderSlider(\"Origin Y\",localPerspectiveOriginY,setLocalPerspectiveOriginY,-1e3,1e3,10,\"px\"),renderSlider(\"Vertical Tilt\",localRotateX,setLocalRotateX,-90,90,1,\"\\xb0\"),renderSlider(\"Horizontal Rotation\",localRotateY,setLocalRotateY,-180,180,1,\"\\xb0\")]})),renderSection(\"Rotation\",\"rotation\",/*#__PURE__*/_jsxs(_Fragment,{children:[renderToggle(\"Auto Rotate\",localAutoRotate,setLocalAutoRotate),localAutoRotate&&renderSlider(\"Speed\",localRotationSpeed,setLocalRotationSpeed,.1,10,.1,\" rpm\"),renderSegmentedControl(\"Direction\",localRotationDirection,[{value:\"clockwise\",label:\"CW\"},{value:\"counterclockwise\",label:\"CCW\"}],val=>setLocalRotationDirection(val))]})),renderSection(\"Drag\",\"drag\",/*#__PURE__*/_jsx(_Fragment,{children:renderSlider(\"Inertia\",localDragSmoothness,setLocalDragSmoothness,.8,.99,.01)}))]})}),/*#__PURE__*/_jsx(\"div\",{style:{perspective:`${localPerspective}px`,perspectiveOrigin:`${localPerspectiveOriginX}% ${localPerspectiveOriginY}px`,transformStyle:\"preserve-3d\",position:\"relative\",width:\"100%\",height:\"100%\",display:\"grid\",placeContent:\"center\",pointerEvents:\"none\",transform:`rotateX(${localRotateX}deg) rotateY(${localRotateY}deg)`},children:/*#__PURE__*/_jsx(\"div\",{onMouseDown:handleDragStart,onMouseMove:handleDrag,onMouseUp:handleDragEnd,onMouseLeave:handleDragEnd,onTouchStart:handleDragStart,onTouchMove:handleDrag,onTouchEnd:handleDragEnd,style:{position:\"absolute\",height:\"100vh\",width:\"100%\",top:`${localVerticalPosition}%`,left:`${localHorizontalPosition}%`,transformStyle:\"preserve-3d\",transformOrigin:\"center left\",listStyle:\"none\",margin:0,padding:0,pointerEvents:\"all\",cursor:isDragging?\"grabbing\":\"grab\"},children:validItems.map((item,index)=>{const angle=-(index*360)/itemCount+progress*360;const imageSrc=getImageSrc(item.src);const hasError=imageErrors.has(index);return /*#__PURE__*/_jsx(\"div\",{onClick:()=>handleItemClick(index),style:{position:\"absolute\",top:0,left:0,width:localItemWidth,height:localItemHeight,transformStyle:\"preserve-3d\",transformOrigin:`${-localXOffset}px 0`,transform:`translateX(${localXOffset}px) rotateY(${angle}deg)`,pointerEvents:\"all\",cursor:\"grab\",transition:isDragging?\"none\":\"opacity 0.5s ease\"},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:\"100%\",position:\"absolute\",transformStyle:\"preserve-3d\",perspective:\"900000px\"},children:hasError?/*#__PURE__*/_jsxs(\"div\",{style:{height:\"100%\",width:\"100%\",position:\"absolute\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"linear-gradient(135deg, #667eea 0%, #764ba2 100%)\",borderRadius:localBorderRadius,color:\"#fff\",fontSize:14,fontWeight:600,textAlign:\"center\",padding:20,zIndex:1,transform:\"translateZ(1px)\",backfaceVisibility:\"hidden\"},children:[\"Image \",index+1]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"img\",{src:imageSrc,alt:item.alt,crossOrigin:\"anonymous\",onError:()=>{startTransition(()=>{setImageErrors(prev=>new Set(prev).add(index));});},style:{height:\"100%\",width:\"100%\",position:\"absolute\",objectFit:\"cover\",objectPosition:\"top center\",zIndex:1,transform:\"translateZ(1px)\",backfaceVisibility:\"hidden\",borderRadius:localBorderRadius,userSelect:\"none\"},draggable:false}),/*#__PURE__*/_jsx(\"img\",{src:imageSrc,alt:item.alt,crossOrigin:\"anonymous\",onError:()=>{startTransition(()=>{setImageErrors(prev=>new Set(prev).add(index));});},style:{height:\"100%\",width:\"100%\",position:\"absolute\",objectFit:\"cover\",objectPosition:\"top center\",transform:\"translateZ(-1px) rotateY(-180deg)\",backfaceVisibility:\"hidden\",borderRadius:localBorderRadius,userSelect:\"none\"},draggable:false})]})})},index);})})})]});}addPropertyControls(VortexCarousel,{items:{type:ControlType.Array,title:\"Images\",description:\"Add images to display in the carousel\",control:{type:ControlType.Object,controls:{src:{type:ControlType.ResponsiveImage,title:\"Image\"},alt:{type:ControlType.String,title:\"Alt Text\",defaultValue:\"Carousel Image\"}}},defaultValue:[{src:{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",srcSet:\"\"},alt:\"Image 1\"},{src:{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",srcSet:\"\"},alt:\"Image 2\"},{src:{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",srcSet:\"\"},alt:\"Image 3\"},{src:{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",srcSet:\"\"},alt:\"Image 4\"},{src:{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",srcSet:\"\"},alt:\"Image 5\"},{src:{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",srcSet:\"\"},alt:\"Image 6\"}]},itemWidth:{type:ControlType.Number,title:\"Width\",description:\"Width of each carousel item\",defaultValue:280,min:100,max:500,step:5,unit:\"px\"},itemHeight:{type:ControlType.Number,title:\"Height\",description:\"Height of each carousel item\",defaultValue:420,min:100,max:500,step:5,unit:\"px\"},xOffset:{type:ControlType.Number,title:\"Depth Offset\",description:\"Distance of items from the rotation center\",defaultValue:25,min:0,max:200,step:5,unit:\"px\"},borderRadius:{type:ControlType.Number,title:\"Corner Radius\",description:\"Roundness of item corners\",defaultValue:16,min:0,max:50,step:1,unit:\"px\"},verticalPosition:{type:ControlType.Number,title:\"Vertical Position\",description:\"Vertical placement of the carousel\",defaultValue:20,min:-50,max:100,step:1,unit:\"%\"},horizontalPosition:{type:ControlType.Number,title:\"Horizontal Position\",description:\"Horizontal placement of the carousel\",defaultValue:50,min:0,max:100,step:1,unit:\"%\"},advanced3D:{type:ControlType.Object,title:\"Advanced 3D\",description:\"Fine-tune the 3D perspective and rotation\",controls:{perspective:{type:ControlType.Number,title:\"Perspective\",description:\"3D depth intensity\",defaultValue:1800,min:500,max:5e3,step:100,unit:\"px\"},perspectiveOriginX:{type:ControlType.Number,title:\"Origin X\",description:\"Horizontal vanishing point\",defaultValue:50,min:0,max:100,step:1,unit:\"%\"},perspectiveOriginY:{type:ControlType.Number,title:\"Origin Y\",description:\"Vertical vanishing point\",defaultValue:-120,min:-1e3,max:1e3,step:10,unit:\"px\"},rotateX:{type:ControlType.Number,title:\"Vertical Tilt\",description:\"Tilt the carousel up or down\",defaultValue:0,min:-90,max:90,step:1,unit:\"deg\"},rotateY:{type:ControlType.Number,title:\"Horizontal Rotation\",description:\"Rotate the carousel left or right\",defaultValue:0,min:-180,max:180,step:1,unit:\"deg\"}}},autoRotate:{type:ControlType.Boolean,title:\"Auto Rotate\",description:\"Enable automatic rotation\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},rotationSpeed:{type:ControlType.Number,title:\"Speed\",description:\"Rotation speed in RPM\",defaultValue:10,min:.1,max:10,step:.1,unit:\"rpm\",hidden:({autoRotate})=>!autoRotate},rotationDirection:{type:ControlType.Enum,title:\"Direction\",description:\"Rotation direction\",options:[\"clockwise\",\"counterclockwise\"],optionTitles:[\"Clockwise\",\"Counter-Clockwise\"],defaultValue:\"clockwise\",displaySegmentedControl:true},dragSmoothness:{type:ControlType.Number,title:\"Drag Inertia\",description:\"Smoothness of drag momentum (higher = smoother)\",defaultValue:.95,min:.8,max:.99,step:.01},backgroundType:{type:ControlType.Enum,title:\"Background\",description:\"Background style\",options:[\"transparent\",\"solid\"],optionTitles:[\"Transparent\",\"Solid\"],defaultValue:\"solid\",displaySegmentedControl:true},backgroundColor:{type:ControlType.Color,title:\"Color\",description:\"Background color\",defaultValue:\"#0d0d0d\",hidden:({backgroundType})=>backgroundType===\"transparent\"},showControlsInPreview:{type:ControlType.Boolean,title:\"Show Controls in Preview\",description:\"Display the control UI panel in preview mode\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"}});VortexCarousel.displayName=\"Vortex Carousel\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"VortexCarousel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"800\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"600\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VortexCarousel.map"],"mappings":"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"}