{"version":3,"file":"Math_Equation.Dn_GAXeD.mjs","names":["useMemo"],"sources":["https:/framerusercontent.com/modules/hSLq6e4rF3LiSKNVDKZM/pzPYZW2uQeVHwRd7QWu3/Math_Equation.js"],"sourcesContent":["// User request: Update Math Equation so published/live rendering is reliable without dynamic imports, external CDN assets, browser globals, or network access. Replace KaTeX import with a self-contained deterministic LaTeX-to-MathML renderer for the supported Live Book CMS syntax while preserving the same controls and responsive fallback behavior.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";function plainTextFromEquation(input){return input.replace(/\\$\\$/g,\"\").replace(/\\$/g,\"\").replace(/\\\\,/g,\" \").replace(/\\\\cdot/g,\"\\xb7\").replace(/\\\\quad/g,\" \").replace(/\\\\qquad/g,\"  \").replace(/\\\\times/g,\"\\xd7\").replace(/\\\\Delta/g,\"Δ\").replace(/\\\\sigma/g,\"σ\").replace(/\\\\Xi/g,\"Ξ\").replace(/\\\\sum/g,\"∑\").replace(/\\\\approx/g,\"≈\").replace(/\\\\leq/g,\"≤\").replace(/\\\\le/g,\"≤\").replace(/\\\\geq/g,\"≥\").replace(/\\\\ge/g,\"≥\").replace(/\\\\neq/g,\"≠\").replace(/\\\\to/g,\"→\").replace(/\\\\infty/g,\"∞\").replace(/\\\\sqrt\\{([^}]*)\\}/g,\"√($1)\").replace(/\\\\frac\\{([^}]*)\\}\\{([^}]*)\\}/g,\"($1)/($2)\").replace(/\\\\([a-zA-Z]+)/g,\"$1\").replace(/[{}]/g,\"\").trim();}function createNode(tag,children=[],text,attrs){return{tag,children,text,attrs};}function splitTopLevel(input,separator){const out=[];let depth=0;let buffer=\"\";for(let i=0;i<input.length;i++){const char=input[i];if(char===\"{\")depth++;if(char===\"}\")depth=Math.max(0,depth-1);if(depth===0&&input.slice(i,i+separator.length)===separator){out.push(buffer);buffer=\"\";i+=separator.length-1;continue;}buffer+=char;}out.push(buffer);return out;}function parseLatexToMathML(input){const cleaned=input.replace(/^\\$\\$|\\$\\$$/g,\"\").replace(/\\\\begin\\{aligned\\}/g,\"\").replace(/\\\\end\\{aligned\\}/g,\"\").trim();const lines=splitTopLevel(cleaned,\"\\\\\\\\\").filter(Boolean);let supported=true;function parseGroup(source,start){if(source[start]!==\"{\")return{content:\"\",end:start};let depth=0;for(let i=start;i<source.length;i++){if(source[i]===\"{\")depth++;if(source[i]===\"}\")depth--;if(depth===0)return{content:source.slice(start+1,i),end:i+1};}return{content:source.slice(start+1),end:source.length};}function parseExpression(source){const nodes=[];let i=0;const parseAtom=()=>{while(source[i]===\" \")i++;if(i>=source.length)return null;const char=source[i];if(char===\"{\"){const group=parseGroup(source,i);i=group.end;return createNode(\"mrow\",parseExpression(group.content));}if(/[0-9]/.test(char)){let j=i+1;while(j<source.length&&/[0-9.]/.test(source[j]))j++;const value=source.slice(i,j);i=j;return createNode(\"mn\",[],value);}if(/[a-zA-Z]/.test(char)){i+=1;return createNode(\"mi\",[],char);}if(char===\"\\\\\"){let j=i+1;while(j<source.length&&/[a-zA-Z]/.test(source[j]))j++;const cmd=source.slice(i+1,j);i=j;if(cmd===\"frac\"){const g1=parseGroup(source,i);i=g1.end;const g2=parseGroup(source,i);i=g2.end;return createNode(\"mfrac\",[createNode(\"mrow\",parseExpression(g1.content)),createNode(\"mrow\",parseExpression(g2.content))]);}if(cmd===\"mathrm\"||cmd===\"text\"){const g=parseGroup(source,i);i=g.end;return createNode(\"mtext\",[],g.content);}if(cmd===\"sum\")return createNode(\"mo\",[],\"∑\");if(cmd===\"Delta\")return createNode(\"mi\",[],\"Δ\");if(cmd===\"sigma\")return createNode(\"mi\",[],\"σ\");if(cmd===\"Xi\")return createNode(\"mi\",[],\"Ξ\");if(cmd===\"cdot\")return createNode(\"mo\",[],\"\\xb7\");if(cmd===\"le\"||cmd===\"leq\")return createNode(\"mo\",[],\"≤\");if(cmd===\"ge\"||cmd===\"geq\")return createNode(\"mo\",[],\"≥\");if(cmd===\"approx\")return createNode(\"mo\",[],\"≈\");if(cmd===\"quad\")return createNode(\"mspace\",[],undefined,{width:\"1em\"});if(cmd===\"qquad\")return createNode(\"mspace\",[],undefined,{width:\"2em\"});supported=false;return createNode(\"mtext\",[],`\\\\${cmd}`);}if(\"+-=*/(),[]\".includes(char)){i+=1;return createNode(\"mo\",[],char);}i+=1;return createNode(\"mtext\",[],char);};const parseScriptArg=()=>{while(source[i]===\" \")i++;if(source[i]===\"{\"){const g=parseGroup(source,i);i=g.end;return createNode(\"mrow\",parseExpression(g.content));}const atom=parseAtom();return atom??createNode(\"mrow\",[]);};while(i<source.length){const base=parseAtom();if(!base)break;let sub=null;let sup=null;while(i<source.length&&(source[i]===\"_\"||source[i]===\"^\")){const op=source[i];i+=1;const arg=parseScriptArg();if(op===\"_\")sub=arg;if(op===\"^\")sup=arg;}if(sub&&sup)nodes.push(createNode(\"msubsup\",[base,sub,sup]));else if(sub)nodes.push(createNode(\"msub\",[base,sub]));else if(sup)nodes.push(createNode(\"msup\",[base,sup]));else nodes.push(base);}return nodes;}if(lines.length>1||cleaned.includes(\"&\")){const rows=lines.map(line=>{const columns=splitTopLevel(line,\"&\");const cells=columns.map(column=>createNode(\"mtd\",[createNode(\"mrow\",parseExpression(column.trim()))]));return createNode(\"mtr\",cells);});return{supported,node:createNode(\"math\",[createNode(\"mtable\",rows,undefined,{columnalign:\"right left\"})],undefined,{display:\"block\"})};}return{supported,node:createNode(\"math\",[createNode(\"mrow\",parseExpression(cleaned))],undefined,{display:\"block\"})};}function renderMathNode(node,key){const Tag=node.tag;return /*#__PURE__*/_jsxs(Tag,{...node.attrs??{},children:[node.text,node.children?.map((child,index)=>renderMathNode(child,`${key}-${child.tag}-${index}`))]},key);}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function MathEquation(props){const{equation=\"\\\\Delta = \\\\sum_{i=1}^{n} \\\\frac{\\\\sigma_i}{\\\\Xi_i} \\\\cdot x_i\",fontSize=28,color=\"#000000\",align=\"center\"}=props;const fallbackText=useMemo(()=>plainTextFromEquation(equation),[equation]);const parsed=useMemo(()=>parseLatexToMathML(equation),[equation]);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",background:\"transparent\",padding:\"10px 0\",overflowX:\"auto\",overflowY:\"hidden\",textAlign:align,color},children:parsed.supported?/*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-block\",minWidth:\"max-content\",fontSize:`${fontSize}px`,lineHeight:1.3,color},children:renderMathNode(parsed.node,\"math-root\")}):/*#__PURE__*/_jsx(\"pre\",{style:{margin:0,display:\"inline-block\",minWidth:\"max-content\",whiteSpace:\"pre-wrap\",overflowWrap:\"anywhere\",fontSize:`${fontSize}px`,lineHeight:1.3,color,background:\"transparent\",fontFamily:'ui-serif, \"Times New Roman\", Times, \"STIX Two Text\", serif'},children:fallbackText})});}MathEquation.displayName=\"Math Equation\";addPropertyControls(MathEquation,{equation:{type:ControlType.String,title:\"Equation\",defaultValue:\"\\\\Delta = \\\\sum_{i=1}^{n} \\\\frac{\\\\sigma_i}{\\\\Xi_i} \\\\cdot x_i\",displayTextArea:true},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:28,min:10,max:96,step:1},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"},align:{type:ControlType.Enum,title:\"Align\",defaultValue:\"center\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MathEquation\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Math_Equation.map"],"mappings":"iLACwI,SAAS,EAAsB,EAAM,CAAC,OAAO,EAAM,QAAQ,QAAQ,EAAE,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,QAAQ,UAAU,GAAM,CAAC,CAAC,QAAQ,UAAU,GAAG,CAAC,CAAC,QAAQ,WAAW,IAAI,CAAC,CAAC,QAAQ,WAAW,GAAM,CAAC,CAAC,QAAQ,WAAW,GAAG,CAAC,CAAC,QAAQ,WAAW,GAAG,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,CAAC,QAAQ,SAAS,GAAG,CAAC,CAAC,QAAQ,YAAY,GAAG,CAAC,CAAC,QAAQ,SAAS,GAAG,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,CAAC,QAAQ,SAAS,GAAG,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,CAAC,QAAQ,SAAS,GAAG,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,CAAC,QAAQ,WAAW,GAAG,CAAC,CAAC,QAAQ,qBAAqB,OAAO,CAAC,CAAC,QAAQ,gCAAgC,WAAW,CAAC,CAAC,QAAQ,iBAAiB,IAAI,CAAC,CAAC,QAAQ,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAE,CAAC,SAAS,EAAW,EAAI,EAAS,CAAC,EAAE,EAAK,EAAM,CAAC,MAAM,CAAC,MAAI,WAAS,OAAK,OAAK,CAAE,CAAC,SAAS,EAAc,EAAM,EAAU,CAAC,IAAM,EAAI,CAAC,EAAM,EAAM,EAAM,EAAO,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAM,OAAO,IAAI,CAAC,IAAM,EAAK,EAAM,GAAiE,GAA3D,IAAO,KAAI,IAAW,IAAO,MAAI,EAAM,KAAK,IAAI,EAAE,EAAM,CAAC,GAAK,IAAQ,GAAG,EAAM,MAAM,EAAE,EAAE,EAAU,MAAM,IAAI,EAAU,CAAC,EAAI,KAAK,CAAM,EAAE,EAAO,GAAG,GAAG,EAAU,OAAO,EAAE,QAAS,CAAC,GAAQ,CAAK,CAAkB,OAAjB,EAAI,KAAK,CAAM,EAAS,CAAI,CAAC,SAAS,EAAmB,EAAM,CAAC,IAAM,EAAQ,EAAM,QAAQ,eAAe,EAAE,CAAC,CAAC,QAAQ,sBAAsB,EAAE,CAAC,CAAC,QAAQ,oBAAoB,EAAE,CAAC,CAAC,KAAK,EAAQ,EAAM,EAAc,EAAQ,MAAM,CAAC,CAAC,OAAO,OAAO,EAAM,EAAU,GAAK,SAAS,EAAW,EAAO,EAAM,CAAC,GAAG,EAAO,KAAS,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAK,EAAE,IAAI,EAAM,EAAE,IAAI,IAAI,EAAE,EAAM,EAAE,EAAO,OAAO,IAA2D,GAAnD,EAAO,KAAK,KAAI,IAAW,EAAO,KAAK,KAAI,IAAW,IAAQ,EAAE,MAAM,CAAC,QAAQ,EAAO,MAAM,EAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAG,MAAM,CAAC,QAAQ,EAAO,MAAM,EAAM,CAAC,EAAE,IAAI,EAAO,MAAM,CAAE,CAAC,SAAS,EAAgB,EAAO,CAAC,IAAM,EAAM,CAAC,EAAM,EAAE,EAAQ,MAAc,CAAC,KAAM,EAAO,KAAK,KAAI,IAAI,GAAG,GAAG,EAAO,OAAO,OAAO,KAAK,IAAM,EAAK,EAAO,GAAG,GAAG,IAAO,IAAI,CAAC,IAAM,EAAM,EAAW,EAAO,CAAC,EAAc,MAAZ,GAAE,EAAM,IAAW,EAAW,OAAO,EAAgB,EAAM,OAAO,CAAC,CAAE,CAAC,GAAG,QAAQ,KAAK,CAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAM,EAAE,EAAO,QAAQ,SAAS,KAAK,EAAO,EAAE,GAAE,IAAI,IAAM,EAAM,EAAO,MAAM,EAAE,CAAC,EAAM,MAAJ,GAAE,EAAS,EAAW,KAAK,CAAC,EAAE,CAAK,CAAE,CAAC,GAAG,WAAW,KAAK,CAAI,EAAQ,MAAL,IAAG,EAAS,EAAW,KAAK,CAAC,EAAE,CAAI,EAAG,GAAG,IAAO,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAM,EAAE,EAAO,QAAQ,WAAW,KAAK,EAAO,EAAE,GAAE,IAAI,IAAM,EAAI,EAAO,MAAM,EAAE,EAAE,CAAC,EAAM,GAAJ,EAAE,EAAK,IAAM,OAAO,CAAC,IAAM,EAAG,EAAW,EAAO,CAAC,EAAE,EAAE,EAAG,IAAI,IAAM,EAAG,EAAW,EAAO,CAAC,EAAW,MAAT,GAAE,EAAG,IAAW,EAAW,QAAQ,CAAC,EAAW,OAAO,EAAgB,EAAG,OAAO,CAAC,EAAE,EAAW,OAAO,EAAgB,EAAG,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,IAAM,UAAU,IAAM,OAAO,CAAC,IAAM,EAAE,EAAW,EAAO,CAAC,EAAU,MAAR,GAAE,EAAE,IAAW,EAAW,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAE,CAAkjB,OAA9iB,IAAM,MAAa,EAAW,KAAK,CAAC,EAAE,GAAG,EAAK,IAAM,QAAe,EAAW,KAAK,CAAC,EAAE,GAAG,EAAK,IAAM,QAAe,EAAW,KAAK,CAAC,EAAE,GAAG,EAAK,IAAM,KAAY,EAAW,KAAK,CAAC,EAAE,GAAG,EAAK,IAAM,OAAc,EAAW,KAAK,CAAC,EAAE,GAAM,EAAK,IAAM,MAAM,IAAM,MAAa,EAAW,KAAK,CAAC,EAAE,GAAG,EAAK,IAAM,MAAM,IAAM,MAAa,EAAW,KAAK,CAAC,EAAE,GAAG,EAAK,IAAM,SAAgB,EAAW,KAAK,CAAC,EAAE,GAAG,EAAK,IAAM,OAAc,EAAW,SAAS,CAAC,EAAE,IAAA,GAAU,CAAC,MAAM,KAAK,CAAC,EAAK,IAAM,QAAe,EAAW,SAAS,CAAC,EAAE,IAAA,GAAU,CAAC,MAAM,KAAK,CAAC,GAAE,EAAU,GAAa,EAAW,QAAQ,CAAC,EAAE,KAAK,GAAK,EAAE,CAA4E,MAAxE,aAAa,SAAS,CAAI,GAAG,GAAG,EAAS,EAAW,KAAK,CAAC,EAAE,CAAI,IAAG,GAAG,EAAS,EAAW,QAAQ,CAAC,EAAE,CAAI,EAAE,EAAQ,MAAmB,CAAC,KAAM,EAAO,KAAK,KAAI,IAAI,GAAG,EAAO,KAAK,IAAI,CAAC,IAAM,EAAE,EAAW,EAAO,CAAC,EAAU,MAAR,GAAE,EAAE,IAAW,EAAW,OAAO,EAAgB,EAAE,OAAO,CAAC,CAAE,CAAwB,OAAZ,EAAsB,GAAG,EAAW,OAAO,CAAC,CAAC,CAAE,EAAE,KAAM,EAAE,EAAO,QAAO,CAAC,IAAM,EAAK,EAAU,EAAE,GAAG,CAAC,EAAK,MAAM,IAAI,EAAI,KAAS,EAAI,KAAK,KAAM,EAAE,EAAO,SAAS,EAAO,KAAK,KAAK,EAAO,KAAK,MAAK,CAAC,IAAM,EAAG,EAAO,GAAG,GAAG,EAAE,IAAM,EAAI,EAAe,EAAK,IAAK,MAAI,EAAI,GAAO,IAAK,MAAI,EAAI,EAAI,CAAI,GAAK,EAAI,EAAM,KAAK,EAAW,UAAU,CAAC,EAAK,EAAI,CAAG,CAAC,CAAC,EAAU,EAAI,EAAM,KAAK,EAAW,OAAO,CAAC,EAAK,CAAG,CAAC,CAAC,EAAU,EAAI,EAAM,KAAK,EAAW,OAAO,CAAC,EAAK,CAAG,CAAC,CAAC,EAAO,EAAM,KAAK,CAAI,CAAE,CAAC,OAAO,CAAM,CAAC,GAAG,EAAM,OAAO,GAAG,EAAQ,SAAS,GAAG,EAAE,CAAC,IAAM,EAAK,EAAM,IAAI,GAA2J,EAAW,MAAjJ,EAAc,EAAK,GAAuB,CAAC,CAAC,IAAI,GAAQ,EAAW,MAAM,CAAC,EAAW,OAAO,EAAgB,EAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAA+B,CAAC,CAAG,EAAE,MAAM,CAAC,YAAU,KAAK,EAAW,OAAO,CAAC,EAAW,SAAS,EAAK,IAAA,GAAU,CAAC,YAAY,YAAY,CAAC,CAAC,EAAE,IAAA,GAAU,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,YAAU,KAAK,EAAW,OAAO,CAAC,EAAW,OAAO,EAAgB,CAAO,CAAC,CAAC,EAAE,IAAA,GAAU,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAE,CAAC,SAAS,EAAe,EAAK,EAAI,CAAC,IAAM,EAAI,EAAK,IAAI,OAAoB,EAAM,EAAI,CAAC,GAAG,EAAK,OAAO,CAAC,EAAE,SAAS,CAAC,EAAK,KAAK,EAAK,UAAU,KAAK,EAAM,IAAQ,EAAe,EAAM,GAAG,EAAI,GAAG,EAAM,IAAI,GAAG,GAAO,CAAC,CAAC,CAAC,EAAE,CAAG,CAAE,CAGnqJ,SAAwB,EAAa,EAAM,CAAC,GAAK,CAAC,WAAS,iEAAiE,WAAS,GAAG,QAAM,UAAU,QAAM,UAAU,EAAY,EAAaA,MAAY,EAAsB,CAAQ,EAAE,CAAC,CAAQ,CAAC,EAAQ,EAAOA,MAAY,EAAmB,CAAQ,EAAE,CAAC,CAAQ,CAAC,EAAE,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,WAAW,cAAc,QAAQ,SAAS,UAAU,OAAO,UAAU,SAAS,UAAU,EAAM,OAAK,EAAE,SAAS,EAAO,UAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,eAAe,SAAS,cAAc,SAAS,GAAG,EAAS,IAAI,WAAW,IAAI,OAAK,EAAE,SAAS,EAAe,EAAO,KAAK,WAAW,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,eAAe,SAAS,cAAc,WAAW,WAAW,aAAa,WAAW,SAAS,GAAG,EAAS,IAAI,WAAW,IAAI,QAAM,WAAW,cAAc,WAAW,4DAA4D,EAAE,SAAS,CAAY,CAAC,CAAC,CAAC,CAAE,iBAH56B,IAA2B,IAAoD,EAG81B,EAAa,YAAY,gBAAgB,EAAoB,EAAa,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,iEAAiE,gBAAgB,EAAI,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,MAAM,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,aAAa,SAAS,QAAQ,CAAC,OAAO,SAAS,OAAO,EAAE,aAAa,CAAC,OAAO,SAAS,OAAO,EAAE,wBAAwB,EAAI,CAAC,CAAC,EAChgD,EAAqB,CAAC,QAAU,CAAC,QAAU,CAAC,KAAO,iBAAiB,KAAO,eAAe,MAAQ,CAAC,EAAE,YAAc,CAAC,4BAA8B,OAAO,sBAAwB,IAAI,2BAA6B,KAAK,CAAC,EAAE,mBAAqB,CAAC,KAAO,UAAU,CAAC,CAAC"}