{"version":3,"file":"Examples.BKU8TW46.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js","https:/framer.com/m/framer/utils.js@^0.9.0","https:/framerusercontent.com/modules/lEIP04mY4PubhoxTzJHQ/cX9SXKRlGJjAy69u56jb/Examples.js"],"sourcesContent":["export const centerContent = {\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const autoSizingText = {\n    width: \"max-content\",\n    wordBreak: \"break-word\",\n    overflowWrap: \"break-word\",\n    overflow: \"hidden\",\n    whiteSpace: \"pre-wrap\",\n    flexShrink: 0\n};\nexport const defaultContainerStyles = {\n    ...centerContent,\n    overflow: \"hidden\"\n};\nexport const containerStyles = defaultContainerStyles;\nexport const randomColor = ()=>\"#\" + Math.floor(Math.random() * 16777215).toString(16)\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"centerContent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"autoSizingText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultContainerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomColor\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils (framer/utils@0.9.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useEffect,useRef,useState,startTransition}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{randomColor}from\"https://framer.com/m/framer/utils.js@^0.9.0\";// Learn more: https://www.framer.com/developers/overrides/\nconst useStore=createStore({background:\"#0099FF\"});export function withRotate(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{rotate:90},transition:{duration:2}});});}export function withHover(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,whileHover:{scale:1.05}});});}export function withRandomColor(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useStore();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{background:store.background},onClick:()=>{setStore({background:randomColor()});}});});}function setRefValue(ref,value){if(!ref)return;if(typeof ref===\"function\"){ref(value);return;}ref.current=value;}function parseMetricText(value){const trimmed=value.trim();if(!trimmed)return null;// Only animate metric-like values that start with an optional symbol and a number.\nconst match=trimmed.match(RegExp(\"^(?<prefix>(?:[€$\\xa3]\\\\s*)?)(?<number>\\\\d{1,3}(?:\\\\.\\\\d{3})*(?:,\\\\d+)?|\\\\d+(?:,\\\\d+)?)(?<suffix>.*)$\",\"u\"));if(!match?.groups)return null;const prefix=match.groups.prefix??\"\";const numberToken=match.groups.number??\"\";const suffix=match.groups.suffix??\"\";if(!numberToken)return null;const normalized=numberToken.replace(/\\./g,\"\").replace(\",\",\".\");const finalValue=Number.parseFloat(normalized);if(!Number.isFinite(finalValue))return null;// Avoid animating obvious prose blocks.\nif(suffix.length>32&&/[.!?]/.test(suffix))return null;const decimalMatch=numberToken.match(/,(\\d+)$/);const decimals=decimalMatch?decimalMatch[1].length:0;return{node:document.createTextNode(\"\"),prefix,suffix,finalValue,decimals};}function formatDutchNumber(value,decimals){return value.toLocaleString(\"nl-NL\",{minimumFractionDigits:decimals,maximumFractionDigits:decimals});}export function withCountUpOnView(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const animationFramesRef=useRef([]);const[hasAnimated,setHasAnimated]=useState(false);useEffect(()=>{const element=localRef.current;if(!element||hasAnimated)return;if(typeof window===\"undefined\")return;const prefersReducedMotion=typeof window.matchMedia!==\"undefined\"&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const collectTargets=()=>{const walker=document.createTreeWalker(element,NodeFilter.SHOW_TEXT);const targets=[];let current=walker.nextNode();while(current){const textNode=current;const textValue=textNode.textContent??\"\";const parsed=parseMetricText(textValue);const parentText=textNode.parentElement?.textContent??\"\";const parentHasManyWords=parentText.trim().split(/\\s+/).length>6;if(parsed&&!parentHasManyWords){targets.push({...parsed,node:textNode});}current=walker.nextNode();}return targets;};const runAnimation=()=>{const targets=collectTargets();if(targets.length===0){startTransition(()=>setHasAnimated(true));return;}if(prefersReducedMotion){targets.forEach(target=>{target.node.textContent=`${target.prefix}${formatDutchNumber(target.finalValue,target.decimals)}${target.suffix}`;});startTransition(()=>setHasAnimated(true));return;}const durationMs=1500;const startTime=performance.now();const easeOut=t=>1-Math.pow(1-t,3);const frame=now=>{const progress=Math.min((now-startTime)/durationMs,1);const eased=easeOut(progress);targets.forEach(target=>{const currentValue=target.finalValue*eased;target.node.textContent=`${target.prefix}${formatDutchNumber(currentValue,target.decimals)}${target.suffix}`;});if(progress<1){const id=window.requestAnimationFrame(frame);animationFramesRef.current.push(id);}else{startTransition(()=>setHasAnimated(true));}};const id=window.requestAnimationFrame(frame);animationFramesRef.current.push(id);};const observer=new IntersectionObserver(entries=>{const entry=entries[0];if(!entry?.isIntersecting)return;observer.disconnect();runAnimation();},{threshold:.2});observer.observe(element);return()=>{observer.disconnect();animationFramesRef.current.forEach(id=>cancelAnimationFrame(id));animationFramesRef.current=[];};},[hasAnimated]);return /*#__PURE__*/_jsx(Component,{...props,ref:instance=>{localRef.current=instance;setRefValue(ref,instance);}});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withRotate\":{\"type\":\"reactHoc\",\"name\":\"withRotate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHover\":{\"type\":\"reactHoc\",\"name\":\"withHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRandomColor\":{\"type\":\"reactHoc\",\"name\":\"withRandomColor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCountUpOnView\":{\"type\":\"reactHoc\",\"name\":\"withCountUpOnView\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"oOAAa,EAAgB,CACzB,QAAS,OACT,eAAgB,SAChB,WAAY,QAChB,EAWI,CADA,GAAG,CACO,sBEdkpB,SAAS,EAAY,EAAI,EAAM,CAAK,KAAW,IAAG,OAAO,GAAM,WAAW,CAAC,EAAI,CAAK,EAAE,MAAO,CAAC,EAAI,QAAQ,CAAb,CAAmB,CAAC,SAAS,EAAgB,EAAM,CAAC,IAAM,EAAQ,EAAM,KAAK,EAAE,GAAG,CAAC,EAAQ,OAAO,KAC/1B,IAAM,EAAM,EAAQ,MAAM,OAAO,qGAAwG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAO,OAAO,OAAO,KAAK,IAAM,EAAO,EAAM,OAAO,QAAQ,GAAS,EAAY,EAAM,OAAO,QAAQ,GAAS,EAAO,EAAM,OAAO,QAAQ,GAAG,GAAG,CAAC,EAAY,OAAO,KAAK,IAAM,EAAW,EAAY,QAAQ,MAAM,EAAE,CAAC,CAAC,QAAQ,IAAI,GAAG,EAAQ,EAAW,OAAO,WAAW,CAAU,EAC1a,GAD+a,CAAC,OAAO,SAAS,CAAU,GACvc,EAAO,OAAO,IAAI,QAAQ,KAAK,CAAM,EAAE,OAAO,KAAK,IAAM,EAAa,EAAY,MAAM,SAAS,EAAQ,EAAS,EAAa,EAAa,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,SAAS,eAAe,EAAE,EAAE,SAAO,SAAO,aAAW,UAAQ,CAAE,CAAC,SAAS,EAAkB,EAAM,EAAS,CAAC,OAAO,EAAM,eAAe,QAAQ,CAAC,sBAAsB,EAAS,sBAAsB,CAAQ,CAAC,CAAE,CAAC,SAAgB,EAAkB,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAC,IAAM,EAASA,EAAO,IAAI,EAAQ,EAAmBA,EAAO,CAAC,CAAC,EAAO,CAAC,EAAY,GAAgBC,EAAS,EAAK,EAA6+D,OAA3+D,MAAc,CAAC,IAAM,EAAQ,EAAS,QAAwC,GAA7B,CAAC,GAAS,GAA6B,IAAS,OAAY,OAAO,IAAM,EAA4B,EAAO,aAAa,QAAa,EAAO,WAAW,kCAAkC,CAAC,CAAC,QAAc,MAAmB,CAAC,IAAM,EAAO,SAAS,iBAAiB,EAAQ,WAAW,SAAS,EAAQ,EAAQ,CAAC,EAAM,EAAQ,EAAO,SAAS,EAAE,KAAM,GAAQ,CAAC,IAAM,EAAS,EAAuD,EAAO,EAAtC,EAAS,aAAa,EAAyC,EAAiE,GAA9C,EAAS,eAAe,aAAa,GAAA,CAAuC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAK,GAAQ,CAAC,GAAoB,EAAQ,KAAK,CAAC,GAAG,EAAO,KAAK,CAAQ,CAAC,EAAG,EAAQ,EAAO,SAAS,CAAE,CAAC,OAAO,CAAQ,EAAQ,MAAiB,CAAC,IAAM,EAAQ,EAAe,EAAE,GAAG,EAAQ,SAAS,EAAE,CAAC,MAAoB,EAAe,EAAI,CAAC,EAAE,MAAO,CAAC,GAAG,EAAqB,CAAC,EAAQ,QAAQ,GAAQ,CAAC,EAAO,KAAK,YAAY,GAAG,EAAO,SAAS,EAAkB,EAAO,WAAW,EAAO,QAAQ,IAAI,EAAO,QAAS,CAAC,EAAE,MAAoB,EAAe,EAAI,CAAC,EAAE,MAAO,CAAC,IAA4B,EAAU,YAAY,IAAI,EAAQ,EAAQ,GAAG,GAAW,EAAE,IAAE,EAAS,EAAM,GAAK,CAAC,IAAM,EAAS,KAAK,KAAK,EAAI,GAAW,KAAW,CAAC,EAAQ,EAAM,EAAQ,CAAQ,EAAsL,GAApL,EAAQ,QAAQ,GAAQ,CAAC,IAAM,EAAa,EAAO,WAAW,EAAM,EAAO,KAAK,YAAY,GAAG,EAAO,SAAS,EAAkB,EAAa,EAAO,QAAQ,IAAI,EAAO,QAAS,CAAC,EAAK,EAAS,EAAE,CAAC,IAAM,EAAG,EAAO,sBAAsB,CAAK,EAAE,EAAmB,QAAQ,KAAK,CAAE,CAAE,MAAM,MAAoB,EAAe,EAAI,CAAC,CAAG,EAAQ,EAAG,EAAO,sBAAsB,CAAK,EAAE,EAAmB,QAAQ,KAAK,CAAE,CAAE,EAAQ,EAAS,IAAI,qBAAqB,GAAS,CAAa,EAAQ,EAAY,EAAE,iBAAsB,EAAS,WAAW,EAAE,EAAa,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAA4B,OAA1B,EAAS,QAAQ,CAAO,MAAY,CAAC,EAAS,WAAW,EAAE,EAAmB,QAAQ,QAAQ,GAAI,qBAAqB,CAAE,CAAC,EAAE,EAAmB,QAAQ,CAAC,CAAE,CAAE,EAAE,CAAC,CAAW,CAAC,EAAsB,EAAK,EAAU,CAAC,GAAG,EAAM,IAAI,GAAU,CAAC,EAAS,QAAQ,EAAS,EAAY,EAAI,CAAQ,CAAE,CAAC,CAAC,CAAE,CAAC,CAAE,qBAH5nF,IAAwE,IAAqE,IAAqE,EAC7O,EAAY,CAAC,WAAW,SAAS,CAAC"}