{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/SR9RaiMbrpN9q0lWIRL0/THN19ehCGaJLMbYZiT8i/Conditional.js", "ssg:https://framerusercontent.com/modules/brpqSXMzT6HsqPkWD7Nw/hb5QvkY1Q7M7E5AOOzqg/CaptureUTM.js", "ssg:https://framerusercontent.com/modules/AYbsNzJVAuqNSC97o1FR/ItjoiFoY3QRujOCOrq7A/FormatPhone.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", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";export function withUTMParams(Component){return props=>{const[value,setValue]=useState(\"\");useEffect(()=>{// Capture UTM parameters from the URL\nconst urlParams=new URLSearchParams(window.location.search);const utmParams={};for(const[key,val]of urlParams.entries()){// if (key.startsWith(\"utm_\")) {\nutmParams[key]=val;// }\n}// Construct a string from UTM parameters\nconst utmString=Object.entries(utmParams).map(([key,val])=>`${key}=${val}`).join(\"&\");console.log(\"UTM String:\",utmString);setValue(utmString);},[]);const handleInputChange=event=>{setValue(event.target.value);console.log(\"Input Changed:\",event.target.value);};console.log(\"Current Value:\",value);return /*#__PURE__*/_jsx(Component,{...props,value:value,defaultValue:value,onChange:handleInputChange});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withUTMParams\":{\"type\":\"reactHoc\",\"name\":\"withUTMParams\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CaptureUTM.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useRef}from\"react\";export function withPhoneNumberFormatter(Component){return props=>{const[value,setValue]=useState(\"\");const inputRef=useRef(null);const handleInputChange=event=>{const inputValue=event.target.value;const numericValue=inputValue.replace(/\\D/g,\"\")// Remove non-numeric characters\n;const formattedValue=formatPhoneNumber(numericValue);console.log(formattedValue);setValue(formattedValue);};const handleKeyDown=event=>{const isNumericInput=/\\d/.test(event.key);const isModifierKey=event.key===\"Backspace\"||event.key===\"ArrowLeft\"||event.key===\"ArrowRight\";if(!isNumericInput&&!isModifierKey){event.preventDefault();}};const formatPhoneNumber=value=>{if(value.length<=2){return`(${value}`;}else if(value.length<=6){return`(${value.slice(0,2)}) ${value.slice(2)}`;}else if(value.length<=10){return`(${value.slice(0,2)}) ${value.slice(2,7)}-${value.slice(7)}`;}else{return`(${value.slice(0,2)}) ${value.slice(2,7)}-${value.slice(7,11)}`;}};return /*#__PURE__*/_jsx(Component,{...props,value:value,ref:inputRef,defaultValue:value,onChange:handleInputChange,// onKeyDown={handleKeyDown}\nautoFocus:true,inputMode:\"numeric\"});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withPhoneNumberFormatter\":{\"type\":\"reactHoc\",\"name\":\"withPhoneNumberFormatter\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormatPhone.map"],
  "mappings": "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",
  "names": ["LogicGate", "props", "condition", "content", "fallbackContent", "debug", "debugInfo", "setDebugInfo", "ye", "conditionMet", "setConditionMet", "isCanvas", "RenderTarget", "evaluateCondition", "calculatedCondition", "debugVals", "varName", "radioInputs", "checkedRadio", "input", "inputElement", "value", "result", "error", "ue", "inputs", "DebugDisplay", "u", "p", "key", "contentToRender", "isEmpty", "e", "l", "addPropertyControls", "ControlType", "withUTMParams", "Component", "props", "value", "setValue", "ye", "ue", "urlParams", "window", "utmParams", "key", "val", "utmString", "handleInputChange", "event", "p", "withPhoneNumberFormatter", "Component", "props", "value", "setValue", "ye", "inputRef", "pe", "handleInputChange", "event", "numericValue", "formattedValue", "formatPhoneNumber", "handleKeyDown", "isNumericInput", "isModifierKey", "p"]
}
