{"version":3,"file":"Color_Text.BhGyWZce.mjs","names":["React.useMemo"],"sources":["https:/framerusercontent.com/modules/1Nr48TRVyl5uQVvudgKZ/NbetM1N2H1PEuAwduowp/Color_Text.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const RGB=/rgba?\\(([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)(?:\\s*,\\s*([\\d.]+))?\\)/i;const HSL=/hsla?\\(([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\)/i;const HEX=/^#?([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i;const clamp=(n,min=0,max=1)=>Math.max(min,Math.min(max,n));function hslToRgb(h,s,l){h=(h%360+360)%360;const c=(1-Math.abs(2*l-1))*s;const x=c*(1-Math.abs(h/60%2-1));const m=l-c/2;let[r,g,b]=[0,0,0];if(h<60)[r,g,b]=[c,x,0];else if(h<120)[r,g,b]=[x,c,0];else if(h<180)[r,g,b]=[0,c,x];else if(h<240)[r,g,b]=[0,x,c];else if(h<300)[r,g,b]=[x,0,c];else[r,g,b]=[c,0,x];return[Math.round((r+m)*255),Math.round((g+m)*255),Math.round((b+m)*255)];}function parseColor(input){if(!input)return null;const s=input.trim().toLowerCase();if(s===\"transparent\")return{r:0,g:0,b:0,a:0};const mRgb=s.match(RGB);if(mRgb){return{r:Math.round(parseFloat(mRgb[1])),g:Math.round(parseFloat(mRgb[2])),b:Math.round(parseFloat(mRgb[3])),a:mRgb[4]!==undefined?clamp(parseFloat(mRgb[4])):1};}const mHsl=s.match(HSL);if(mHsl){const h=parseFloat(mHsl[1]);const sl=clamp(parseFloat(mHsl[2])/100);const l=clamp(parseFloat(mHsl[3])/100);const a=mHsl[4]!==undefined?clamp(parseFloat(mHsl[4])):1;const[r,g,b]=hslToRgb(h,sl,l);return{r,g,b,a};}const mHex=s.match(HEX);if(mHex){let h=mHex[1];if(h.length===3)h=h.split(\"\").map(c=>c+c).join(\"\");if(h.length===6)h=h+\"ff\";const n=parseInt(h,16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:(n&255)/255};}return null;}const srgbToLin=v=>{const x=v/255;return x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4);};const relLum=({r,g,b})=>.2126*srgbToLin(r)+.7152*srgbToLin(g)+.0722*srgbToLin(b);function contrastRatio(fg,bg){const L1=relLum(fg),L2=relLum(bg);const[lo,hi]=[Math.min(L1,L2),Math.max(L1,L2)];return(hi+.05)/(lo+.05);}export default function AutoContrastBottomText(props){const{text,isHTML,bgColor,fillWithBg,paddingX,paddingY,radius,maxWidth,fontSize,lineHeight,letterSpacing,fontWeight,italic,upper,textAlign,paragraphGap}=props;const bg=React.useMemo(()=>parseColor(bgColor)??{r:255,g:255,b:255,a:1},[bgColor]);const textHex=React.useMemo(()=>{const white={r:255,g:255,b:255,a:1};const black={r:18,g:18,b:18,a:1}// <- #121212\n;// Sonderfall #51AD73\nconst isSpecialGreen=Math.abs(bg.r-81)<2&&Math.abs(bg.g-173)<2&&Math.abs(bg.b-115)<2;if(isSpecialGreen)return\"#ffffff\";const cW=contrastRatio(white,bg);const cB=contrastRatio(black,bg);return cW>=cB?\"#ffffff\":\"#121212\";},[bg]);const wrapper={width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",background:fillWithBg?bgColor:undefined,borderRadius:radius,boxSizing:\"border-box\",padding:`${paddingY}px ${paddingX}px`,overflow:\"hidden\"};const contentWrap={display:\"flex\",flexDirection:\"column\",justifyContent:\"flex-end\",alignItems:textAlign===\"left\"?\"flex-start\":textAlign===\"right\"?\"flex-end\":\"center\",width:\"100%\",height:\"100%\",maxWidth:maxWidth>0?maxWidth:undefined,marginLeft:textAlign===\"left\"?0:\"auto\",marginRight:textAlign===\"right\"?0:\"auto\"};const textStyle={color:textHex,[\"--framer-text-color\"]:textHex,// Hier fest verdrahtete Standard-Schrift:\nfontFamily:\"Aktiv Grotesk Regular\",fontSize,lineHeight,letterSpacing,fontWeight,fontStyle:italic?\"italic\":\"normal\",textTransform:upper?\"uppercase\":\"none\",textAlign,margin:0,whiteSpace:\"pre-wrap\",wordBreak:\"break-word\"};return /*#__PURE__*/_jsxs(\"div\",{style:wrapper,children:[/*#__PURE__*/_jsx(\"div\",{style:{flex:1}}),/*#__PURE__*/_jsx(\"div\",{style:contentWrap,children:isHTML?/*#__PURE__*/_jsx(\"div\",{style:textStyle,dangerouslySetInnerHTML:{__html:normalizeHTML(text,paragraphGap)}}):/*#__PURE__*/_jsx(\"div\",{style:textStyle,children:text})})]});}function normalizeHTML(html,gap){if(!html)return\"\";const space=`${gap}px`;return html.replaceAll(\"<p\",`<p style=\"margin:0 0 ${space} 0\"`).replaceAll(\"<ul\",`<ul style=\"margin:0 0 ${space} 1.2em\"`).replaceAll(\"<ol\",`<ol style=\"margin:0 0 ${space} 1.2em\"`).replaceAll(\"<h1\",`<h1 style=\"margin:0 0 ${space} 0\"`).replaceAll(\"<h2\",`<h2 style=\"margin:0 0 ${space} 0\"`).replaceAll(\"<h3\",`<h3 style=\"margin:0 0 ${space} 0\"`);}// ---------- Defaults ----------\nAutoContrastBottomText.defaultProps={text:\"CMS Text\",isHTML:false,bgColor:\"#222222\",fillWithBg:true,paddingX:16,paddingY:16,radius:0,maxWidth:0,fontSize:20,lineHeight:1.3,letterSpacing:0,fontWeight:400,italic:false,upper:false,textAlign:\"left\",paragraphGap:8};// ---------- Property Controls ----------\naddPropertyControls(AutoContrastBottomText,{text:{type:ControlType.String,title:\"Text\"},isHTML:{type:ControlType.Boolean,title:\"Rich HTML\"},bgColor:{type:ControlType.Color,title:\"CMS Hintergrund\"},fillWithBg:{type:ControlType.Boolean,title:\"Hintergrund f\\xfcllen\"},paddingX:{type:ControlType.Number,title:\"Padding X\",min:0,max:200,step:1},paddingY:{type:ControlType.Number,title:\"Padding Y\",min:0,max:200,step:1},radius:{type:ControlType.Number,title:\"Radius\",min:0,max:64,step:1},maxWidth:{type:ControlType.Number,title:\"Max Width\",min:0,max:2400,step:10},fontSize:{type:ControlType.Number,title:\"Font Size\",min:8,max:160,step:1},lineHeight:{type:ControlType.Number,title:\"Line Height\",min:1,max:2,step:.02},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",min:-2,max:10,step:.1},fontWeight:{type:ControlType.Number,title:\"Weight\",min:100,max:900,step:50},italic:{type:ControlType.Boolean,title:\"Italic\"},upper:{type:ControlType.Boolean,title:\"Uppercase\"},textAlign:{type:ControlType.SegmentedEnum,title:\"Text Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"]},paragraphGap:{type:ControlType.Number,title:\"Paragraph Gap\",min:0,max:48,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AutoContrastBottomText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Color_Text.map"],"mappings":"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"}