{"version":3,"file":"TestimonialStackCarousel.BHP0p4pT.mjs","names":["useState","useRef","_Fragment","__esmMin","te","init_npm_react_18_3_1","window","_e","de","init_jsx_runtime","p","ce","init_ssg_sandbox_shims","addPropertyControls","ControlType","init_framer_D6uXRwWs","TestimonialStackCarousel","props","activeIndex","setActiveIndex","isDragging","setIsDragging","isMobile","setIsMobile","dragStartX","timerRef","containerRef","nextSlide","prev","testimonials","prevSlide","checkMobile","autoPlay","autoPlayInterval","handlePointerDown","handlePointerUp","diff","getSlideStyle","total","relPos","index","absPos","isActive","containerWidth","containerHeight","mobileScale","responsiveWidth","cardStyle","responsiveHeight","responsiveSpread","layout3D","xOffset","zOffset","yRotation","scale","opacity","showArrows","l","arrowBgColor","arrowColor","idx","item","typography","init_TestimonialStackCarousel"],"sources":["https:/framerusercontent.com/modules/bBkSUAhS7jCKURN5KrLl/A5OUTwjcKHB0PRb1m0R3/TestimonialStackCarousel.js"],"sourcesContent":["// TESTIMONIAL STACK CAROUSEL - Pure Background Image Version\n// @ts-nocheck\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useRef,useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerDisableUnlink\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 600\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function TestimonialStackCarousel(props){const{testimonials,cardStyle,layout3D,autoPlay,autoPlayInterval,typography,showArrows,arrowColor,arrowBgColor}=props;const[activeIndex,setActiveIndex]=useState(0);const[isDragging,setIsDragging]=useState(false);const[isMobile,setIsMobile]=useState(false);const dragStartX=useRef(0);const timerRef=useRef(null);const containerRef=useRef(null);const nextSlide=()=>{startTransition(()=>{setActiveIndex(prev=>(prev+1)%(testimonials.length||1));});};const prevSlide=()=>{startTransition(()=>{setActiveIndex(prev=>(prev-1+(testimonials.length||1))%(testimonials.length||1));});};useEffect(()=>{const checkMobile=()=>{if(typeof window!==\"undefined\"){startTransition(()=>{setIsMobile(window.innerWidth<768);});}};checkMobile();window.addEventListener(\"resize\",checkMobile);return()=>window.removeEventListener(\"resize\",checkMobile);},[]);useEffect(()=>{if(autoPlay&&!isDragging&&testimonials.length>0){timerRef.current=window.setInterval(nextSlide,autoPlayInterval);}return()=>{if(timerRef.current)clearInterval(timerRef.current);};},[autoPlay,autoPlayInterval,isDragging,testimonials.length]);const handlePointerDown=e=>{dragStartX.current=e.clientX;startTransition(()=>setIsDragging(true));};const handlePointerUp=e=>{if(!isDragging)return;const diff=e.clientX-dragStartX.current;if(Math.abs(diff)>50){if(diff>0)prevSlide();else nextSlide();}startTransition(()=>setIsDragging(false));};const getSlideStyle=index=>{const total=testimonials.length;if(total===0)return{};let relPos=index-activeIndex;if(relPos>total/2)relPos-=total;if(relPos<-total/2)relPos+=total;const absPos=Math.abs(relPos);const isActive=relPos===0;const containerWidth=containerRef.current?.offsetWidth||800;const containerHeight=containerRef.current?.offsetHeight||600;const mobileScale=isMobile?.85:1;const responsiveWidth=Math.min(cardStyle.slideWidth*mobileScale,containerWidth*.9);const responsiveHeight=Math.min(cardStyle.slideHeight*mobileScale,containerHeight*.8);const responsiveSpread=isMobile?layout3D.spread/1200*containerWidth*.5:layout3D.spread/1200*containerWidth;const xOffset=relPos*responsiveSpread;const zOffset=absPos*-(isMobile?layout3D.depth*.5:layout3D.depth);const yRotation=relPos*-(isMobile?layout3D.rotation*.5:layout3D.rotation);const scale=1-absPos*(isMobile?.2:.15);const opacity=Math.max(0,1-absPos*.4);return{position:\"absolute\",width:responsiveWidth,height:responsiveHeight,left:\"50%\",top:\"50%\",transform:`translate3d(calc(-50% + ${xOffset}px), -50%, ${zOffset}px) rotateY(${yRotation}deg) scale(${scale})`,zIndex:100-absPos,opacity:opacity,borderRadius:cardStyle.borderRadius,transition:`all ${props.transitionDuration}s cubic-bezier(0.23, 1, 0.32, 1)`,cursor:isActive?\"grab\":\"pointer\",userSelect:\"none\",boxShadow:isActive?\"0 20px 40px rgba(0,0,0,0.15)\":\"0 10px 20px rgba(0,0,0,0.05)\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",padding:isMobile?\"24px\":\"40px\"};};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"visible\",perspective:\"1200px\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},onPointerDown:handlePointerDown,onPointerUp:handlePointerUp,children:[showArrows&&testimonials.length>1&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"이전 슬라이드\",onClick:e=>{e.stopPropagation();prevSlide();},style:{position:\"absolute\",left:16,top:\"50%\",transform:\"translateY(-50%)\",zIndex:200,width:40,height:40,borderRadius:\"50%\",border:\"none\",backgroundColor:arrowBgColor,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",boxShadow:\"0 0 0 rgba(0,0,0,0)\",flexShrink:0},children:/*#__PURE__*/_jsx(\"svg\",{width:\"8\",height:\"16\",viewBox:\"0 0 8 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 1L1 8L7 15\",stroke:arrowColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"다음 슬라이드\",onClick:e=>{e.stopPropagation();nextSlide();},style:{position:\"absolute\",right:16,top:\"50%\",transform:\"translateY(-50%)\",zIndex:200,width:40,height:40,borderRadius:\"50%\",border:\"none\",backgroundColor:arrowBgColor,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",boxShadow:\"0 0 0 rgba(0,0,0,0)\",flexShrink:0},children:/*#__PURE__*/_jsx(\"svg\",{width:\"8\",height:\"16\",viewBox:\"0 0 8 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 1L7 8L1 15\",stroke:arrowColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]}),testimonials.map((item,idx)=>/*#__PURE__*/_jsxs(\"div\",{style:getSlideStyle(idx),onClick:()=>idx!==activeIndex&&setActiveIndex(idx),children:[/*#__PURE__*/_jsx(\"img\",{src:item.avatar?.src,alt:item.name,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",zIndex:-1,border:\"none\",outline:\"none\",boxShadow:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{color:typography.quoteColor,...typography.quoteFont,marginBottom:\"20px\"},children:item.quote}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"28px\",marginTop:\"auto\"},children:/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{color:typography.nameColor,...typography.nameFont},children:item.name}),/*#__PURE__*/_jsx(\"div\",{style:{color:typography.positionColor,...typography.positionFont},children:item.position})]})})]},idx))]});}addPropertyControls(TestimonialStackCarousel,{testimonials:{type:ControlType.Array,title:\"Testimonials\",control:{type:ControlType.Object,controls:{name:{type:ControlType.String,defaultValue:\"Alex Morgan\"},quote:{type:ControlType.String,defaultValue:\"Amazing work!\",displayTextArea:true},position:{type:ControlType.String,defaultValue:\"CEO\"},avatar:{type:ControlType.ResponsiveImage,title:\"Background Image\"}}}},cardStyle:{type:ControlType.Object,title:\"Card Style\",controls:{slideWidth:{type:ControlType.Number,defaultValue:500},slideHeight:{type:ControlType.Number,defaultValue:530},borderRadius:{type:ControlType.Number,defaultValue:24},sideCardsBlur:{type:ControlType.Number,defaultValue:4}}},layout3D:{type:ControlType.Object,title:\"3D Layout\",controls:{spread:{type:ControlType.Number,defaultValue:200},depth:{type:ControlType.Number,defaultValue:150},rotation:{type:ControlType.Number,defaultValue:15}}},autoPlay:{type:ControlType.Boolean,defaultValue:true},autoPlayInterval:{type:ControlType.Number,defaultValue:5e3},transitionDuration:{type:ControlType.Number,defaultValue:.8},showArrows:{type:ControlType.Boolean,title:\"Show Arrows\",defaultValue:true},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#111111\"},arrowBgColor:{type:ControlType.Color,title:\"Arrow BG\",defaultValue:\"rgba(255,255,255,0.9)\"},typography:{type:ControlType.Object,title:\"Typography\",controls:{quoteFont:{type:ControlType.Font},quoteColor:{type:ControlType.Color,defaultValue:\"#FFFFFF\"},nameFont:{type:ControlType.Font},nameColor:{type:ControlType.Color,defaultValue:\"#FFFFFF\"},positionFont:{type:ControlType.Font},positionColor:{type:ControlType.Color,defaultValue:\"#CCCCCC\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TestimonialStackCarousel\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 800\",\"framerIntrinsicHeight\":\"600\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TestimonialStackCarousel.map"],"mappings":"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"}