{"version":3,"file":"ArcCardCarousel.C-Yabg4e.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/oh90JTu9ox60Oju8xMVy/55ZmYnikWxSSefT0DmvD/ArcCardCarousel.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useRef,useEffect}from\"react\";const DEFAULT_ITEMS=[{image:{src:\"https://images.unsplash.com/photo-1646038572815-43fe759e459b?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Violet Frequencies\"},title:\"Violet Frequencies\"},{image:{src:\"https://images.unsplash.com/photo-1579546928937-641f7ac9bced?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Chartreuse Signal\"},title:\"Chartreuse Signal\"},{image:{src:\"https://images.unsplash.com/photo-1582583077359-9b1c0eb3fbfc?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Pistil Bloom\"},title:\"Pistil Bloom\"},{image:{src:\"https://images.unsplash.com/photo-1527017895487-3ac53c0f03fa?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Marigold Riot\"},title:\"Marigold Riot\"},{image:{src:\"https://images.unsplash.com/photo-1617690032703-f991ed0e0ee6?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Neon Muse\"},title:\"Neon Muse\"},{image:{src:\"https://images.unsplash.com/photo-1747640731141-7d81ade721bd?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Dressed in Color\"},title:\"Dressed in Color\"},{image:{src:\"https://images.unsplash.com/photo-1541702467897-41915a07d3a7?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Rain & Neon\"},title:\"Rain & Neon\"},{image:{src:\"https://images.unsplash.com/photo-1534270804882-6b5048b1c1fc?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"After Hours\"},title:\"After Hours\"},{image:{src:\"https://images.unsplash.com/photo-1604893818324-193544f110fd?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Liquid Aurora\"},title:\"Liquid Aurora\"},{image:{src:\"https://images.unsplash.com/photo-1637416067365-2b5e7e8fe8fa?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Iridescent Drift\"},title:\"Iridescent Drift\"},{image:{src:\"https://images.unsplash.com/photo-1713999212351-78f54ee46d9e?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Sunlit Facades\"},title:\"Sunlit Facades\"},{image:{src:\"https://images.unsplash.com/photo-1620217310705-ea0af48e8158?crop=entropy&cs=srgb&fm=jpg&ixlib=rb-4.1.0&q=85&w=500\",alt:\"Citrus Nocturne\"},title:\"Citrus Nocturne\"}];// Tile the wheel by the total card span so it loops seamlessly with no gap.\nfunction wrapAngle(deg,period){const half=period/2;let a=deg%period;if(a<-half)a+=period;if(a>=half)a-=period;return a;}function pad3(n){return String(n).padStart(3,\"0\");}function cardTransform(theta,tilt,radius){const rad=theta*Math.PI/180;const x=radius*Math.sin(rad);const y=-radius*Math.cos(rad);return`translate(-50%, -50%) translate3d(${x}px, ${y}px, 0) rotateZ(${theta}deg) rotateY(${tilt}deg)`;}function cardOpacity(theta,fadeStart,fadeEnd){const t=Math.abs(theta);if(t<=fadeStart)return 1;if(t>=fadeEnd)return 0;return 1-(t-fadeStart)/(fadeEnd-fadeStart);}// Resolve a link value to a safe href. Internal paths (\"/about\"), anchors\n// (\"#id\"), and values with a scheme (\"https:\", \"mailto:\", \"tel:\") pass through.\n// Bare domains like \"www.vish.design\" get \"https://\" so they aren't treated\n// as a relative path.\nfunction resolveHref(link){let href;if(typeof link===\"string\")href=link;else if(link&&typeof link===\"object\")href=link.href||link.url;if(!href)return undefined;href=href.trim();if(!href)return undefined;if(/^(\\/|#|\\/\\/|[a-z][a-z0-9+.-]*:)/i.test(href))return href;return\"https://\"+href;}/**\n * Card Carousel\n *\n * A draggable arc of cards that loops infinitely (360°) and tilts in 3D while\n * dragging — dragging right tilts the cards one way, dragging left the other.\n * Each card can link to a page or URL. Motion is smoothed with a lightweight\n * requestAnimationFrame loop (no external dependencies).\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 760\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function ArcCardCarousel(props){const{items=DEFAULT_ITEMS,radius=1450,spacing=10,cardWidth=250,cardHeight=372,arcOffset=230,sensitivity=1,tiltAmount=20,eyebrow=\"CARD CAROUSEL / DRAG TO EXPLORE\",heading=\"Move through Movements\",titleFont,numberFont,eyebrowFont,headingFont,textColor=\"#0f172a\",mutedColor=\"#9ca3af\",background=\"#ffffff\",style}=props;const list=items&&items.length>0?items:DEFAULT_ITEMS;const count=list.length;const period=count*spacing;const half=period/2;const fadeEnd=Math.min(88,half-3);const fadeStart=Math.max(10,fadeEnd-16);const containerRef=useRef(null);const cardRefs=useRef([]);// Animated proxies (wheel rotation + shared 3D tilt).\nconst rotProxy=useRef({r:0});const tiltProxy=useRef({t:0});// Disable all animation / pointer effects in static contexts\n// (Framer canvas + export). We still render the arc as a static preview.\nconst isStatic=useIsStaticRenderer();useEffect(()=>{const container=containerRef.current;if(!container)return;const render=()=>{const rot=rotProxy.current.r;const tlt=tiltProxy.current.t;for(let i=0;i<count;i++){const el=cardRefs.current[i];if(!el)continue;const theta=wrapAngle(i*spacing-rot,period);el.style.transform=cardTransform(theta,tlt,radius);el.style.opacity=String(cardOpacity(theta,fadeStart,fadeEnd));el.style.zIndex=String(Math.round(1e3-Math.abs(theta)));}};render();if(isStatic)return;let raf=null;let rotTween=null;let tiltTween=null;const easeOutCubic=p=>1-Math.pow(1-p,3);const frame=now=>{raf=null;let active=false;if(rotTween){const p=Math.min(1,(now-rotTween.start)/rotTween.dur);rotProxy.current.r=rotTween.from+(rotTween.to-rotTween.from)*easeOutCubic(p);if(p>=1)rotTween=null;else active=true;}if(tiltTween){const p=Math.min(1,(now-tiltTween.start)/tiltTween.dur);tiltProxy.current.t=tiltTween.from+(tiltTween.to-tiltTween.from)*easeOutCubic(p);if(p>=1)tiltTween=null;else active=true;}render();if(active)raf=requestAnimationFrame(frame);};const ensureFrame=()=>{if(raf==null)raf=requestAnimationFrame(frame);};// Drag state\nlet dragging=false;let lastX=0;let lastT=0;let downX=0;let dragMoved=false// true once it's a real drag (suppress link nav)\n;let velocity=0// deg / second\n;let dir=0;let target=rotProxy.current.r// accumulated wheel rotation target\n;const setTilt=value=>{tiltTween={from:tiltProxy.current.t,to:value,start:performance.now(),dur:550};ensureFrame();};const onDown=e=>{dragging=true;lastX=e.clientX;downX=e.clientX;dragMoved=false;lastT=performance.now();velocity=0;dir=0;rotTween=null// cancel any in-flight snap\n;target=rotProxy.current.r;container.style.cursor=\"grabbing\";};const onMove=e=>{if(!dragging)return;const now=performance.now();const dx=e.clientX-lastX;const dt=Math.max(now-lastT,1);// Once moved past a small threshold, treat it as a drag (not a tap)\nif(Math.abs(e.clientX-downX)>6)dragMoved=true;// Direction-aware 3D tilt: drag right -> +tiltAmount, left -> -tiltAmount\nif(Math.abs(dx)>1.5){const newDir=dx>0?1:-1;if(newDir!==dir){dir=newDir;setTilt(dir*tiltAmount);}}// Pixels dragged at the arc -> degrees of wheel rotation.\n// Free 1:1 follow while held (no easing) so it tracks the cursor.\nconst dDeg=-(dx/radius)*(180/Math.PI)*sensitivity;target+=dDeg;const instV=dDeg/(dt/1e3);velocity=velocity*.6+instV*.4;rotProxy.current.r=target;render();lastX=e.clientX;lastT=now;};const onUp=e=>{if(!dragging)return;dragging=false;dir=0;container.style.cursor=\"grab\";setTilt(0);// Snap to the nearest card slot, nudged by fling velocity (capped\n// at one card) so a quick drag advances one card and stops there.\nconst bias=Math.max(-spacing,Math.min(spacing,velocity*.08));const snapped=Math.round((target+bias)/spacing)*spacing;target=snapped;rotTween={from:rotProxy.current.r,to:snapped,start:performance.now(),dur:600};ensureFrame();};// Block link navigation when the pointer was dragged (not tapped).\nconst onClick=e=>{if(dragMoved){e.preventDefault();e.stopPropagation();}};container.style.cursor=\"grab\";container.addEventListener(\"pointerdown\",onDown);container.addEventListener(\"click\",onClick,true);window.addEventListener(\"pointermove\",onMove);window.addEventListener(\"pointerup\",onUp);window.addEventListener(\"pointercancel\",onUp);return()=>{container.removeEventListener(\"pointerdown\",onDown);container.removeEventListener(\"click\",onClick,true);window.removeEventListener(\"pointermove\",onMove);window.removeEventListener(\"pointerup\",onUp);window.removeEventListener(\"pointercancel\",onUp);if(raf!=null)cancelAnimationFrame(raf);};},[count,spacing,period,radius,fadeStart,fadeEnd,sensitivity,tiltAmount,isStatic]);const centerTop=arcOffset+radius;return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",minWidth:320,minHeight:480,overflow:\"hidden\",background,perspective:1400,touchAction:\"pan-y\",cursor:isStatic?\"default\":\"grab\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"50%\",top:centerTop,width:0,height:0,transformStyle:\"preserve-3d\"},children:list.map((item,i)=>{const theta0=wrapAngle(i*spacing,period);return /*#__PURE__*/_jsx(\"div\",{ref:el=>{cardRefs.current[i]=el;},style:{position:\"absolute\",left:0,top:0,width:cardWidth,height:cardHeight,transform:cardTransform(theta0,0,radius),opacity:cardOpacity(theta0,fadeStart,fadeEnd),zIndex:Math.round(1e3-Math.abs(theta0)),transformStyle:\"preserve-3d\",willChange:\"transform, opacity\",backfaceVisibility:\"hidden\"},children:/*#__PURE__*/_jsxs(\"a\",{href:resolveHref(item.link),target:item.newTab?\"_blank\":undefined,rel:item.newTab?\"noopener noreferrer\":undefined,draggable:false,\"aria-label\":item.title,style:{display:\"block\",textDecoration:\"none\",color:\"inherit\",cursor:\"inherit\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:cardHeight-34,borderRadius:4,overflow:\"hidden\",backgroundColor:\"#eee\",boxShadow:\"0 20px 40px rgba(0,0,0,0.12)\"},children:/*#__PURE__*/_jsx(\"img\",{src:item.image?.src,srcSet:item.image?.srcSet,alt:item.image?.alt??item.title,draggable:false,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",pointerEvents:\"none\",userSelect:\"none\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",justifyContent:\"space-between\",marginTop:12,gap:8},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:textColor,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",...titleFont},children:item.title}),/*#__PURE__*/_jsx(\"span\",{style:{color:mutedColor,...numberFont},children:pad3(i+1)})]})]})},i);})})});}addPropertyControls(ArcCardCarousel,{items:{type:ControlType.Array,title:\"Cards\",control:{type:ControlType.Object,controls:{image:{type:ControlType.ResponsiveImage,title:\"Image\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Untitled\"},link:{type:ControlType.Link,title:\"Link\"},newTab:{type:ControlType.Boolean,title:\"New Tab\",defaultValue:false,hidden:itemProps=>!itemProps.link}}},defaultValue:DEFAULT_ITEMS},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:1450,min:600,max:3e3,step:10,unit:\"px\"},spacing:{type:ControlType.Number,title:\"Card Spacing\",defaultValue:10,min:4,max:30,step:.5,unit:\"\\xb0\"},cardWidth:{type:ControlType.Number,title:\"Card Width\",defaultValue:250,min:120,max:420,unit:\"px\"},cardHeight:{type:ControlType.Number,title:\"Card Height\",defaultValue:372,min:160,max:620,unit:\"px\"},arcOffset:{type:ControlType.Number,title:\"Arc Offset\",defaultValue:230,min:0,max:800,unit:\"px\"},sensitivity:{type:ControlType.Number,title:\"Drag Speed\",defaultValue:1,min:.2,max:3,step:.1},tiltAmount:{type:ControlType.Number,title:\"3D Tilt (Y)\",description:\"Drag right tilts +, drag left tilts −\",defaultValue:20,min:0,max:60,unit:\"\\xb0\"},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},numberFont:{type:ControlType.Font,title:\"Number Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"13px\",variant:\"Regular\",letterSpacing:\"0em\",lineHeight:\"1.2em\"}},eyebrowFont:{type:ControlType.Font,title:\"Eyebrow Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"12px\",variant:\"Medium\",letterSpacing:\"0.08em\",lineHeight:\"1em\"}},headingFont:{type:ControlType.Font,title:\"Heading Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"26px\",variant:\"Semibold\",letterSpacing:\"-0.02em\",lineHeight:\"1.1em\"}},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#0f172a\"},mutedColor:{type:ControlType.Color,title:\"Muted\",defaultValue:\"#9ca3af\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#ffffff\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ArcCardCarousel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"760\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ArcCardCarousel.map"],"mappings":"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"}