{"version":3,"file":"HeroLogoGrid.NuTFcO2s.mjs","names":["useMemo","useRef","useState"],"sources":["https:/framerusercontent.com/modules/yCDQaW3fDbftUWi1sa41/izV4h3XyeJQAYu9sLde9/HeroLogoGrid.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{AnimatePresence,motion,useInView}from\"framer-motion\";// Default partner logos (white-on-transparent), in partners-page order.\nconst DEFAULT_LOGOS=[{src:\"https://framerusercontent.com/images/4AzkAJVolN5QUY21jUdBUaFv3gQ.png\",alt:\"GBG\"},{src:\"https://framerusercontent.com/images/4EMsjkpxaE5nDg0iUM2bY02znQQ.png\",alt:\"Shufti\"},{src:\"https://framerusercontent.com/images/ctVtboFnCLpMSCX2qPPOK3rZ1A.png\",alt:\"Alloy\"},{src:\"https://framerusercontent.com/images/qIILGXUjQh48ccwXF2HIcvmq1L0.png\",alt:\"Daon\"},{src:\"https://framerusercontent.com/images/h7dQAWwz2g5hQDvVDa4Ji8n0jZg.png\",alt:\"Prove\"},{src:\"https://framerusercontent.com/images/yMk33bp9gIbwQPOpSKx7NUpf4c.png\",alt:\"Veratad\"},{src:\"https://framerusercontent.com/images/g320lGgmGYOPdIYZkodjFGmrI20.png\",alt:\"Vouched\"},{src:\"https://framerusercontent.com/images/eQ9Ma7zVbzcjxYOObJaOawZ0.png\",alt:\"Ondato\"},{src:\"https://framerusercontent.com/images/XYD0jopIRMj0aphpNj5rmA5jylQ.png\",alt:\"IDfy\"},{src:\"https://framerusercontent.com/images/pLAFuYOMSvewwsoF3aEETXLCJI.png\",alt:\"ID Mission\"},{src:\"https://framerusercontent.com/images/qSYEOIwoP2zKnaa8r1CFNDgGEc.png\",alt:\"Vouchsafe\"},{src:\"https://framerusercontent.com/images/d0DcdDjxRzdyS3jM6WFMnlDSCE.png\",alt:\"authID\"},{src:\"https://framerusercontent.com/images/Kt62o8cakGKFaQf65u5sZcSKG8.png\",alt:\"Veremark\"},{src:\"https://framerusercontent.com/images/DSNbCHW8xRfPJKNsp2jit9TQEY.png\",alt:\"Grid\"},{src:\"https://framerusercontent.com/images/5HWrKXi5Xef3Z8OS4bkJNi9aI.png\",alt:\"Graphite\"},{src:\"https://framerusercontent.com/images/JnJAqqJ6MgNJiFjveOL8Q394viM.png\",alt:\"GLEIF\"},{src:\"https://framerusercontent.com/images/cfEHCJAXAgQRwmRqi93oPYAZ7U.png\",alt:\"Dentity\"},{src:\"https://framerusercontent.com/images/TbZ62hFyRRbOqiNDVkdWjonjQ.png\",alt:\"Reglio\"},{src:\"https://framerusercontent.com/images/fS5xrrFBljg2UmDvV5msRkiBUk.png\",alt:\"Socure\"}];/**\n * Hero Logo Grid\n *\n * A subtle grid of white partner logos that gently cross-fades one logo at a\n * time, cycling through a larger pool, with an optional \"Trusted by\" label.\n *\n * @framerIntrinsicWidth 880\n * @framerIntrinsicHeight 140\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function HeroLogoGrid(props){const{logos,showLabel=true,label=\"Trusted by\",labelColor=\"rgba(255, 255, 255, 0.55)\",columns=5,rows=2,maxWidth=880,logoHeight=28,columnGap=44,rowGap=28,labelGap=22,logoOpacity=.9,swapInterval=1700,fadeDuration=.65,style}=props;const pool=useMemo(()=>{const provided=(logos??[]).map(l=>({src:l.image?.src??\"\",alt:l.image?.alt??\"\"})).filter(l=>l.src);return provided.length>0?provided:DEFAULT_LOGOS;},[logos]);const cols=Math.max(1,Math.round(columns));const slotCount=Math.max(1,Math.min(cols*Math.max(1,Math.round(rows)),pool.length));const isStatic=useIsStaticRenderer();const containerRef=useRef(null);const inView=useInView(containerRef,{amount:.1});const[visible,setVisible]=useState(()=>Array.from({length:slotCount},(_,i)=>i%pool.length));const hiddenRef=useRef(Array.from({length:pool.length},(_,i)=>i).slice(slotCount));const lastSlotRef=useRef(-1);useEffect(()=>{const init=Array.from({length:slotCount},(_,i)=>i%pool.length);setVisible(init);hiddenRef.current=Array.from({length:pool.length},(_,i)=>i).slice(slotCount);lastSlotRef.current=-1;},[pool,slotCount]);useEffect(()=>{if(isStatic||!inView)return;if(hiddenRef.current.length===0)return;const id=window.setInterval(()=>{setVisible(prev=>{const next=prev.slice();let slot=Math.floor(Math.random()*next.length);if(next.length>1&&slot===lastSlotRef.current){slot=(slot+1)%next.length;}lastSlotRef.current=slot;const incoming=hiddenRef.current.shift();if(incoming===undefined)return prev;const outgoing=next[slot];next[slot]=incoming;hiddenRef.current.push(outgoing);return next;});},swapInterval);return()=>window.clearInterval(id);},[isStatic,inView,swapInterval,slotCount,pool]);const outerStyle={...style,position:\"relative\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:labelGap,width:style?.width??\"100%\",pointerEvents:\"none\"};const labelStyle={fontSize:12,fontWeight:500,letterSpacing:\"0.16em\",textTransform:\"uppercase\",color:labelColor,textShadow:\"0 1px 8px rgba(0,0,0,0.5)\",margin:0};const gridStyle={display:\"grid\",gridTemplateColumns:`repeat(${cols}, 1fr)`,columnGap,rowGap,alignItems:\"center\",justifyItems:\"center\",width:\"100%\",maxWidth,marginLeft:\"auto\",marginRight:\"auto\"};const slotStyle={position:\"relative\",width:\"100%\",height:logoHeight+14,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"};const imgStyle={maxHeight:logoHeight,maxWidth:\"100%\",width:\"auto\",height:\"auto\",objectFit:\"contain\",filter:\"drop-shadow(0 1px 10px rgba(0,0,0,0.5))\",userSelect:\"none\"};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:outerStyle,children:[showLabel&&label?/*#__PURE__*/_jsx(\"p\",{style:labelStyle,children:label}):null,/*#__PURE__*/_jsx(\"div\",{style:gridStyle,role:\"list\",\"aria-label\":\"Partner logos\",children:visible.map((logoIdx,slot)=>{const logo=pool[logoIdx]??pool[0];if(isStatic){return /*#__PURE__*/_jsx(\"div\",{style:slotStyle,role:\"listitem\",children:/*#__PURE__*/_jsx(\"img\",{src:logo.src,alt:logo.alt,style:{...imgStyle,opacity:logoOpacity}})},slot);}return /*#__PURE__*/_jsx(\"div\",{style:slotStyle,role:\"listitem\",children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",initial:false,children:/*#__PURE__*/_jsx(motion.img,{src:logo.src,alt:logo.alt,style:imgStyle,initial:{opacity:0},animate:{opacity:logoOpacity},exit:{opacity:0},transition:{duration:fadeDuration,ease:\"easeInOut\"}},logoIdx)})},slot);})})]});}addPropertyControls(HeroLogoGrid,{logos:{type:ControlType.Array,title:\"Logos\",control:{type:ControlType.Object,controls:{image:{type:ControlType.ResponsiveImage,title:\"Logo\"}}},defaultValue:DEFAULT_LOGOS.map(l=>({image:{src:l.src,alt:l.alt}}))},showLabel:{type:ControlType.Boolean,title:\"Label\",defaultValue:true},label:{type:ControlType.String,title:\"Label Text\",defaultValue:\"Trusted by\"},labelColor:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"rgba(255, 255, 255, 0.55)\"},columns:{type:ControlType.Number,title:\"Columns\",defaultValue:5,min:1,max:10,step:1},rows:{type:ControlType.Number,title:\"Rows\",defaultValue:2,min:1,max:4,step:1},maxWidth:{type:ControlType.Number,title:\"Max Width\",defaultValue:880,min:320,max:1600,step:10,unit:\"px\"},logoHeight:{type:ControlType.Number,title:\"Logo Height\",defaultValue:28,min:14,max:64,step:1,unit:\"px\"},columnGap:{type:ControlType.Number,title:\"Column Gap\",defaultValue:44,min:0,max:120,step:2,unit:\"px\"},rowGap:{type:ControlType.Number,title:\"Row Gap\",defaultValue:28,min:0,max:120,step:2,unit:\"px\"},labelGap:{type:ControlType.Number,title:\"Label Gap\",defaultValue:22,min:0,max:80,step:2,unit:\"px\"},logoOpacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:.9,min:.1,max:1,step:.02},swapInterval:{type:ControlType.Number,title:\"Swap Every\",defaultValue:1700,min:600,max:6e3,step:100,unit:\"ms\"},fadeDuration:{type:ControlType.Number,title:\"Fade\",defaultValue:.65,min:.1,max:2,step:.05,unit:\"s\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HeroLogoGrid\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"880\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"140\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HeroLogoGrid.map"],"mappings":"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"}