{"version":3,"file":"Dynamic_Fit_Type.BOUlrpXw.mjs","names":["React.useRef","React.useState","React.useMemo","React.useCallback","__esmMin","ne","init_npm_react_18_3_1","te","pe","window","_e","de","H","c","init_jsx_runtime","ce","init_ssg_sandbox_shims","addPropertyControls","useIsStaticRenderer","ControlType","init_framer_BL70qLPA","parseVariationSettings","parsed","settings","axisRegex","match","tag","value","serializeVariationSettings","getWeightAxisRange","axisCandidates","font","candidate","axis","min","max","DynamicFitType","props","isStaticRenderer","containerRef","textRef","frameRef","observedSizeRef","fittedSize","setFittedSize","maxFontSize","isMeasured","setIsMeasured","displayText","uppercase","text","fitText","container","el","containerRect","observed","width","height","hasExplicitHeight","style","shouldFitHeight","multiline","lowBound","minFontSize","highBound","isWidthFillMode","widthFit","originalTransition","originalFontSize","originalWidth","originalMinWidth","originalMaxWidth","originalWhiteSpace","originalOverflowWrap","originalWordBreak","measureAtSize","size","doesFit","textRect","fitsWidth","fitsHeight","nextSize","referenceSize","referenceWidth","proportionalTarget","clampedTarget","low","high","i","mid","rounded","prev","scheduleFit","resizeObserver","entry","entries","boxSize","detachFontListener","fonts","onLoadingDone","lineHeight","letterSpacing","alignment","autoWeight","fontWeight","isLegacyAutoWeight","shouldUseAutoWeight","parsedWeight","requestedWeight","clampedWeight","axisRange","mergedVariationSettings","textStyle","shouldApplyFontWeight","textColor","init_Dynamic_Fit_Type"],"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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"}