{"version":3,"file":"StatsCountUp.D-lykYb9.mjs","names":["useRef","useCallback","WrappedComponent","__esmMin","ne","window","init_npm_react_18_3_1","init_ssg_sandbox_shims","de","J","init_jsx_runtime","ce","init_framer_motion_DhsWWWsN","useInView","init_framer_DymZktPS","useIsStaticRenderer","formatWithPattern","intPart","decimalPart","value","decimals","groupedInt","groupingSeparator","withCountUp","hostRef","didAnimateRef","originalValuesRef","rafIdRef","isStaticRenderer","isInView","attachRef","node","ref","parseTextNode","originalText","textNode","match","prefix","rawNumeric","suffix","hasCommaGrouping","hasDotGrouping","normalized","target","collectNumericTextNodes","walker","collected","current","parsed","reducedMotion","nodes","startedAt","tick","elapsed","now","t","eased","item","displayValue","element","Component","props","init_StatsCountUp"],"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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"}