{"version":3,"file":"TestimonialsSlideshow.C_SWOFkb.mjs","names":["React.useState"],"sources":["https:/framerusercontent.com/modules/ENZj7Xc9gTGZCF9RCqoX/Z2e5X0ge6U3wFWOnW9TJ/TestimonialsSlideshow.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const TESTIMONIALS=[{name:\"Sam Ward\",tagline:\"Founder, Playmaker Creative Club\",text:\"After working with Gima professionally, it was a no brainer to book him for my wedding. A full circle moment for us both after I booked him for his first big corporate event. The guests adored him and he is such a delight to work with. Kind soul, great energy and a one of a kind talent. He can listen to a song and within a minute, is playing it back to you on the piano. Thank you for making our day extra special.\"},{name:\"Charlotte\",tagline:\"Wedding client\",text:\"One of the best decisions we made. We loved his effortless mix of R&B, hip-hop and cinematic instrumentals and despite saying we wouldn't book a musician for the wedding breakfast, we knew we had to book him. His talent is incomparable — his ability to play by ear meant he could jump into any guest request on the spot without missing a beat. At one point he went from the Harry Potter theme to 50 Cent. If you're debating booking Gima for your big day — DO IT, you will not regret it.\"},{name:\"Hanna Barnes\",tagline:\"Business Development Manager, American Express\",text:\"I met Gima at the Marriott Hotel in London for an event and was blown away by his talent, musicality and humility. He was so natural with his instrument and his interactions with the guests, and made us all feel truly relaxed and in the right mood with his beautiful playing.\"},{name:\"Andrew Cheung\",tagline:\"Creative Director, Creative Dimensions Design\",text:\"GDAYKEYS was performing at a wedding I was capturing and I can honestly say he nearly stole the show — but in a good way. His music was the instant mood and energy booster that signalled the start of a fun night. He knew exactly what to play, and when to play it, to orchestrate the atmosphere. Like a DJ pianist. There wasn't a song he didn't know or couldn't play after hearing a small sample — his talent is phenomenal.\"},{name:\"Untitled Hotel\",tagline:\"Creative Director\",text:\"Gima has to be the most pleasant collaborator I've had this year. And in the moment he hits that first key, the room falls silent, as if we've just witnessed the union between man and instrument. I didn't just hear him play — I could feel the moments between each key, as if time waited for the next note.\"},{name:\"Laura & Bee\",tagline:\"Wedding clients\",text:\"Incredible pianist. We are so thankful that Gima performed at our wedding. He kept our guests entertained playing all our favourite songs, I walked down the aisle to our favourite song, and then he switched to keyboard for our outdoor reception. I have never heard the piano played so beautifully. We are forever grateful that you were part of our day.\"},{name:\"Piet Johnson\",tagline:\"Photographer, Piet Johnson Photography\",text:\"His piano playing was beautiful and perfectly matched the evening's feel. Beyond that was his interaction with the guests — his breadth of knowledge was vast. He was amazing, all the while not missing a single beat, he just kept playing. A great talent, I am positive that he'd be very welcome at any event as he pitched it perfectly.\"},{name:\"Reggie A.\",tagline:\"\",text:\"I can't express enough just how magical of an experience it was with the perfect notes being played throughout the night. The versatility really shined through — I heard him playing melodies throughout Jay-Z's entire career from across the room. I will certainly book him for my future event regardless of where in the world I am.\"}];function useVisibleCount(desktopCount){const[width,setWidth]=React.useState(typeof window!==\"undefined\"?window.innerWidth:1200);React.useEffect(()=>{const onResize=()=>setWidth(window.innerWidth);window.addEventListener(\"resize\",onResize);return()=>window.removeEventListener(\"resize\",onResize);},[]);if(width<600)return 1;if(width<1024)return 2;return Math.min(desktopCount,3);}function StarRating(){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:\"2px\"},children:[0,1,2,3,4].map(i=>/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"#EAB308\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"})},i))});}function TestimonialCard({name,tagline,text,textColor,mutedTextColor,ruleColor,fontSize,showBorderRight}){const[expanded,setExpanded]=React.useState(false);const isLong=text.length>220;const displayText=isLong&&!expanded?text.slice(0,220).trimEnd()+\"…\":text;return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"12px\",paddingLeft:\"24px\",paddingRight:\"24px\",borderRight:showBorderRight?`1px solid ${ruleColor}`:\"none\",flex:\"1 1 0\",minWidth:0,boxSizing:\"border-box\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:textColor,fontFamily:\"Geist, sans-serif\",fontSize:\"15px\",fontWeight:500},children:name}),/*#__PURE__*/_jsx(StarRating,{}),/*#__PURE__*/_jsx(\"div\",{style:{color:mutedTextColor,fontFamily:\"Geist, sans-serif\",fontSize:`${fontSize}px`,lineHeight:\"1.6\",flex:1},children:displayText}),isLong&&/*#__PURE__*/_jsx(\"button\",{onClick:e=>{e.stopPropagation();setExpanded(!expanded);},style:{all:\"unset\",color:textColor,fontFamily:\"Geist, sans-serif\",fontSize:\"13px\",fontWeight:500,cursor:\"pointer\",textDecoration:\"underline\",alignSelf:\"flex-start\"},children:expanded?\"Read less\":\"Read more\"}),tagline?/*#__PURE__*/_jsx(\"div\",{style:{color:mutedTextColor,fontFamily:\"Geist, sans-serif\",fontSize:\"12px\",opacity:.7},children:tagline}):null]});}function ArrowButton({onClick,dir,color,borderColor}){return /*#__PURE__*/_jsx(\"button\",{onClick:onClick,style:{all:\"unset\",cursor:\"pointer\",width:\"32px\",height:\"32px\",borderRadius:\"50%\",border:`1px solid ${borderColor}`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,background:\"transparent\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:dir===\"left\"?\"M9 2L4 7l5 5\":\"M5 2l5 5-5 5\",stroke:color,strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})});}/**\n * Testimonials Slideshow\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function TestimonialsSlideshow(props){const{autoplay=true,interval=4500,desktopCount=3,backgroundColor=\"rgb(255,255,255)\",textColor=\"rgb(30,30,30)\",mutedTextColor=\"rgb(85,85,85)\",ruleColor=\"rgb(221,221,221)\",fontSize=15}=props;const visible=useVisibleCount(desktopCount);const count=TESTIMONIALS.length;const[startIndex,setStartIndex]=React.useState(0);const prev=()=>setStartIndex(i=>(i-1+count)%count);const next=()=>setStartIndex(i=>(i+1)%count);// Reset to 0 when visible count changes (breakpoint switch) to avoid half-visible state\nReact.useEffect(()=>{setStartIndex(0);},[visible]);React.useEffect(()=>{if(!autoplay)return;const id=setInterval(next,interval);return()=>clearInterval(id);},[autoplay,interval,startIndex]);const cards=Array.from({length:visible},(_,i)=>TESTIMONIALS[(startIndex+i)%count]);return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",backgroundColor,display:\"flex\",flexDirection:\"column\",padding:\"32px 0\",boxSizing:\"border-box\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"stretch\",borderTop:`1px solid ${ruleColor}`,borderBottom:`1px solid ${ruleColor}`},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",padding:\"24px 12px 24px 0\",flexShrink:0},children:/*#__PURE__*/_jsx(ArrowButton,{onClick:prev,dir:\"left\",color:textColor,borderColor:ruleColor})}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flex:1,overflow:\"hidden\"},children:cards.map((t,i)=>/*#__PURE__*/_jsx(\"div\",{style:{flex:`0 0 ${100/visible}%`,minWidth:0,padding:\"28px 0\",boxSizing:\"border-box\"},children:/*#__PURE__*/_jsx(TestimonialCard,{name:t.name,tagline:t.tagline,text:t.text,textColor:textColor,mutedTextColor:mutedTextColor,ruleColor:ruleColor,fontSize:fontSize,showBorderRight:i<visible-1})},`${startIndex}-${i}`))}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",padding:\"24px 0 24px 12px\",flexShrink:0},children:/*#__PURE__*/_jsx(ArrowButton,{onClick:next,dir:\"right\",color:textColor,borderColor:ruleColor})})]})});}TestimonialsSlideshow.defaultProps={autoplay:true,interval:4500,desktopCount:3,backgroundColor:\"rgb(255,255,255)\",textColor:\"rgb(30,30,30)\",mutedTextColor:\"rgb(85,85,85)\",ruleColor:\"rgb(221,221,221)\",fontSize:15};addPropertyControls(TestimonialsSlideshow,{autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:true},interval:{type:ControlType.Number,title:\"Interval (ms)\",defaultValue:4500,min:1e3,max:1e4,step:500},desktopCount:{type:ControlType.Number,title:\"Cards (desktop)\",defaultValue:3,min:1,max:4,step:1},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgb(255,255,255)\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"rgb(30,30,30)\"},mutedTextColor:{type:ControlType.Color,title:\"Muted text\",defaultValue:\"rgb(85,85,85)\"},ruleColor:{type:ControlType.Color,title:\"Dividers\",defaultValue:\"rgb(221,221,221)\"},fontSize:{type:ControlType.Number,title:\"Font size\",defaultValue:15,min:12,max:20}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TestimonialsSlideshow\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TestimonialsSlideshow.map"],"mappings":"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"}