{"version":3,"file":"inlineLinks.DkwYFNvw.mjs","names":["useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/tXSwCsyVq6z0PAi6yLBQ/FVHTuPCRf3EP4aZlt0ca/inlineLinks.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState}from\"react\";import{surfaceInk,focusCss}from\"https://framerusercontent.com/modules/HDAkrahb3ethcU2GAef2/nCb5ot8a39Uw7ZcMqia0/tokens.js\";import{useSection}from\"https://framerusercontent.com/modules/QAOPTtLoApnb5MkIYZk8/OtTOdEBa3m1YNpcPzZSP/Section.js\";// Inline links inside plain-text props.\n// Write a link as [visible text](/projects/some-slug) or [text](https://example.com).\n// One system-wide style: thin underline, inherits text colour. Hover follows the surface (2026-09-23):\n// red text on cream, yellow on slate; on yellow/red/ember the colour stays and the underline thickens.\n// Focus: highlighter fill (tokens.tsx focusCss). Outside a <Section> the surface defaults to cream.\nexport function InlineLink({href,children}){const[hover,setHover]=useState(false);const{tone}=useSection();const ink=surfaceInk(tone);const isMail=/^mailto:/.test(href);const external=/^https?:\\/\\//.test(href);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:focusCss(\".wof-inline-link\",\"link\",tone)}),/*#__PURE__*/_jsx(\"a\",{className:\"wof-inline-link\",href:href,target:external?\"_blank\":undefined,rel:external?\"noopener noreferrer\":undefined,onPointerEnter:e=>{if(e.pointerType!==\"touch\")setHover(true);},onPointerLeave:()=>setHover(false),style:{color:hover&&!ink.linkHoverUnderline?ink.linkHover:\"inherit\",textDecoration:\"underline\",textDecorationThickness:hover&&ink.linkHoverUnderline?\"2px\":\"1px\",textUnderlineOffset:\"3px\",transition:\"color 0.2s ease\"},children:children})]});}const LINK_RE=/\\[([^\\]]+)\\]\\(([^)\\s]+)\\)/g;export function renderInline(text){const out=[];let last=0;let key=0;let m;LINK_RE.lastIndex=0;while(m=LINK_RE.exec(text)){if(m.index>last)out.push(text.slice(last,m.index));out.push(/*#__PURE__*/_jsx(InlineLink,{href:m[2],children:m[1]},key++));last=m.index+m[0].length;}if(last<text.length)out.push(text.slice(last));return out;}// Splits a multi-line prop into paragraphs (one paragraph per line / blank-line block).\nexport function paragraphs(text){return(text||\"\").split(/\\n+/).map(s=>s.trim()).filter(Boolean);}export default function InlineLinks(){return null;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paragraphs\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InlineLink\":{\"type\":\"reactComponent\",\"name\":\"InlineLink\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"renderInline\":{\"type\":\"reactComponent\",\"name\":\"renderInline\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"8OAKA,SAAgB,EAAW,CAAC,OAAK,YAAU,CAAC,GAAK,CAAC,EAAM,GAAUA,EAAS,EAAK,EAAO,CAAC,QAAM,EAAW,EAAQ,EAAI,EAAW,CAAI,EAAe,WAAW,KAAK,CAAI,EAAE,IAAM,EAAS,eAAe,KAAK,CAAI,EAAE,OAAoB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS,EAAS,mBAAmB,OAAO,CAAI,CAAC,CAAC,EAAe,EAAK,IAAI,CAAC,UAAU,kBAAuB,OAAK,OAAO,EAAS,SAAS,IAAA,GAAU,IAAI,EAAS,sBAAsB,IAAA,GAAU,eAAe,GAAG,CAAI,EAAE,cAAc,SAAQ,EAAS,EAAI,CAAE,EAAE,mBAAmB,EAAS,EAAK,EAAE,MAAM,CAAC,MAAM,GAAO,CAAC,EAAI,mBAAmB,EAAI,UAAU,UAAU,eAAe,YAAY,wBAAwB,GAAO,EAAI,mBAAmB,MAAM,MAAM,oBAAoB,MAAM,WAAW,iBAAiB,EAAW,UAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAA4C,SAAgB,EAAa,EAAK,CAAC,IAAM,EAAI,CAAC,EAAM,EAAK,EAAM,EAAI,EAAM,EAAsB,IAApB,EAAQ,UAAU,EAAQ,EAAE,EAAQ,KAAK,CAAI,GAAM,EAAE,MAAM,GAAK,EAAI,KAAK,EAAK,MAAM,EAAK,EAAE,KAAK,CAAC,EAAE,EAAI,KAAkB,EAAK,EAAW,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,GAAK,CAAC,EAAE,EAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAuD,OAA5C,EAAK,EAAK,QAAO,EAAI,KAAK,EAAK,MAAM,CAAI,CAAC,EAAS,CAAI,CACrqC,SAAgB,EAAW,EAAK,CAAC,OAAO,GAAM,GAAA,CAAI,MAAM,KAAK,CAAC,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAE,mBANlB,IAA4B,IAA2H,IAAmH,EAK8d,EAAQ"}