{"version":3,"file":"Dynamic_Fit_Type.vairkAqO.mjs","names":["React.useRef","React.useState","React.useMemo","React.useCallback"],"sources":["https:/framerusercontent.com/modules/R2HxoMd8jA248W2g4IFQ/ljYIM6ENRCyucy2tRjJG/Dynamic_Fit_Type.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function parseVariationSettings(settings){const parsed=new Map;if(typeof settings!==\"string\")return parsed;const axisRegex=/[\"']([A-Za-z0-9]{4})[\"']\\s*([+-]?\\d*\\.?\\d+)/g;let match=axisRegex.exec(settings);while(match){const tag=match[1];const value=Number.parseFloat(match[2]);if(!Number.isNaN(value)){parsed.set(tag,value);}match=axisRegex.exec(settings);}return parsed;}function serializeVariationSettings(settings){if(settings.size===0)return undefined;return Array.from(settings.entries()).map(([tag,value])=>`\"${tag}\" ${Math.round(value*1e3)/1e3}`).join(\", \");}function getWeightAxisRange(font){const axisCandidates=[font?.variationAxes,font?.fontVariationAxes,font?.axes];for(const candidate of axisCandidates){if(!Array.isArray(candidate))continue;for(const axis of candidate){const tag=axis?.tag??axis?.name??axis?.axis;if(tag!==\"wght\")continue;const min=Number(axis?.min??axis?.minimum??axis?.minValue);const max=Number(axis?.max??axis?.maximum??axis?.maxValue);if(!Number.isNaN(min)&&!Number.isNaN(max)){return{min,max};}}}return null;}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function DynamicFitType(props){const{text,textColor,font,alignment,minFontSize,maxFontSize,lineHeight,letterSpacing,autoWeight,fontWeight,uppercase,widthFit,multiline,tag,style}=props;const isStaticRenderer=useIsStaticRenderer();const containerRef=React.useRef(null);const textRef=React.useRef(null);const frameRef=React.useRef(null);const observedSizeRef=React.useRef(null);const[fittedSize,setFittedSize]=React.useState(maxFontSize);const[isMeasured,setIsMeasured]=React.useState(false);const displayText=React.useMemo(()=>{return uppercase?text.toUpperCase():text;},[text,uppercase]);const fitText=React.useCallback(()=>{if(typeof window===\"undefined\")return;const container=containerRef.current;const el=textRef.current;if(!container||!el)return;const containerRect=container.getBoundingClientRect();const observed=observedSizeRef.current;const width=observed?.width&&observed.width>0?observed.width:containerRect.width;const height=observed?.height&&observed.height>0?observed.height:containerRect.height;if(width<=0)return;const hasExplicitHeight=style?.height!==undefined&&style?.height!==null&&style?.height!==\"auto\"&&style?.height!==\"fit-content\";const shouldFitHeight=multiline&&hasExplicitHeight&&height>1;const lowBound=Math.min(minFontSize,maxFontSize);const highBound=Math.max(minFontSize,maxFontSize);const isWidthFillMode=widthFit===\"fill\"&&!multiline;const originalTransition=el.style.transition;const originalFontSize=el.style.fontSize;const originalWidth=el.style.width;const originalMinWidth=el.style.minWidth;const originalMaxWidth=el.style.maxWidth;const originalWhiteSpace=el.style.whiteSpace;const originalOverflowWrap=el.style.overflowWrap;const originalWordBreak=el.style.wordBreak;el.style.transition=\"none\";const measureAtSize=size=>{el.style.fontSize=`${size}px`;el.style.whiteSpace=multiline?\"normal\":\"nowrap\";el.style.overflowWrap=multiline?\"anywhere\":\"normal\";el.style.wordBreak=multiline?\"break-word\":\"normal\";if(isWidthFillMode){el.style.width=\"max-content\";el.style.maxWidth=\"none\";el.style.minWidth=\"max-content\";}else if(multiline||widthFit===\"fill\"){el.style.width=`${width}px`;el.style.maxWidth=`${width}px`;el.style.minWidth=\"0px\";}else{el.style.width=\"max-content\";el.style.maxWidth=\"none\";el.style.minWidth=\"max-content\";}return el.getBoundingClientRect();};const doesFit=size=>{const textRect=measureAtSize(size);const fitsWidth=textRect.width<=width+.5;const fitsHeight=!shouldFitHeight||textRect.height<=height+.5;return fitsWidth&&fitsHeight;};let nextSize=lowBound;if(isWidthFillMode){const referenceSize=Math.min(Math.max(100,lowBound),highBound);const referenceRect=measureAtSize(referenceSize);const referenceWidth=referenceRect.width;if(referenceWidth>0){const proportionalTarget=referenceSize*(width/referenceWidth);const clampedTarget=Math.min(highBound,Math.max(lowBound,proportionalTarget));let low=lowBound;let high=highBound;if(measureAtSize(clampedTarget).width<=width+.5){low=clampedTarget;}else{high=clampedTarget;}if(measureAtSize(highBound).width<=width+.5){nextSize=highBound;}else if(measureAtSize(lowBound).width>width+.5){nextSize=lowBound;}else{for(let i=0;i<12;i++){const mid=(low+high)/2;if(measureAtSize(mid).width<=width+.5){low=mid;}else{high=mid;}}nextSize=low;}}else{nextSize=lowBound;}}else if(doesFit(highBound)){nextSize=highBound;}else if(!doesFit(lowBound)){nextSize=lowBound;}else{let low=lowBound;let high=highBound;for(let i=0;i<14;i++){const mid=(low+high)/2;if(doesFit(mid)){low=mid;}else{high=mid;}}nextSize=low;}const rounded=Math.round(nextSize*100)/100;el.style.transition=originalTransition;el.style.fontSize=originalFontSize;el.style.width=originalWidth;el.style.minWidth=originalMinWidth;el.style.maxWidth=originalMaxWidth;el.style.whiteSpace=originalWhiteSpace;el.style.overflowWrap=originalOverflowWrap;el.style.wordBreak=originalWordBreak;React.startTransition(()=>{setFittedSize(prev=>Math.abs(prev-rounded)>.1?rounded:prev);if(!isMeasured){setIsMeasured(true);}});},[minFontSize,maxFontSize,multiline,widthFit,style?.height,isMeasured]);const scheduleFit=React.useCallback(()=>{if(typeof window===\"undefined\")return;if(frameRef.current!==null){window.cancelAnimationFrame(frameRef.current);}frameRef.current=window.requestAnimationFrame(()=>{fitText();});},[fitText]);React.useEffect(()=>{if(isStaticRenderer){React.startTransition(()=>{setIsMeasured(true);});return;}},[isStaticRenderer]);React.useEffect(()=>{if(isStaticRenderer)return;if(typeof window===\"undefined\")return;scheduleFit();let resizeObserver=null;if(typeof ResizeObserver!==\"undefined\"&&containerRef.current){resizeObserver=new ResizeObserver(entries=>{const entry=entries[0];if(entry){const boxSize=Array.isArray(entry.contentBoxSize)?entry.contentBoxSize[0]:entry.contentBoxSize;if(boxSize){observedSizeRef.current={width:boxSize.inlineSize,height:boxSize.blockSize};}else{observedSizeRef.current={width:entry.contentRect.width,height:entry.contentRect.height};}}scheduleFit();});resizeObserver.observe(containerRef.current);}let detachFontListener=null;if(typeof document!==\"undefined\"&&\"fonts\"in document){const fonts=document.fonts;if(fonts?.ready){fonts.ready.then(()=>scheduleFit()).catch(()=>{});}if(fonts?.addEventListener){const onLoadingDone=()=>scheduleFit();fonts.addEventListener(\"loadingdone\",onLoadingDone);detachFontListener=()=>{fonts.removeEventListener(\"loadingdone\",onLoadingDone);};}}return()=>{if(resizeObserver)resizeObserver.disconnect();if(detachFontListener)detachFontListener();if(typeof window!==\"undefined\"&&frameRef.current!==null){window.cancelAnimationFrame(frameRef.current);}};},[isStaticRenderer,scheduleFit]);React.useEffect(()=>{if(isStaticRenderer)return;scheduleFit();},[isStaticRenderer,scheduleFit,displayText,minFontSize,maxFontSize,lineHeight,letterSpacing,alignment,multiline,widthFit,font,autoWeight,fontWeight,tag]);const isLegacyAutoWeight=typeof fontWeight===\"string\"&&fontWeight.trim().toLowerCase()===\"auto\";const shouldUseAutoWeight=autoWeight||isLegacyAutoWeight;const parsedWeight=Number.parseFloat(String(fontWeight));const requestedWeight=Number.isNaN(parsedWeight)?400:parsedWeight;const clampedWeight=React.useMemo(()=>{if(shouldUseAutoWeight)return null;const axisRange=getWeightAxisRange(font);if(!axisRange)return requestedWeight;return Math.min(axisRange.max,Math.max(axisRange.min,requestedWeight));},[font,requestedWeight,shouldUseAutoWeight]);const mergedVariationSettings=React.useMemo(()=>{const sourceSettings=font?.fontVariationSettings??font?.fontVariation??font?.[\"font-variation-settings\"];const parsed=parseVariationSettings(sourceSettings);if(!shouldUseAutoWeight&&clampedWeight!==null){parsed.set(\"wght\",clampedWeight);}else if(shouldUseAutoWeight){parsed.delete(\"wght\");}return serializeVariationSettings(parsed);},[font,shouldUseAutoWeight,clampedWeight]);const textStyle=React.useMemo(()=>{const shouldApplyFontWeight=!shouldUseAutoWeight&&clampedWeight!==null;return{position:\"relative\",margin:0,color:textColor,fontFamily:font?.fontFamily,fontStyle:font?.fontStyle,fontWeight:shouldApplyFontWeight?clampedWeight:undefined,fontVariationSettings:!shouldUseAutoWeight?mergedVariationSettings:undefined,fontSize:isStaticRenderer?maxFontSize:fittedSize,lineHeight:`${lineHeight}`,letterSpacing:`${letterSpacing}em`,textAlign:alignment,whiteSpace:multiline?\"normal\":\"nowrap\",overflowWrap:multiline?\"anywhere\":\"normal\",wordBreak:multiline?\"break-word\":\"normal\",width:multiline?\"100%\":\"max-content\",minWidth:!multiline?\"max-content\":undefined,overflow:\"hidden\",textTransform:uppercase?\"uppercase\":\"none\",opacity:isMeasured?1:0,transition:\"opacity 0.42s cubic-bezier(0.22, 1, 0.36, 1)\"};},[textColor,font,shouldUseAutoWeight,clampedWeight,mergedVariationSettings,isStaticRenderer,maxFontSize,fittedSize,lineHeight,letterSpacing,alignment,multiline,widthFit,uppercase,isMeasured]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",display:\"flex\",alignItems:\"stretch\",justifyContent:alignment===\"left\"?\"flex-start\":alignment===\"right\"?\"flex-end\":\"center\",...style},\"aria-live\":\"polite\",children:/*#__PURE__*/React.createElement(tag,{ref:textRef,style:textStyle},displayText)});}addPropertyControls(DynamicFitType,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Dynamic Fit Type\",displayTextArea:true},tag:{type:ControlType.Enum,title:\"Tag\",defaultValue:\"div\",options:[\"div\",\"p\",\"span\",\"h1\",\"h2\",\"h3\"],optionTitles:[\"Div\",\"Paragraph\",\"Span\",\"H1\",\"H2\",\"H3\"]},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"40px\",variant:\"Bold\",letterSpacing:\"-0.04em\",lineHeight:\"1em\",textAlign:\"left\"}},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},alignment:{type:ControlType.Enum,title:\"Align\",defaultValue:\"left\",options:[\"left\",\"center\",\"right\",\"justify\"],optionTitles:[\"Left\",\"Center\",\"Right\",\"Justify\"],displaySegmentedControl:true},minFontSize:{type:ControlType.Number,title:\"Min Size\",defaultValue:14,min:6,max:300,step:1,unit:\"px\"},maxFontSize:{type:ControlType.Number,title:\"Max Size\",defaultValue:1e3,min:8,max:2e3,step:1,unit:\"px\"},lineHeight:{type:ControlType.Number,title:\"Line\",defaultValue:1,min:.7,max:2,step:.01},letterSpacing:{type:ControlType.Number,title:\"Spacing\",defaultValue:-.02,min:-.2,max:.5,step:.001,unit:\"em\"},autoWeight:{type:ControlType.Boolean,title:\"Auto Weight\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},fontWeight:{type:ControlType.Number,title:\"Weight\",defaultValue:400,min:100,max:900,step:25},uppercase:{type:ControlType.Boolean,title:\"Uppercase\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},widthFit:{type:ControlType.Enum,title:\"Width Fit\",defaultValue:\"fill\",options:[\"fill\",\"content\"],optionTitles:[\"Fill\",\"Content\"],displaySegmentedControl:true},multiline:{type:ControlType.Boolean,title:\"Wrap\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DynamicFitType\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Dynamic_Fit_Type.map"],"mappings":"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"}