{"version":3,"file":"ProofCounter.CU-coDWT.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/Ii5PQSPn65f0HHvDSXYW/5zeNIpbcissyRO22RElf/ProofCounter.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useInView,useReducedMotion}from\"framer-motion\";import{useEffect,useRef,useState}from\"react\";const FEATURES='\"blwf\" on, \"cv03\" on, \"cv04\" on, \"cv09\" on, \"cv11\" on, \"tnum\" on';// The site sets Instrument Sans, never Inter; an untouched Font control is Framer's Inter, so Inter (or no family)\n// takes the house sans (desktop re-check 12 Oct: stats on seven pages drew in Inter beside Instrument Sans).\nconst HOUSE_SANS='\"Instrument Sans\", \"Instrument Sans Placeholder\", ui-sans-serif, system-ui, sans-serif';const familyOf=font=>{const family=String(font&&font.fontFamily||\"\").trim();return!family||/^[\"']?Inter(?: Placeholder)?[\"']?(?:\\s*,|$)/i.test(family)?HOUSE_SANS:family;};function format(n,decimals,separator){return n.toLocaleString(\"en-US\",{minimumFractionDigits:decimals,maximumFractionDigits:decimals,useGrouping:separator});}/**\n * Proof Counter\n *\n * Counts a figure up from zero when it is active and in view.\n * Shows the final figure straight away on the canvas and for reduced motion.\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function ProofCounter(props){const{value=13,decimals=0,prefix=\"\",suffix=\"\",separator=true,active=true,delay=0,duration=.9,font,color=\"#121212\",style}=props;const isStatic=useIsStaticRenderer();const reducedMotion=useReducedMotion();const ref=useRef(null);const inView=useInView(ref,{amount:.6});const animate=!isStatic&&!reducedMotion;const[current,setCurrent]=useState(value);useEffect(()=>{if(!animate){setCurrent(value);return;}if(!active||!inView){setCurrent(0);return;}let frame=0;let start=0;setCurrent(0);const tick=now=>{if(!start)start=now;const t=Math.min(1,(now-start)/(duration*1e3));const eased=1-Math.pow(1-t,3);setCurrent(t>=1?value:value*eased);if(t<1)frame=requestAnimationFrame(tick);};const timer=window.setTimeout(()=>{frame=requestAnimationFrame(tick);},delay*1e3);return()=>{window.clearTimeout(timer);cancelAnimationFrame(frame);};},[animate,active,inView,value,delay,duration]);const finalText=`${prefix}${format(value,decimals,separator)}${suffix}`;const liveText=`${prefix}${format(current,decimals,separator)}${suffix}`;return /*#__PURE__*/_jsxs(\"span\",{ref:ref,\"aria-label\":finalText,role:\"text\",style:{...style,position:\"relative\",display:\"inline-block\",width:\"max-content\",whiteSpace:\"nowrap\",color,fontFeatureSettings:FEATURES,...font,fontFamily:familyOf(font)},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{visibility:\"hidden\"},children:finalText}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",left:0,top:0},children:liveText})]});}addPropertyControls(ProofCounter,{value:{type:ControlType.Number,title:\"Value\",defaultValue:13,min:0,max:1e8,step:.1,displayStepper:true},decimals:{type:ControlType.Number,title:\"Decimals\",defaultValue:0,min:0,max:2,step:1,displayStepper:true},prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},separator:{type:ControlType.Boolean,title:\"Separator\",defaultValue:true},active:{type:ControlType.Boolean,title:\"Active\",defaultValue:true},delay:{type:ControlType.Number,title:\"Delay\",defaultValue:0,min:0,max:5,step:.05,unit:\"s\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:.9,min:.1,max:5,step:.1,unit:\"s\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"44px\",variant:\"Regular\",letterSpacing:\"-0.02em\",lineHeight:\"1.1em\"}},color:{type:ControlType.Color,title:\"Colour\",defaultValue:\"#121212\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProofCounter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProofCounter.map"],"mappings":"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"}