{"version":3,"file":"MunkiTextResolver.BVTOpUaf.mjs","names":["React.useState","p","React.useRef","React.useId","React.useEffect","React.useLayoutEffect"],"sources":["https:/framerusercontent.com/modules/Vgf7l6pxSeo6jmtPnOm4/Or9vuHGmguKpr3SUkHXy/MunkiTextResolver.js"],"sourcesContent":["/** MTR-01 / REV A / 0.1.6 — non-selectable text; MRT handoff and native Styled Text retained. */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{createPlan,samplePlan,scheduleFrame}from\"https://framerusercontent.com/modules/eGAfNHFSvIyaSP15OIaf/yYRWtlcfjE0IKtnJtPfQ/MTRCore.js\";// Scope to MTR only. Native Framer Text Style descendants can set their own\n// user-select value, so the descendant rule deliberately wins over those styles.\n// This changes selection only: links, focus, context menus and copy actions keep\n// their normal behavior. Editable controls remain editable/selectable fallbacks.\nconst selectionCSS=`\n[data-mtr-selection=\"none\"], [data-mtr-selection=\"none\"] * {\n    -webkit-user-select: none !important;\n    user-select: none !important;\n}\n[data-mtr-selection=\"none\"] :is(input, textarea, select, [contenteditable]:not([contenteditable=\"false\"])),\n[data-mtr-selection=\"none\"] [contenteditable]:not([contenteditable=\"false\"]) *,\n[contenteditable]:not([contenteditable=\"false\"]) [data-mtr-selection=\"none\"],\n[contenteditable]:not([contenteditable=\"false\"]) [data-mtr-selection=\"none\"] * {\n    -webkit-user-select: text !important;\n    user-select: text !important;\n}`;const useLayout=typeof window===\"undefined\"?React.useEffect:React.useLayoutEffect;const visits=new Map;/** Host route controllers can explicitly begin a fresh presentation visit. */export function resetMTRVisit(visitId){visits.delete(visitId);}function seenSet(visit){if(!visits.has(visit))visits.set(visit,new Set);return visits.get(visit);}const mrtHandoffKey=Symbol.for(\"munki.mrt.handoff.v1\");const mrtHandoffEvent=\"munki:mrt-handoff\";function readMRTHandoff(){if(typeof window===\"undefined\")return null;const state=window[mrtHandoffKey];return state?.version===1?state:null;}function destinationMatches(url){try{// Framer Preview can keep its iframe URL while replacing page roots.\n// MRT itself accepts this same Preview-only route identity exception.\nif(location.hostname.endsWith(\".framercanvas.com\"))return true;const target=new URL(url,location.href);const path=value=>value.replace(/\\/+$/,\"\")||\"/\";return target.origin===location.origin&&path(target.pathname)===path(location.pathname);}catch{return false;}}const viewportTrigger=value=>value===\"VIEWPORT\"||value===\"AFTER MRT\";function viewportVisible(el,margin=0){const b=el.getBoundingClientRect();return b.bottom>margin&&b.top<window.innerHeight-margin&&b.right>0&&b.left<window.innerWidth;}function shapingSupported(text){// Connected/combining scripts need whole-run fallback, never broken glyphs.\nreturn!RegExp(\"[\\\\p{Script=Arabic}\\\\p{Script=Hebrew}\\\\p{Script=Devanagari}\\\\p{Script=Bengali}\\\\p{Script=Thai}\\\\p{Script=Tamil}\\\\p{Script=Telugu}\\\\p{Script=Malayalam}\\\\p{Script=Kannada}\\\\p{Script=Sinhala}\\\\p{Script=Myanmar}\\\\p{Script=Khmer}\\\\p{Script=Syriac}\\\\p{Script=Gujarati}\\\\p{Script=Gurmukhi}\\\\p{Script=Oriya}\\\\p{Script=Tibetan}\\\\u200c\\\\u200d]\",\"u\").test(text);}const FONT_WAIT_MS=1500;function sameRects(a,b){return a.length===b.length&&a.every((row,i)=>row.length===b[i].length&&row.every((r,j)=>{const s=b[i][j];return Math.abs(r.x-s.x)<.05&&Math.abs(r.y-s.y)<.05&&Math.abs(r.width-s.width)<.05&&Math.abs(r.height-s.height)<.05;}));}const nativeFontKeys=[\"fontFamily\",\"fontSize\",\"fontWeight\",\"fontStyle\",\"fontStretch\",\"fontVariant\",\"fontFeatureSettings\",\"fontVariationSettings\",\"fontKerning\",\"fontOpticalSizing\",\"letterSpacing\",\"wordSpacing\",\"lineHeight\",\"textTransform\",\"textAlign\",\"textIndent\",\"direction\",\"color\"];/** Flatten native plain text for scheduling; never replace or rewrite its DOM. */function nativeContent(container){let text=\"\";let pendingBreak=false;const runs=[];function walk(node){if(node.nodeType===3){const value=node.textContent||\"\";if(!value)return;if(pendingBreak&&text&&!text.endsWith(\"\\n\"))text+=\"\\n\";pendingBreak=false;runs.push({node:node,start:text.length,end:text.length+value.length});text+=value;return;}if(node.nodeType!==1)return;const element=node;if(/^(STYLE|SCRIPT|NOSCRIPT)$/.test(element.tagName)||element.getAttribute(\"aria-hidden\")===\"true\")return;if(element.tagName===\"BR\"){text+=\"\\n\";pendingBreak=false;return;}const block=/^(P|DIV|H[1-6]|LI)$/.test(element.tagName);if(block&&text)pendingBreak=true;element.childNodes.forEach(walk);if(block&&text)pendingBreak=true;}container.childNodes.forEach(walk);const first=runs.find(run=>run.node.data.trim())||runs[0];return{text,runs,element:first?.node.parentElement||null};}function nativeSnapshot(container){const content=nativeContent(container);if(!content.element)return null;const font={};const computed=getComputedStyle(content.element);for(const key of nativeFontKeys)if(computed[key])font[key]=computed[key];// Different colors are safe (the native text retains them); mixed shaping\n// metrics require a whole-run renderer, so v1 shows such content directly.\nconst metrics=nativeFontKeys.filter(key=>key!==\"color\"&&key!==\"textAlign\"&&key!==\"textIndent\");const mixed=content.runs.some(run=>{if(!run.node.data.trim()||!run.node.parentElement)return false;const style=getComputedStyle(run.node.parentElement);return metrics.some(key=>style[key]!==computed[key]);});const interactive=container.querySelector(\"a,button,input,textarea,select,[contenteditable='true'],[role='button'],[tabindex]\");return{text:content.text,font:font,error:interactive?\"styled-text-interactive\":mixed?\"styled-text-mixed-typography\":\"\"};}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 320\n * @framerIntrinsicHeight 32\n */export default function MunkiTextResolver(props){const configured={...defaults,...props};const nativeMode=configured.typographySource===\"TEXT_STYLE\";const[native,setNative]=React.useState(null);const p=nativeMode?{...configured,text:native?.text??configured.text,font:native?.font??{},color:native?.font.color??configured.color}:configured;const nativeReady=!nativeMode||native!==null;const staticRenderer=useIsStaticRenderer();const canvas=RenderTarget.current()===RenderTarget.canvas;const root=React.useRef(null);const body=React.useRef(null);const live=React.useRef(p);live.current=p;const reactId=React.useId();const identity=p.instanceId||reactId;const visit=p.visitId||(typeof location!==\"undefined\"?location.pathname:\"server\");const recordKey=`${visit}\\u0000${identity}`;const transaction=React.useRef(null);const initialDone=React.useRef(false);const pendingInitial=React.useRef(false);const mounted=React.useRef(false);const previous=React.useRef({text:p.text,eventId:p.eventId});const localEvent=React.useRef(0);const[visual,setVisual]=React.useState(null);const reduced=React.useRef(false);const observed=React.useRef(false);const lastPaint=React.useRef(\"\");const mrtHeld=React.useRef(false);const diagnostic=React.useRef({status:\"awaiting-client\",detail:\"\"});function report(status,detail=\"\"){const changed=diagnostic.current.status!==status||diagnostic.current.detail!==detail;diagnostic.current={status,detail};root.current?.setAttribute(\"data-mtr-status\",status);root.current?.setAttribute(\"data-mtr-detail\",detail);// No canonical text, authored IDs, event IDs, or font names are logged.\n// A ref avoids introducing renders into the lifecycle being diagnosed.\nif(changed&&live.current.diagnostics)console.info(`[MTR 0.1.6 ${reactId}] ${status}${detail?`: ${detail}`:\"\"}`);}function markInitial(){initialDone.current=true;pendingInitial.current=false;seenSet(visit).add(identity);}function cancel(){lastPaint.current=\"\";const old=transaction.current;transaction.current=null;if(old){old.cancel();live.current.onCancel?.({eventId:old.id,text:old.text});}}function settle(reason,detail=\"\"){const tx=transaction.current;// Preserve the real terminal cause when an idle scroll/focus event occurs.\nif(tx||pendingInitial.current)report(\"settled\",`${reason}${detail?`:${detail}`:\"\"}`);transaction.current=null;tx?.cancel();setVisual(null);if(tx?.initial||pendingInitial.current)markInitial();if(tx)live.current.onSettled?.({eventId:tx.id,text:tx.text,reason});}function measure(plan){const el=body.current;if(!el)return null;const content=nativeMode?nativeContent(el):null;const node=el.firstChild;if(content?content.text!==plan.graphemes.join(\"\"):!node||node.nodeType!==3)return null;const bounds=el.getBoundingClientRect();const sx=el.offsetWidth?bounds.width/el.offsetWidth:1;const sy=el.offsetHeight?bounds.height/el.offsetHeight:1;if(!bounds.width||!bounds.height||!sx||!sy)return null;const range=document.createRange();try{return plan.graphemes.map((g,i)=>{const start=plan.offsets[i],end=start+g.length;if(content){const first=content.runs.find(run=>start>=run.start&&start<run.end);const last=content.runs.find(run=>end>run.start&&end<=run.end);if(!first||!last)return[]// Synthetic native line break.\n;range.setStart(first.node,start-first.start);range.setEnd(last.node,end-last.start);}else{range.setStart(node,start);range.setEnd(node,end);}return Array.from(range.getClientRects()).map(r=>({x:(r.left-bounds.left)/sx,y:(r.top-bounds.top)/sy,width:r.width/sx,height:r.height/sy}));});}catch{return null;}finally{range.detach();}}function paint(plan,boxes,elapsed){const sample=elapsed<0?{done:false,cells:plan.graphemes.map(text=>({text,visible:/^\\s+$/u.test(text),unstable:false,committed:false}))}:samplePlan(plan,elapsed);const signature=JSON.stringify(sample.cells.map(c=>[c.text,c.visible,c.unstable]));if(signature===lastPaint.current)return sample.done;lastPaint.current=signature;const hidden=[];const glyphs=[];sample.cells.forEach((cell,i)=>{if(!cell.visible||cell.unstable)hidden.push(...boxes[i]);if(cell.visible&&cell.unstable&&boxes[i][0])glyphs.push({...boxes[i][0],text:cell.text});});const rects=hidden.map(r=>`<rect x=\"${r.x}\" y=\"${r.y}\" width=\"${r.width}\" height=\"${r.height}\" fill=\"black\"/>`).join(\"\");// Only numeric geometry enters the SVG. Canonical text never enters markup.\nconst svg=`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\"><mask id=\"m\"><rect width=\"100%\" height=\"100%\" fill=\"white\"/>${rects}</mask><rect width=\"100%\" height=\"100%\" fill=\"white\" mask=\"url(#m)\"/></svg>`;setVisual({text:plan.graphemes.join(\"\"),mask:hidden.length?`url(\"data:image/svg+xml,${encodeURIComponent(svg)}\")`:undefined,glyphs});return sample.done;}function run(treatment,initial,eventId,previewElapsed,initialClock){cancel();const c=live.current;const text=c.text;const id=eventId??`${identity}:${++localEvent.current}`;const current={id,text,initial,cancel:()=>{}};transaction.current=current;const finish=(reason,detail=\"\")=>{if(transaction.current===current)settle(reason,detail);};if(!c.enabled)return finish(\"direct\",\"animation-disabled\");if(treatment===\"NONE\")return finish(\"direct\",\"treatment-none\");if(staticRenderer&&!canvas)return finish(\"direct\",\"static-renderer\");if(reduced.current||c.forceReducedMotion)return finish(\"reduced-motion\",reduced.current?\"system\":\"forced\");if(document.hidden)return finish(\"hidden\");if(!text)return finish(\"direct\",\"empty-text\");if(nativeMode&&native?.error)return finish(\"fallback\",native.error);if(!Number.isFinite(c.durationMs)||c.durationMs<=0)return finish(\"direct\",\"invalid-duration\");const selection=window.getSelection();const active=document.activeElement;const focused=active&&active!==document.body&&active!==document.documentElement&&root.current&&(active.contains(root.current)||root.current.contains(active));let selected=false;if(selection&&!selection.isCollapsed&&root.current){for(let i=0;i<selection.rangeCount;i++){if(selection.getRangeAt(i).intersectsNode(root.current))selected=true;}}if(selected||focused)return finish(\"input\",selected?\"selection\":`focus-${active?.nodeName.toLowerCase()||\"unknown\"}`);if(!shapingSupported(text))return finish(\"fallback\",\"unsupported-shaping\");if(text.length>1600)return finish(\"fallback\",\"text-too-long\");if(root.current?.closest(\"[contenteditable='true'],input,textarea,select\"))return finish(\"fallback\",\"editable-ancestor\");if(root.current&&!viewportVisible(root.current)&&!canvas)return finish(\"offscreen\");report(\"checking\",\"font-readiness\");const fonts=document.fonts;let deadline;let readyFrame;let waiting=false;let prepared=false;let stopAnimation=()=>{};const requestedFonts=new Set;const clearPreparation=()=>{if(deadline!==undefined)window.clearTimeout(deadline);if(readyFrame!==undefined)window.cancelAnimationFrame(readyFrame);deadline=undefined;readyFrame=undefined;fonts?.removeEventListener(\"loadingdone\",retry);};current.cancel=()=>{clearPreparation();stopAnimation();};// Re-read after the font swap, on the next rendering frame. No document-\n// wide ready promise: unrelated fonts must not hold this title hostage.\nfunction retry(){if(transaction.current!==current||prepared||readyFrame!==undefined)return;readyFrame=window.requestAnimationFrame(()=>{readyFrame=undefined;begin();});}function begin(){if(transaction.current!==current||prepared||!mounted.current)return;if(document.hidden)return finish(\"hidden\");if(reduced.current||live.current.forceReducedMotion)return finish(\"reduced-motion\",\"before-font-start\");if(root.current&&!viewportVisible(root.current)&&!canvas)return finish(\"offscreen\");const active=document.activeElement;if(active&&active!==document.body&&active!==document.documentElement&&root.current&&(active.contains(root.current)||root.current.contains(active)))return finish(\"input\",\"focus-before-font-start\");const selection=window.getSelection();if(selection&&!selection.isCollapsed&&root.current){for(let i=0;i<selection.rangeCount;i++){if(selection.getRangeAt(i).intersectsNode(root.current))return finish(\"input\",\"selection-before-font-start\");}}const fontElement=body.current&&(nativeMode?nativeContent(body.current).element:body.current);const computed=fontElement&&getComputedStyle(fontElement);if(computed?.direction===\"rtl\")return finish(\"fallback\",\"rtl-layout\");// Some computed styles omit the shorthand (e.g. non-default font\n// feature settings). Preserve weight/style in the longhand fallback.\nconst font=computed&&(computed.font||`${computed.fontStyle||\"normal\"} ${computed.fontWeight||\"400\"} ${computed.fontSize||\"16px\"} ${computed.fontFamily||\"sans-serif\"}`);try{if(font&&fonts&&!fonts.check(font,text)){if(!waiting){waiting=true;report(\"waiting\",\"font-readiness\");setVisual({text,mask:\"linear-gradient(transparent,transparent)\",glyphs:[]});deadline=window.setTimeout(()=>finish(\"fallback\",\"font-timeout\"),FONT_WAIT_MS);fonts.addEventListener(\"loadingdone\",retry);}if(!requestedFonts.has(font)){requestedFonts.add(font);// Request only matching faces for this text. A font\n// failure restores readable text; a stale result is inert.\nfonts.load(font,text).then(retry,()=>{if(!prepared)finish(\"fallback\",\"font-load-error\");});}return;}}catch{return finish(\"fallback\",\"font-api-error\");}prepared=true;clearPreparation();const plan=createPlan({text,treatment,durationMs:c.durationMs,cadenceMs:c.cadenceMs,intensity:c.intensity,glyphSet:c.glyphSet,seed:`${c.seed}:${identity}:${id}`,segments:c.segments,batchSize:c.batchSize});const boxes=measure(plan);if(!boxes)return finish(\"fallback\",\"measurement-failed\");current.layoutChanged=()=>{const next=measure(plan);return!next||!sameRects(boxes,next);};if(previewElapsed!==undefined){report(\"static\",\"canvas-snapshot\");paint(plan,boxes,previewElapsed);transaction.current=null;return;}// Local events get their full duration after readiness. Hosts retain\n// their shared absolute clock, including deliberate catch-up/expiry.\nconst start=(initialClock!==undefined?// full local entrance instead of expiring behind the wait.\nwaiting?performance.now():initialClock:Number.isFinite(c.eventStartMs)?c.eventStartMs:performance.now())+(Number.isFinite(c.delayMs)?Math.max(0,c.delayMs):0);if(paint(plan,boxes,performance.now()-start))return finish(\"completed\",\"expired-host-clock\");let started=performance.now()>=start;report(started?\"running\":\"waiting\",started?initial?\"initial\":\"replacement\":\"start-offset\");if(started)c.onStart?.({eventId:id,text});if(transaction.current!==current)return;stopAnimation=scheduleFrame(now=>{if(transaction.current!==current)return false;if(document.hidden){finish(\"hidden\");return false;}if(!started&&now>=start){started=true;report(\"running\",initial?\"initial\":\"replacement\");c.onStart?.({eventId:id,text});if(transaction.current!==current)return false;}if(paint(plan,boxes,now-start)){finish(\"completed\");return false;}return true;});}begin();}function prepare(){pendingInitial.current=true;const c=live.current;report(\"waiting\",c.initialTrigger.toLowerCase());if(c.treatment!==\"NONE\"){// Mask only title content; the permanent prompt is a separate sibling.\nsetVisual({text:c.text,mask:\"linear-gradient(transparent,transparent)\",glyphs:[]});}}const nativeSignature=React.useRef(\"\");function syncNative(){if(!nativeMode){if(nativeSignature.current){nativeSignature.current=\"\";setNative(null);}return;}if(!body.current)return;const sourceProvided=React.Children.count(configured.styledText)>0;const snapshot=(sourceProvided?nativeSnapshot(body.current):null)||(configured.initialTrigger===\"AFTER MRT\"?{text:sourceProvided?nativeContent(body.current).text:configured.text,font:{},error:sourceProvided?\"styled-text-empty\":\"styled-text-unconnected\"}:null);// Even an empty/unconnected native source must join the release/fallback\n// lifecycle; otherwise an early capture mask could outlive its signal.\nconst signature=JSON.stringify(snapshot);if(signature===nativeSignature.current)return;nativeSignature.current=signature;// Clear obsolete masks before a changed native string is displayed.\n// The content-trigger effect then owns the new transaction normally.\nif(transaction.current&&snapshot?.text!==transaction.current.text){if(transaction.current.initial&&live.current.changeTrigger===\"DISABLED\")markInitial();cancel();setVisual(null);}setNative(snapshot);}// A native child may update in the same React commit as its parent.\nuseLayout(()=>{syncNative();});useLayout(()=>{if(!nativeMode||!body.current)return;const element=body.current;const sync=()=>syncNative();const Observer=window.MutationObserver;const observer=Observer?new Observer(records=>{// MTR changes only the wrapper's mask. Its own animation writes\n// must never be interpreted as native typography/content edits.\nif(records.some(record=>record.target!==element||record.type!==\"attributes\"))sync();}):null;observer?.observe(element,{subtree:true,childList:true,characterData:true,attributes:true,attributeFilter:[\"class\",\"style\",\"dir\"]});// Global style edits can change CSS without changing the native node.\nconst styles=Observer?new Observer(sync):null;if(document.head)styles?.observe(document.head,{subtree:true,childList:true,characterData:true,attributes:true,attributeFilter:[\"href\",\"media\",\"disabled\"]});styles?.observe(document.documentElement,{attributes:true,attributeFilter:[\"class\",\"style\",\"dir\"]});if(document.body)styles?.observe(document.body,{attributes:true,attributeFilter:[\"class\",\"style\",\"dir\"]});window.addEventListener(\"resize\",sync);document.fonts?.addEventListener(\"loadingdone\",sync);document.head?.addEventListener(\"load\",sync,true);return()=>{observer?.disconnect();styles?.disconnect();window.removeEventListener(\"resize\",sync);document.fonts?.removeEventListener(\"loadingdone\",sync);document.head?.removeEventListener(\"load\",sync,true);};},[nativeMode,configured.styledText]);useLayout(()=>{if(!root.current)return;if(!nativeReady){report(\"waiting\",\"styled-text\");return;}if(nativeMode&&!mounted.current)previous.current={text:p.text,eventId:p.eventId};mounted.current=true;// React StrictMode may replay effects after canceling their first run.\n// Never retain a decorative mask from the canceled subscription.\nsetVisual(null);initialDone.current=seenSet(visit).has(identity);observed.current=false;pendingInitial.current=false;mrtHeld.current=false;const afterMRT=p.initialTrigger===\"AFTER MRT\"&&!staticRenderer;let heldId=null;let entryQueued=false;let routeGuard;const clearRouteGuard=()=>{if(routeGuard!==undefined)window.clearTimeout(routeGuard);routeGuard=undefined;};const eligible=()=>!initialDone.current||live.current.replayPolicy===\"EVERY_ENTRY\";const launch=(clock=performance.now())=>{if(!mounted.current||!observed.current||!entryQueued||mrtHeld.current||transaction.current||!eligible())return;entryQueued=false;run(live.current.treatment,!initialDone.current,`entry:${++localEvent.current}`,undefined,afterMRT?clock:undefined);};const syncMRT=(fromViewport=false)=>{if(!afterMRT||!mounted.current||!eligible())return;const state=readMRTHandoff();const active=state?.active;if(active&&destinationMatches(active.to)){mrtHeld.current=true;if(heldId!==active.id){heldId=active.id;clearRouteGuard();// Recovery only; never used as an animation completion clock.\n// MRT's own bounded capture/transfer normally releases first.\nrouteGuard=window.setTimeout(()=>{mrtHeld.current=false;heldId=null;routeGuard=undefined;if(mounted.current&&pendingInitial.current&&!initialDone.current)settle(\"fallback\",\"mrt-release-timeout\");},1e4);}if(pendingInitial.current)report(\"waiting\",\"mrt-release\");return;}const previousHold=heldId;heldId=null;mrtHeld.current=false;clearRouteGuard();if(previousHold){if(state?.release?.id!==previousHold||!destinationMatches(state.release.to)){settle(\"fallback\",\"mrt-transaction-changed\");return;}report(\"waiting\",observed.current?\"mrt-released\":\"viewport\");const at=state.release.at;launch(!fromViewport&&Number.isFinite(at)?at:performance.now());}};const routeChanged=()=>syncMRT();const media=window.matchMedia(\"(prefers-reduced-motion: reduce)\");reduced.current=media.matches;const motion=()=>{reduced.current=media.matches;if(media.matches)settle(\"reduced-motion\",\"system-change\");};media.addEventListener?.(\"change\",motion);if(staticRenderer){report(\"static\",canvas?\"canvas\":\"static-renderer\");if(canvas&&p.editorState!==\"SETTLED\")run(p.treatment,false,\"editor\",p.editorState===\"INITIAL\"?-1:p.durationMs*p.editorProgress);}else if(!initialDone.current&&p.initialTrigger!==\"DISABLED\"){// Page-level paint entries say nothing about this instance's entrance.\n// Framer may mount it after the page first paints. Only its own visit\n// record and readability safeguards may consume an enabled trigger.\nif(!p.enabled||p.treatment===\"NONE\"||media.matches||p.forceReducedMotion||document.hidden){const detail=media.matches?\"reduced-motion:system\":p.forceReducedMotion?\"reduced-motion:forced\":!p.enabled?\"direct:animation-disabled\":p.treatment===\"NONE\"?\"direct:treatment-none\":\"hidden:at-startup\";report(\"settled\",detail);markInitial();p.onSettled?.({eventId:p.eventId??\"initial\",text:p.text,reason:media.matches||p.forceReducedMotion?\"reduced-motion\":\"direct\"});}else if(p.initialTrigger===\"MOUNT\")run(p.treatment,true,\"initial\");else if(p.initialTrigger===\"HOST\"&&p.eventId!=null)run(p.treatment,true,p.eventId);else prepare();}else if(!staticRenderer&&initialDone.current&&p.initialTrigger!==\"DISABLED\"){report(\"settled\",\"direct:visit-already-seen\");p.onSettled?.({eventId:p.eventId??\"initial\",text:p.text,reason:\"direct\"});}else if(!staticRenderer){report(\"idle\",\"initial-trigger-disabled\");}if(afterMRT){window.addEventListener(mrtHandoffEvent,routeChanged);syncMRT();}const hostGuard=!staticRenderer&&p.initialTrigger===\"HOST\"&&pendingInitial.current?window.setTimeout(()=>{if(pendingInitial.current&&!transaction.current){report(\"settled\",\"fallback:host-timeout\");markInitial();setVisual(null);live.current.onSettled?.({eventId:live.current.eventId??\"initial\",text:live.current.text,reason:\"fallback\"});}},1500):null;let io=null;if(!staticRenderer&&typeof IntersectionObserver!==\"undefined\"){io=new IntersectionObserver(entries=>{const entry=entries[0];const inside=entry.isIntersecting&&entry.intersectionRatio>=Math.max(0,Math.min(1,live.current.viewportThreshold));if(inside){const first=!initialDone.current;if(viewportTrigger(live.current.initialTrigger)&&!transaction.current&&(first||!observed.current&&live.current.replayPolicy===\"EVERY_ENTRY\")){if(afterMRT){// Observe geometry independently from transition\n// ownership; offscreen rows retain their entrance.\nobserved.current=true;entryQueued=true;syncMRT(true);launch();}else{run(live.current.treatment,first,`entry:${++localEvent.current}`);}}observed.current=true;}else if(observed.current){entryQueued=false;if(!(afterMRT&&pendingInitial.current&&!transaction.current))settle(\"offscreen\");observed.current=false;}else if(transaction.current)settle(\"offscreen\");},{threshold:Math.max(0,Math.min(1,p.viewportThreshold)),rootMargin:`${-Math.max(0,p.viewportMargin)}px 0px`});io.observe(root.current);}else if(!staticRenderer&&viewportTrigger(p.initialTrigger)&&!initialDone.current){report(\"settled\",\"fallback:observer-unavailable\");markInitial();setVisual(null);p.onSettled?.({eventId:\"initial\",text:p.text,reason:\"fallback\"});}const selection=()=>{const s=window.getSelection();if(s&&!s.isCollapsed&&root.current){for(let i=0;i<s.rangeCount;i++){if(s.getRangeAt(i).intersectsNode(root.current)){settle(\"input\",\"selection-event\");break;}}}};const hidden=()=>{if(document.hidden)settle(\"hidden\",\"visibility-event\");};const focus=e=>{const target=e.target;if(target&&root.current&&(root.current.contains(target)||target.contains(root.current)))settle(\"input\",`focus-event-${target.nodeName.toLowerCase()}`);};// Font swaps can resize during preparation, or queue an observer event\n// delivered after we measured. Only obsolete glyph geometry ends a run.\nconst resize=source=>{if(transaction.current?.layoutChanged?.())settle(\"layout\",source);};const fontLoaded=()=>resize(\"font-loading-event\");const windowResized=()=>resize(\"window-resize\");document.addEventListener(\"selectionchange\",selection);document.addEventListener(\"visibilitychange\",hidden);document.addEventListener(\"focusin\",focus);document.fonts?.addEventListener(\"loadingdone\",fontLoaded);window.addEventListener(\"resize\",windowResized);let dimensions=null;const ro=typeof ResizeObserver===\"undefined\"?null:new ResizeObserver(entries=>{const r=entries[0]?.contentRect;if(!r)return;const next=`${r.width}:${r.height}`;if(dimensions!==null&&next!==dimensions)resize(\"element-resize\");dimensions=next;});if(body.current)ro?.observe(body.current);return()=>{mounted.current=false;clearRouteGuard();mrtHeld.current=false;if(afterMRT)window.removeEventListener(mrtHandoffEvent,routeChanged);if(hostGuard!==null)window.clearTimeout(hostGuard);if(transaction.current)report(\"cancelled\",\"effect-cleanup\");if(transaction.current?.initial)markInitial();cancel();io?.disconnect();ro?.disconnect();media.removeEventListener?.(\"change\",motion);document.removeEventListener(\"selectionchange\",selection);document.removeEventListener(\"visibilitychange\",hidden);document.removeEventListener(\"focusin\",focus);document.fonts?.removeEventListener(\"loadingdone\",fontLoaded);window.removeEventListener(\"resize\",windowResized);};},[recordKey,staticRenderer,p.initialTrigger,p.replayPolicy,p.viewportThreshold,p.viewportMargin,nativeReady,nativeMode]);useLayout(()=>{if(!nativeReady)return;const before=previous.current;previous.current={text:p.text,eventId:p.eventId};const textChanged=before.text!==p.text;const hostChanged=before.eventId!==p.eventId&&p.eventId!=null;if(!mounted.current||staticRenderer||!textChanged&&!hostChanged)return;if(p.initialTrigger===\"AFTER MRT\"&&pendingInitial.current&&!initialDone.current&&!transaction.current){// Latest native/configured text belongs to the pending entrance;\n// a replacement event must not bypass the route/viewport gate.\nprepare();if(mrtHeld.current)report(\"waiting\",\"mrt-release\");return;}if(hostChanged&&(p.initialTrigger===\"HOST\"||p.changeTrigger===\"HOST\")){run(initialDone.current?p.changeTreatment:p.treatment,!initialDone.current,p.eventId);}else if(textChanged&&p.changeTrigger===\"CONTENT\"){markInitial();run(p.changeTreatment,false);}else if(textChanged){cancel();setVisual(null);report(\"settled\",\"direct:change-trigger-disabled\");p.onSettled?.({eventId:p.eventId??`direct:${++localEvent.current}`,text:p.text,reason:\"direct\"});}},[p.text,p.eventId,nativeReady]);const fontKey=JSON.stringify(p.font);const configMounted=React.useRef(false);useLayout(()=>{if(!configMounted.current){configMounted.current=true;return;}if(!p.enabled||p.forceReducedMotion||p.initialTrigger===\"AFTER MRT\"&&p.treatment===\"NONE\")settle(p.forceReducedMotion?\"reduced-motion\":\"direct\",\"configuration-change\");else if(nativeMode&&native?.error&&transaction.current)settle(\"fallback\",native.error);else if(staticRenderer&&canvas&&p.editorState!==\"SETTLED\")run(p.treatment,false,\"editor\",p.editorState===\"INITIAL\"?-1:p.durationMs*p.editorProgress);else if(staticRenderer)setVisual(null);else if(transaction.current&&(!nativeMode||transaction.current.layoutChanged?.()))settle(\"layout\",\"configuration-change\");},[p.enabled,p.forceReducedMotion,fontKey,p.color,p.treatment,p.editorState,p.editorProgress,native?.error]);// Native Text Style children may mount before their text/font snapshot is\n// available. Hide only opted-in initial text during an actual destination\n// transfer, so MRT cannot capture a completed heading before preparation.\nconst earlyRoute=readMRTHandoff()?.active;const earlyHold=!staticRenderer&&!nativeReady&&p.enabled&&!p.forceReducedMotion&&p.treatment!==\"NONE\"&&p.initialTrigger===\"AFTER MRT\"&&!seenSet(visit).has(identity)&&!!earlyRoute&&destinationMatches(earlyRoute.to);const routePending=p.initialTrigger===\"AFTER MRT\"&&(earlyHold||pendingInitial.current&&!initialDone.current&&!transaction.current);const v=earlyHold?{text:p.text,mask:\"linear-gradient(transparent,transparent)\",glyphs:[]}:visual?.text===p.text?visual:null;const Tag=nativeMode?\"div\":p.as;const Body=nativeMode?\"div\":\"span\";const showPrompt=p.promptEnabled===true;const promptGap=showPrompt&&Number.isFinite(p.promptGap)?Math.max(0,p.promptGap):0;return /*#__PURE__*/_jsxs(Tag,{ref:root,\"data-mtr\":identity,\"data-mtr-selection\":\"none\",\"data-mtr-state\":v?\"presenting\":\"settled\",\"data-mtr-route-pending\":routePending?\"true\":undefined,\"data-mtr-version\":\"0.1.6\",\"data-mtr-status\":diagnostic.current.status,\"data-mtr-detail\":diagnostic.current.detail,\"data-mtr-prompt-enabled\":showPrompt?\"true\":\"false\",\"data-mtr-prompt-gap\":promptGap,onPointerDown:()=>settle(\"input\",\"pointer-down\"),onFocusCapture:()=>settle(\"input\",\"focus-capture\"),onPointerEnter:()=>{if(p.settleOnHover)settle(\"input\",\"pointer-hover\");},style:{margin:0,padding:0,minWidth:0,color:p.color,fontFamily:\"inherit\",fontSize:\"inherit\",lineHeight:\"inherit\",...p.font,...p.style,userSelect:\"none\",WebkitUserSelect:\"none\",display:showPrompt?\"flex\":\"block\",alignItems:showPrompt?\"baseline\":undefined,gap:0,columnGap:0,rowGap:0},children:[showPrompt&&/*#__PURE__*/_jsx(\"span\",{\"data-mtr-prompt\":\"\",\"aria-hidden\":\"true\",style:{color:p.promptColor,flex:\"0 0 auto\",margin:0,marginRight:promptGap,padding:0,whiteSpace:\"pre\",userSelect:\"none\",WebkitUserSelect:\"none\"},children:p.promptText}),/*#__PURE__*/_jsxs(Body,{\"data-mtr-content\":\"\",style:{position:\"relative\",display:\"block\",flex:showPrompt?\"1 1 auto\":undefined,minWidth:0,margin:0,padding:0},children:[/*#__PURE__*/_jsx(Body,{ref:body,\"data-mtr-canonical\":\"\",style:{display:nativeMode?\"flow-root\":\"block\",margin:0,padding:0,whiteSpace:nativeMode?undefined:\"pre-wrap\",overflowWrap:nativeMode?undefined:\"anywhere\",maskImage:v?.mask,WebkitMaskImage:v?.mask},children:nativeMode?configured.styledText||configured.text:p.text}),v&&v.glyphs.length>0&&/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",\"data-mtr-decoration\":\"\",style:{position:\"absolute\",inset:0,pointerEvents:\"none\",userSelect:\"none\",WebkitUserSelect:\"none\"},children:v.glyphs.map((g,i)=>/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",left:g.x,top:g.y,width:g.width,height:g.height,overflow:\"hidden\",whiteSpace:\"pre\",color:p.unresolvedColor,lineHeight:`${g.height}px`,textAlign:\"center\"},children:g.text},i))})]}),/*#__PURE__*/_jsx(\"style\",{\"data-mtr-selection-style\":\"\",dangerouslySetInnerHTML:{__html:selectionCSS}})]});}const defaults={text:\"Awards.reg\",treatment:\"NONE\",changeTreatment:\"NONE\",initialTrigger:\"DISABLED\",changeTrigger:\"DISABLED\",replayPolicy:\"ONCE\",instanceId:\"\",visitId:\"\",durationMs:420,delayMs:0,cadenceMs:90,intensity:.32,glyphSet:\"/_+?:-=0123456789\",segments:3,batchSize:2,seed:\"MTR-01\",promptEnabled:false,promptText:\">\",promptColor:\"#A0A0A0\",promptGap:10,color:\"#C6C6C6\",unresolvedColor:\"#727272\",font:{},typographySource:\"MANUAL\",as:\"div\",enabled:true,forceReducedMotion:false,settleOnHover:false,viewportThreshold:.1,viewportMargin:0,editorState:\"SETTLED\",editorProgress:.45,diagnostics:false};MunkiTextResolver.defaultProps=defaults;const treatments=[\"NONE\",\"RESOLVE\",\"LOAD / SEGMENT\",\"LOAD / BATCH\"];addPropertyControls(MunkiTextResolver,{typographySource:{type:ControlType.Enum,title:\"Typography\",options:[\"MANUAL\",\"TEXT_STYLE\"],optionTitles:[\"Manual\",\"Styled Text\"],description:\"Styled Text uses a native text layer with your saved Framer Text Style.\"},styledText:{type:ControlType.Slot,title:\"Styled Text\",maxCount:1,hidden:p=>p.typographySource!==\"TEXT_STYLE\",description:\"Connect one native text layer or a text-only design component. Apply your saved Text Style there; it controls text, typography, color and heading tag. Use Fit Content height.\"},text:{type:ControlType.String,title:\"Text\",displayTextArea:true,hidden:p=>p.typographySource===\"TEXT_STYLE\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"monospace\",displayTextAlignment:true,hidden:p=>p.typographySource===\"TEXT_STYLE\"},color:{type:ControlType.Color,title:\"Text Color\",hidden:p=>p.typographySource===\"TEXT_STYLE\"},as:{type:ControlType.Enum,title:\"Element\",options:[\"div\",\"span\",\"p\",\"h1\",\"h2\",\"h3\"],hidden:p=>p.typographySource===\"TEXT_STYLE\"},treatment:{type:ControlType.Enum,title:\"Treatment\",options:treatments},initialTrigger:{type:ControlType.Enum,title:\"Initial Trigger\",options:[\"DISABLED\",\"VIEWPORT\",\"AFTER MRT\",\"MOUNT\",\"HOST\"],description:\"AFTER MRT waits for route release and viewport entry; Start Offset begins there. Without a transfer it behaves like VIEWPORT. DISABLED shows final text.\"},replayPolicy:{type:ControlType.Enum,title:\"Replay\",options:[\"ONCE\",\"EVERY_ENTRY\"],optionTitles:[\"Once per visit\",\"Every entry (test)\"],hidden:p=>!viewportTrigger(p.initialTrigger)},changeTrigger:{type:ControlType.Enum,title:\"On Change\",options:[\"DISABLED\",\"CONTENT\",\"HOST\"]},changeTreatment:{type:ControlType.Enum,title:\"Change Effect\",options:treatments,hidden:p=>p.changeTrigger===\"DISABLED\"},durationMs:{type:ControlType.Number,title:\"Duration\",min:0,max:1500,step:10,unit:\"ms\"},delayMs:{type:ControlType.Number,title:\"Start Offset\",min:0,max:1500,step:10,unit:\"ms\"},cadenceMs:{type:ControlType.Number,title:\"Glyph Cadence\",min:40,max:250,step:5,unit:\"ms\",hidden:p=>p.treatment!==\"RESOLVE\"&&p.changeTreatment!==\"RESOLVE\"},intensity:{type:ControlType.Number,title:\"Instability\",min:0,max:.4,step:.01,hidden:p=>p.treatment!==\"RESOLVE\"&&p.changeTreatment!==\"RESOLVE\"},glyphSet:{type:ControlType.String,title:\"Glyph Set\",hidden:p=>p.treatment!==\"RESOLVE\"&&p.changeTreatment!==\"RESOLVE\"},unresolvedColor:{type:ControlType.Color,title:\"Unresolved\",hidden:p=>p.treatment!==\"RESOLVE\"&&p.changeTreatment!==\"RESOLVE\"},segments:{type:ControlType.Number,title:\"Segments\",min:1,max:12,step:1,hidden:p=>p.treatment!==\"LOAD / SEGMENT\"&&p.changeTreatment!==\"LOAD / SEGMENT\"},batchSize:{type:ControlType.Number,title:\"Lines / Batch\",min:1,max:10,step:1,hidden:p=>p.treatment!==\"LOAD / BATCH\"&&p.changeTreatment!==\"LOAD / BATCH\"},promptEnabled:{type:ControlType.Boolean,title:\"Prompt\"},promptText:{type:ControlType.String,title:\"Prompt Text\",hidden:p=>!p.promptEnabled},promptColor:{type:ControlType.Color,title:\"Prompt Color\",hidden:p=>!p.promptEnabled},promptGap:{type:ControlType.Number,title:\"Prompt Gap\",min:0,max:64,step:1,unit:\"px\",hidden:p=>!p.promptEnabled},instanceId:{type:ControlType.String,title:\"Instance ID\",description:\"Stable unique ID for this text slot.\"},visitId:{type:ControlType.String,title:\"Visit ID\",description:\"Optional host visit key; route path is the default.\"},seed:{type:ControlType.String,title:\"Variation Seed\"},viewportThreshold:{type:ControlType.Number,title:\"Entry Ratio\",min:0,max:1,step:.05,hidden:p=>!viewportTrigger(p.initialTrigger)},viewportMargin:{type:ControlType.Number,title:\"Entry Inset\",min:0,max:200,step:5,unit:\"px\",hidden:p=>!viewportTrigger(p.initialTrigger)},enabled:{type:ControlType.Boolean,title:\"Animation\",description:\"Allows effects. Initial Trigger or On Change must also be enabled.\"},editorState:{type:ControlType.Enum,title:\"Canvas State\",options:[\"SETTLED\",\"INITIAL\",\"ACTIVE\"],description:\"Editor snapshot only. Preview and the live page use the trigger settings above.\"},editorProgress:{type:ControlType.Number,title:\"Canvas Phase\",min:0,max:1,step:.05,hidden:p=>p.editorState!==\"ACTIVE\"},diagnostics:{type:ControlType.Boolean,title:\"Diagnostics\",description:\"Logs MTR startup and stop reasons in the browser console. Does not log your text. Turn off after troubleshooting.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"resetMTRVisit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"MunkiTextResolver\",\"slots\":[\"styledText\"],\"annotations\":{\"framerIntrinsicHeight\":\"32\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"320\",\"framerContractVersion\":\"1\"}},\"Settlement\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MTRProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MunkiTextResolver.map"],"mappings":"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"}