{"version":3,"file":"HighlightText.DretMQLX.mjs","names":["useRef","fontCSS"],"sources":["https:/framerusercontent.com/modules/B1Q6d85fVEyLlIlBzg0i/kfIoXyGtw3iXhcebCxH7/HighlightText.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef}from\"react\";// Framer's ControlType.Font can return fontWeight as a string (\"regular\", \"bold\")\n// or as a number (400, 700). Normalize to a valid CSS value.\nfunction resolveFontWeight(value){if(typeof value===\"number\")return value;if(typeof value===\"string\"){const map={thin:100,extralight:200,\"extra-light\":200,light:300,regular:400,normal:400,medium:500,semibold:600,\"semi-bold\":600,bold:700,extrabold:800,\"extra-bold\":800,black:900,heavy:900};const mapped=map[value.toLowerCase()];if(mapped)return mapped;const parsed=parseInt(value,10);if(!isNaN(parsed))return parsed;}return 400;}function parseText(text,phrases){const active=phrases.filter(p=>p.trim().length>0);if(!active.length)return[{text,highlight:false}];const escaped=[...active].sort((a,b)=>b.length-a.length).map(p=>p.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\"));const regex=new RegExp(`(${escaped.join(\"|\")})`,\"gi\");const parts=text.split(regex);return parts.map(part=>({text:part,highlight:active.some(p=>p.toLowerCase()===part.toLowerCase())}));}export default function HighlightText({text=\"La relation client pour Sourds ou malentendants par des Sourds et interpr\\xe8tes\",highlightedPhrases=[\"Sourds ou malentendants\"],font={},tag=\"h1\",textColor=\"#000000\",highlightColor=\"#FBE16A\",borderRadius=6,paddingInline=6,paddingBlock=2,keepHighlightTogether=false}){const rootRef=useRef(null);const parts=parseText(text,highlightedPhrases);const Tag=tag;const fontCSS=font;const{fontWeight:rawFontWeight,...fontCSSRest}=fontCSS;// Explicitly resolve fontWeight so h1–h6 browser bold default never wins\nconst fontWeight=resolveFontWeight(rawFontWeight);const parentStyle={fontSize:\"1rem\",fontFamily:\"sans-serif\",lineHeight:\"normal\",...fontCSSRest,fontWeight,color:textColor,margin:0,padding:0,width:\"100%\",textWrap:\"pretty\"};useEffect(()=>{if(typeof window===\"undefined\")return;const root=rootRef.current;if(!root)return;const host=root.closest('[data-highlight=\"true\"]');if(host instanceof HTMLElement){host.tabIndex=-1;}},[]);return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,tabIndex:-1,style:{position:\"relative\",width:\"100%\"},children:/*#__PURE__*/_jsx(Tag,{style:parentStyle,children:parts.map((part,i)=>part.highlight?/*#__PURE__*/_jsx(\"mark\",{tabIndex:-1,style:{fontFamily:fontCSSRest.fontFamily??\"inherit\",fontSize:\"inherit\",fontWeight,fontStyle:fontCSSRest.fontStyle??\"inherit\",letterSpacing:fontCSSRest.letterSpacing??\"inherit\",lineHeight:\"inherit\",whiteSpace:keepHighlightTogether?\"nowrap\":\"normal\",backgroundColor:highlightColor,borderRadius,paddingInline,paddingBlock,color:\"inherit\",boxDecorationBreak:\"clone\",WebkitBoxDecorationBreak:\"clone\"},children:part.text},i):/*#__PURE__*/_jsx(\"span\",{children:part.text},i))})});}addPropertyControls(HighlightText,{text:{type:ControlType.String,title:\"Texte\",defaultValue:\"La relation client pour Sourds ou malentendants par des Sourds et interpr\\xe8tes\",displayTextArea:true},highlightedPhrases:{type:ControlType.Array,title:\"Surlign\\xe9s\",control:{type:ControlType.String,placeholder:\"Expression \\xe0 surligner…\"},defaultValue:[\"Sourds ou malentendants\"]},font:{type:ControlType.Font,title:\"Police\",controls:\"extended\"},tag:{type:ControlType.Enum,title:\"Balise\",options:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"H4\",\"H5\",\"H6\",\"Paragraphe\"],defaultValue:\"h1\"},textColor:{type:ControlType.Color,title:\"Texte\",defaultValue:\"#000000\"},highlightColor:{type:ControlType.Color,title:\"Surlignage\",defaultValue:\"#FBE16A\"},borderRadius:{type:ControlType.Number,title:\"Arrondi\",defaultValue:6,min:0,max:100,step:1,displayStepper:true},paddingInline:{type:ControlType.Number,title:\"Padding H\",defaultValue:6,min:0,max:40,step:1,displayStepper:true},paddingBlock:{type:ControlType.Number,title:\"Padding V\",defaultValue:2,min:0,max:40,step:1,displayStepper:true},keepHighlightTogether:{type:ControlType.Boolean,title:\"Garder uni\",defaultValue:false,enabledTitle:\"Oui\",disabledTitle:\"Non\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HighlightText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HighlightText.map"],"mappings":"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"}