{"version":3,"file":"Lifetime_Revenue_Fetch.FZlL5S-R.mjs","names":["React.useState","React.useRef","React.useCallback","React.useMemo","p","OdometerChar"],"sources":["https:/framerusercontent.com/modules/TOCEtxfYSPGxa4aIn8xf/3qVATvXZGkqKy2UU82mz/Lifetime_Revenue_Fetch.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createClient}from\"@supabase/supabase-js\";// ============================================\n// SUPABASE CONFIGURATION\n// ============================================\nconst SUPABASE_URL=\"https://hvlerygshdmmtblrwrxv.supabase.co\";const SUPABASE_ANON_KEY=\"sb_publishable_P8VKEJupyjtOYP38wcQzXg_gf1dWS4z\";const supabase=createClient(SUPABASE_URL,SUPABASE_ANON_KEY);// ============================================\n// GLOBAL CACHE\n// ============================================\nlet globalCache={data:null,fetchedAt:null,promise:null,listeners:new Set,statKeys:[],lastError:\"\"};// ============================================\n// SHARED INTERSECTION OBSERVER\n// ============================================\nlet sharedObserver=null;const observerCallbacks=new Map;function getSharedObserver(){if(!sharedObserver){sharedObserver=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting){const callback=observerCallbacks.get(entry.target);if(callback){callback();sharedObserver?.unobserve(entry.target);observerCallbacks.delete(entry.target);}}});},{threshold:.15,rootMargin:\"-30px\"});}return sharedObserver;}function notifyListeners(){globalCache.listeners.forEach(fn=>fn());}// ============================================\n// HELPERS\n// ============================================\nfunction formatAge(seconds){if(seconds==null||!Number.isFinite(seconds)||seconds<0)return\"\";if(seconds<60)return`${Math.floor(seconds)}s ago`;const mins=Math.floor(seconds/60);const secs=Math.floor(seconds%60);return`${mins}m ${secs}s ago`;}function stripWeirdSpaces(s){return String(s).replace(/[\\s\\u00A0\\u202F\\u2009\\u200A\\u2007]+/g,\"\");}function formatNumber(n,decimals){if(!Number.isFinite(n))return\"—\";return stripWeirdSpaces(n.toLocaleString(\"en-GB\",{minimumFractionDigits:decimals,maximumFractionDigits:decimals,useGrouping:true}));}function isDigitChar(ch){return ch>=\"0\"&&ch<=\"9\";}function toNumberLoose(v){if(v==null)return NaN;if(typeof v===\"number\")return Number.isFinite(v)?v:NaN;const s=String(v).trim();if(!s)return NaN;const cleaned=s.replace(/[\\s,\\u00A0\\u202F\\u2009\\u200A\\u2007]/g,\"\");const m=cleaned.match(/-?\\d+(\\.\\d+)?/);if(!m)return NaN;const n=parseFloat(m[0]);return Number.isFinite(n)?n:NaN;}function alignPrevToNext(prev,next){const prevArr=Array.from(prev);const nextArr=Array.from(next);const nextLen=nextArr.length;const prevLen=prevArr.length;const shift=nextLen-prevLen;const alignedPrev=nextArr.map((_,i)=>{const j=i-shift;return j>=0?prevArr[j]:\"\";});return{prevChars:alignedPrev,nextChars:nextArr};}function getStatValue(record,statKey){if(!record||!statKey)return NaN;return toNumberLoose(record[statKey]);}function detectNumericKeysFromRecords(sampleRecord){if(!sampleRecord||typeof sampleRecord!==\"object\")return[];const keys=Object.keys(sampleRecord).filter(k=>{if(k===\"key\"||k===\"updatedAt\")return false;return Number.isFinite(toNumberLoose(sampleRecord[k]));});keys.sort((a,b)=>{if(a===\"lifetimeRevenue\")return-1;if(b===\"lifetimeRevenue\")return 1;return a.localeCompare(b);});return keys;}function pickEffectiveStatKey(record,mode,manualKey){if(!record||typeof record!==\"object\")return\"lifetimeRevenue\";if(mode===\"manual\")return manualKey||\"lifetimeRevenue\";if(Number.isFinite(toNumberLoose(record[\"lifetimeRevenue\"]))){return\"lifetimeRevenue\";}for(const k of globalCache.statKeys||[]){if(Number.isFinite(toNumberLoose(record[k])))return k;}for(const k of Object.keys(record)){if(k===\"key\"||k===\"updatedAt\")continue;if(Number.isFinite(toNumberLoose(record[k])))return k;}return\"lifetimeRevenue\";}function resolveAffixes(preset,display,prefixText,suffixText){if(preset===\"currency\")return{showPrefix:true,showSuffix:false,prefix:\"\\xa3\",suffix:\"\"};if(preset===\"x\")return{showPrefix:false,showSuffix:true,prefix:\"\",suffix:\"x\"};if(preset===\"percent\")return{showPrefix:false,showSuffix:true,prefix:\"\",suffix:\"%\"};const showPrefix=display===\"prefix\"||display===\"both\";const showSuffix=display===\"suffix\"||display===\"both\";return{showPrefix,showSuffix,prefix:prefixText??\"\",suffix:suffixText??\"\"};}// ============================================\n// FETCH FROM SUPABASE\n// ============================================\nasync function fetchAllClientsFromSupabase(){if(globalCache.data){return globalCache.data;}if(globalCache.promise){return globalCache.promise;}globalCache.promise=(async()=>{globalCache.lastError=\"\";try{// Use client_stats - mutant names are anonymized but data is real\nconst{data,error}=await supabase.from(\"client_stats\").select(\"*\");if(error){throw error;}if(!data||data.length===0){throw new Error(\"No data returned from client_stats\");}return buildCacheFromData(data);}catch(e){globalCache.lastError=e?.message?String(e.message):\"Unknown fetch error\";throw e;}finally{globalCache.promise=null;}})();try{return await globalCache.promise;}catch(e){globalCache.promise=null;throw e;}}function buildCacheFromData(data){const dataMap=new Map;data.forEach(record=>{if(record.client_slug){dataMap.set(record.client_slug,{key:record.client_slug,...record,updatedAt:new Date().toISOString()});}});const firstKey=Array.from(dataMap.keys())[0];const firstRecord=firstKey?dataMap.get(firstKey):null;globalCache.statKeys=detectNumericKeysFromRecords(firstRecord);globalCache.data=dataMap;globalCache.fetchedAt=new Date;notifyListeners();return dataMap;}// ============================================\n// ODOMETER CHAR\n// ============================================\nconst OdometerChar=/*#__PURE__*/React.memo(function OdometerChar({prevCh,nextCh,direction,durationMs,delayMs,style,digitWidthEm,sepWidthEm,commaLeftTuckEm,commaRightTuckEm,decimalTuckEm}){if(nextCh===\"\")return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:0}});if(!isDigitChar(nextCh)){const leftTuck=nextCh===\",\"?Number(commaLeftTuckEm??0):nextCh===\".\"?Number(decimalTuckEm??0):0;const rightTuck=nextCh===\",\"?Number(commaRightTuckEm??0):0;return /*#__PURE__*/_jsx(\"span\",{style:{...style,display:\"inline-block\",height:\"1em\",lineHeight:\"1em\",verticalAlign:\"baseline\",width:\"auto\",maxWidth:sepWidthEm?`${sepWidthEm}em`:\"none\",textAlign:\"left\",margin:0,padding:0,marginLeft:leftTuck?`-${leftTuck}em`:0,marginRight:rightTuck?`-${rightTuck}em`:0},children:nextCh});}const prevDigit=isDigitChar(prevCh)?prevCh.charCodeAt(0)-48:0;const nextDigit=nextCh.charCodeAt(0)-48;const strip=\"0123456789\".repeat(3);const base=10;const steps=direction>=0?(nextDigit-prevDigit+10)%10:(prevDigit-nextDigit+10)%10;const startIndex=base+prevDigit;const endIndex=direction>=0?startIndex+steps:startIndex-steps;const safeEndIndex=Math.max(0,Math.min(strip.length-1,endIndex));const[translateEm,setTranslateEm]=React.useState(-startIndex);React.useLayoutEffect(()=>{let raf1=0;let raf2=0;let delayTimer=null;setTranslateEm(-startIndex);raf1=requestAnimationFrame(()=>{raf2=requestAnimationFrame(()=>{delayTimer=setTimeout(()=>{setTranslateEm(-safeEndIndex);},Math.max(0,delayMs||0));});});return()=>{cancelAnimationFrame(raf1);cancelAnimationFrame(raf2);if(delayTimer)clearTimeout(delayTimer);};},[startIndex,safeEndIndex,delayMs,prevCh,nextCh,direction]);return /*#__PURE__*/_jsx(\"span\",{style:{...style,display:\"inline-block\",height:\"1em\",lineHeight:\"1em\",overflow:\"hidden\",verticalAlign:\"baseline\",width:`${digitWidthEm}em`,minWidth:`${digitWidthEm}em`,maxWidth:`${digitWidthEm}em`,textAlign:\"right\",margin:0,padding:0},children:/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",transform:`translateY(${translateEm}em)`,transitionProperty:\"transform\",transitionDuration:`${durationMs}ms`,transitionDelay:`0ms`,transitionTimingFunction:\"cubic-bezier(0.2, 0.9, 0.2, 1)\",willChange:\"transform\"},children:strip.split(\"\").map((d,i)=>/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",height:\"1em\",lineHeight:\"1em\"},children:d},i))})});});// ============================================\n// COMPONENT\n// ============================================\nexport default function LifetimeRevenueTicker({animationStyle,animateOnView,scrollDelay,staggerDelay,autoRefresh,dataMode,manualValue,slug,totalMcsInstallations,statistic,hideIfZero,formatPreset,affixDisplay,prefixText,suffixText,prefixMode,prefixFontSize,prefixGapPx,suffixFontSize,suffixGapPx,decimals,showAge,debugMode,valueFontFamily,valueFontSize,valueFontWeight,valueLetterSpacing,valueLineHeight,valueColor,metaFontFamily,metaFontSize,metaFontWeight,metaLetterSpacing,metaLineHeight,metaColor,lineGap,animateDurationMs,odometerDurationMs,initialCountDurationMs,digitWidthEm,separatorWidthEm,commaLeftTuckEm,commaRightTuckEm,decimalTuckEm,textAlign}){const[status,setStatus]=React.useState(\"idle\");const[displayValue,setDisplayValue]=React.useState(0);const[nowTick,setNowTick]=React.useState(Date.now());const[isInView,setIsInView]=React.useState(false);const containerRef=React.useRef(null);const targetValueRef=React.useRef(null);const animationRef=React.useRef(null);const didInitialRollRef=React.useRef(false);const lastNumericRef=React.useRef(null);const[direction,setDirection]=React.useState(1);const prevStringRef=React.useRef(\"0\");const[renderPrev,setRenderPrev]=React.useState(\"0\");const[renderNext,setRenderNext]=React.useState(\"0\");const debugRef=React.useRef({effectiveKey:\"\",raw:\"\"});React.useEffect(()=>{if(!animateOnView){setIsInView(true);return;}if(!containerRef.current)return;const element=containerRef.current;const observer=getSharedObserver();const callback=()=>{if(scrollDelay>0){setTimeout(()=>setIsInView(true),scrollDelay);}else{setIsInView(true);}};observerCallbacks.set(element,callback);observer.observe(element);return()=>{observer.unobserve(element);observerCallbacks.delete(element);};},[animateOnView,scrollDelay]);const startCounting=React.useCallback((from,to,durationOverrideMs)=>{if(animationRef.current){cancelAnimationFrame(animationRef.current);animationRef.current=null;}if(!Number.isFinite(from)||!Number.isFinite(to)||from===to){setDisplayValue(to);return;}const diff=to-from;const dir=diff>=0?1:-1;setDirection(dir);const durationMs=durationOverrideMs??animateDurationMs;const start=performance.now();const easeOutCubic=t=>{return 1-Math.pow(1-t,3);};const tick=t=>{const elapsed=t-start;const progress=Math.min(1,elapsed/durationMs);const eased=easeOutCubic(progress);const current=from+diff*eased;const rounded=Math.round(current*Math.pow(10,decimals))/Math.pow(10,decimals);setDisplayValue(rounded);if(progress<1)animationRef.current=requestAnimationFrame(tick);else{setDisplayValue(to);animationRef.current=null;}};animationRef.current=requestAnimationFrame(tick);},[animateDurationMs,decimals]);React.useEffect(()=>{return()=>{if(animationRef.current)cancelAnimationFrame(animationRef.current);};},[]);React.useEffect(()=>{if(dataMode===\"manual\"&&isInView){const parsed=toNumberLoose(manualValue);if(Number.isFinite(parsed)){const nextRounded=Math.round(parsed*Math.pow(10,decimals))/Math.pow(10,decimals);if(animationStyle===\"none\"){setDisplayValue(nextRounded);setStatus(\"ok\");return;}const delayTimer=setTimeout(()=>{setDisplayValue(prev=>{if(!didInitialRollRef.current){didInitialRollRef.current=true;targetValueRef.current=nextRounded;lastNumericRef.current=0;setDirection(1);setStatus(\"ok\");const duration=animationStyle===\"count\"?animateDurationMs:initialCountDurationMs;startCounting(0,nextRounded,duration);return 0;}if(prev!==nextRounded&&targetValueRef.current!==nextRounded){targetValueRef.current=nextRounded;startCounting(prev,nextRounded);}return prev;});},staggerDelay);setStatus(\"ok\");return()=>clearTimeout(delayTimer);}else{setDisplayValue(0);setStatus(\"ok\");}}else if(dataMode!==\"manual\"){didInitialRollRef.current=false;}},[dataMode,manualValue,decimals,startCounting,initialCountDurationMs,isInView,staggerDelay,animationStyle,animateDurationMs]);const updateFromCache=React.useCallback(()=>{if(dataMode===\"manual\"){return;}if(!globalCache.data){return;}const effectiveKey=statistic||\"alltimesalesrevenue\";let nextRounded;let raw;// Special handling for MCS percentage\nif(effectiveKey===\"mcspercentage\"){if(!totalMcsInstallations||totalMcsInstallations<=0){setDisplayValue(0);setStatus(\"ok\");debugRef.current={effectiveKey:\"mcspercentage (need to set Total MCS Installations)\",raw:\"0\"};return;}// Get sales count for the specified period\nlet ourSalesCount=0;if(!slug||slug.trim()===\"\"){// TOTAL MODE - sum sales across all clients\nglobalCache.data.forEach(record=>{const periodKey=effectiveKey.replace(\"mcspercentage\",\"salescount\");// Default to this month sales count if no period specified\nconst salesCount=getStatValue(record,\"thismonthsalescount\");if(Number.isFinite(salesCount)){ourSalesCount+=salesCount;}});}else{// SINGLE CLIENT MODE\nconst record=globalCache.data.get(slug);if(record){const salesCount=getStatValue(record,\"thismonthsalescount\");if(Number.isFinite(salesCount)){ourSalesCount=salesCount;}}}// Calculate percentage: (our sales / total MCS installations) * 100\nconst percentage=ourSalesCount/totalMcsInstallations*100;nextRounded=Math.round(percentage*Math.pow(10,decimals))/Math.pow(10,decimals);debugRef.current={effectiveKey:`mcspercentage (${ourSalesCount} / ${totalMcsInstallations} MCS installs)`,raw:String(percentage)};}else if(!slug||slug.trim()===\"\"){// REGULAR TOTAL MODE\n// Special handling for AOV - calculate from totals, don't sum individual AOVs\nif(effectiveKey.includes(\"aov\")){// Extract the period prefix (e.g., \"alltime\", \"last7days\", etc.)\nconst periodPrefix=effectiveKey.replace(\"aov\",\"\");const revenueKey=`${periodPrefix}salesrevenue`;const countKey=`${periodPrefix}salescount`;let totalRevenue=0;let totalCount=0;globalCache.data.forEach(record=>{const revenue=getStatValue(record,revenueKey);const count=getStatValue(record,countKey);if(Number.isFinite(revenue))totalRevenue+=revenue;if(Number.isFinite(count))totalCount+=count;});// Calculate AOV from totals\nconst aov=totalCount>0?totalRevenue/totalCount:0;raw=aov;debugRef.current={effectiveKey:`${effectiveKey} (\\xa3${totalRevenue.toLocaleString()} / ${totalCount} sales)`,raw:String(aov)};nextRounded=Math.round(aov*Math.pow(10,decimals))/Math.pow(10,decimals);}else{// Regular sum for non-AOV stats\nlet total=0;let count=0;globalCache.data.forEach(record=>{const value=getStatValue(record,effectiveKey);if(Number.isFinite(value)){total+=value;count++;}});raw=total;debugRef.current={effectiveKey:`${effectiveKey} (TOTAL across ${count} clients)`,raw:String(total)};nextRounded=Math.round(total*Math.pow(10,decimals))/Math.pow(10,decimals);}}else{// SINGLE CLIENT MODE\nconst record=globalCache.data.get(slug);if(!record){setStatus(\"missing\");setDisplayValue(0);debugRef.current={effectiveKey:\"\",raw:\"\"};return;}// SECURITY: Hide data for mutant clients\nif(record.is_mutant===true){setStatus(\"mutant\");setDisplayValue(0);debugRef.current={effectiveKey:\"mutant client\",raw:\"hidden for security\"};return;}raw=record?.[effectiveKey];debugRef.current={effectiveKey,raw:raw==null?\"\":String(raw)};const next=getStatValue(record,effectiveKey);if(!Number.isFinite(next)){setDisplayValue(0);setStatus(\"ok\");return;}nextRounded=Math.round(next*Math.pow(10,decimals))/Math.pow(10,decimals);}if(animationStyle===\"none\"){setDisplayValue(nextRounded);setStatus(\"ok\");return;}const delayTimer=setTimeout(()=>{setDisplayValue(prev=>{if(!didInitialRollRef.current){didInitialRollRef.current=true;targetValueRef.current=nextRounded;lastNumericRef.current=0;setDirection(1);const duration=animationStyle===\"count\"?animateDurationMs:initialCountDurationMs;startCounting(0,nextRounded,duration);return 0;}if(prev!==nextRounded&&targetValueRef.current!==nextRounded){targetValueRef.current=nextRounded;startCounting(prev,nextRounded);}return prev;});},staggerDelay);setStatus(\"ok\");return()=>clearTimeout(delayTimer);},[dataMode,slug,decimals,startCounting,initialCountDurationMs,statistic,staggerDelay,animationStyle,animateDurationMs,totalMcsInstallations]);const load=React.useCallback(async()=>{if(dataMode===\"manual\"){return;}try{setStatus(\"loading\");await fetchAllClientsFromSupabase();updateFromCache();}catch(e){setStatus(\"error\");}},[dataMode,updateFromCache]);React.useEffect(()=>{if(dataMode===\"manual\"||!isInView)return;globalCache.listeners.add(updateFromCache);if(globalCache.data){updateFromCache();}return()=>globalCache.listeners.delete(updateFromCache);},[dataMode,updateFromCache,isInView]);React.useEffect(()=>{if(dataMode===\"manual\"||!globalCache.data)return;updateFromCache();},[statistic,dataMode,updateFromCache]);React.useEffect(()=>{if(dataMode===\"manual\"||!isInView){return;}load();const isFirstInstance=globalCache.listeners.size===1;if(isFirstInstance&&autoRefresh){const id=setInterval(()=>{if(globalCache.data){load();}},6e4);return()=>{clearInterval(id);};}},[dataMode,load,isInView,autoRefresh]);React.useEffect(()=>{if(!showAge&&dataMode!==\"manual\")return;const id=setInterval(()=>setNowTick(Date.now()),1e3);return()=>clearInterval(id);},[showAge,dataMode]);const ageSeconds=dataMode===\"manual\"?Math.floor(nowTick%6e4/1e3):globalCache.fetchedAt?Math.floor((nowTick-globalCache.fetchedAt.getTime())/1e3):null;const ageText=ageSeconds==null?\"\":formatAge(ageSeconds);const formattedNumber=formatNumber(displayValue,decimals);React.useEffect(()=>{if(Number.isFinite(displayValue)){const last=lastNumericRef.current;const cur=displayValue;if(last!=null&&Number.isFinite(last))setDirection(cur>=last?1:-1);lastNumericRef.current=cur;}const prevStr=prevStringRef.current||\"0\";setRenderPrev(prevStr);setRenderNext(formattedNumber);prevStringRef.current=formattedNumber;},[formattedNumber,displayValue]);const valueStyle=React.useMemo(()=>({fontFamily:valueFontFamily,fontSize:valueFontSize,fontWeight:valueFontWeight,letterSpacing:valueLetterSpacing,lineHeight:valueLineHeight,color:valueColor,fontVariantNumeric:\"tabular-nums\",fontFeatureSettings:'\"tnum\" 1, \"lnum\" 1',fontKerning:\"none\"}),[valueFontFamily,valueFontSize,valueFontWeight,valueLetterSpacing,valueLineHeight,valueColor]);const prefixStyle=React.useMemo(()=>({...valueStyle,fontSize:prefixFontSize??valueFontSize*.2,display:\"inline-block\",marginRight:prefixMode===\"accounting\"?0:prefixGapPx??4,verticalAlign:\"baseline\",lineHeight:\"1em\"}),[valueStyle,prefixFontSize,valueFontSize,prefixMode,prefixGapPx]);const suffixStyle=React.useMemo(()=>({...valueStyle,fontSize:suffixFontSize??valueFontSize*.55,display:\"inline-block\",marginLeft:suffixGapPx??2,verticalAlign:\"baseline\",lineHeight:\"1em\"}),[valueStyle,suffixFontSize,valueFontSize,suffixGapPx]);const metaStyle=React.useMemo(()=>({fontFamily:metaFontFamily,fontSize:metaFontSize,fontWeight:metaFontWeight,letterSpacing:metaLetterSpacing,lineHeight:metaLineHeight,color:metaColor}),[metaFontFamily,metaFontSize,metaFontWeight,metaLetterSpacing,metaLineHeight,metaColor]);const{prevChars,nextChars}=alignPrevToNext(renderPrev,renderNext);const perIndex=React.useMemo(()=>{if(animationStyle!==\"odometer\"){return new Map;}const digitPositions=[];nextChars.forEach((ch,idx)=>{if(isDigitChar(ch))digitPositions.push(idx);});const digitCount=digitPositions.length;const maxExtraDelay=Math.min(800,Math.max(0,odometerDurationMs));const minDur=Math.max(80,Math.floor(odometerDurationMs*.55));const maxDur=Math.max(minDur,odometerDurationMs);const map=new Map;digitPositions.forEach((charIndex,i)=>{const p=digitCount<=1?0:i/(digitCount-1);const curve=p*p*p*p;const delayMs=Math.round(curve*maxExtraDelay);const durMs=Math.round(minDur+curve*(maxDur-minDur));map.set(charIndex,{delayMs,durMs});});return map;},[nextChars,odometerDurationMs,animationStyle]);const aff=React.useMemo(()=>resolveAffixes(formatPreset,affixDisplay,prefixText,suffixText),[formatPreset,affixDisplay,prefixText,suffixText]);const showValue=true;const showPrefix=showValue&&aff.showPrefix&&!!aff.prefix;const showSuffix=showValue&&aff.showSuffix&&!!aff.suffix;// SECURITY: Don't render component for mutant clients\n// OPTIONAL: Hide if value is zero (based on hideIfZero prop)\nif(status===\"mutant\"||hideIfZero&&displayValue===0){return null;}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{display:\"inline-flex\",flexDirection:\"column\",gap:lineGap,alignItems:textAlign===\"left\"?\"flex-start\":textAlign===\"right\"?\"flex-end\":\"center\",width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{...valueStyle,display:\"flex\",alignItems:\"baseline\",justifyContent:prefixMode===\"accounting\"?\"space-between\":\"flex-start\",width:prefixMode===\"accounting\"?\"100%\":\"auto\"},children:[showPrefix&&prefixMode===\"accounting\"&&/*#__PURE__*/_jsx(\"span\",{style:prefixStyle,children:aff.prefix}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"baseline\",gap:0},children:[showPrefix&&prefixMode===\"inline\"&&/*#__PURE__*/_jsx(\"span\",{style:prefixStyle,children:aff.prefix}),/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-flex\",gap:0,alignItems:\"baseline\",lineHeight:\"1em\",whiteSpace:\"nowrap\"},children:animationStyle===\"none\"?/*#__PURE__*/_jsx(\"span\",{style:valueStyle,children:formattedNumber}):animationStyle===\"count\"?nextChars.map((ch,idx)=>{if(!isDigitChar(ch)){const leftTuck=ch===\",\"?Number(commaLeftTuckEm??0):ch===\".\"?Number(decimalTuckEm??0):0;const rightTuck=ch===\",\"?Number(commaRightTuckEm??0):0;return /*#__PURE__*/_jsx(\"span\",{style:{...valueStyle,display:\"inline-block\",marginLeft:leftTuck?`-${leftTuck}em`:0,marginRight:rightTuck?`-${rightTuck}em`:0},children:ch},idx);}return /*#__PURE__*/_jsx(\"span\",{style:{...valueStyle,display:\"inline-block\",width:`${digitWidthEm}em`,minWidth:`${digitWidthEm}em`,textAlign:\"right\"},children:ch},idx);}):nextChars.map((ch,idx)=>{const cfg=perIndex.get(idx);return /*#__PURE__*/_jsx(OdometerChar,{prevCh:prevChars[idx]??\"\",nextCh:ch??\"\",direction:direction,durationMs:cfg?.durMs??odometerDurationMs,delayMs:cfg?.delayMs??0,style:valueStyle,digitWidthEm:digitWidthEm,sepWidthEm:separatorWidthEm,commaLeftTuckEm:commaLeftTuckEm,commaRightTuckEm:commaRightTuckEm,decimalTuckEm:decimalTuckEm},idx);})}),showSuffix&&/*#__PURE__*/_jsx(\"span\",{style:suffixStyle,children:aff.suffix})]})]}),showAge&&/*#__PURE__*/_jsxs(\"span\",{style:metaStyle,children:[\"Refreshed \",ageText]}),debugMode&&/*#__PURE__*/_jsx(\"span\",{style:{...metaStyle,whiteSpace:\"pre-wrap\",fontSize:11,color:status===\"error\"?\"red\":metaColor},children:React.useMemo(()=>dataMode===\"manual\"?`mode: manual\nmanualValue: ${manualValue}\nparsed: ${toNumberLoose(manualValue)}\ndisplayValue: ${displayValue}`:`STATUS: ${status}\nERROR: ${globalCache.lastError||\"(none)\"}\nSLUG: ${slug||\"(EMPTY - TOTAL MODE)\"}\nSTATISTIC: ${statistic||\"(none)\"}\nEFFECTIVE KEY: ${debugRef.current.effectiveKey||\"(none)\"}\nRAW VALUE: ${debugRef.current.raw||\"(none)\"}\nCACHE EXISTS: ${globalCache.data?\"YES\":\"NO\"}\nCACHE SIZE: ${globalCache.data?.size||0} clients\nDISPLAY VALUE: ${displayValue}`,[dataMode,manualValue,displayValue,status,slug,statistic])})]});}// ============================================\n// PROPERTY CONTROLS\n// ============================================\naddPropertyControls(LifetimeRevenueTicker,{animationStyle:{type:ControlType.Enum,title:\"Animation style\",options:[\"odometer\",\"count\",\"none\"],optionTitles:[\"Odometer (full)\",\"Count up (simple)\",\"None (instant)\"],defaultValue:\"odometer\",description:\"Odometer: full rolling animation | Count: numbers tick up | None: instant display\"},animateOnView:{type:ControlType.Boolean,title:\"Animate on scroll\",defaultValue:false,description:\"Trigger animation when scrolled into view\",hidden(props){return props.animationStyle===\"none\";}},scrollDelay:{type:ControlType.Number,title:\"Scroll delay (ms)\",defaultValue:0,min:0,max:2e3,step:50,description:\"Delay after entering view before animating\",hidden(props){return props.animationStyle===\"none\"||props.animateOnView===false;}},staggerDelay:{type:ControlType.Number,title:\"Stagger delay (ms)\",defaultValue:0,min:0,max:2e3,step:50,description:\"Delay before ticker starts counting (useful for staggering multiple tickers)\",hidden(props){return props.animationStyle===\"none\";}},autoRefresh:{type:ControlType.Boolean,title:\"Auto-refresh data\",defaultValue:true,description:\"Automatically fetch new data every 60s (PERFORMANCE: disable if you have 50+ components)\",hidden(props){return props.dataMode===\"manual\";}},dataMode:{type:ControlType.Enum,title:\"Data mode\",options:[\"supabase\",\"manual\"],optionTitles:[\"Fetch from Supabase\",\"Manual input\"],defaultValue:\"supabase\"},manualValue:{type:ControlType.String,title:\"Manual value\",defaultValue:\"12345\",description:\"Enter any number (supports \\xa31,234, 12%, 3.5x, etc.)\",hidden(props){return props.dataMode!==\"manual\";}},slug:{type:ControlType.String,title:\"Client Slug\",description:\"Leave empty to show TOTAL across all clients\",defaultValue:\"\",hidden(props){return props.dataMode===\"manual\";}},totalMcsInstallations:{type:ControlType.Number,title:\"Total MCS Installations\",description:\"For calculating % of market share (e.g., 28589 for December)\",defaultValue:0,min:0,step:1,hidden(props){return props.dataMode===\"manual\"||props.statistic!==\"mcspercentage\";}},statistic:{type:ControlType.Enum,title:\"Statistic\",options:[\"alltimesalesrevenue\",\"alltimequotesvalue\",\"alltimetotalrevenue\",\"alltimesalescount\",\"alltimequotescount\",\"alltimetotalleads\",\"alltimeaov\",\"alltimepipeline\",\"thismonthsalesrevenue\",\"thismonthquotesvalue\",\"thismonthtotalrevenue\",\"thismonthsalescount\",\"thismonthquotescount\",\"thismonthtotalleads\",\"thismonthaov\",\"thismonthpipeline\",\"last30dayssalesrevenue\",\"last30daysquotesvalue\",\"last30daystotalrevenue\",\"last30dayssalescount\",\"last30daysquotescount\",\"last30daystotalleads\",\"last30daysaov\",\"last30dayspipeline\",\"last7dayssalesrevenue\",\"last7daysquotesvalue\",\"last7daystotalrevenue\",\"last7dayssalescount\",\"last7daysquotescount\",\"last7daystotalleads\",\"last7daysaov\",\"last7dayspipeline\",\"last24hourssalesrevenue\",\"last24hoursquotesvalue\",\"last24hourstotalrevenue\",\"last24hourssalescount\",\"last24hoursquotescount\",\"last24hourstotalleads\",\"last24hoursaov\",\"last24hourspipeline\",\"mcspercentage\"],optionTitles:[\"💰 All-Time: Sales Revenue\",\"📝 All-Time: Quote Value\",\"💵 All-Time: Total Revenue\",\"✅ All-Time: Sales Count\",\"📋 All-Time: Quotes Count\",\"📊 All-Time: Total Leads\",\"💳 All-Time: AOV (Avg Order Value)\",\"🔮 All-Time: Pipeline Generated\",\"💰 This Month: Sales Revenue\",\"📝 This Month: Quote Value\",\"💵 This Month: Total Revenue\",\"✅ This Month: Sales Count\",\"📋 This Month: Quotes Count\",\"📊 This Month: Total Leads\",\"💳 This Month: AOV (Avg Order Value)\",\"🔮 This Month: Pipeline Generated\",\"💰 Last 30 Days: Sales Revenue\",\"📝 Last 30 Days: Quote Value\",\"💵 Last 30 Days: Total Revenue\",\"✅ Last 30 Days: Sales Count\",\"📋 Last 30 Days: Quotes Count\",\"📊 Last 30 Days: Total Leads\",\"💳 Last 30 Days: AOV (Avg Order Value)\",\"🔮 Last 30 Days: Pipeline Generated\",\"💰 Last 7 Days: Sales Revenue\",\"📝 Last 7 Days: Quote Value\",\"💵 Last 7 Days: Total Revenue\",\"✅ Last 7 Days: Sales Count\",\"📋 Last 7 Days: Quotes Count\",\"📊 Last 7 Days: Total Leads\",\"💳 Last 7 Days: AOV (Avg Order Value)\",\"🔮 Last 7 Days: Pipeline Generated\",\"💰 Last 24 Hours: Sales Revenue\",\"📝 Last 24 Hours: Quote Value\",\"💵 Last 24 Hours: Total Revenue\",\"✅ Last 24 Hours: Sales Count\",\"📋 Last 24 Hours: Quotes Count\",\"📊 Last 24 Hours: Total Leads\",\"💳 Last 24 Hours: AOV (Avg Order Value)\",\"🔮 Last 24 Hours: Pipeline Generated\",\"🎯 % of MCS Installations\"],defaultValue:\"alltimesalesrevenue\",description:\"Select which statistic to display\",hidden(props){return props.dataMode===\"manual\";}},formatPreset:{type:ControlType.Enum,title:\"Format\",options:[\"custom\",\"currency\",\"x\",\"percent\"],optionTitles:[\"Custom\",\"\\xa3 Currency\",\"x Multiplier\",\"% Percent\"],defaultValue:\"currency\"},affixDisplay:{type:ControlType.Enum,title:\"Show\",options:[\"prefix\",\"suffix\",\"both\",\"none\"],optionTitles:[\"Prefix\",\"Suffix\",\"Both\",\"None\"],defaultValue:\"prefix\",hidden(props){return props.formatPreset!==\"custom\";}},prefixText:{type:ControlType.String,title:\"Prefix text\",defaultValue:\"\\xa3\",hidden(props){return props.formatPreset!==\"custom\";}},suffixText:{type:ControlType.String,title:\"Suffix text\",defaultValue:\"x\",hidden(props){return props.formatPreset!==\"custom\";}},prefixMode:{type:ControlType.Enum,title:\"Prefix mode\",options:[\"inline\",\"accounting\"],optionTitles:[\"Inline\",\"Accounting (aligned)\"],defaultValue:\"inline\",description:\"Accounting mode aligns prefix separately for easy comparison\"},prefixFontSize:{type:ControlType.Number,title:\"Prefix size\",defaultValue:6,min:1,max:200,step:1},prefixGapPx:{type:ControlType.Number,title:\"Prefix gap (px)\",defaultValue:4,min:0,max:100,step:1},suffixFontSize:{type:ControlType.Number,title:\"Suffix size\",defaultValue:16,min:1,max:200,step:1},suffixGapPx:{type:ControlType.Number,title:\"Suffix gap (px)\",defaultValue:2,min:0,max:40,step:1},digitWidthEm:{type:ControlType.Number,title:\"Digit width (em)\",defaultValue:.52,min:.35,max:1.2,step:.01},separatorWidthEm:{type:ControlType.Number,title:\"Sep width (em)\",defaultValue:.22,min:.1,max:.8,step:.01},commaLeftTuckEm:{type:ControlType.Number,title:\"Comma left tuck (em)\",defaultValue:.08,min:-.5,max:.5,step:.01,description:\"Negative margin on left side of comma\"},commaRightTuckEm:{type:ControlType.Number,title:\"Comma right tuck (em)\",defaultValue:0,min:-.5,max:.5,step:.01,description:\"Negative margin on right side of comma\"},decimalTuckEm:{type:ControlType.Number,title:\"Decimal tuck (em)\",defaultValue:.08,min:0,max:.25,step:.01},decimals:{type:ControlType.Number,title:\"Decimals\",defaultValue:0,min:0,max:6,step:1},textAlign:{type:ControlType.Enum,title:\"Text align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\"},showAge:{type:ControlType.Boolean,title:\"Show age\",defaultValue:true},debugMode:{type:ControlType.Boolean,title:\"Debug\",defaultValue:false},hideIfZero:{type:ControlType.Boolean,title:\"Hide if zero\",defaultValue:false,description:\"Hide component when value is \\xa30 (keeps mutants always hidden)\"},lineGap:{type:ControlType.Number,title:\"Line gap\",defaultValue:6,min:0,max:40},valueFontFamily:{type:ControlType.String,title:\"Value Font\",defaultValue:\"Inter, system-ui, sans-serif\"},valueFontSize:{type:ControlType.Number,title:\"Value Size\",defaultValue:30,min:8,max:200,step:1},valueFontWeight:{type:ControlType.Number,title:\"Value Weight\",defaultValue:400,min:100,max:900,step:50},valueLetterSpacing:{type:ControlType.String,title:\"Value Spacing\",defaultValue:\"-0.02em\"},valueLineHeight:{type:ControlType.Number,title:\"Value Line H\",defaultValue:1.1,min:.5,max:3,step:.1},valueColor:{type:ControlType.Color,title:\"Value Color\",defaultValue:\"#000000\"},metaFontFamily:{type:ControlType.String,title:\"Meta Font\",defaultValue:\"Inter, system-ui, sans-serif\"},metaFontSize:{type:ControlType.Number,title:\"Meta Size\",defaultValue:12,min:8,max:100,step:1},metaFontWeight:{type:ControlType.Number,title:\"Meta Weight\",defaultValue:500,min:100,max:900,step:50},metaLetterSpacing:{type:ControlType.String,title:\"Meta Spacing\",defaultValue:\"0em\"},metaLineHeight:{type:ControlType.Number,title:\"Meta Line H\",defaultValue:1.2,min:.5,max:3,step:.1},metaColor:{type:ControlType.Color,title:\"Meta Color\",defaultValue:\"rgba(0,0,0,0.65)\"},animateDurationMs:{type:ControlType.Number,title:\"Anim duration (ms)\",defaultValue:5e3,min:500,max:3e4,description:\"Duration for count up animation (fast→slow with easing)\",hidden(props){return props.animationStyle===\"none\";}},initialCountDurationMs:{type:ControlType.Number,title:\"Initial count (ms)\",defaultValue:2e3,min:200,max:5e3,hidden(props){return props.animationStyle===\"none\";}},odometerDurationMs:{type:ControlType.Number,title:\"Odometer roll (ms)\",defaultValue:350,min:50,max:2e3,hidden(props){return props.animationStyle!==\"odometer\";}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LifetimeRevenueTicker\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lifetime_Revenue_Fetch.map"],"mappings":"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"}