{"version":3,"file":"Conditional.BShq9Awx.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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"}