{"version":3,"file":"StatsCountUp.BFWKt7Ap.mjs","names":["useRef","useCallback","WrappedComponent"],"sources":["https:/framerusercontent.com/modules/rKgpBPNeTVXTecI2cGoV/PUAwScymHrRckjOzcqZy/StatsCountUp.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useCallback,useEffect,useRef}from\"react\";import{useIsStaticRenderer}from\"framer\";import{useInView}from\"framer-motion\";function formatWithPattern(value,decimals,groupingSeparator){const fixed=value.toFixed(decimals);const[intPart,decimalPart]=fixed.split(\".\");let groupedInt=intPart;if(groupingSeparator){groupedInt=intPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g,groupingSeparator);}if(decimals>0&&decimalPart!==undefined){return`${groupedInt}.${decimalPart}`;}return groupedInt;}export function withCountUp(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const hostRef=useRef(null);const didAnimateRef=useRef(false);const originalValuesRef=useRef([]);const rafIdRef=useRef(null);const isStaticRenderer=useIsStaticRenderer();const isInView=useInView(hostRef,{amount:.25,once:true});const attachRef=useCallback(node=>{hostRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref){ref.current=node;}},[ref]);const parseTextNode=useCallback(textNode=>{const originalText=textNode.nodeValue??\"\";const match=originalText.match(/^([^0-9]*)([0-9][0-9,.\\s]*)([^0-9]*)$/);if(!match)return null;const prefix=match[1]??\"\";const rawNumeric=(match[2]??\"\").replace(/\\s/g,\"\");const suffix=match[3]??\"\";if(!rawNumeric)return null;const hasCommaGrouping=/^\\d{1,3}(,\\d{3})+(\\.\\d+)?$/.test(rawNumeric);const hasDotGrouping=/^\\d{1,3}(\\.\\d{3})+(,\\d+)?$/.test(rawNumeric);let normalized=rawNumeric;let groupingSeparator=null;let decimals=0;if(hasCommaGrouping){groupingSeparator=\",\";const decimalSplit=rawNumeric.split(\".\");decimals=decimalSplit[1]?.length??0;normalized=rawNumeric.replace(/,/g,\"\");}else if(hasDotGrouping){groupingSeparator=\".\";const decimalSplit=rawNumeric.split(\",\");decimals=decimalSplit[1]?.length??0;normalized=rawNumeric.replace(/\\./g,\"\").replace(\",\",\".\");}else{const decimalSplit=rawNumeric.split(\".\");decimals=decimalSplit[1]?.length??0;normalized=rawNumeric.replace(/,/g,\"\");}const target=Number.parseFloat(normalized);if(!Number.isFinite(target))return null;return{node:textNode,originalText,prefix,suffix,target,decimals,groupingSeparator};},[]);const collectNumericTextNodes=useCallback(()=>{if(!hostRef.current||typeof window===\"undefined\")return[];const walker=document.createTreeWalker(hostRef.current,window.NodeFilter.SHOW_TEXT);const collected=[];let current=walker.nextNode();while(current){const parsed=parseTextNode(current);if(parsed)collected.push(parsed);current=walker.nextNode();}return collected;},[parseTextNode]);useEffect(()=>{if(isStaticRenderer)return;if(typeof window===\"undefined\")return;if(!isInView||didAnimateRef.current)return;const mediaQuery=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const reducedMotion=mediaQuery.matches;const nodes=collectNumericTextNodes();if(nodes.length===0)return;originalValuesRef.current=nodes;if(reducedMotion){didAnimateRef.current=true;return;}const duration=1400;const startedAt=performance.now();const tick=now=>{const elapsed=now-startedAt;const t=Math.min(elapsed/duration,1);const eased=1-Math.pow(1-t,3);for(const item of nodes){const value=item.target*eased;const displayValue=formatWithPattern(value,item.decimals,item.groupingSeparator);item.node.nodeValue=`${item.prefix}${displayValue}${item.suffix}`;}if(t<1){rafIdRef.current=window.requestAnimationFrame(tick);}else{didAnimateRef.current=true;rafIdRef.current=null;}};rafIdRef.current=window.requestAnimationFrame(tick);return()=>{if(rafIdRef.current!==null){window.cancelAnimationFrame(rafIdRef.current);rafIdRef.current=null;}};},[collectNumericTextNodes,isInView,isStaticRenderer]);useEffect(()=>{return()=>{if(typeof window!==\"undefined\"&&rafIdRef.current!==null){window.cancelAnimationFrame(rafIdRef.current);rafIdRef.current=null;}for(const item of originalValuesRef.current){item.node.nodeValue=item.originalText;}};},[]);useEffect(()=>{const element=hostRef.current;if(!element)return;if(!element.hasAttribute(\"aria-live\")){element.setAttribute(\"aria-live\",\"off\");}if(!element.hasAttribute(\"aria-atomic\")){element.setAttribute(\"aria-atomic\",\"true\");}},[]);const WrappedComponent=Component;return /*#__PURE__*/_jsx(WrappedComponent,{ref:attachRef,...props});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withCountUp\":{\"type\":\"reactHoc\",\"name\":\"withCountUp\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StatsCountUp.map"],"mappings":"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"}