{"version":3,"file":"TestimonyBand.CmSSGZeX.mjs","names":["React.useRef","React.useState"],"sources":["https:/framerusercontent.com/modules/oTCB5fz01V8MgwzZ7hiY/7QDRyDH4qDbTBsqOZnCg/TestimonyBand.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const HEAD_FONT=\"'Montserrat', 'Helvetica Neue', sans-serif\";const BODY_FONT=\"'Archivo', 'Helvetica Neue', sans-serif\";/**\n * Rotating testimony band (12Stone pattern): one oversized quote at a\n * time with attribution, prev/next arrows and dots. Real quotes only.\n * Auto-advances every 8s ONLY while in view, not hovered/focused, and\n * not under prefers-reduced-motion. Transform/opacity crossfade only.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1000\n */export default function TestimonyBand(props){const{eyebrow,stories=[],accent,dark,style}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const rootRef=React.useRef(null);const[index,setIndex]=React.useState(0);const[paused,setPaused]=React.useState(false);const[inView,setInView]=React.useState(false);const[reduced,setReduced]=React.useState(false);const count=stories.length;React.useEffect(()=>{if(typeof window===\"undefined\")return;const mq=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const on=()=>setReduced(mq.matches);on();mq.addEventListener(\"change\",on);return()=>mq.removeEventListener(\"change\",on);},[]);React.useEffect(()=>{if(isCanvas||typeof window===\"undefined\")return;if(!(\"IntersectionObserver\"in window)||!rootRef.current)return;const io=new IntersectionObserver(entries=>setInView(entries.some(e=>e.isIntersecting)),{threshold:.4});io.observe(rootRef.current);return()=>io.disconnect();},[isCanvas]);React.useEffect(()=>{if(isCanvas||reduced||paused||!inView||count<2)return;const t=setInterval(()=>setIndex(i=>(i+1)%count),8e3);return()=>clearInterval(t);},[isCanvas,reduced,paused,inView,count]);const go=dir=>setIndex(i=>(i+dir+count)%count);const fg=dark?\"#ffffff\":\"#000000\";const sub=dark?\"rgba(255,255,255,0.75)\":\"#333333\";const story=stories[Math.min(index,Math.max(0,count-1))]||{};const arrow=(dir,label,glyph)=>/*#__PURE__*/_jsx(\"button\",{\"aria-label\":label,onClick:()=>go(dir),style:{width:46,height:46,borderRadius:999,border:`2px solid ${dark?\"rgba(255,255,255,0.4)\":\"rgba(0,0,0,0.18)\"}`,background:\"none\",color:fg,fontSize:18,cursor:\"pointer\",flexShrink:0},children:glyph});return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,onMouseEnter:()=>setPaused(true),onMouseLeave:()=>setPaused(false),onFocus:()=>setPaused(true),onBlur:()=>setPaused(false),style:{width:\"100%\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:22,...style},children:[eyebrow?/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:HEAD_FONT,fontWeight:600,fontSize:13,letterSpacing:\"0.14em\",textTransform:\"uppercase\",color:accent},children:eyebrow}):null,/*#__PURE__*/_jsx(\"div\",{\"aria-live\":\"polite\",style:{width:\"100%\",maxWidth:860,minHeight:170,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"figure\",{className:\"ro-testimony\",style:{margin:0,textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                        .ro-testimony { animation: ro-story-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both; }\n                        @keyframes ro-story-in {\n                            from { opacity: 0; transform: translateX(26px); }\n                            to { opacity: 1; transform: none; }\n                        }\n                        @media (prefers-reduced-motion: reduce) {\n                            .ro-testimony { animation: none !important; }\n                        }\n                    `}),/*#__PURE__*/_jsxs(\"blockquote\",{style:{margin:0,fontFamily:HEAD_FONT,fontWeight:700,fontSize:\"clamp(19px, 2.6vw, 28px)\",lineHeight:1.35,letterSpacing:\"-0.01em\",color:fg},children:[\"“\",story.quote,\"”\"]}),/*#__PURE__*/_jsxs(\"figcaption\",{style:{marginTop:16,fontFamily:BODY_FONT,fontSize:14.5,color:sub},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontWeight:600,color:fg},children:story.name}),story.detail?/*#__PURE__*/_jsxs(\"span\",{children:[\" \\xb7 \",story.detail]}):null]})]},index)}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:16},children:[arrow(-1,\"Previous story\",\"←\"),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:8},children:stories.map((_,i)=>/*#__PURE__*/_jsx(\"button\",{\"aria-label\":`Story ${i+1}`,onClick:()=>setIndex(i),style:{width:i===index?22:8,height:8,borderRadius:999,border:\"none\",cursor:\"pointer\",background:i===index?accent:dark?\"rgba(255,255,255,0.35)\":\"rgba(0,0,0,0.18)\",transition:\"width 0.25s ease, background 0.25s ease\",padding:0}},i))}),arrow(1,\"Next story\",\"→\")]})]});}addPropertyControls(TestimonyBand,{eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"What people say\"},stories:{type:ControlType.Array,title:\"Stories\",control:{type:ControlType.Object,controls:{quote:{type:ControlType.String,displayTextArea:true,defaultValue:\"\"},name:{type:ControlType.String,defaultValue:\"\"},detail:{type:ControlType.String,defaultValue:\"Google review\"}}},defaultValue:[{quote:\"I loved how they treat people at this church; zero discrimination based on wealth or race. The preacher's message impressed me.\",name:\"Jessica J.\",detail:\"Google review\"},{quote:\"Pastor Sean preaches truths straight from the Bible that hit home every week!! The student ministry is my heart but there is something for anyone who wants to get involved! River Oaks is just an amazing community and family!!\",name:\"Jamilyn M.\",detail:\"Google review\"},{quote:\"This church has the most amazing community, teaching, and worship! Everyone is so welcoming and kind when you walk in. Pastor Sean's sermons are so impactful and the worship music is beautiful!\",name:\"Avery G.\",detail:\"Google review\"},{quote:\"River Oaks Church takes care of people. We always say, 'Love God and Love Others.' This is what Christ calls us to do, and River Oaks works to show us how to walk with Jesus every day.\",name:\"Teralyn M.\",detail:\"Google review\"},{quote:\"Great church. Family oriented and truth about God the Father, God the Son and God the Holy Spirit being preached without the apologies of the world view that teaches, anything goes.\",name:\"Matt Z.\",detail:\"Google review\"}]},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#4d9ee9\"},dark:{type:ControlType.Boolean,title:\"On Dark\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TestimonyBand\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1000\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TestimonyBand.map"],"mappings":"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"}