{"version":3,"file":"LogicBlock.DHdlHToY.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/28d2a4VreVXZoJwmw7cr/xaUxHfqb2G5dTrk052JY/LogicBlock.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,useRef}from\"react\";import{HiddenComponentLabel,useMultiStepFormStore,getFormInfo}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/p64C0n6xNEFY9NovSiJw/FramerFormsShared.js\";const labelFormats={isSet:\"Name\",isNotSet:\"Not Name\",equals:\"Name = Value\",doesNotEqual:\"Name ≠ Value\",startsWith:\"Name starts with Value\",doesNotStartWith:\"Name does not start with Value\",endsWith:\"Name ends with Value\",doesNotEndWith:\"Name does not end with Value\",contains:\"Name contains Value\",doesNotContain:\"Name does not contain Value\",greaterThan:\"Name > Value\",lessThan:\"Name < Value\",greaterThanOrEqualTo:\"Name ≥ Value\",lessThanOrEqualTo:\"Name ≤ Value\",isBefore:\"Name is before Value\",isAfter:\"Name is after Value\",isBetweenDates:\"Name is between Value\"};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export default function LogicBlock(props){const{conditions,defaultCondition}=props;const[multiStepFormState,setMultiStepFormState]=useMultiStepFormStore();const[formInfo,setFormInfo]=useState(null);const ref=useRef(null);useEffect(()=>{setFormInfo(getFormInfo(ref.current));},[ref]);useEffect(()=>{const form=formInfo===null||formInfo===void 0?void 0:formInfo.form;const formId=formInfo===null||formInfo===void 0?void 0:formInfo.formId;if(formId&&multiStepFormState[formId]){const getNextPage=()=>{for(const condition of conditions){var _form_querySelector;const value=(condition.type==\"radio\"?getRadioValue(form,condition.inputName):(_form_querySelector=form.querySelector(`[name=\"${condition.inputName}\"]`))===null||_form_querySelector===void 0?void 0:_form_querySelector.value)||\"\";const result=checkCondition(condition,value);if(result){return condition.pageName;}}return defaultCondition.pageName;};setMultiStepFormState(prev=>({[formId]:{...prev[formId],logicConfigs:[...prev[formId].logicConfigs,{getNextPage,ref}]}}));}},[formInfo]);return /*#__PURE__*/_jsx(HiddenComponentLabel,{text:\"Multi-Step Form Logic\",subtext:conditions.map(condition=>{const type=condition.type;const labelFormat=type==\"checkbox\"?condition.checkboxValue?\"isSet\":\"isNotSet\":labelFormats[condition[`${type}Condition`]]||\"\";let value=type==\"date\"?condition.dateCondition==\"isBetweenDates\"?`${formatDate(condition.dateValueStart)} and ${formatDate(condition.dateValueEnd)}`:formatDate(condition.dateValue):String(condition[`${type}Value`]);return`${labelFormat.replace(\"Name\",condition.inputName).replace(\"Value\",value)} → ${condition.pageName||\"[None]\"}`;}).join(\"\\n\")+`${conditions.length?\"\\n\":\"\"}Default: ${defaultCondition.pageName?defaultCondition.pageName:\"Next Page\"}`,ref:ref,\"data-framerforms-logic\":true});}LogicBlock.displayName=\"Form Logic Config\";addPropertyControls(LogicBlock,{conditions:{type:ControlType.Array,title:\"Conditions\",control:{type:ControlType.Object,controls:{inputName:{type:ControlType.String,defaultValue:\"\",placeholder:\"Input Name\",preventLocalization:true},type:{type:ControlType.Enum,defaultValue:\"text\",options:[\"text\",\"select\",\"radio\",\"number\",\"date\",\"checkbox\",\"fileUpload\"],optionTitles:[\"Text\",\"Select\",\"Radio\",\"Number\",\"Date\",\"Checkbox\",\"File Upload\"]},textCondition:{type:ControlType.Enum,defaultValue:\"equals\",title:\"Condition\",options:[\"isSet\",\"isNotSet\",\"equals\",\"doesNotEqual\",\"startsWith\",\"doesNotStartWith\",\"endsWith\",\"doesNotEndWith\",\"contains\",\"doesNotContain\"],optionTitles:[\"Is Set\",\"Is Not Set\",\"Equals\",\"Does Not Equal\",\"Starts With\",\"Does Not Start With\",\"Ends With\",\"Does Not End With\",\"Contains\",\"Does Not Contain\"],hidden:props=>props.type!==\"text\"},textValue:{type:ControlType.String,defaultValue:\"\",placeholder:\"Empty\",title:\"Value\",hidden:props=>props.type!==\"text\"||props.textCondition===\"isSet\"||props.textCondition===\"isNotSet\"},selectCondition:{type:ControlType.Enum,defaultValue:\"equals\",options:[\"isSet\",\"isNotSet\",\"equals\",\"doesNotEqual\"],optionTitles:[\"Is Set\",\"Is Not Set\",\"Equals\",\"Does Not Equal\"],title:\"Condition\",hidden:props=>props.type!==\"select\"},selectValue:{type:ControlType.String,defaultValue:\"\",placeholder:\"Empty\",title:\"Value\",preventLocalization:true,hidden:props=>props.type!==\"select\"||props.selectCondition===\"isSet\"||props.selectCondition===\"isNotSet\"},radioCondition:{type:ControlType.Enum,defaultValue:\"equals\",options:[\"equals\",\"doesNotEqual\"],optionTitles:[\"Equals\",\"Does Not Equal\"],title:\"Condition\",hidden:props=>props.type!==\"radio\"},radioValue:{type:ControlType.String,defaultValue:\"\",placeholder:\"Empty\",title:\"Value\",preventLocalization:true,hidden:props=>props.type!==\"radio\"},checkboxValue:{type:ControlType.Boolean,title:\"Checked\",hidden:props=>props.type!==\"checkbox\"},numberCondition:{type:ControlType.Enum,defaultValue:\"equals\",title:\"Condition\",options:[\"equals\",\"doesNotEqual\",\"greaterThan\",\"lessThan\",\"greaterThanOrEqualTo\",\"lessThanOrEqualTo\"],optionTitles:[\"Equals\",\"Does Not Equal\",\"Greater Than\",\"Less Than\",\"Greater Than or Equal To\",\"Less Than or Equal To\"],hidden:props=>props.type!==\"number\"},numberValue:{type:ControlType.Number,defaultValue:0,displayStepper:true,title:\"Value\",hidden:props=>props.type!==\"number\"},dateCondition:{type:ControlType.Enum,defaultValue:\"equals\",title:\"Condition\",options:[\"equals\",\"doesNotEqual\",\"isBefore\",\"isAfter\",\"isBetweenDates\"],optionTitles:[\"Equals\",\"Does Not Equal\",\"Is Before\",\"Is After\",\"Is Between Dates\"],hidden:props=>props.type!==\"date\"},dateValue:{type:ControlType.Date,title:\"Value\",hidden:props=>props.type!==\"date\"||props.dateCondition==\"isBetweenDates\"},dateValueStart:{type:ControlType.Date,title:\"Start\",hidden:props=>props.type!==\"date\"||props.dateCondition!==\"isBetweenDates\"},dateValueEnd:{type:ControlType.Date,title:\"End\",hidden:props=>props.type!==\"date\"||props.dateCondition!==\"isBetweenDates\"},fileUploadCondition:{type:ControlType.Enum,defaultValue:\"equals\",title:\"Has File\",options:[\"isSet\",\"isNotSet\"],optionTitles:[\"Yes\",\"No\"],displaySegmentedControl:true,hidden:props=>props.type!==\"fileUpload\"},pageName:{type:ControlType.String,defaultValue:\"\",placeholder:\"Page Name\",title:\"Go To\",preventLocalization:true}}}},defaultCondition:{type:ControlType.Object,title:\"Default\",controls:{pageName:{type:ControlType.String,defaultValue:\"\",placeholder:\"Page Name\",title:\"Go To\",description:\"If blank, goes to the next page\",preventLocalization:true}}}});function checkCondition(condition,value){switch(condition.type){case\"text\":switch(condition.textCondition){case\"isSet\":return value!==\"\";case\"isNotSet\":return value===\"\";case\"equals\":return value===condition.textValue;case\"doesNotEqual\":return value!==condition.textValue;case\"startsWith\":return value.startsWith(condition.textValue);case\"doesNotStartWith\":return!value.startsWith(condition.textValue);case\"endsWith\":return value.endsWith(condition.textValue);case\"doesNotEndWith\":return!value.endsWith(condition.textValue);case\"contains\":return value.includes(condition.textValue);case\"doesNotContain\":return!value.includes(condition.textValue);}break;case\"select\":switch(condition.selectCondition){case\"isSet\":return value!==\"\";case\"isNotSet\":return value===\"\";case\"equals\":return value===condition.selectValue;case\"doesNotEqual\":return value!==condition.selectValue;}break;case\"radio\":switch(condition.radioCondition){case\"equals\":return value===condition.radioValue;case\"doesNotEqual\":return value!==condition.radioValue;}break;case\"number\":const number=parseFloat(value);switch(condition.numberCondition){case\"equals\":return number===condition.numberValue;case\"doesNotEqual\":return number!==condition.numberValue;case\"greaterThan\":return number>condition.numberValue;case\"lessThan\":return number<condition.numberValue;case\"greaterThanOrEqualTo\":return number>=condition.numberValue;case\"lessThanOrEqualTo\":return number<=condition.numberValue;}break;case\"date\":const date=new Date(value);switch(condition.dateCondition){case\"equals\":return date===condition.dateValue;case\"doesNotEqual\":return date!==condition.dateValue;case\"isBefore\":return date<condition.dateValue;case\"isAfter\":return date>condition.dateValue;case\"isBetweenDates\":return date>=condition.dateValueStart&&date<=condition.dateValueEnd;}break;case\"checkbox\":return value==\"on\"==condition.checkboxValue;case\"fileUpload\":switch(condition.fileUploadCondition){case\"isSet\":return value!=\"\";case\"isNotSet\":return value==\"\";}break;}return false;}function formatDate(dateString){if(!dateString){return\"mm/dd/yyyy\";}const date=dateString;let month=date.getMonth()+1// Months are zero-based\n;let day=date.getDate();let year=date.getFullYear();// Ensure month and day are two digits\nif(month<10)month=\"0\"+month;if(day<10)day=\"0\"+day;return`${month}/${day}/${year}`;}function getRadioValue(form,radioName){// Ensure the form exists\nif(!form){return null;}// Get the array of radio buttons by name\nvar radios=form.elements[radioName];// Ensure the radio buttons exist\nif(!radios){console.log(`Radio buttons with name \"${radioName}\" not found.`);return null;}// Iterate through the radio buttons to find the checked one\nfor(var i=0;i<radios.length;i++){if(radios[i].checked){return radios[i].value// Return the value of the checked radio button\n;}}// If no radio button is checked, return null\nreturn null;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LogicBlock\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}