{"version":3,"file":"Conditional.f_eMuKSf.mjs","names":["useState","React","_Fragment"],"sources":["https:/framerusercontent.com/modules/SR9RaiMbrpN9q0lWIRL0/THN19ehCGaJLMbYZiT8i/Conditional.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React,{useState,useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerIntrinsicWidth 600\n * @framerSupportedLayoutHeight any-prefer-auto\n */export default function LogicGate(props){const{condition,content,fallbackContent,debug}=props;const[debugInfo,setDebugInfo]=useState({});const[conditionMet,setConditionMet]=useState(false);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const evaluateCondition=()=>{try{let calculatedCondition=condition;let debugVals={};const variableNames=condition.match(/\\b(?![\"'])([a-zA-Z][a-zA-Z0-9_]*)\\b(?![\"'])/g)||[];variableNames.forEach(varName=>{// Check for radio buttons\nconst radioInputs=document.querySelectorAll(`input[type=\"radio\"][name=\"${varName}\"]`);if(radioInputs.length>0){const checkedRadio=Array.from(radioInputs).find(input=>input.checked);if(checkedRadio){debugVals[varName]=checkedRadio.value;calculatedCondition=calculatedCondition.replace(new RegExp(`\\\\b${varName}\\\\b`,\"g\"),`\"${checkedRadio.value}\"`);}else{debugVals[varName]=\"None selected\";}}else{// Handle other input types\nconst inputElement=document.querySelector(`input[name=\"${varName}\"], select[name=\"${varName}\"]`);if(inputElement){let value;if(inputElement.type===\"checkbox\"){value=inputElement.checked;}else if(inputElement.type===\"number\"){value=parseFloat(inputElement.value)||0;}else{// For text inputs, keep the value as a string\nvalue=`\"${inputElement.value}\"`;}debugVals[varName]=inputElement.value;calculatedCondition=calculatedCondition.replace(new RegExp(`\\\\b${varName}\\\\b`,\"g\"),value);}else{debugVals[varName]=`{{${varName}}} input not found`;}}});setDebugInfo(debugVals);const result=new Function(`return (${calculatedCondition})`)();setConditionMet(!!result);}catch(error){console.error(\"Error evaluating condition:\",error);setConditionMet(false);}};useEffect(()=>{if(!isCanvas){const inputs=document.querySelectorAll(\"input, select\");inputs.forEach(input=>{input.addEventListener(\"input\",evaluateCondition);input.addEventListener(\"change\",evaluateCondition);});evaluateCondition();return()=>{inputs.forEach(input=>{input.removeEventListener(\"input\",evaluateCondition);input.removeEventListener(\"change\",evaluateCondition);});};}},[condition,isCanvas]);const DebugDisplay=()=>/*#__PURE__*/_jsxs(\"div\",{style:{background:\"rgba(0,0,0,0.8)\",color:\"white\",padding:\"10px\",fontSize:\"12px\",fontFamily:\"monospace\",marginTop:\"10px\",width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"div\",{children:[\"Condition: \",condition]}),/*#__PURE__*/_jsxs(\"div\",{children:[\"Result: \",conditionMet.toString()]}),/*#__PURE__*/_jsx(\"div\",{children:\"Variables:\"}),Object.entries(debugInfo).map(([key,value])=>/*#__PURE__*/_jsxs(\"div\",{children:[key,\": \",JSON.stringify(value)]},key))]});const contentToRender=conditionMet?content:fallbackContent;const isEmpty=React.Children.count(contentToRender)===0;if(isCanvas){return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\"},children:[content,fallbackContent]});}if(isEmpty){return debug?/*#__PURE__*/_jsx(DebugDisplay,{}):null;}return /*#__PURE__*/_jsxs(_Fragment,{children:[contentToRender,debug&&/*#__PURE__*/_jsx(DebugDisplay,{})]});}LogicGate.defaultProps={condition:\"true\",content:null,fallbackContent:null,debug:false};addPropertyControls(LogicGate,{condition:{type:ControlType.String,title:\"Condition\",defaultValue:\"villian_name === 'Thanos'\",description:\"JavaScript condition to evaluate (e.g., 'option1 === \\\"Web\\\"', 'someNumber > 5', 'Newsletter === true', or 'villian_name === \\\"Thanos\\\"')\"},content:{type:ControlType.ComponentInstance,title:\"Content if True\"},fallbackContent:{type:ControlType.ComponentInstance,title:\"Content if False\"},debug:{type:ControlType.Boolean,title:\"Debug Mode\",defaultValue:false,description:\"v1.4\\n[via SegmentUI](https://www.segmentUI.com)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LogicGate\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"600\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Conditional.map"],"mappings":"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"}