{"version":3,"file":"CardSlider.DgOhJs02.mjs","names":["useState","useRef","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/n6PRvA9xp1EEaNtmgWgs/iAEwqApF8xLn5tdra1sa/CardSlider.js"],"sourcesContent":["// Smooth continuous card slider (no pop-in), responsive: 3-up desktop, 1-up mobile.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useRef,useEffect,useMemo,useCallback}from\"react\";import{motion,useInView,useAnimation}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 600\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function CardSlider(props){const{slides=[{title:\"Digital Art & Animation\",subtitle:\"From concept art to 3D modeling, bring stories to life with immersive visuals.\",category:\"Creative\",backgroundImage:{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Digital Art\"}},{title:\"Game Design & Development\",subtitle:\"Master the tools to build interactive worlds that entertain, educate, and inspire.\",category:\"Technology\",backgroundImage:{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Game Development\"},backgroundVideo:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\"},{title:\"Audio & Music Technology\",subtitle:\"Explore sound design, music production, and audio engineering for new media.\",category:\"Audio\",backgroundImage:{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Audio Technology\"}}],showScrollbar=true,cardWidth=380,cardHeight=500,cardSpacing=24,centerScale=1.1,centerLift=8,hoverZoom=1.05,gradientOpacity=.7,gradientHeight=60,titleFont,subtitleFont,categoryFont,titleColor=\"#FFFFFF\",subtitleColor=\"#FFFFFF\",categoryColor=\"#CCCCCC\",arrowColor=\"#FFFFFF\",arrowSize=24,scrollbarActiveColor=\"#000000\",scrollbarInactiveColor=\"#00000040\",scrollbarHeight=4,scrollbarSpacing=20,autoPlay=false,autoPlayDelay=5e3}=props;const n=slides.length;// clones on both ends (constant 3 for safety)\nconst CLONES=3;const[currentRealIndex,setCurrentRealIndex]=useState(1)// real (0..n-1)\n;const[centerExtIndex,setCenterExtIndex]=useState(()=>CLONES+currentRealIndex);const[visibleCount,setVisibleCount]=useState(3);const containerRef=useRef(null);const isInView=useInView(containerRef);const isAnimatingRef=useRef(false);const isDraggingRef=useRef(false);const dragCooldownRef=useRef(false);const clickSuppressionRef=useRef(false);// responsive: decide 1-up or 3-up from container width\nuseEffect(()=>{const el=containerRef.current;if(!el)return;const ro=new window.ResizeObserver(entries=>{const w=entries[0].contentRect.width;const needForThree=cardWidth*3+cardSpacing*2;setVisibleCount(w<needForThree?1:3);});ro.observe(el);return()=>ro.disconnect();},[cardWidth,cardSpacing]);// build extended list once per slides\nconst extendedSlides=useMemo(()=>{const withKeys=(items,prefix,startAt=0)=>items.map((s,i)=>({...s,_i:(startAt+i)%n,_k:`${prefix}-${i}-${(startAt+i)%n}`}));if(n===0)return[];const pre=withKeys(slides.slice(Math.max(0,n-CLONES)),\"pre\",n-CLONES);const mid=withKeys(slides,\"mid\",0);const post=withKeys(slides.slice(0,CLONES),\"post\",0);return[].concat(pre,mid,post);},[slides,n]);const step=cardWidth+cardSpacing;const leftOffset=visibleCount===3?1:0// how many cards sit left of center in viewport\n;// compute x offset so leftmost visible card is aligned to viewport left\nconst getX=useCallback(centerIdx=>{const leftIdx=centerIdx-leftOffset;return-(leftIdx*step);},[leftOffset,step]);// Track controller\nconst trackControls=useAnimation();// keep track aligned on mount and when layout changes (not during slide animation)\nuseEffect(()=>{if(extendedSlides.length===0)return;if(isAnimatingRef.current)return;trackControls.set({x:getX(centerExtIndex)});},[extendedSlides.length,centerExtIndex,visibleCount,cardWidth,cardSpacing]);// scale/lift animation for the center card only (computed per-card)\nconst tSlide={duration:.55,ease:[.22,1,.36,1]};const goDir=useCallback(async dir=>{if(isAnimatingRef.current||n===0||extendedSlides.length===0)return;isAnimatingRef.current=true;// where we're going in the extended list\nconst targetCenter=centerExtIndex+(dir===\"next\"?1:-1);// animate track to the next stop\nawait trackControls.start({x:getX(targetCenter),transition:tSlide});// resolve wrap: if we moved into cloned tail/head, jump back same-looking real position\nlet normalizedCenter=targetCenter;if(targetCenter>=CLONES+n)normalizedCenter=targetCenter-n;if(targetCenter<CLONES)normalizedCenter=targetCenter+n;// compute the new real (0..n-1) index\nconst newReal=((normalizedCenter-CLONES)%n+n)%n;setCurrentRealIndex(newReal);setCenterExtIndex(normalizedCenter);// instantly place track at the normalized position (no visual jump because content is identical)\ntrackControls.set({x:getX(normalizedCenter)});isAnimatingRef.current=false;},[n,extendedSlides.length,centerExtIndex,trackControls,getX]);const goToNext=()=>goDir(\"next\");const goToPrevious=()=>goDir(\"prev\");// Drag/swipe handlers\nconst handleDragStart=()=>{isDraggingRef.current=true;};const handleDragEnd=(event,info)=>{isDraggingRef.current=false;const threshold=step*.7// increased from 0.5 to 0.7 (70% of card width + spacing)\n;const velocity=info.velocity.x;const offset=info.offset.x;// Determine direction based on offset and velocity - increased velocity threshold\nif(Math.abs(offset)>threshold||Math.abs(velocity)>1200){if(offset>0||velocity>1200){goToPrevious();}else if(offset<0||velocity<-1200){goToNext();}}else{// Snap back to current position\ntrackControls.start({x:getX(centerExtIndex),transition:{duration:.3,ease:[.22,1,.36,1]}});}};// autoplay\nuseEffect(()=>{if(!autoPlay||!isInView)return;const id=setInterval(()=>{if(!isAnimatingRef.current)goDir(\"next\");},autoPlayDelay);return()=>clearInterval(id);},[autoPlay,autoPlayDelay,isInView,goDir]);// dot click (jump, no seek)\nconst jumpTo=realIndex=>{const safe=(realIndex%n+n)%n;const newCenter=CLONES+safe;setCurrentRealIndex(safe);setCenterExtIndex(newCenter);trackControls.set({x:getX(newCenter)});};// sizes so \"Fit\" doesn't clip\nconst maxHoverScale=Math.max(centerScale*1.02,hoverZoom);const trackHeight=cardHeight*maxHoverScale+centerLift;const viewportWidth=visibleCount===3?cardWidth*3+cardSpacing*2:cardWidth;const totalHeight=trackHeight+(showScrollbar?scrollbarHeight+scrollbarSpacing+20:0);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",minHeight:totalHeight,overflow:\"visible\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",...props.style},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",height:trackHeight,overflow:\"visible\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:goToPrevious,style:{position:\"absolute\",left:20,top:\"50%\",transform:\"translateY(-50%)\",background:\"rgba(0, 0, 0, 0.5)\",border:\"none\",borderRadius:\"50%\",width:arrowSize+16,height:arrowSize+16,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",zIndex:10,transition:\"all 0.3s ease\"},onMouseEnter:e=>{e.currentTarget.style.background=\"rgba(0, 0, 0, 0.8)\";e.currentTarget.style.transform=\"translateY(-50%) scale(1.1)\";},onMouseLeave:e=>{e.currentTarget.style.background=\"rgba(0, 0, 0, 0.5)\";e.currentTarget.style.transform=\"translateY(-50%) scale(1)\";},children:/*#__PURE__*/_jsx(\"svg\",{width:arrowSize,height:arrowSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:arrowColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M15 18l-6-6 6-6\"})})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:viewportWidth,height:cardHeight*centerScale+centerLift,overflow:\"visible\",margin:\"0 auto\"},children:/*#__PURE__*/_jsx(motion.div,{animate:trackControls,style:{display:\"flex\",gap:cardSpacing,willChange:\"transform\"},children:extendedSlides.map((s,idx)=>{const isCenter=idx===centerExtIndex;const liftY=isCenter?-centerLift:0;const scale=isCenter?centerScale:1;// Optional: limit pointer events to only the cards inside viewport (+1 buffer)\nconst leftVisible=centerExtIndex-leftOffset;const rightVisible=centerExtIndex+(visibleCount===3?1:0);const inViewport=idx>=leftVisible-1&&idx<=rightVisible+1;return /*#__PURE__*/_jsxs(motion.div,{animate:{scale,y:liftY},transition:{duration:.55,ease:[.22,1,.36,1]},onClick:()=>{if(isDraggingRef.current)return;if(idx===centerExtIndex-1)goToPrevious();if(idx===centerExtIndex+1)goToNext();},style:{width:cardWidth,height:cardHeight,borderRadius:16,overflow:\"hidden\",cursor:isCenter?\"default\":\"pointer\",boxShadow:isCenter?\"0 20px 40px rgba(0,0,0,0.3)\":\"0 10px 20px rgba(0,0,0,0.2)\",transformOrigin:\"center\",position:\"relative\",flexShrink:0,zIndex:isCenter?10:1,pointerEvents:inViewport?\"auto\":\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",overflow:\"hidden\"},children:(()=>{// Normalize the video value and harden the check\nconst videoSrc=typeof s.backgroundVideo===\"string\"?s.backgroundVideo:s.backgroundVideo?.src||\"\";const hasVideo=Boolean(videoSrc&&videoSrc.trim()!==\"\");const wantsVideo=s.useBackgroundVideo!==false// default true\n;const showVideo=wantsVideo&&hasVideo;if(showVideo){return /*#__PURE__*/_jsx(motion.video,{src:videoSrc,autoPlay:true,loop:true,muted:true,playsInline:true,whileHover:{scale:hoverZoom},transition:{duration:.3},style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}});}else if(s.backgroundImage?.src){return /*#__PURE__*/_jsx(motion.img,{src:s.backgroundImage.src,alt:s.backgroundImage.alt||\"Slide image\",whileHover:{scale:hoverZoom},transition:{duration:.3},style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}});}else{return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",backgroundColor:\"#333333\",color:\"#FFFFFF\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:14},children:\"No Media\"});}})()}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:0,left:0,width:\"100%\",height:`${gradientHeight}%`,background:`linear-gradient(to top, rgba(0,0,0,${gradientOpacity}), transparent)`,pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",bottom:0,left:0,right:0,padding:24,display:\"flex\",flexDirection:\"column\",gap:8,zIndex:2},children:[/*#__PURE__*/_jsx(\"div\",{style:{...categoryFont,color:categoryColor,textTransform:\"uppercase\",letterSpacing:\"0.1em\",opacity:isCenter?1:.8},children:s.category}),/*#__PURE__*/_jsx(\"h3\",{style:{...titleFont,color:titleColor,margin:0,textShadow:isCenter?\"0 2px 4px rgba(0,0,0,0.5)\":\"0 1px 2px rgba(0,0,0,0.5)\"},children:s.title}),/*#__PURE__*/_jsx(\"p\",{style:{...subtitleFont,color:subtitleColor,margin:0,opacity:isCenter?1:.9,textShadow:\"0 1px 2px rgba(0,0,0,0.5)\"},children:s.subtitle}),isCenter&&s.ctaText&&s.ctaLink&&/*#__PURE__*/_jsx(motion.a,{href:s.ctaLink,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.4,delay:.2},style:{display:\"inline-block\",marginTop:16,padding:\"12px 24px\",backgroundColor:props.ctaButtonColor,color:props.ctaButtonTextColor,textDecoration:\"none\",borderRadius:props.ctaButtonBorderRadius,cursor:\"pointer\",transition:\"all 0.2s ease\",border:\"none\",textAlign:\"center\",...props.ctaButtonFont},onMouseEnter:e=>{e.currentTarget.style.transform=\"translateY(-2px)\";e.currentTarget.style.boxShadow=\"0 4px 12px rgba(0, 0, 0, 0.2)\";},onMouseLeave:e=>{e.currentTarget.style.transform=\"translateY(0px)\";e.currentTarget.style.boxShadow=\"none\";},children:s.ctaText})]})]},s._k);})})}),/*#__PURE__*/_jsx(\"button\",{onClick:goToNext,style:{position:\"absolute\",right:20,top:\"50%\",transform:\"translateY(-50%)\",background:\"rgba(0, 0, 0, 0.5)\",border:\"none\",borderRadius:\"50%\",width:arrowSize+16,height:arrowSize+16,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",zIndex:10,transition:\"all 0.3s ease\"},onMouseEnter:e=>{e.currentTarget.style.background=\"rgba(0, 0, 0, 0.8)\";e.currentTarget.style.transform=\"translateY(-50%) scale(1.1)\";},onMouseLeave:e=>{e.currentTarget.style.background=\"rgba(0, 0, 0, 0.5)\";e.currentTarget.style.transform=\"translateY(-50%) scale(1)\";},children:/*#__PURE__*/_jsx(\"svg\",{width:arrowSize,height:arrowSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:arrowColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M9 18l6-6-6-6\"})})})]}),showScrollbar&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:scrollbarSpacing,left:\"50%\",transform:\"translateX(-50%)\",display:\"flex\",gap:8,alignItems:\"center\"},children:slides.map((_,i)=>/*#__PURE__*/_jsx(\"button\",{onClick:()=>jumpTo(i),style:{width:i===currentRealIndex?32:16,height:scrollbarHeight,backgroundColor:i===currentRealIndex?scrollbarActiveColor:scrollbarInactiveColor,border:\"none\",borderRadius:scrollbarHeight/2,cursor:\"pointer\",transition:\"all 0.3s ease\"}},i))})]});}/* ---------- Framer Controls ---------- */addPropertyControls(CardSlider,{slides:{type:ControlType.Array,title:\"Slides\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Slide Title\"},subtitle:{type:ControlType.String,title:\"Subtitle\",defaultValue:\"Slide description text\",displayTextArea:true},category:{type:ControlType.String,title:\"Category\",defaultValue:\"Category\"},backgroundImage:{type:ControlType.ResponsiveImage,title:\"Background Image\"},backgroundVideo:{type:ControlType.File,title:\"Background Video\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"]},useBackgroundVideo:{type:ControlType.Boolean,title:\"Use Video\",defaultValue:true},ctaText:{type:ControlType.String,title:\"CTA Button Text\",defaultValue:\"\",placeholder:\"Learn More\"},ctaLink:{type:ControlType.Link,title:\"CTA Button Link\"}}}},showScrollbar:{type:ControlType.Boolean,title:\"Show Scrollbar\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},cardWidth:{type:ControlType.Number,title:\"Card Width\",defaultValue:380,min:200,max:600,step:10,unit:\"px\"},cardHeight:{type:ControlType.Number,title:\"Card Height\",defaultValue:500,min:300,max:800,step:10,unit:\"px\"},cardSpacing:{type:ControlType.Number,title:\"Card Spacing\",defaultValue:24,min:0,max:100,step:4,unit:\"px\"},centerScale:{type:ControlType.Number,title:\"Center Scale\",defaultValue:1.1,min:1,max:1.5,step:.05},centerLift:{type:ControlType.Number,title:\"Center Lift\",defaultValue:8,min:0,max:50,step:2,unit:\"px\"},hoverZoom:{type:ControlType.Number,title:\"Hover Zoom\",defaultValue:1.05,min:1,max:1.2,step:.01},gradientOpacity:{type:ControlType.Number,title:\"Gradient Opacity\",defaultValue:.7,min:0,max:1,step:.1},gradientHeight:{type:ControlType.Number,title:\"Gradient Height\",defaultValue:60,min:20,max:100,step:5,unit:\"%\"},titleFont:{type:ControlType.Font,title:\"Title Font\",defaultValue:{fontSize:\"24px\",variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1.2em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},subtitleFont:{type:ControlType.Font,title:\"Subtitle Font\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},categoryFont:{type:ControlType.Font,title:\"Category Font\",defaultValue:{fontSize:\"12px\",variant:\"Semibold\",letterSpacing:\"0.1em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"#FFFFFF\"},subtitleColor:{type:ControlType.Color,title:\"Subtitle Color\",defaultValue:\"#FFFFFF\"},categoryColor:{type:ControlType.Color,title:\"Category Color\",defaultValue:\"#CCCCCC\"},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#FFFFFF\"},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:24,min:16,max:40,step:2,unit:\"px\"},scrollbarActiveColor:{type:ControlType.Color,title:\"Scrollbar Active Color\",defaultValue:\"#000000\",hidden:({showScrollbar})=>!showScrollbar},scrollbarInactiveColor:{type:ControlType.Color,title:\"Scrollbar Inactive Color\",defaultValue:\"#00000040\",hidden:({showScrollbar})=>!showScrollbar},scrollbarHeight:{type:ControlType.Number,title:\"Scrollbar Height\",defaultValue:4,min:2,max:10,step:1,unit:\"px\",hidden:({showScrollbar})=>!showScrollbar},scrollbarSpacing:{type:ControlType.Number,title:\"Scrollbar Spacing\",defaultValue:20,min:0,max:100,step:4,unit:\"px\",hidden:({showScrollbar})=>!showScrollbar},autoPlay:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},autoPlayDelay:{type:ControlType.Number,title:\"Auto Play Delay\",defaultValue:5e3,min:1e3,max:1e4,step:500,unit:\"ms\",hidden:({autoPlay})=>!autoPlay},ctaButtonFont:{type:ControlType.Font,title:\"CTA Button Font\",defaultValue:{fontSize:\"14px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},ctaButtonColor:{type:ControlType.Color,title:\"CTA Button Color\",defaultValue:\"#FFFFFF\"},ctaButtonTextColor:{type:ControlType.Color,title:\"CTA Button Text Color\",defaultValue:\"#000000\"},ctaButtonBorderRadius:{type:ControlType.Number,title:\"CTA Button Border Radius\",defaultValue:8,min:0,max:20,step:1,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CardSlider\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"1200\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"600\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CardSlider.map"],"mappings":"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"}