{"version":3,"file":"TextShimmer_Prod.CSUv4UEF.mjs","names":["useRef","useState"],"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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"}