| |
| |
| |
| |
| |
| export function math_eval(expression) { |
| |
| if (!/^[\d\s+\-*/%.()]+$/.test(expression)) { |
| throw new Error("Invalid characters in expression."); |
| } |
| return Function('"use strict";return (' + expression + ")")(); |
| } |
|
|
| export default (input, output) => |
| React.createElement( |
| "div", |
| { className: "bg-emerald-50 border border-emerald-200 rounded-lg p-4" }, |
| React.createElement( |
| "div", |
| { className: "flex items-center mb-2" }, |
| React.createElement( |
| "div", |
| { |
| className: |
| "w-8 h-8 bg-emerald-100 rounded-full flex items-center justify-center mr-3", |
| }, |
| "🧮", |
| ), |
| React.createElement( |
| "h3", |
| { className: "text-emerald-900 font-semibold" }, |
| "Math Evaluation", |
| ), |
| ), |
| React.createElement( |
| "div", |
| { className: "text-center" }, |
| React.createElement( |
| "div", |
| { className: "text-lg font-mono text-emerald-700 mb-1" }, |
| input.expression || "Unknown expression", |
| ), |
| React.createElement( |
| "div", |
| { className: "text-2xl font-bold text-emerald-600 mb-1" }, |
| `= ${output}`, |
| ), |
| React.createElement( |
| "p", |
| { className: "text-emerald-500 text-xs" }, |
| "Calculation result", |
| ), |
| ), |
| ); |
|
|