{"version":3,"file":"CountUp.C7j7OSsJ.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/XMfuL8tAlkGgDgzVkKvd/GokfSQeOvm4bT0N82C28/CountUp.js"],"sourcesContent":["// CountUp – zählt beim Reinscrollen von 0 auf den Zielwert hoch.\n// @framerSupportedLayoutWidth auto\n// @framerSupportedLayoutHeight auto\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function CountUp(props){const{value,prefix,suffix,decimals,duration,fontSize,numberColor,suffixColor}=props;const ref=useRef(null);const started=useRef(false);const[display,setDisplay]=useState(0);useEffect(()=>{const el=ref.current;if(!el)return;const obs=new IntersectionObserver(entries=>{entries.forEach(e=>{if(e.isIntersecting&&!started.current){started.current=true;const start=performance.now();const dur=Math.max(duration,.2)*1e3;const tick=now=>{const t=Math.min((now-start)/dur,1);const eased=1-Math.pow(1-t,3);setDisplay(value*eased);if(t<1)requestAnimationFrame(tick);else setDisplay(value);};requestAnimationFrame(tick);}});},{threshold:.4});obs.observe(el);return()=>obs.disconnect();},[value,duration]);const formatted=new Intl.NumberFormat(\"de-DE\",{minimumFractionDigits:decimals,maximumFractionDigits:decimals}).format(decimals?display:Math.round(display));return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{display:\"flex\",alignItems:\"flex-end\",whiteSpace:\"nowrap\",fontFamily:\"Sora, sans-serif\",fontWeight:700,fontSize:fontSize,lineHeight:\"1em\",letterSpacing:\"-0.03em\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{color:numberColor},children:[prefix,formatted]}),suffix?/*#__PURE__*/_jsx(\"span\",{style:{color:suffixColor},children:suffix}):null]});}CountUp.defaultProps={value:100,prefix:\"\",suffix:\"\",decimals:0,duration:2,fontSize:48,numberColor:\"#FFFFFF\",suffixColor:\"#2AAE6A\"};addPropertyControls(CountUp,{value:{type:ControlType.Number,title:\"Wert\",defaultValue:100,displayStepper:false,min:0,max:1e6,step:1},prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},decimals:{type:ControlType.Number,title:\"Dezimal\",defaultValue:0,min:0,max:2,step:1,displayStepper:true},duration:{type:ControlType.Number,title:\"Dauer (s)\",defaultValue:2,min:.2,max:6,step:.1},fontSize:{type:ControlType.Number,title:\"Gr\\xf6\\xdfe\",defaultValue:48,min:12,max:120,step:1},numberColor:{type:ControlType.Color,title:\"Zahl\",defaultValue:\"#FFFFFF\"},suffixColor:{type:ControlType.Color,title:\"Einheit\",defaultValue:\"#2AAE6A\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CountUp\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CountUp.map"],"mappings":"+LAG0J,SAAwB,EAAQ,EAAM,CAAC,GAAK,CAAC,QAAM,SAAO,SAAO,WAAS,WAAS,WAAS,cAAY,eAAa,EAAY,EAAIA,EAAO,IAAI,EAAQ,EAAQA,EAAO,EAAK,EAAO,CAAC,EAAQ,GAAYC,EAAS,CAAC,EAAE,MAAc,CAAC,IAAM,EAAG,EAAI,QAAQ,GAAG,CAAC,EAAG,OAAO,IAAM,EAAI,IAAI,qBAAqB,GAAS,CAAC,EAAQ,QAAQ,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAQ,QAAQ,CAAC,EAAQ,QAAQ,GAAK,IAAM,EAAM,YAAY,IAAI,EAAQ,EAAI,KAAK,IAAI,EAAS,EAAE,EAAE,IAAU,EAAK,GAAK,CAAC,IAAM,EAAE,KAAK,KAAK,EAAI,GAAO,EAAI,CAAC,EAAQ,EAAM,GAAW,EAAE,IAAE,EAAG,EAAW,EAAM,CAAK,EAAK,EAAE,EAAE,sBAAsB,CAAI,EAAO,EAAW,CAAK,CAAE,EAAE,sBAAsB,CAAI,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAkB,OAAhB,EAAI,QAAQ,CAAE,MAAY,EAAI,WAAW,CAAE,EAAE,CAAC,EAAM,CAAQ,CAAC,EAAE,IAAM,EAAU,IAAI,KAAK,aAAa,QAAQ,CAAC,sBAAsB,EAAS,sBAAsB,CAAQ,CAAC,CAAC,CAAC,OAAO,EAAS,EAAQ,KAAK,MAAM,CAAO,CAAC,EAAE,OAAoB,EAAM,MAAM,CAAK,MAAI,MAAM,CAAC,QAAQ,OAAO,WAAW,WAAW,WAAW,SAAS,WAAW,mBAAmB,WAAW,IAAa,WAAS,WAAW,MAAM,cAAc,SAAS,EAAE,SAAS,CAAc,EAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAW,EAAE,SAAS,CAAC,EAAO,CAAS,CAAC,CAAC,EAAE,EAAoB,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,CAAW,EAAE,SAAS,CAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,iBAA/1C,IAA6C,IAAoD,EAA+vC,EAAQ,aAAa,CAAC,MAAM,IAAI,OAAO,GAAG,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,YAAY,UAAU,YAAY,SAAS,EAAE,EAAoB,EAAQ,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,eAAe,GAAM,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAI,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,QAAc,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,aAAa,SAAS,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,aAAa,SAAS,CAAC,CAAC"}