{"version":3,"file":"TextShimmer_Prod.BEFnEbQB.mjs","names":["useRef","useState","__esmMin","le","init_ssg_sandbox_shims","window","_e","de","p","c","init_jsx_runtime","init_npm_react_18_3_1","ce","animate","init_framer_motion_DhsWWWsN","addPropertyControls","RenderTarget","useIsStaticRenderer","ControlType","init_framer_DymZktPS","fontFeatureSettings","features","OPEN_TYPE_DEFAULTS","tag","raw","font","value","on","DEFAULT_FONT_FEATURES","fontVariationSettings","axes","parts","fontStyle","_openType","_axes","rest","variation","colorCSS","fallback","textTag","TEXT_TAGS","settings","props","group","legacySpeed","field","current","legacy","DEFAULT_TRANSITION","TextShimmer","DEFAULT_FONT","root","mask","ink","shimmerOn","setShimmerOn","measured","wasInView","effect","canvas","isStatic","transitionKey","Tag","fit","isFitWidth","style","constrained","maxLines","lines","typed","fontKey","shown","setShown","content","latest","host","ctrl","createTruncationController","result","truncate","transform","wrap","displayText","awaitingCut","flow","previewKey","direction","color","userSelect","previewMark","setPreviewMark","band","text","animations","resize","observer","previewTimer","inView","finished","disposed","width","height","phase","startedAt","cycleMs","box","previewDeadline","clearPreviewTimer","media","layer","remember","duration","time","stop","a","eligible","onCanvas","start","angle","sine","cosine","extent","distance","from","to","transition","repeatDelay","options","clamped","fraction","update","remaining","entries","rootStyle","textStyle","gradient","labelled","TRUNCATION_SIZER_STYLE","graphemes","Segmenter","s","glyphUnits","units","i","match","LIGATURE_CLUSTER","take","cleanTail","prefix","trimPunctuation","SOFT_TAIL","SPACE_TAIL","probe","sharedProbe","el","applyStyle","source","css","key","TEXT_STYLE_KEYS","rowCount","range","node","found","r","x","fill","spans","unit","span","block","BREAKABLE_SPACE","part","word","measurer","wordNode","wordWidths","wordWidth","v","w","LAYOUT_EPSILON","left","naturalWidth","m","truncateText","natural","keep","candidate","k","lo","hi","mid","out","config","last","run","force","changed","ro","next","fonts","onFonts","init_TextShimmer_Prod"],"sources":["https:/framerusercontent.com/modules/TS5bPiMUGtjrWMUlvKp9/TuRXKDFiiZWSJaaDwGyx/TextShimmer_Prod.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{animate}from\"framer-motion\";const TEXT_TAGS=[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\",\"span\",\"blockquote\"];const DEFAULT_TRANSITION={type:\"tween\",ease:[.49,.1,.26,1],duration:2,delay:0};const DEFAULT_FONT={fontFamily:\"Inter\",fontSize:44,fontWeight:500,lineHeight:\"1.5em\"};const DEFAULT_FONT_FEATURES='\"liga\" 1, \"clig\" 1, \"calt\" 1';const OPEN_TYPE_DEFAULTS={liga:1,clig:1,calt:1};function fontFeatureSettings(font){const features={...OPEN_TYPE_DEFAULTS};for(const[tag,raw]of Object.entries(font?.openTypeFontFeatures??{})){if(!/^[\\x20-\\x7e]{4}$/.test(tag))continue;const value=typeof raw===\"object\"&&raw!==null?raw.value:raw;features[tag]=value===false||value===0||value===\"0\"||value===\"off\"?0:1;}const built=Object.entries(features).map(([tag,on])=>`\"${tag.replace(/\"/g,'\\\\\"')}\" ${on}`).join(\", \");return built||DEFAULT_FONT_FEATURES;}function fontVariationSettings(font){const axes=font?.fontVariationAxes;if(!axes)return undefined;const parts=Object.entries(axes).flatMap(([tag,raw])=>{const value=typeof raw===\"object\"&&raw!==null?raw.value:raw;return typeof value===\"number\"||typeof value===\"string\"?[`\"${tag}\" ${value}`]:[];});return parts.length?parts.join(\", \"):undefined;}function fontStyle(font){const src=font??{};const{openTypeFontFeatures:_openType,fontVariationAxes:_axes,...rest}=src;const variation=fontVariationSettings(font);return{...rest,fontFeatureSettings:fontFeatureSettings(font),...variation?{fontVariationSettings:variation}:{}};}function colorCSS(value,fallback){if(typeof value===\"string\")return value;if(value?.value)return value.value;if(value?.light&&value?.dark)return`light-dark(${value.light}, ${value.dark})`;return value?.light||value?.dark||fallback;}function textTag(value){const tag=String(value??\"\").toLowerCase();if(TEXT_TAGS.includes(tag))return tag;return tag===\"label\"?\"span\":\"p\";}function settings(props){const value=props.shimmer;const group=value&&typeof value===\"object\"&&!(\"value\"in value||\"light\"in value||\"dark\"in value)?value:{};const legacySpeed=typeof props.speed===\"number\"||typeof props.speed===\"string\"?Number(props.speed):undefined;const field=(current,legacy,fallback)=>current!==undefined?current:!props.legacyRemapped&&legacy!==undefined?legacy:fallback;return{color:colorCSS(group.color??(typeof value===\"string\"||value&&typeof value===\"object\"&&(\"value\"in value||\"light\"in value)?value:undefined),\"#ffffff\"),size:field(group.size,props.size,30),rotation:field(group.rotation,props.rotation,70),delay:Math.max(0,field(group.delay,props.delay,0)),transition:group.transition??DEFAULT_TRANSITION,legacySpeed:!props.legacyRemapped&&group.transition===undefined&&Number.isFinite(legacySpeed)?legacySpeed:undefined};}/**\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 20\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export default function TextShimmer(props){const{content=\"Text Shimmer\",font=DEFAULT_FONT,color=\"#666666\",direction=\"right\",onCanvas=false,wrap=\"auto\",truncate=false,lines=1,transform=\"none\",userSelect=false,tag=\"p\",style}=props;const root=useRef(null);const mask=useRef(null);const ink=useRef(null);const[shimmerOn,setShimmerOn]=useState(false);const measured=useRef({w:0,h:0});const wasInView=useRef(false);const effect=settings(props);const canvas=RenderTarget.current()===RenderTarget.canvas;const isStatic=useIsStaticRenderer();const transitionKey=JSON.stringify(effect.transition);const tagName=textTag(tag);const Tag=tagName;const fit=isFitWidth(style?.width);const constrained=!fit;const maxLines=Math.max(1,Math.floor(Number(lines)||1));const typed=fontStyle(font);const fontKey=JSON.stringify(typed);const[shown,setShown]=useState(content);const latest=useRef({content,truncate,maxLines,fit,whiteSpace:maxLines>1?\"normal\":\"pre-wrap\"});latest.current={content,truncate,maxLines,fit,whiteSpace:maxLines>1?\"normal\":\"pre-wrap\"};useLayoutEffect(()=>{const host=root.current;if(!host)return;const ctrl=createTruncationController({host,getText:()=>latest.current.content,getSettings:()=>({enabled:latest.current.truncate,maxLines:latest.current.maxLines,fit:latest.current.fit,whiteSpace:latest.current.whiteSpace}),onChange:result=>setShown(result.text)});return()=>ctrl.dispose();},[content,truncate,maxLines,fit,fontKey,transform,wrap]);const displayText=truncate&&!fit?shown:content;const awaitingCut=truncate&&!fit&&displayText===content;const flow=!truncate||fit?{whiteSpace:constrained?\"pre-wrap\":\"pre\",overflowWrap:\"normal\",wordBreak:\"normal\",textWrap:wrap}:maxLines===1?{whiteSpace:\"pre\",overflow:\"hidden\",textOverflow:awaitingCut?\"ellipsis\":\"clip\",textWrap:\"nowrap\"}:awaitingCut?{whiteSpace:\"normal\",overflow:\"hidden\",display:\"-webkit-box\",WebkitBoxOrient:\"vertical\",WebkitLineClamp:maxLines,textWrap:wrap}:{whiteSpace:\"normal\",overflow:\"hidden\",textWrap:wrap};const previewKey=[content,fontKey,effect.color,effect.size,effect.rotation,effect.delay,effect.legacySpeed,transitionKey,direction,canvas?1:0,isStatic?1:0,onCanvas?1:0,wrap,truncate?1:0,lines,transform,tag,typeof color===\"string\"?color:JSON.stringify(color),String(userSelect)].join(\"\\x01\");const[previewMark,setPreviewMark]=useState(previewKey);if(previewMark!==previewKey){setPreviewMark(previewKey);setShimmerOn(false);}useEffect(()=>{const host=root.current,band=mask.current,text=ink.current;if(!host||!band||!text)return;let animations=[];let resize;let observer;let previewTimer;let inView=wasInView.current,finished=false,disposed=false;let width=measured.current.w,height=measured.current.h,phase=0,startedAt=0,cycleMs=1;if(!width||!height){const box=host.getBoundingClientRect();if(box.width>0&&box.height>0){width=box.width;height=box.height;measured.current={w:width,h:height};}}const previewDeadline=performance.now()+15e3;const clearPreviewTimer=()=>{if(previewTimer!==undefined)window.clearTimeout(previewTimer);previewTimer=undefined;};const media=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const rest=()=>{const layer=band.parentElement;if(layer)layer.style.visibility=\"hidden\";if(!disposed)setShimmerOn(false);band.style.transform=\"translateX(0px)\";text.style.transform=\"translateX(0px)\";};const remember=()=>{const current=animations[0];const duration=current?.duration??0;const time=current?.time??0;if(duration>0&&Number.isFinite(duration)&&Number.isFinite(time))phase=time%duration/duration;else if(startedAt)phase=(performance.now()-startedAt)%cycleMs/cycleMs;};const stop=()=>{animations.forEach(a=>a.stop());animations=[];};const eligible=()=>!disposed&&!finished&&!media.matches&&document.visibilityState===\"visible\"&&inView&&(!isStatic||canvas)&&(!canvas||onCanvas);const start=fraction=>{if(!eligible()||!width||!height)return;stop();const angle=effect.rotation*Math.PI/180;const sine=Math.max(.001,Math.abs(Math.sin(angle))),cosine=Math.abs(Math.cos(angle));const extent=(2*(width*sine+height*cosine)*Math.max(0,effect.size)*.003+height*cosine/2)/sine;const distance=width/2+extent;const from=direction===\"left\"?distance:-distance;const to=-from;const transition=JSON.parse(transitionKey);if(effect.legacySpeed!==undefined)transition.duration=Math.max(.01,11-effect.legacySpeed)*(2*distance/width)/3;const repeatDelay=effect.delay+(transition.repeatDelay??0);const options={...transition,repeat:Infinity,repeatType:\"loop\",repeatDelay};band.style.transform=`translateX(${from}px)`;text.style.transform=`translateX(${-from}px)`;animations=[animate(band,{x:[from,to]},options),animate(text,{x:[-from,-to]},options)];const durationSec=Math.max(.01,Number(transition.duration)||2)+repeatDelay;cycleMs=durationSec*1e3;const duration=animations[0]?.duration??0;const clamped=Number.isFinite(fraction)?Math.min(1,Math.max(0,fraction)):0;if(clamped>0&&duration>0&&Number.isFinite(duration))animations.forEach(a=>{a.time=clamped*duration;});startedAt=performance.now()-clamped*cycleMs;const layer=band.parentElement;if(layer)layer.style.visibility=\"visible\";if(!disposed)setShimmerOn(true);};const update=()=>{if(media.matches||finished||isStatic&&!canvas){phase=0;startedAt=0;clearPreviewTimer();stop();rest();return;}if(!eligible()){remember();clearPreviewTimer();stop();return;}if(canvas&&previewTimer===undefined){const remaining=previewDeadline-performance.now();if(remaining<=0){finished=true;phase=0;startedAt=0;stop();rest();return;}previewTimer=window.setTimeout(()=>{finished=true;phase=0;startedAt=0;stop();rest();},remaining);}if(!animations.length)start(phase);};const release=()=>{disposed=true;rest();};if(isStatic&&!canvas)return rest(),release;if(RenderTarget.current()===RenderTarget.canvas&&!onCanvas)return rest(),release;resize=new ResizeObserver(entries=>{const box=entries[0]?.contentRect;if(!box||box.width===width&&box.height===height)return;width=box.width;height=box.height;measured.current={w:width,h:height};if(!eligible())return;remember();stop();start(phase);});resize.observe(host);observer=new IntersectionObserver(entries=>{inView=entries[0]?.isIntersecting??false;wasInView.current=inView;update();});observer.observe(host);media.addEventListener(\"change\",update);document.addEventListener(\"visibilitychange\",update);update();return()=>{disposed=true;stop();resize?.disconnect();observer?.disconnect();media.removeEventListener(\"change\",update);document.removeEventListener(\"visibilitychange\",update);clearPreviewTimer();};},[content,font,effect.color,effect.size,effect.rotation,effect.delay,effect.legacySpeed,transitionKey,direction,canvas,isStatic,onCanvas,wrap,truncate,lines,transform,tag,color,userSelect]);const rootStyle={position:\"relative\",...typed,textTransform:transform,width:constrained?\"100%\":\"max-content\",minWidth:truncate?0:undefined,userSelect:userSelect===true||userSelect===\"auto\"?\"auto\":\"none\",...style};const textStyle={...typed,margin:0,display:\"block\",width:\"100%\",textTransform:transform,...flow};const gradient=`linear-gradient(${effect.rotation}deg, transparent 0%, transparent ${50-effect.size*.3}%, #000 50%, transparent ${50+effect.size*.3}%, transparent 100%)`;const labelled=truncate&&displayText!==content;return /*#__PURE__*/_jsxs(\"div\",{\"data-build\":\"text-shimmer-prod-20261015-01\",ref:root,\"data-text-shimmer\":\"\",\"aria-label\":labelled?content:undefined,style:rootStyle,children:[truncate?/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:TRUNCATION_SIZER_STYLE,children:content}):null,/*#__PURE__*/_jsx(Tag,{\"data-shimmer-text\":\"\",\"aria-hidden\":labelled?true:undefined,style:{...textStyle,color:colorCSS(color,\"#666666\")},children:displayText}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",\"data-shimmer-layer\":\"\",style:{position:\"absolute\",inset:0,overflow:\"hidden\",pointerEvents:\"none\",visibility:shimmerOn?\"visible\":\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{ref:mask,\"data-shimmer-mask\":\"\",style:{position:\"absolute\",left:\"-100%\",top:\"-50%\",width:\"300%\",height:\"200%\",maskImage:gradient,WebkitMaskImage:gradient,maskSize:\"66.6666666667% 100%\",WebkitMaskSize:\"66.6666666667% 100%\",maskPosition:\"center\",WebkitMaskPosition:\"center\",maskRepeat:\"no-repeat\",WebkitMaskRepeat:\"no-repeat\"},children:/*#__PURE__*/_jsx(Tag,{ref:ink,style:{...textStyle,color:effect.color,position:\"absolute\",left:\"33.3333333333%\",top:\"25%\",width:\"33.3333333333%\",height:\"50%\"},children:displayText})})})]});}addPropertyControls(TextShimmer,{onCanvas:{type:ControlType.Boolean,title:\"On canvas\",enabledTitle:\"Play\",disabledTitle:\"Pause\",defaultValue:false},content:{type:ControlType.String,title:\"Content\",displayTextArea:true,defaultValue:\"Text Shimmer\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",displayTextAlignment:true,defaultValue:{fontFamily:\"Inter\",fontSize:44,fontWeight:500,variant:\"Medium\",lineHeight:\"1.5em\"}},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#666666\"},shimmer:{type:ControlType.Object,title:\"Shimmer\",buttonTitle:\"Edit shimmer\",icon:\"effect\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#ffffff\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:30,min:1,max:100,step:1,unit:\"%\"},rotation:{type:ControlType.Number,title:\"Rotation\",defaultValue:70,min:45,max:135,step:1,unit:\"\\xb0\"},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:DEFAULT_TRANSITION},delay:{type:ControlType.Number,title:\"Delay\",defaultValue:0,min:0,max:10,step:.1,displayStepper:true,unit:\"s\"}}},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"right\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],displaySegmentedControl:true,optionIcons:[\"direction-left\",\"direction-right\"]},transform:{type:ControlType.Enum,title:\"Transform\",options:[\"none\",\"capitalize\",\"lowercase\",\"uppercase\"],optionTitles:[\"None\",\"Capitalize\",\"Lowercase\",\"Uppercase\"],defaultValue:\"none\"},wrap:{type:ControlType.Enum,title:\"Wrap\",options:[\"auto\",\"balance\",\"pretty\"],optionTitles:[\"Auto\",\"Balance\",\"Pretty\"],defaultValue:\"auto\"},truncate:{type:ControlType.Boolean,title:\"Truncate\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},lines:{type:ControlType.Number,title:\"Lines\",defaultValue:1,min:1,step:1,displayStepper:true,unit:\"L\",hidden:p=>!p.truncate},userSelect:{type:ControlType.Boolean,title:\"User Select\",defaultValue:false,enabledTitle:\"Auto\",disabledTitle:\"None\"},legacyRemapped:{type:ControlType.Boolean,title:\"Remapped\",defaultValue:false,hidden:()=>true},tag:{type:ControlType.Enum,title:\"Tag\",defaultValue:\"p\",options:[...TEXT_TAGS],optionTitles:[\"H1\",\"H2\",\"H3\",\"H4\",\"H5\",\"H6\",\"P\",\"Span\",\"Blockquote\"],description:\"More components at [Framer University](https://frameruni.link/cc).\"}});TextShimmer.displayName=\"Text Shimmer\";export const ELLIPSIS=\"…\";export const LAYOUT_EPSILON=1/32;export const TEXT_STYLE_KEYS=[\"font-family\",\"font-size\",\"font-weight\",\"font-style\",\"font-stretch\",\"font-variant\",\"font-variant-caps\",\"font-variant-numeric\",\"font-variant-ligatures\",\"font-variant-east-asian\",\"font-feature-settings\",\"font-variation-settings\",\"font-kerning\",\"font-optical-sizing\",\"font-synthesis\",\"line-height\",\"letter-spacing\",\"word-spacing\",\"text-transform\",\"text-rendering\",\"text-indent\",\"tab-size\",\"direction\",\"writing-mode\",\"hyphens\",\"text-wrap\",\"word-break\",\"overflow-wrap\"];const SOFT_TAIL=/(?:[\\s\\u00A0,;:\\u2013\\u2014\\-\\u2026]|\\.{2,})+$/u;const SPACE_TAIL=/[\\s\\u00A0]+$/u;export function graphemes(text){const Segmenter=Intl.Segmenter;if(Segmenter)return Array.from(new Segmenter(undefined,{granularity:\"grapheme\"}).segment(text),s=>s.segment);return Array.from(text);}export const LIGATURE_CLUSTER=/^(?:ff[il]|f[fijlt]|->|<-|=>|<=|>=|!=|\\.\\.\\.)/;export function glyphUnits(text){const parts=graphemes(text);const units=[];for(let i=0;i<parts.length;){const match=LIGATURE_CLUSTER.exec(parts.slice(i,i+3).join(\"\"));let take=1;if(match){for(let n=Math.min(3,parts.length-i);n>=2;n--){if(parts.slice(i,i+n).join(\"\")===match[0]){take=n;break;}}}units.push(parts.slice(i,i+take).join(\"\"));i+=take;}return units;}export function cleanTail(prefix,trimPunctuation=true){return prefix.replace(trimPunctuation?SOFT_TAIL:SPACE_TAIL,\"\");}export function isFitWidth(width){return width==null||width===\"auto\"||width===\"max-content\"||width===\"fit-content\"||width===\"min-content\";}let sharedProbe=null;function probe(){if(sharedProbe&&sharedProbe.isConnected)return sharedProbe;const el=document.createElement(\"div\");el.setAttribute(\"aria-hidden\",\"true\");el.dataset.textTruncationProbe=\"\";Object.assign(el.style,{position:\"absolute\",left:\"-100000px\",top:\"0\",visibility:\"hidden\",pointerEvents:\"none\",contain:\"layout style\",margin:\"0\",padding:\"0\",border:\"0\",transform:\"none\",zoom:\"1\"});document.body.appendChild(el);return sharedProbe=el;}function applyStyle(el,source){if(source instanceof Element){const css=getComputedStyle(source);for(const key of TEXT_STYLE_KEYS)el.style.setProperty(key,css.getPropertyValue(key));}else{for(const key of TEXT_STYLE_KEYS)el.style.removeProperty(key);for(const[key,value]of Object.entries(source))if(value!=null)el.style.setProperty(key,String(value));}}function rowCount(node){const range=document.createRange();range.selectNodeContents(node);const found=[];for(const r of Array.from(range.getClientRects())){if(!r.width&&!r.height)continue;const row=found.find(x=>Math.min(x.bottom,r.bottom)-Math.max(x.top,r.top)>Math.min(x.bottom-x.top,r.height)*.5);if(!row)found.push({top:r.top,bottom:r.bottom});}return found.length;}const BREAKABLE_SPACE=/([ \\t\\n\\r\\f]+)/;function fill(block,text,units){if(!units){block.textContent=text;return[];}const spans=[];const unit=value=>{const span=document.createElement(\"span\");span.textContent=value;if(units.display===\"inline-block\"){span.style.display=\"inline-block\";span.style.whiteSpace=\"pre\";}spans.push(span);return span;};block.replaceChildren(...text.split(BREAKABLE_SPACE).filter(Boolean).map(part=>{if(BREAKABLE_SPACE.test(part)&&!part.replace(/[ \\t\\n\\r\\f]/g,\"\"))return document.createTextNode(part);if(units.split===\"word\")return unit(part);const word=document.createElement(\"span\");word.style.whiteSpace=\"nowrap\";word.append(...(units.split===\"cluster\"?glyphUnits(part):graphemes(part)).map(unit));return word;}));return spans;}function measurer(source,width,lines,whiteSpace,units){const el=probe();applyStyle(el,source);const block=document.createElement(\"div\"),word=document.createElement(\"span\");const wordNode=document.createTextNode(\"\");word.appendChild(wordNode);Object.assign(word.style,{display:\"inline-block\",whiteSpace:\"pre\"});if(lines===1)Object.assign(block.style,{display:\"inline-block\",whiteSpace:\"pre\",textWrap:\"nowrap\"});else Object.assign(block.style,{display:\"block\",width:`${width}px`,whiteSpace});el.replaceChildren(block,word);const wordWidths=new Map;const wordWidth=w=>{let v=wordWidths.get(w);if(v===undefined){wordNode.data=w;v=word.getBoundingClientRect().width;wordWidths.set(w,v);}return v;};return{singleWidth(text){fill(block,text,units);return block.getBoundingClientRect().width;},fits(text){const spans=fill(block,text,units);if(lines===1)return block.getBoundingClientRect().width<=width+LAYOUT_EPSILON;if(rowCount(block)>lines)return false;if(spans.length){const left=block.getBoundingClientRect().left;return spans.every(s=>s.getBoundingClientRect().right-left<=width+LAYOUT_EPSILON);}return text.split(/[ \\t\\n\\r\\f]+/).every(w=>!w||wordWidth(w)<=width+LAYOUT_EPSILON);},done(){el.replaceChildren();}};}export function naturalWidth(text,style,units){const m=measurer(style,0,1,\"pre\",units);const w=m.singleWidth(text.replace(/\\r\\n?|\\n/g,\" \"));m.done();return w;}export function truncateText(options){const lines=Math.max(1,Math.floor(Number(options.maxLines)||1));const trimPunctuation=options.trimPunctuation??true;const text=lines===1?options.text.replace(/\\r\\n?|\\n/g,\" \"):options.text;const natural=typeof document===\"undefined\"?0:naturalWidth(text,options.style,options.units);const keep={text,truncated:false,kept:-1,naturalWidth:natural};if(!text||options.fit||typeof document===\"undefined\"||!(options.width>=0))return keep;const m=measurer(options.style,options.width,lines,options.whiteSpace??\"pre-wrap\",options.units);try{if(m.fits(text))return keep;const parts=graphemes(text);const candidate=k=>cleanTail(parts.slice(0,k).join(\"\"),trimPunctuation)+ELLIPSIS;let lo=0,hi=parts.length-1;while(lo<hi){const mid=Math.ceil((lo+hi)/2);if(m.fits(candidate(mid)))lo=mid;else hi=mid-1;}const out=candidate(lo);return{text:out===ELLIPSIS&&lo===0?ELLIPSIS:out,truncated:true,kept:lo,naturalWidth:natural};}finally{m.done();}}export function createTruncationController(config){const band=config.hysteresis??.5;let width=-1;let last=null;let disposed=false;const run=(force=false)=>{if(disposed||width<0)return;const s=config.getSettings(),text=config.getText();const css=getComputedStyle(config.styleSource??config.host);const key=JSON.stringify([text,s,TEXT_STYLE_KEYS.map(k=>css.getPropertyValue(k))]);if(!force&&last&&last.key===key&&width>=last.width&&width-last.width<band)return;const result=s.enabled?truncateText({text,maxLines:s.maxLines,width,style:config.styleSource??config.host,fit:s.fit,whiteSpace:s.whiteSpace,trimPunctuation:s.trimPunctuation,units:s.units}):{text,truncated:false,kept:-1,naturalWidth:0};const changed=!last||last.result.text!==result.text;last={key,width,result};if(changed)config.onChange(result);};const ro=new ResizeObserver(entries=>{const box=entries[entries.length-1];const next=box.contentBoxSize?.[0]?.inlineSize??box.contentRect.width;if(next===width)return;width=next;run();});ro.observe(config.host);const fonts=document.fonts;const onFonts=()=>run(true);fonts?.addEventListener?.(\"loadingdone\",onFonts);fonts?.ready?.then(onFonts);return{update:(force=true)=>run(force),dispose(){disposed=true;ro.disconnect();fonts?.removeEventListener?.(\"loadingdone\",onFonts);}};}const useBrowserLayoutEffect=typeof window===\"undefined\"?useEffect:useLayoutEffect;export function useTruncatedText(host,text,settings){const[shown,setShown]=useState(text);const latest=useRef({text,settings});latest.current={text,settings};const controller=useRef(null);useBrowserLayoutEffect(()=>{if(!host.current)return;controller.current=createTruncationController({host:host.current,getText:()=>latest.current.text,getSettings:()=>latest.current.settings,onChange:r=>setShown(r.text)});return()=>{controller.current?.dispose();controller.current=null;};},[]);useBrowserLayoutEffect(()=>{controller.current?.update(true);},[text,settings.enabled,settings.maxLines,settings.fit,settings.whiteSpace,settings.trimPunctuation,settings.units?.split,settings.units?.display]);return settings.enabled&&!settings.fit?shown:text;}export const TRUNCATION_SIZER_STYLE={display:\"block\",height:0,overflow:\"hidden\",visibility:\"hidden\",whiteSpace:\"pre-wrap\",pointerEvents:\"none\",userSelect:\"none\"};\nexport const __FramerMetadata__ = {\"exports\":{\"graphemes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"glyphUnits\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TruncationController\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TruncationSettings\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LAYOUT_EPSILON\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextStyleSource\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useTruncatedText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"truncateText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextStyleKey\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TEXT_STYLE_KEYS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TRUNCATION_SIZER_STYLE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TruncationUnits\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LIGATURE_CLUSTER\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"naturalWidth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TruncateOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TruncateResult\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cleanTail\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isFitWidth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ELLIPSIS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createTruncationController\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"TextShimmer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"20\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"400\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextShimmer_Prod.map"],"mappings":"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"}