{"version":3,"file":"TextInputControl.D1K_MKVe.mjs","names":["useRef","useState","useMemo","useCallback","_Fragment","useState","useRef","DEFAULT_VALIDATION","DEFAULT_LABEL","DEFAULT_LAYOUT","DEFAULT_INPUT_STYLE","DEFAULT_ICONS","DEFAULT_FOCUS_STYLE","DEFAULT_ERROR_STYLE","useState","useRef","useMemo","useCallback","_Fragment","useState","useRef","useMemo","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/Bjk4ExEII5wszuhg18xF/TBEtLjqAhu4W8sFlNzs6/BrevoIntegrationControl.js","https:/framerusercontent.com/modules/fBY7K5QM2pcfPmulIEIE/3i69Aw20ukDiSnYJtxST/ConditionalLogicUtil.js","https:/framer.com/m/ConditionalLogicUtil-69lIOW.js","https:/framerusercontent.com/modules/bkrpFKRYGoNx1YkKwgtF/ZBIRdCmHVWYGLNFK2KVp/EmailInputControl.js","https:/framerusercontent.com/modules/Ji3gM6HwH2zpT19VpHNG/iU0nz85IRFE7orP2fwv3/TextInputControl.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";// ---------------------------------------------------------------------------\n// Defaults\n// ---------------------------------------------------------------------------\nconst DEFAULT_API_CONFIG={apiKey:\"\",listId:\"\",updateEnabled:true};const DEFAULT_FIELDS_CONFIG={mappings:[{formFieldName:\"email\",brevoAttribute:\"EMAIL\"}]};const BASE_URL=\"https://api.framergeeks.com/plugin/api/v1\";// Shared encryption key (must match server INTEGRATION_ENCRYPT_KEY)\nconst ENCRYPT_KEY_HEX=\"a3f2b8c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1\";/**\n * AES-256-GCM encrypt using Web Crypto API.\n * Output: base64( IV 12 bytes + ciphertext + authTag 16 bytes )\n */async function encryptPayload(data){const iv=crypto.getRandomValues(new Uint8Array(12));const keyBytes=new Uint8Array(ENCRYPT_KEY_HEX.match(/.{2}/g).map(b=>parseInt(b,16)));const cryptoKey=await crypto.subtle.importKey(\"raw\",keyBytes,\"AES-GCM\",false,[\"encrypt\"]);const encoded=new TextEncoder().encode(JSON.stringify(data));const encrypted=await crypto.subtle.encrypt({name:\"AES-GCM\",iv},cryptoKey,encoded);// GCM appends 16-byte auth tag to ciphertext automatically\nconst result=new Uint8Array(iv.length+encrypted.byteLength);result.set(iv,0);result.set(new Uint8Array(encrypted),iv.length);// Base64 encode\nlet binary=\"\";for(let i=0;i<result.length;i++){binary+=String.fromCharCode(result[i]);}return btoa(binary);}// ---------------------------------------------------------------------------\n// Canvas badge\n// ---------------------------------------------------------------------------\nfunction BrevoLogo(){return /*#__PURE__*/_jsxs(\"svg\",{width:\"40\",height:\"40\",viewBox:\"0 0 40 40\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"rect\",{width:\"40\",height:\"40\",rx:\"12\",fill:\"#0B996E\",fillOpacity:\"0.082\"}),/*#__PURE__*/_jsx(\"g\",{clipPath:\"url(#brevo_clip)\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M19.9999 8.00488C16.8186 8.00488 13.7676 9.26864 11.5181 11.5181C9.26864 13.7676 8.00488 16.8186 8.00488 19.9999C8.00488 23.1812 9.26864 26.2321 11.5181 28.4816C13.7676 30.7311 16.8186 31.9949 19.9999 31.9949C23.1812 31.9949 26.2321 30.7311 28.4816 28.4816C30.7311 26.2321 31.9949 23.1812 31.9949 19.9999C31.9949 16.8186 30.7311 13.7676 28.4816 11.5181C26.2321 9.26864 23.1812 8.00488 19.9999 8.00488ZM15.2019 12.8029H20.9465C23.2855 12.8029 24.8399 14.2083 24.8399 16.3174C24.8399 17.339 24.492 18.1786 23.7503 18.9043C25.1867 19.812 25.9974 21.2194 25.9974 22.7837C25.9974 25.6425 23.3585 27.7976 19.836 27.7976H15.2009V12.8039L15.2019 12.8029ZM17.286 14.7541V20.2888H17.356C17.5889 19.8569 18.2136 19.4931 19.604 19.0633C21.6422 18.4045 22.6398 17.5439 22.6398 16.4094C22.6398 15.4118 21.8741 14.7541 20.7166 14.7541H17.286ZM22.154 20.0179C21.3883 20.4027 20.4847 20.7656 19.3951 21.1274C18.1666 21.5143 17.286 22.5128 17.286 23.5334V25.8474H19.65C22.036 25.8474 23.7973 24.508 23.7973 22.6938C23.7973 21.6272 23.1736 20.6076 22.154 20.0179Z\",fill:\"#0B996E\"})}),/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:\"brevo_clip\",children:/*#__PURE__*/_jsx(\"rect\",{width:\"23.99\",height:\"23.99\",fill:\"white\",transform:\"translate(8.00488 8.00488)\"})})})]});}function StatusIcon({connected}){if(connected){return /*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\",stroke:\"#10B77F\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 12L11 14L15 10\",stroke:\"#10B77F\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]});}return /*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\",stroke:\"#6B7280\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 16V12\",stroke:\"#6B7280\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 8H12.01\",stroke:\"#6B7280\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]});}function CanvasBadge({configured,error}){const subtitle=error?error:configured?\"Integration active\":\"Connect API key\";const subtitleColor=error?\"#dc2626\":configured?\"#10B77F\":\"#6B7280\";return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"12px\",padding:\"10px 14px\",background:\"#FFFFFF\",border:`1px solid ${error?\"rgba(220,38,38,0.15)\":\"rgba(0,0,0,0.06)\"}`,borderRadius:\"12px\",fontFamily:\"system-ui, -apple-system, sans-serif\",userSelect:\"none\",boxShadow:\"0 1px 3px rgba(0,0,0,0.04)\"},children:[/*#__PURE__*/_jsx(BrevoLogo,{}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"2px\",flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"14px\",fontWeight:600,color:\"#111827\",lineHeight:1.3},children:\"Brevo\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"12px\",fontWeight:400,color:subtitleColor,lineHeight:1.3},children:subtitle})]}),/*#__PURE__*/_jsx(StatusIcon,{connected:configured&&!error})]});}// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 220\n * @framerIntrinsicHeight 40\n * @framerDisableUnlink\n */export default function BrevoIntegrationControl(props){const{apiConfig,fieldsConfig,_meta,style}=props;const apiCfg={...DEFAULT_API_CONFIG,...apiConfig||{}};const fieldsCfg={...DEFAULT_FIELDS_CONFIG,...fieldsConfig||{}};const isCanvas=RenderTarget.current()===RenderTarget.canvas;const containerRef=useRef(null);const formRef=useRef(null);const pendingRef=useRef(false);const[status,setStatus]=useState(\"idle\");const[statusMessage,setStatusMessage]=useState(\"\");const[setupDone,setSetupDone]=useState(false);const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);const userId=parsedMeta?.userId;const projectId=parsedMeta?.projectId;// --- Upsert integration setup on API key / List ID change ---\nuseEffect(()=>{if(!apiCfg.apiKey||!apiCfg.listId){setSetupDone(false);return;}if(!userId||!projectId)return;fetch(`${BASE_URL}/integration/setup/brevo`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({int_user_fk_user_id:userId,int_fk_project_id:projectId,int_tp_api_key:apiCfg.apiKey,int_domain_prod:parsedMeta?.publishInfo?.production||\"\",int_domain_test:parsedMeta?.publishInfo?.staging||\"\",int_config:{list_id:[Number(apiCfg.listId)]}})}).then(async res=>{const data=await res.json();if(res.ok&&(data.status===true||data.success!==false)){setSetupDone(true);setStatus(\"success\");setStatusMessage(\"Integration active\");}else{setSetupDone(false);setStatus(\"error\");setStatusMessage(data.message||data.error?.[0]||\"Setup failed\");}}).catch(()=>{setSetupDone(false);setStatus(\"error\");setStatusMessage(\"Connection error\");});},[apiCfg.apiKey,apiCfg.listId,userId,projectId]);// --- Find parent form ---\nconst findParentForm=useCallback(()=>{let el=containerRef.current;while(el){if(el.tagName===\"FORM\")return el;el=el.parentElement;}return null;},[]);// --- Collect form data & map to payload ---\nconst buildPayload=useCallback(form=>{const formData=new FormData(form);const dataObj={};formData.forEach((val,key)=>{if(typeof val===\"string\")dataObj[key]=val;});let email=\"\";const attributes={};const mappings=fieldsCfg.mappings||[];for(const mapping of mappings){const formField=mapping.formFieldName?.trim();const brevoAttr=mapping.brevoAttribute?.trim().toUpperCase();if(!formField||!brevoAttr)continue;// Case-insensitive lookup\nlet formValue=\"\";for(const[key,value]of Object.entries(dataObj)){if(key.toLowerCase()===formField.toLowerCase()){formValue=value;break;}}if(!formValue)continue;if(brevoAttr===\"EMAIL\"){email=formValue;}else{attributes[brevoAttr]=formValue;}}if(!email)return null;return{int_user_fk_user_id:userId||\"\",int_fk_project_id:projectId||\"\",email,attributes:Object.keys(attributes).length>0?attributes:undefined,config:{listIds:[Number(apiCfg.listId)],updateEnabled:apiCfg.updateEnabled}};},[fieldsCfg.mappings,userId,projectId,apiCfg.listId,apiCfg.updateEnabled]);// --- Submit handler (calls our server, not Brevo directly) ---\nconst handleSubmit=useCallback(async()=>{// Guard: prevent double-fire from submit + Enter\nif(pendingRef.current)return;if(!setupDone)return;const form=formRef.current;if(!form)return;pendingRef.current=true;const payload=buildPayload(form);if(!payload){setStatus(\"error\");setStatusMessage(\"No email field mapped\");pendingRef.current=false;return;}setStatus(\"sending\");setStatusMessage(\"\");// Encrypt entire payload so nothing is visible in network tab\nconst encrypted=await encryptPayload(payload);// Use keepalive so the request completes even if the page\n// navigates away (external redirect after form submit).\ntry{const response=await fetch(`${BASE_URL}/integration/use/brevo`,{method:\"POST\",keepalive:true,headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({data:encrypted})});const data=await response.json().catch(()=>({status:false,message:\"Unknown error\"}));if(data.status===true){setStatus(\"success\");setStatusMessage(\"Contact synced\");}else{setStatus(\"error\");setStatusMessage(data.message||`Error ${response.status}`);}}catch(err){if(err instanceof TypeError&&err.message.includes(\"abort\")){pendingRef.current=false;return;}setStatus(\"error\");setStatusMessage(\"Network error\");}finally{pendingRef.current=false;}},[setupDone,buildPayload]);// --- Attach to parent form ---\nuseEffect(()=>{if(isCanvas)return;const form=findParentForm();formRef.current=form;if(!form)return;const onKeydown=e=>{if(e.key!==\"Enter\"||e.shiftKey)return;const tag=e.target?.tagName;if(tag===\"TEXTAREA\"||tag===\"SELECT\")return;handleSubmit();};form.addEventListener(\"submit\",handleSubmit);form.addEventListener(\"keydown\",onKeydown);return()=>{form.removeEventListener(\"submit\",handleSubmit);form.removeEventListener(\"keydown\",onKeydown);};},[isCanvas,findParentForm,handleSubmit]);// --- Auto-clear status ---\nuseEffect(()=>{if(status===\"success\"||status===\"error\"){// On canvas keep error visible so user sees the issue\nif(isCanvas&&status===\"error\")return;const timer=setTimeout(()=>{setStatus(\"idle\");setStatusMessage(\"\");},5e3);return()=>clearTimeout(timer);}},[status,isCanvas]);// --- Render ---\nconst containerStyle={position:\"relative\",width:\"100%\",...style};if(isCanvas){return /*#__PURE__*/_jsx(\"div\",{style:containerStyle,children:/*#__PURE__*/_jsx(CanvasBadge,{configured:setupDone,error:status===\"error\"?statusMessage:undefined})});}// Hidden in preview — CSS :has() hides the Framer wrapper\nreturn /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`div:has(> .formsplugin-hide) { display: none; }`}),/*#__PURE__*/_jsx(\"div\",{ref:containerRef,className:\"formsplugin-hide\",style:containerStyle})]});}BrevoIntegrationControl.displayName=\"Brevo Integration\";BrevoIntegrationControl.defaultProps={apiConfig:DEFAULT_API_CONFIG,fieldsConfig:DEFAULT_FIELDS_CONFIG,_meta:\"\",style:{}};addPropertyControls(BrevoIntegrationControl,{// ------------------------------------------------------------------\n// API Config\n// ------------------------------------------------------------------\napiConfig:{type:ControlType.Object,title:\"API Settings\",controls:{apiKey:{type:ControlType.String,title:\"API Key\",defaultValue:\"\",description:\"Your Brevo API key. [Get API Key](https://app.brevo.com/settings/keys/api)\",obscured:true},listId:{type:ControlType.String,title:\"List ID\",defaultValue:\"\",description:\"Brevo contact list ID to add subscribers to.\"},updateEnabled:{type:ControlType.Boolean,title:\"Update Existing\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Update existing contacts if email already exists.\"}}},// ------------------------------------------------------------------\n// Field Mappings\n// ------------------------------------------------------------------\nfieldsConfig:{type:ControlType.Object,title:\"Field Mappings\",controls:{mappings:{type:ControlType.Array,title:\"Mappings\",description:\"Map form field names to Brevo contact attributes. One mapping must target EMAIL.\",defaultValue:[{formFieldName:\"email\",brevoAttribute:\"EMAIL\"}],control:{type:ControlType.Object,controls:{formFieldName:{type:ControlType.String,title:\"Form Field\",defaultValue:\"\",description:\"The name attribute of your form field.\"},brevoAttribute:{type:ControlType.String,title:\"Brevo Attr\",defaultValue:\"\",description:\"Brevo attribute name (EMAIL, FIRSTNAME, etc). [Manage Attributes](https://my.brevo.com/lists/add-attributes)\"}}}}}},// ------------------------------------------------------------------\n// Hidden Meta\n// ------------------------------------------------------------------\n_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BrevoIntegrationControl\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"40\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"220\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BrevoIntegrationControl.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{ControlType}from\"framer\";import{useCallback,useEffect,useRef,useState,forwardRef}from\"react\";export const DEFAULT_CONDITION_ITEM={type:\"visibility\",logic:\"and\",sourceField:\"\",fieldType:\"text\",operator:\"is_not_empty\",numberOperator:\"is_not_empty\",dateOperator:\"is_not_empty\",value:\"\",value2:\"\",numberValue:\"\",numberValue2:\"\",dateValue:\"\",dateValue2:\"\"};/** Resolves the active operator from a ConditionItem based on its fieldType */export function resolveOperator(item){switch(item.fieldType){case\"number\":return item.numberOperator||\"is_not_empty\";case\"date\":return item.dateOperator||\"is_not_empty\";default:return item.operator||\"is_not_empty\";}}/** Resolves value/value2 from the correct field based on fieldType */export function resolveValues(item){switch(item.fieldType){case\"number\":return{value:item.numberValue||item.value||\"\",value2:item.numberValue2||item.value2||\"\"};case\"date\":return{value:item.dateValue||item.value||\"\",value2:item.dateValue2||item.value2||\"\"};default:return{value:item.value||\"\",value2:item.value2||\"\"};}}// ============================================================================\n// DEFAULTS\n// ============================================================================\nexport const DEFAULT_CONDITION={enabled:false,sourceField:\"\",fieldType:\"text\",operator:\"is_not_empty\",value:\"\",value2:\"\",logic:\"and\",enableRule2:false,sourceFieldR2:\"\",fieldTypeR2:\"text\",operatorR2:\"is_not_empty\",valueR2:\"\",value2R2:\"\"};// ============================================================================\n// OPERATOR OPTIONS BY FIELD TYPE\n// ============================================================================\nexport const OPERATOR_OPTIONS={all:[{value:\"is_empty\",label:\"Is Empty\"},{value:\"is_not_empty\",label:\"Is Not Empty\"}],text:[{value:\"contains\",label:\"Contains\"},{value:\"not_contains\",label:\"Not Contains\"},{value:\"exact_match\",label:\"Exact Match (Case Sensitive)\"},{value:\"match\",label:\"Match (Case Insensitive)\"},{value:\"starts_with\",label:\"Starts With\"},{value:\"ends_with\",label:\"Ends With\"},{value:\"length_greater_than\",label:\"Length Greater Than\"},{value:\"length_less_than\",label:\"Length Less Than\"},{value:\"regex\",label:\"Regex\"}],number:[{value:\"equals\",label:\"Equals\"},{value:\"not_equals\",label:\"Not Equals\"},{value:\"greater_than\",label:\"Greater Than\"},{value:\"less_than\",label:\"Less Than\"},{value:\"greater_than_equals\",label:\"Greater Than or Equals\"},{value:\"less_than_equals\",label:\"Less Than or Equals\"},{value:\"between\",label:\"Between\"},{value:\"not_between\",label:\"Not Between\"}],date:[{value:\"equals\",label:\"Equals\"},{value:\"not_equals\",label:\"Not Equals\"},{value:\"before\",label:\"Before\"},{value:\"after\",label:\"After\"},{value:\"between\",label:\"Between\"},{value:\"not_between\",label:\"Not Between\"}]};// Build flat lists for property controls\nconst ALL_OPERATOR_VALUES=[...OPERATOR_OPTIONS.all,...OPERATOR_OPTIONS.text,...OPERATOR_OPTIONS.number,...OPERATOR_OPTIONS.date].reduce((acc,op)=>{if(!acc.find(o=>o.value===op.value))acc.push(op);return acc;},[]);export const ALL_OPERATOR_IDS=ALL_OPERATOR_VALUES.map(o=>o.value);export const ALL_OPERATOR_LABELS=ALL_OPERATOR_VALUES.map(o=>o.label);// Per-type operator lists (including \"all\" operators)\nconst TEXT_OPERATOR_LIST=[...OPERATOR_OPTIONS.all,...OPERATOR_OPTIONS.text];const NUMBER_OPERATOR_LIST=[...OPERATOR_OPTIONS.all,...OPERATOR_OPTIONS.number];const DATE_OPERATOR_LIST=[...OPERATOR_OPTIONS.all,...OPERATOR_OPTIONS.date];export const TEXT_OPERATOR_IDS=TEXT_OPERATOR_LIST.map(o=>o.value);export const TEXT_OPERATOR_LABELS=TEXT_OPERATOR_LIST.map(o=>o.label);export const NUMBER_OPERATOR_IDS=NUMBER_OPERATOR_LIST.map(o=>o.value);export const NUMBER_OPERATOR_LABELS=NUMBER_OPERATOR_LIST.map(o=>o.label);export const DATE_OPERATOR_IDS=DATE_OPERATOR_LIST.map(o=>o.value);export const DATE_OPERATOR_LABELS=DATE_OPERATOR_LIST.map(o=>o.label);// Sets for fast lookup per field type (including \"all\" operators)\nconst TEXT_OPS=new Set([...OPERATOR_OPTIONS.all,...OPERATOR_OPTIONS.text].map(o=>o.value));const NUMBER_OPS=new Set([...OPERATOR_OPTIONS.all,...OPERATOR_OPTIONS.number].map(o=>o.value));const DATE_OPS=new Set([...OPERATOR_OPTIONS.all,...OPERATOR_OPTIONS.date].map(o=>o.value));export function isOperatorValidForType(operator,fieldType){switch(fieldType){case\"number\":return NUMBER_OPS.has(operator);case\"date\":return DATE_OPS.has(operator);default:return TEXT_OPS.has(operator);}}// Operators that need no value input\nexport const NO_VALUE_OPS=new Set([\"is_empty\",\"is_not_empty\"]);// Operators that need a second value input (between / not_between)\nexport const RANGE_OPS=new Set([\"between\",\"not_between\"]);// Operators that need a special value input (length or regex pattern)\nexport const SPECIAL_VALUE_OPS=new Set([\"length_greater_than\",\"length_less_than\",\"regex\"]);// ============================================================================\n// FIELD VALUE READER\n// ============================================================================\n/**\n * Reads the comparable string value from a form element.\n * Checkboxes need special handling: a native checkbox's `.value` is always \"on\"\n * regardless of checked state, so condition operators (is_empty / is_not_empty /\n * equals) can't tell checked from unchecked. We normalize:\n *   - unchecked checkbox → \"\" (so is_empty is true)\n *   - checked checkbox → its explicit value attr, or \"true\" if none was set\n * Radios use the same rule per element so the currently-checked radio in a\n * group provides the value.\n */function readFieldValue(el){if(el instanceof HTMLInputElement&&(el.type===\"checkbox\"||el.type===\"radio\")){if(!el.checked)return\"\";return el.value&&el.value!==\"on\"?el.value:\"true\";}return el.value;}// ============================================================================\n// DATE PARSER\n// ============================================================================\n/**\n * Parses a date string into a comparable timestamp.\n * Supports YYYY-MM-DD (from HTML date inputs) and other Date-parsable formats.\n * Uses UTC noon to avoid timezone/DST edge cases with YYYY-MM-DD.\n */function parseDate(s){if(!s)return NaN;// YYYY-MM-DD format — parse as UTC noon to avoid off-by-one timezone issues\nconst isoMatch=s.match(/^(\\d{4})-(\\d{2})-(\\d{2})$/);if(isoMatch){return Date.UTC(Number(isoMatch[1]),Number(isoMatch[2])-1,Number(isoMatch[3]),12);}return new Date(s).getTime();}// ============================================================================\n// CONDITION EVALUATOR\n// ============================================================================\nexport function evaluateCondition(fieldValue,config){// If operator is invalid for the selected fieldType, pass through\nif(!isOperatorValidForType(config.operator,config.fieldType))return true;const v=fieldValue||\"\";const target=config.value||\"\";const target2=config.value2||\"\";switch(config.operator){// All types\ncase\"is_empty\":return v.trim()===\"\";case\"is_not_empty\":return v.trim()!==\"\";// Text operators\ncase\"contains\":return v.toLowerCase().includes(target.toLowerCase());case\"not_contains\":return!v.toLowerCase().includes(target.toLowerCase());case\"exact_match\":return v===target;case\"match\":return v.toLowerCase()===target.toLowerCase();case\"starts_with\":return v.toLowerCase().startsWith(target.toLowerCase());case\"ends_with\":return v.toLowerCase().endsWith(target.toLowerCase());case\"length_greater_than\":return v.length>(parseInt(target,10)||0);case\"length_less_than\":return v.length<(parseInt(target,10)||0);case\"regex\":try{return new RegExp(target).test(v);}catch{return false;}// Number operators\ncase\"equals\":{if(config.fieldType===\"date\")return parseDate(v)===parseDate(target);return parseFloat(v)===parseFloat(target);}case\"not_equals\":{if(config.fieldType===\"date\")return parseDate(v)!==parseDate(target);return parseFloat(v)!==parseFloat(target);}case\"greater_than\":return parseFloat(v)>parseFloat(target);case\"less_than\":return parseFloat(v)<parseFloat(target);case\"greater_than_equals\":return parseFloat(v)>=parseFloat(target);case\"less_than_equals\":return parseFloat(v)<=parseFloat(target);case\"between\":{if(config.fieldType===\"date\"){const d=parseDate(v);return d>=parseDate(target)&&d<=parseDate(target2);}const num=parseFloat(v);return num>=parseFloat(target)&&num<=parseFloat(target2);}case\"not_between\":{if(config.fieldType===\"date\"){const d=parseDate(v);return d<parseDate(target)||d>parseDate(target2);}const num=parseFloat(v);return num<parseFloat(target)||num>parseFloat(target2);}// Date operators\ncase\"before\":return parseDate(v)<parseDate(target);case\"after\":return parseDate(v)>parseDate(target);default:return true;}}// ============================================================================\n// CONDITION EFFECT HOOK\n// ============================================================================\n/**\n * Hook that manages all 5 condition types (visibility, required, readOnly, disable, valueReset).\n * Watches source fields in the DOM, evaluates conditions, and returns reactive state.\n *\n * @param configs - Object containing all condition configs\n * @param fallbackSourceField - Fallback source field name if condition's own sourceField is empty\n * @param isCanvas - Whether rendering on Framer canvas (disables watchers)\n * @param onValueReset - Callback fired when valueReset condition transitions to true\n */export function useConditionalLogic(configs,fallbackSourceField,isCanvas,onValueReset){const[isVisible,setIsVisible]=useState(!configs.visibility.enabled);const[isRequired,setIsRequired]=useState(false);const[isReadOnly,setIsReadOnly]=useState(false);const[isDisabled,setIsDisabled]=useState(false);// Shared compound condition watcher logic\nconst conditionEffect=useCallback((config,defaultState,onResult)=>{if(!config.enabled){onResult(defaultState);return undefined;}if(isCanvas){onResult(defaultState);return undefined;}const cleanups=[];let result1=false;let result2=false;const hasRule2=Boolean(config.enableRule2);const combine=()=>{if(!hasRule2){onResult(result1);}else if(config.logic===\"or\"){onResult(result1||result2);}else{onResult(result1&&result2);}};const rule2Config={...config,sourceField:config.sourceFieldR2,fieldType:config.fieldTypeR2,operator:config.operatorR2,value:config.valueR2,value2:config.value2R2};const getSelector=name=>`input[name=\"${name}\"], select[name=\"${name}\"], textarea[name=\"${name}\"]`;const watchSource=(sourceName,ruleConfig,setResult)=>{const resolved=sourceName||fallbackSourceField||\"\";if(!resolved)return;const selector=getSelector(resolved);let currentEl=null;let currentCleanup=null;const attachListener=sourceEl=>{if(currentEl===sourceEl)return;if(currentCleanup)currentCleanup();currentEl=sourceEl;const check=()=>{setResult(evaluateCondition(readFieldValue(sourceEl),ruleConfig));combine();};check();sourceEl.addEventListener(\"input\",check);sourceEl.addEventListener(\"change\",check);currentCleanup=()=>{sourceEl.removeEventListener(\"input\",check);sourceEl.removeEventListener(\"change\",check);};};const existing=document.querySelector(selector);if(existing){attachListener(existing);}// Keep watching so we re-attach when a source field is\n// removed (hidden) and later re-added (shown) in the DOM.\nconst observer=new MutationObserver(()=>{const el=document.querySelector(selector);if(el&&el!==currentEl){attachListener(el);}else if(!el&&currentEl){if(currentCleanup)currentCleanup();currentEl=null;currentCleanup=null;}});observer.observe(document.body,{childList:true,subtree:true});cleanups.push(()=>{observer.disconnect();if(currentCleanup)currentCleanup();});};watchSource(config.sourceField,config,r=>{result1=r;});if(hasRule2){watchSource(config.sourceFieldR2,rule2Config,r=>{result2=r;});}return()=>cleanups.forEach(fn=>fn());},[isCanvas,fallbackSourceField]);// Shared deps builder\nconst conditionDeps=cfg=>[cfg.enabled,cfg.sourceField,cfg.fieldType,cfg.operator,cfg.value,cfg.value2,cfg.logic,cfg.enableRule2,cfg.sourceFieldR2,cfg.fieldTypeR2,cfg.operatorR2,cfg.valueR2,cfg.value2R2];// Visibility\nuseEffect(()=>{return conditionEffect(configs.visibility,true,setIsVisible);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[conditionEffect,...conditionDeps(configs.visibility)]);// Required\nuseEffect(()=>{return conditionEffect(configs.requiredCondition,false,setIsRequired);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[conditionEffect,...conditionDeps(configs.requiredCondition)]);// Read-only\nuseEffect(()=>{return conditionEffect(configs.readOnlyCondition,false,setIsReadOnly);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[conditionEffect,...conditionDeps(configs.readOnlyCondition)]);// Disable\nuseEffect(()=>{return conditionEffect(configs.disableCondition,false,setIsDisabled);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[conditionEffect,...conditionDeps(configs.disableCondition)]);// Value reset — fires callback when condition transitions to true\nconst valueResetPrevRef=useRef(false);useEffect(()=>{return conditionEffect(configs.valueResetCondition,false,result=>{if(result&&!valueResetPrevRef.current){onValueReset?.();}valueResetPrevRef.current=result;});// eslint-disable-next-line react-hooks/exhaustive-deps\n},[conditionEffect,...conditionDeps(configs.valueResetCondition),onValueReset]);return{isVisible,isRequired,isReadOnly,isDisabled};}// ============================================================================\n// PROPERTY CONTROLS HELPER\n// ============================================================================\n/**\n * Generates a Framer property control object for a single condition section.\n * Spread into `addPropertyControls`: `...conditionControl(\"visibility\", \"Visibility\", \"...\")`\n */export function conditionControl(propKey,title,enableDesc){return{[propKey]:{type:ControlType.Object,title,controls:{enabled:{type:ControlType.Boolean,title:\"Enable\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:enableDesc},sourceField:{type:ControlType.String,title:\"Source Field\",defaultValue:\"\",description:\"Field name to watch (e.g. 'Email'). Falls back to the top-level Source Field if empty.\",hidden(props){return!props.enabled;}},fieldType:{type:ControlType.Enum,title:\"Field Type\",defaultValue:\"text\",options:[\"text\",\"number\",\"date\"],optionTitles:[\"Text\",\"Number\",\"Date\"],description:\"Type of the source field. Determines which operators are valid.\",hidden(props){return!props.enabled;}},operator:{type:ControlType.Enum,title:\"Operator\",defaultValue:\"is_not_empty\",options:ALL_OPERATOR_IDS,optionTitles:ALL_OPERATOR_LABELS,description:\"Pick an operator that matches the Field Type. Invalid combos are ignored at runtime.\",hidden(props){return!props.enabled;}},value:{type:ControlType.String,title:\"Value\",defaultValue:\"\",description:\"Compare value. For length operators enter a number. For regex enter a pattern.\",hidden(props){return!props.enabled||NO_VALUE_OPS.has(props.operator);}},value2:{type:ControlType.String,title:\"Value 2 (Max)\",defaultValue:\"\",description:\"Second value for Between / Not Between operators.\",hidden(props){return!props.enabled||!RANGE_OPS.has(props.operator);}},// ── Compound rule ──\nenableRule2:{type:ControlType.Boolean,title:\"Add Rule 2\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Add a second condition rule combined with AND / OR logic.\",hidden(props){return!props.enabled;}},logic:{type:ControlType.Enum,title:\"Logic\",defaultValue:\"and\",options:[\"and\",\"or\"],optionTitles:[\"AND\",\"OR\"],displaySegmentedControl:true,description:\"How to combine Rule 1 and Rule 2.\",hidden(props){return!props.enabled||!props.enableRule2;}},sourceFieldR2:{type:ControlType.String,title:\"Source Field (R2)\",defaultValue:\"\",description:\"Source field for Rule 2. Falls back to the top-level Source Field if empty.\",hidden(props){return!props.enabled||!props.enableRule2;}},fieldTypeR2:{type:ControlType.Enum,title:\"Field Type (R2)\",defaultValue:\"text\",options:[\"text\",\"number\",\"date\"],optionTitles:[\"Text\",\"Number\",\"Date\"],hidden(props){return!props.enabled||!props.enableRule2;}},operatorR2:{type:ControlType.Enum,title:\"Operator (R2)\",defaultValue:\"is_not_empty\",options:ALL_OPERATOR_IDS,optionTitles:ALL_OPERATOR_LABELS,description:\"Operator for Rule 2. Pick one that matches the Rule 2 Field Type.\",hidden(props){return!props.enabled||!props.enableRule2;}},valueR2:{type:ControlType.String,title:\"Value (R2)\",defaultValue:\"\",description:\"Compare value for Rule 2. For length operators enter a number. For regex enter a pattern.\",hidden(props){return!props.enabled||!props.enableRule2||NO_VALUE_OPS.has(props.operatorR2);}},value2R2:{type:ControlType.String,title:\"Value 2 (R2 Max)\",defaultValue:\"\",description:\"Second value for Rule 2 Between / Not Between.\",hidden(props){return!props.enabled||!props.enableRule2||!RANGE_OPS.has(props.operatorR2);}}}}};}// ============================================================================\n// STANDARD CONDITION PROPERTY CONTROLS (pre-built for common usage)\n// ============================================================================\nexport const CONDITION_CONTROLS={...conditionControl(\"visibility\",\"Visibility\",\"Show or hide this field based on another field's value.\"),...conditionControl(\"requiredCondition\",\"Required\",\"Make this field required based on another field's value. Overrides the static Required toggle.\"),...conditionControl(\"readOnlyCondition\",\"Read-Only\",\"Make this field read-only based on another field's value.\"),...conditionControl(\"disableCondition\",\"Disable\",\"Disable this field based on another field's value. Disabled fields are greyed out and excluded from form submission.\"),...conditionControl(\"valueResetCondition\",\"Value Reset\",\"Clear this field's value when the condition on another field becomes true.\")};/**\n * Source field property control — add before CONDITION_CONTROLS in addPropertyControls.\n */export const SOURCE_FIELD_CONTROL={sourceField:{type:ControlType.String,title:\"Source Field\",defaultValue:\"\",description:\"Field name to read value from (e.g. 'Email'). Used as the default source for all conditions below.\"}};// ============================================================================\n// ARRAY-BASED CONDITION SYSTEM\n// ============================================================================\n/**\n * Hook that evaluates a dynamic array of ConditionItem[].\n * Groups conditions by type, combines per-type with AND/OR logic,\n * and returns reactive ConditionState.\n */export function useConditionArray(conditions,fallbackSourceField,isCanvas,onValueReset){const[state,setState]=useState({isVisible:true,isRequired:false,isReadOnly:false,isDisabled:false});const valueResetPrevRef=useRef(false);const onValueResetRef=useRef(onValueReset);onValueResetRef.current=onValueReset;// Serialize conditions for stable effect dependency\nconst conditionsKey=JSON.stringify(conditions);useEffect(()=>{if(!conditions?.length||isCanvas){setState({isVisible:true,isRequired:false,isReadOnly:false,isDisabled:false});valueResetPrevRef.current=false;return;}const fieldValues=new Map;const cleanups=[];// Collect all unique source field names\nconst sourceFields=new Set(conditions.map(c=>c.sourceField||fallbackSourceField||\"\").filter(Boolean));const evaluate=()=>{// Accumulate per-type results\nconst results={visibility:null,required:null,readOnly:null,disable:null,valueReset:null};for(const condition of conditions){const resolved=condition.sourceField||fallbackSourceField||\"\";const fieldValue=fieldValues.get(resolved)||\"\";const activeOperator=resolveOperator(condition);const resolvedVals=resolveValues(condition);const result=evaluateCondition(fieldValue,{fieldType:condition.fieldType||\"text\",operator:activeOperator,value:resolvedVals.value,value2:resolvedVals.value2});const t=condition.type;if(results[t]===null){results[t]=result;}else if(condition.logic===\"or\"){results[t]=results[t]||result;}else{results[t]=results[t]&&result;}}setState({isVisible:results.visibility===null?true:results.visibility,isRequired:results.required===null?false:results.required,isReadOnly:results.readOnly===null?false:results.readOnly,isDisabled:results.disable===null?false:results.disable});// Value reset — edge-triggered\nconst vr=results.valueReset===null?false:results.valueReset;if(vr&&!valueResetPrevRef.current){onValueResetRef.current?.();}valueResetPrevRef.current=vr;};// Watch each unique source field in the DOM\nfor(const fieldName of sourceFields){const selector=`input[name=\"${fieldName}\"], select[name=\"${fieldName}\"], textarea[name=\"${fieldName}\"]`;let currentEl=null;let currentCleanup=null;const attachListener=sourceEl=>{if(currentEl===sourceEl)return;if(currentCleanup)currentCleanup();currentEl=sourceEl;const check=()=>{fieldValues.set(fieldName,readFieldValue(sourceEl));evaluate();};fieldValues.set(fieldName,readFieldValue(sourceEl));sourceEl.addEventListener(\"input\",check);sourceEl.addEventListener(\"change\",check);currentCleanup=()=>{sourceEl.removeEventListener(\"input\",check);sourceEl.removeEventListener(\"change\",check);};};const existing=document.querySelector(selector);if(existing){attachListener(existing);}// Keep watching so we re-attach when a source field is\n// removed (hidden) and later re-added (shown) in the DOM.\nconst observer=new MutationObserver(()=>{const el=document.querySelector(selector);if(el&&el!==currentEl){attachListener(el);evaluate();}else if(!el&&currentEl){if(currentCleanup)currentCleanup();currentEl=null;currentCleanup=null;}});observer.observe(document.body,{childList:true,subtree:true});cleanups.push(()=>{observer.disconnect();if(currentCleanup)currentCleanup();});}// Initial evaluation after all watchers attached\nevaluate();return()=>cleanups.forEach(fn=>fn());// eslint-disable-next-line react-hooks/exhaustive-deps\n},[conditionsKey,fallbackSourceField,isCanvas]);return state;}/**\n * Framer property control for a conditions array.\n * Usage: `...CONDITION_ARRAY_CONTROL` spread into addPropertyControls.\n *//** Helper: get the active operator from array item props based on fieldType */function getActiveOp(props){if(props.fieldType===\"number\")return props.numberOperator||\"is_not_empty\";if(props.fieldType===\"date\")return props.dateOperator||\"is_not_empty\";return props.operator||\"is_not_empty\";}export const CONDITION_ARRAY_CONTROL={conditions:{type:ControlType.Array,title:\"Conditions\",description:\"Add rules to control this field based on other fields' values.\",control:{type:ControlType.Object,controls:{type:{type:ControlType.Enum,title:\"Action\",defaultValue:\"visibility\",options:[\"visibility\",\"required\",\"readOnly\",\"disable\",\"valueReset\"],optionTitles:[\"Show / Hide\",\"Required\",\"Read-Only\",\"Disable\",\"Value Reset\"]},logic:{type:ControlType.Enum,title:\"Logic\",defaultValue:\"and\",options:[\"and\",\"or\"],optionTitles:[\"AND\",\"OR\"],displaySegmentedControl:true},sourceField:{type:ControlType.String,title:\"Source Field\",defaultValue:\"\",description:\"Field name to watch (e.g. 'email', 'phone'). Must match the field's Name property.\"},fieldType:{type:ControlType.Enum,title:\"Field Type\",defaultValue:\"text\",options:[\"text\",\"number\",\"date\"],optionTitles:[\"Text\",\"Number\",\"Date\"]},operator:{type:ControlType.Enum,title:\"Operator\",defaultValue:\"is_not_empty\",options:TEXT_OPERATOR_IDS,optionTitles:TEXT_OPERATOR_LABELS,hidden(props){return props.fieldType!==\"text\";}},numberOperator:{type:ControlType.Enum,title:\"Operator\",defaultValue:\"is_not_empty\",options:NUMBER_OPERATOR_IDS,optionTitles:NUMBER_OPERATOR_LABELS,hidden(props){return props.fieldType!==\"number\";}},dateOperator:{type:ControlType.Enum,title:\"Operator\",defaultValue:\"is_not_empty\",options:DATE_OPERATOR_IDS,optionTitles:DATE_OPERATOR_LABELS,hidden(props){return props.fieldType!==\"date\";}},value:{type:ControlType.String,title:\"Value\",defaultValue:\"\",description:\"Text to compare. For length operators: a number. For regex: a pattern.\",hidden(props){return props.fieldType!==\"text\"||NO_VALUE_OPS.has(getActiveOp(props));}},numberValue:{type:ControlType.String,title:\"Value\",defaultValue:\"\",description:\"Enter a number (e.g. 42, 3.14).\",hidden(props){return props.fieldType!==\"number\"||NO_VALUE_OPS.has(getActiveOp(props));}},dateValue:{type:ControlType.String,title:\"Value\",defaultValue:\"\",description:\"Date format: YYYY-MM-DD (e.g. 2025-06-15).\",hidden(props){return props.fieldType!==\"date\"||NO_VALUE_OPS.has(getActiveOp(props));}},value2:{type:ControlType.String,title:\"Value 2 (Max)\",defaultValue:\"\",description:\"End text value for Between / Not Between.\",hidden(props){return props.fieldType!==\"text\"||!RANGE_OPS.has(getActiveOp(props));}},numberValue2:{type:ControlType.String,title:\"Value 2 (Max)\",defaultValue:\"\",description:\"End number for Between / Not Between range.\",hidden(props){return props.fieldType!==\"number\"||!RANGE_OPS.has(getActiveOp(props));}},dateValue2:{type:ControlType.String,title:\"Value 2 (Max)\",defaultValue:\"\",description:\"End date for range. Format: YYYY-MM-DD.\",hidden(props){return props.fieldType!==\"date\"||!RANGE_OPS.has(getActiveOp(props));}}}},defaultValue:[]}};// ============================================================================\n// DEFAULT EXPORT (required for Framer module upload)\n// ============================================================================\n/**\n * Placeholder component — required for Framer to register this as a module.\n * Not intended for direct canvas use. Import named exports in other components.\n */const ConditionalLogic=/*#__PURE__*/forwardRef((_,ref)=>{return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{display:\"none\"}});});ConditionalLogic.displayName=\"Conditional Logic\";export default ConditionalLogic;\nexport const __FramerMetadata__ = {\"exports\":{\"ConditionType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_CONDITION\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConditionConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RANGE_OPS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NUMBER_OPERATOR_LABELS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NUMBER_OPERATOR_IDS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isOperatorValidForType\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CONDITION_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NO_VALUE_OPS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CONDITION_ARRAY_CONTROL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"resolveValues\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConditionState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TEXT_OPERATOR_LABELS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SOURCE_FIELD_CONTROL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DATE_OPERATOR_IDS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"evaluateCondition\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useConditionArray\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DATE_OPERATOR_LABELS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ALL_OPERATOR_IDS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConditionItem\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ALL_OPERATOR_LABELS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useConditionalLogic\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_CONDITION_ITEM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"OPERATOR_OPTIONS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TEXT_OPERATOR_IDS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"conditionControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EvalConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SPECIAL_VALUE_OPS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"resolveOperator\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ConditionalLogicUtil.map","/*\n * ConditionalLogicUtil\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/fBY7K5QM2pcfPmulIEIE/3i69Aw20ukDiSnYJtxST/ConditionalLogicUtil.js\"\nexport { default } from \"https://framerusercontent.com/modules/fBY7K5QM2pcfPmulIEIE/3i69Aw20ukDiSnYJtxST/ConditionalLogicUtil.js\"\n","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{useConditionArray,CONDITION_ARRAY_CONTROL}from\"https://framer.com/m/ConditionalLogicUtil-69lIOW.js\";const DEFAULT_VALIDATION={liveValidation:false,showBrowserTooltip:false,requiredMessage:\"\",typeMismatchMessage:\"\"};const DEFAULT_LABEL={show:true,requiredMark:\"*\",font:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},color:\"#888888\"};const DEFAULT_LAYOUT={direction:\"vertical\",gap:8,labelWidth:120};const DEFAULT_INPUT_STYLE={font:{fontSize:14,lineHeight:1.2},color:\"#999999\",placeholderColor:\"#999999\",background:\"rgba(187,187,187,0.15)\",padding:\"12px 15px 12px 12px\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"},radius:\"10px\",shadow:\"\"};const DEFAULT_FOCUS_STYLE={borderColor:\"#3B82F6\",shadow:\"\",scale:1};const DEFAULT_ICONS={showIcon:false,icon:\"\",position:\"prefix\",size:18,color:\"#6B7280\"};const DEFAULT_ERROR_STYLE={color:\"#dc2626\",font:{fontSize:12,lineHeight:1.4}};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 92\n * @framerDisableUnlink\n */export default function EmailInputControl(props){const{name,labelText,placeholder,required,defaultValue,conditions,autoComplete,validation,label,layout,inputStyle,icons,focusStyle,errorStyle,_meta,style}=props;const validationConfig={...DEFAULT_VALIDATION,...validation||{}};const labelConfig={...DEFAULT_LABEL,...label||{},font:{...DEFAULT_LABEL.font,...label&&label.font||{}}};const layoutConfig={...DEFAULT_LAYOUT,...layout||{}};const inputStyleConfig={...DEFAULT_INPUT_STYLE,...inputStyle||{},font:{...DEFAULT_INPUT_STYLE.font,...inputStyle&&inputStyle.font||{}},border:{...DEFAULT_INPUT_STYLE.border,...inputStyle&&inputStyle.border||{}}};const rawIcons=icons||{};const iconsConfig={...DEFAULT_ICONS,...rawIcons};const useLegacyIconConfig=!(\"showIcon\"in rawIcons)&&!(\"position\"in rawIcons)&&(\"showPrefix\"in rawIcons||\"showSuffix\"in rawIcons||\"prefixIcon\"in rawIcons||\"suffixIcon\"in rawIcons);const resolvedIcon=useLegacyIconConfig?rawIcons.prefixIcon||rawIcons.suffixIcon||\"\":iconsConfig.icon;const resolvedShowIcon=useLegacyIconConfig?Boolean(rawIcons.showPrefix||rawIcons.showSuffix)&&Boolean(resolvedIcon):Boolean(iconsConfig.showIcon)&&Boolean(resolvedIcon);const resolvedIconPosition=useLegacyIconConfig?rawIcons.showSuffix?\"suffix\":\"prefix\":iconsConfig.position===\"suffix\"?\"suffix\":\"prefix\";const focusStyleConfig={...DEFAULT_FOCUS_STYLE,...focusStyle||{}};const errorStyleConfig={...DEFAULT_ERROR_STYLE,...errorStyle||{},font:{...DEFAULT_ERROR_STYLE.font,...errorStyle&&errorStyle.font||{}}};const fieldName=name||\"email\";const currentLabelText=labelText||\"Email\";const inputId=`field-${fieldName}`;const errorId=`error-${fieldName}`;const[value,setValue]=useState(defaultValue);const[error,setError]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const inputRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const Wrapper=isCanvas?\"div\":motion.div;const conditionItems=useMemo(()=>conditions||[],[conditions]);const handleValueReset=useCallback(()=>{setValue(\"\");setError(\"\");},[]);const{isVisible,isRequired,isReadOnly,isDisabled}=useConditionArray(conditionItems,\"\",isCanvas,handleValueReset);const hasRequiredConditions=conditionItems.some(c=>c.type===\"required\");const hasReadOnlyConditions=conditionItems.some(c=>c.type===\"readOnly\");const hasDisableConditions=conditionItems.some(c=>c.type===\"disable\");const effectiveRequired=hasRequiredConditions?isRequired:required;const effectiveReadOnly=hasReadOnlyConditions?isReadOnly:false;const effectiveDisabled=hasDisableConditions?isDisabled:false;const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);void parsedMeta;useEffect(()=>{setValue(defaultValue);},[defaultValue]);const applyTokens=useCallback((template,fallback)=>{const source=template?.trim()?template:fallback;const tokens={label:currentLabelText||fieldName,name:fieldName};return source.replace(/\\{(label|name)\\}/g,(_,key)=>{return tokens[key]??\"\";});},[currentLabelText,fieldName]);const hasCustomMessages=Boolean(validationConfig.requiredMessage.trim()||validationConfig.typeMismatchMessage.trim());const resolveMessage=useCallback(el=>{if(el.validity.valueMissing){return applyTokens(validationConfig.requiredMessage,`${currentLabelText||fieldName} is required`);}if(el.validity.typeMismatch){return applyTokens(validationConfig.typeMismatchMessage,\"Please enter a valid email address\");}return el.validationMessage;},[applyTokens,fieldName,currentLabelText,validationConfig.requiredMessage,validationConfig.typeMismatchMessage]);const validate=useCallback(()=>{const el=inputRef.current;if(!el)return;el.setCustomValidity(\"\");if(!el.validity.valid){const message=resolveMessage(el);setError(message);if(hasCustomMessages){el.setCustomValidity(message);}}else{setError(\"\");}},[hasCustomMessages,resolveMessage]);const handleFocus=useCallback(()=>{setIsFocused(true);setError(\"\");},[]);const handleBlur=useCallback(()=>{setIsFocused(false);validate();},[validate]);const handleChange=useCallback(event=>{const nextValue=event.currentTarget.value;setValue(nextValue);if(validationConfig.liveValidation){validate();return;}if(error){const el=inputRef.current;if(el&&el.validity.valid){setError(\"\");el.setCustomValidity(\"\");}}},[error,validate,validationConfig.liveValidation]);const handleInvalid=useCallback(event=>{if(!validationConfig.showBrowserTooltip){event.preventDefault();}validate();},[validate,validationConfig.showBrowserTooltip]);const wrapperVariants={idle:{borderColor:inputStyleConfig.border?.borderColor||\"#D1D5DB\",boxShadow:inputStyleConfig.shadow||\"none\",scale:1},focused:{borderColor:focusStyleConfig.borderColor,boxShadow:focusStyleConfig.shadow,scale:focusStyleConfig.scale},error:{borderColor:errorStyleConfig.color,boxShadow:\"0 0 0 3px rgba(239,68,68,0.2)\",scale:1}};const wrapperState=error?\"error\":isFocused?\"focused\":\"idle\";const describedBy=error?errorId:undefined;const containerStyle={display:\"flex\",flexDirection:layoutConfig.direction===\"horizontal\"?\"row\":\"column\",alignItems:layoutConfig.direction===\"horizontal\"?\"center\":\"stretch\",gap:`${layoutConfig.gap}px`,width:\"100%\",opacity:effectiveDisabled?.5:effectiveReadOnly?.6:1,cursor:effectiveDisabled||effectiveReadOnly?\"not-allowed\":undefined,...style};const normalizedLabelFontWeight=(()=>{const current=labelConfig.font?.fontWeight;if(current===undefined||current===null||current===\"\"||current===\"normal\"||current===\"regular\"||current===400||current===\"400\"){return 500;}return current;})();const labelStyle={...labelConfig.font,fontWeight:normalizedLabelFontWeight,color:labelConfig.color,flexShrink:0,...layoutConfig.direction===\"horizontal\"?{width:`${layoutConfig.labelWidth}px`}:{}};const inputWrapperStyle={...inputStyleConfig.border,borderWidth:inputStyleConfig.border?.borderWidth||1,borderStyle:inputStyleConfig.border?.borderStyle||\"solid\",borderColor:inputStyleConfig.border?.borderColor||\"#D1D5DB\",borderRadius:inputStyleConfig.radius,backgroundColor:inputStyleConfig.background,padding:inputStyleConfig.padding,boxShadow:inputStyleConfig.shadow,opacity:1,minHeight:\"44px\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",gap:\"8px\"};const iconStyle={width:`${iconsConfig.size}px`,height:`${iconsConfig.size}px`,objectFit:\"contain\",flexShrink:0,display:\"block\"};const inputElementStyle={...inputStyleConfig.font,color:inputStyleConfig.color,opacity:1,border:\"none\",outline:\"none\",width:\"100%\",flex:1,minWidth:0,boxSizing:\"border-box\",backgroundColor:\"transparent\",padding:0,margin:0};const errorMessageStyle={...errorStyleConfig.font,color:errorStyleConfig.color,marginTop:\"6px\",overflow:\"hidden\"};if(!isVisible){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`div:has(> .formsplugin-hide-conditional-block) { display: none; }`}),/*#__PURE__*/_jsx(\"div\",{className:\"formsplugin-hide-conditional-block\"})]});}return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[labelConfig.show&&currentLabelText&&/*#__PURE__*/_jsxs(\"label\",{htmlFor:inputId,style:labelStyle,children:[currentLabelText,effectiveRequired&&/*#__PURE__*/_jsx(\"span\",{style:{color:errorStyleConfig.color,marginLeft:\"2px\"},children:labelConfig.requiredMark||\"*\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`.fp-email-input-control__input::placeholder { color: ${inputStyleConfig.placeholderColor}; opacity: 1; }`}),/*#__PURE__*/_jsxs(Wrapper,{...!isCanvas&&{animate:wrapperState,variants:wrapperVariants,transition:{duration:.2,ease:\"easeOut\"}},style:inputWrapperStyle,children:[resolvedShowIcon&&resolvedIconPosition===\"prefix\"&&/*#__PURE__*/_jsx(\"div\",{style:{width:`${iconsConfig.size}px`,height:`${iconsConfig.size}px`,backgroundColor:iconsConfig.color,WebkitMaskImage:`url(${resolvedIcon})`,maskImage:`url(${resolvedIcon})`,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskPosition:\"center\",maskPosition:\"center\",WebkitMaskSize:\"contain\",maskSize:\"contain\",flexShrink:0}}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,id:inputId,name:fieldName,type:\"email\",placeholder:placeholder,required:effectiveRequired,disabled:effectiveDisabled,readOnly:effectiveReadOnly,value:value,autoComplete:autoComplete||undefined,onFocus:handleFocus,onBlur:handleBlur,onInput:handleChange,onChange:handleChange,onInvalid:handleInvalid,\"aria-invalid\":error?\"true\":undefined,\"aria-describedby\":describedBy,className:\"fp-email-input-control__input\",style:inputElementStyle}),resolvedShowIcon&&resolvedIconPosition===\"suffix\"&&/*#__PURE__*/_jsx(\"img\",{src:resolvedIcon,alt:\"\",\"aria-hidden\":\"true\",style:iconStyle})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:error&&!isCanvas&&/*#__PURE__*/_jsx(motion.div,{id:errorId,role:\"alert\",initial:{opacity:0,y:-4,height:0},animate:{opacity:1,y:0,height:\"auto\"},exit:{opacity:0,y:-4,height:0},transition:{duration:.2,ease:\"easeOut\"},style:errorMessageStyle,children:error},\"error-message\")})]})]});}EmailInputControl.displayName=\"Email Input\";EmailInputControl.defaultProps={name:\"email\",labelText:\"Email\",placeholder:\"Enter your email...\",required:false,defaultValue:\"\",conditions:[],autoComplete:\"email\",validation:DEFAULT_VALIDATION,label:DEFAULT_LABEL,layout:DEFAULT_LAYOUT,inputStyle:DEFAULT_INPUT_STYLE,icons:DEFAULT_ICONS,focusStyle:DEFAULT_FOCUS_STYLE,errorStyle:DEFAULT_ERROR_STYLE,_meta:\"\",style:{}};addPropertyControls(EmailInputControl,{name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"email\",description:\"Unique name used in submitted form data.\"},labelText:{type:ControlType.String,title:\"Label Name\",defaultValue:\"Email\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Enter your email...\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},defaultValue:{type:ControlType.String,title:\"Default Value\",defaultValue:\"\"},autoComplete:{type:ControlType.Enum,title:\"Autocomplete\",defaultValue:\"email\",options:[\"off\",\"email\",\"username\"],optionTitles:[\"Off\",\"Email\",\"Username\"],description:\"Helps browsers auto-fill email addresses.\"},validation:{type:ControlType.Object,title:\"Validation\",controls:{requiredMessage:{type:ControlType.String,title:\"Required Error\",defaultValue:\"\",description:\"Message for required validation. Supports {label}, {name}.\"},typeMismatchMessage:{type:ControlType.String,title:\"Invalid Email Error\",defaultValue:\"\",description:\"Message when email format is invalid. Supports {label}, {name}.\"},liveValidation:{type:ControlType.Boolean,title:\"Validate While Typing\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Checks input on each keystroke instead of waiting for blur.\"},showBrowserTooltip:{type:ControlType.Boolean,title:\"Browser Tooltip\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Show browser default validation popup. Turn off to display only custom error text.\"}}},label:{type:ControlType.Object,title:\"Label Style\",controls:{show:{type:ControlType.Boolean,title:\"Show Label\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},requiredMark:{type:ControlType.String,title:\"Required Mark\",defaultValue:\"*\",hidden(props){return props.show===false;}},font:{type:ControlType.Font,title:\"Label Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#888888\",hidden(props){return props.show===false;}}}},layout:{type:ControlType.Object,title:\"Layout\",controls:{direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],optionIcons:[\"direction-vertical\",\"direction-horizontal\"],displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:40,step:2,unit:\"px\"},labelWidth:{type:ControlType.Number,title:\"Label Width\",defaultValue:120,min:40,max:300,step:4,unit:\"px\",hidden(props){return props.direction!==\"horizontal\";}}}},inputStyle:{type:ControlType.Object,title:\"Input Style\",controls:{font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.2}},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#999999\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder\",defaultValue:\"#999999\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(187,187,187,0.15)\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 15px 12px 12px\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"10px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"none\"}}},icons:{type:ControlType.Object,title:\"Icons\",controls:{showIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},icon:{type:ControlType.Image,title:\"Icon\",hidden(props){return props.showIcon===false;}},position:{type:ControlType.Enum,title:\"Position\",defaultValue:\"prefix\",options:[\"prefix\",\"suffix\"],optionTitles:[\"Prefix\",\"Suffix\"],displaySegmentedControl:true,hidden(props){return props.showIcon===false;}},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#6B7280\",hidden(props){return props.showIcon===false;}},size:{type:ControlType.Number,title:\"Icon Size\",defaultValue:18,min:8,max:64,step:1,unit:\"px\",displayStepper:true,hidden(props){return props.showIcon===false;}}}},focusStyle:{type:ControlType.Object,title:\"Focus Style\",controls:{borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#3B82F6\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"none\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:1,max:1.05,step:.005}}},errorStyle:{type:ControlType.Object,title:\"Error Style\",description:\"by [Forms Plugin](https://formsplugin.com/?ref=field_setting)\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#dc2626\"},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,lineHeight:1.4}}}},...CONDITION_ARRAY_CONTROL,_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EmailInputControl\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"92\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"300\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EmailInputControl.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{useConditionArray,CONDITION_ARRAY_CONTROL}from\"https://framer.com/m/ConditionalLogicUtil-69lIOW.js\";const DEFAULT_VALIDATION={minLength:0,maxLength:0,pattern:\"\",liveValidation:false,showBrowserTooltip:false,requiredMessage:\"\",minLengthMessage:\"\",maxLengthMessage:\"\",patternMessage:\"\"};const DEFAULT_LABEL={show:true,requiredMark:\"*\",font:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},color:\"#888888\"};const DEFAULT_LAYOUT={direction:\"vertical\",gap:8,labelWidth:120};const DEFAULT_INPUT_STYLE={font:{fontSize:14,lineHeight:1.2},color:\"#999999\",placeholderColor:\"#999999\",background:\"rgba(187,187,187,0.15)\",padding:\"12px 15px 12px 12px\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"},radius:\"10px\",shadow:\"\"};const DEFAULT_FOCUS_STYLE={borderColor:\"#3B82F6\",shadow:\"\",scale:1};const DEFAULT_ICONS={showIcon:false,icon:\"\",position:\"prefix\",size:18,color:\"#6B7280\"};const DEFAULT_ERROR_STYLE={color:\"#dc2626\",font:{fontSize:12,lineHeight:1.4}};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 92\n * @framerDisableUnlink\n */export default function TextInputControl(props){const{name,labelText,placeholder,required,defaultValue,autoComplete,validation,label,layout,inputStyle,icons,focusStyle,errorStyle,conditions,_meta,style}=props;const validationConfig={...DEFAULT_VALIDATION,...validation||{}};const labelConfig={...DEFAULT_LABEL,...label||{},font:{...DEFAULT_LABEL.font,...label&&label.font||{}}};const layoutConfig={...DEFAULT_LAYOUT,...layout||{}};const inputStyleConfig={...DEFAULT_INPUT_STYLE,...inputStyle||{},font:{...DEFAULT_INPUT_STYLE.font,...inputStyle&&inputStyle.font||{}},border:{...DEFAULT_INPUT_STYLE.border,...inputStyle&&inputStyle.border||{}}};const rawIcons=icons||{};const iconsConfig={...DEFAULT_ICONS,...rawIcons};const useLegacyIconConfig=!(\"showIcon\"in rawIcons)&&!(\"position\"in rawIcons)&&(\"showPrefix\"in rawIcons||\"showSuffix\"in rawIcons||\"prefixIcon\"in rawIcons||\"suffixIcon\"in rawIcons);const resolvedIcon=useLegacyIconConfig?rawIcons.prefixIcon||rawIcons.suffixIcon||\"\":iconsConfig.icon;const resolvedShowIcon=useLegacyIconConfig?Boolean(rawIcons.showPrefix||rawIcons.showSuffix)&&Boolean(resolvedIcon):Boolean(iconsConfig.showIcon)&&Boolean(resolvedIcon);const resolvedIconPosition=useLegacyIconConfig?rawIcons.showSuffix?\"suffix\":\"prefix\":iconsConfig.position===\"suffix\"?\"suffix\":\"prefix\";const focusStyleConfig={...DEFAULT_FOCUS_STYLE,...focusStyle||{}};const errorStyleConfig={...DEFAULT_ERROR_STYLE,...errorStyle||{},font:{...DEFAULT_ERROR_STYLE.font,...errorStyle&&errorStyle.font||{}}};const fieldName=name||\"text-input\";const currentLabelText=labelText||\"Text\";const inputId=`field-${fieldName}`;const errorId=`error-${fieldName}`;const[value,setValue]=useState(defaultValue);const[error,setError]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const inputRef=useRef(null);const containerRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const Wrapper=isCanvas?\"div\":motion.div;const conditionItems=useMemo(()=>conditions||[],[conditions]);const handleValueReset=useCallback(()=>{setValue(\"\");setError(\"\");},[]);const{isVisible,isRequired,isReadOnly,isDisabled}=useConditionArray(conditionItems,\"\",isCanvas,handleValueReset);const hasRequiredConditions=conditionItems.some(c=>c.type===\"required\");const hasReadOnlyConditions=conditionItems.some(c=>c.type===\"readOnly\");const hasDisableConditions=conditionItems.some(c=>c.type===\"disable\");const effectiveRequired=hasRequiredConditions?isRequired:required;const effectiveReadOnly=hasReadOnlyConditions?isReadOnly:false;const effectiveDisabled=hasDisableConditions?isDisabled:false;const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);void parsedMeta;useEffect(()=>{setValue(defaultValue);},[defaultValue]);const applyTokens=useCallback((template,fallback)=>{const source=template?.trim()?template:fallback;const tokens={label:currentLabelText||fieldName,name:fieldName,min:`${validationConfig.minLength}`,max:`${validationConfig.maxLength}`,pattern:validationConfig.pattern,count:`${value.length}`};return source.replace(/\\{(label|name|min|max|pattern|count)\\}/g,(_,key)=>{return tokens[key]??\"\";});},[currentLabelText,fieldName,validationConfig.maxLength,validationConfig.minLength,validationConfig.pattern,value.length]);const hasCustomMessages=Boolean(validationConfig.requiredMessage.trim()||validationConfig.minLengthMessage.trim()||validationConfig.maxLengthMessage.trim()||validationConfig.patternMessage.trim());const resolveMessage=useCallback(el=>{if(el.validity.valueMissing){return applyTokens(validationConfig.requiredMessage,`${currentLabelText||fieldName} is required`);}if(el.validity.tooShort){return applyTokens(validationConfig.minLengthMessage,`Minimum ${validationConfig.minLength} characters required`);}if(el.validity.tooLong){return applyTokens(validationConfig.maxLengthMessage,`Maximum ${validationConfig.maxLength} characters allowed`);}if(el.validity.patternMismatch){return applyTokens(validationConfig.patternMessage,\"Please match the requested format\");}return el.validationMessage;},[applyTokens,fieldName,currentLabelText,validationConfig.maxLength,validationConfig.maxLengthMessage,validationConfig.minLength,validationConfig.minLengthMessage,validationConfig.patternMessage,validationConfig.requiredMessage]);const validate=useCallback(()=>{const el=inputRef.current;if(!el)return;el.setCustomValidity(\"\");if(!el.validity.valid){const message=resolveMessage(el);setError(message);if(hasCustomMessages){el.setCustomValidity(message);}}else{setError(\"\");}},[hasCustomMessages,resolveMessage]);const handleFocus=useCallback(()=>{setIsFocused(true);setError(\"\");},[]);const handleBlur=useCallback(()=>{setIsFocused(false);validate();},[validate]);const handleChange=useCallback(event=>{const nextValue=event.currentTarget.value;setValue(nextValue);if(validationConfig.liveValidation){validate();return;}if(error){const el=inputRef.current;if(el&&el.validity.valid){setError(\"\");el.setCustomValidity(\"\");}}},[error,validate,validationConfig.liveValidation]);const handleInvalid=useCallback(event=>{if(!validationConfig.showBrowserTooltip){event.preventDefault();}validate();},[validate,validationConfig.showBrowserTooltip]);const wrapperVariants={idle:{borderColor:inputStyleConfig.border?.borderColor||\"#D1D5DB\",boxShadow:inputStyleConfig.shadow||\"none\",scale:1},focused:{borderColor:focusStyleConfig.borderColor,boxShadow:focusStyleConfig.shadow||\"none\",scale:focusStyleConfig.scale},error:{borderColor:errorStyleConfig.color,boxShadow:\"0 0 0 3px rgba(239,68,68,0.2)\",scale:1}};const wrapperState=error?\"error\":isFocused?\"focused\":\"idle\";const describedBy=error?errorId:undefined;const containerStyle={display:\"flex\",flexDirection:layoutConfig.direction===\"horizontal\"?\"row\":\"column\",alignItems:layoutConfig.direction===\"horizontal\"?\"center\":\"stretch\",gap:`${layoutConfig.gap}px`,width:\"100%\",...style};const normalizedLabelFontWeight=(()=>{const current=labelConfig.font?.fontWeight;if(current===undefined||current===null||current===\"\"||current===\"normal\"||current===\"regular\"||current===400||current===\"400\"){return 500;}return current;})();const labelStyle={...labelConfig.font,fontWeight:normalizedLabelFontWeight,color:labelConfig.color,flexShrink:0,...layoutConfig.direction===\"horizontal\"?{width:`${layoutConfig.labelWidth}px`}:{}};const inputWrapperStyle={...inputStyleConfig.border,borderWidth:inputStyleConfig.border?.borderWidth||1,borderStyle:inputStyleConfig.border?.borderStyle||\"solid\",borderColor:inputStyleConfig.border?.borderColor||\"#D1D5DB\",borderRadius:inputStyleConfig.radius,backgroundColor:inputStyleConfig.background,padding:inputStyleConfig.padding,boxShadow:inputStyleConfig.shadow||\"none\",opacity:1,minHeight:\"44px\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",gap:\"8px\"};const iconStyle={width:`${iconsConfig.size}px`,height:`${iconsConfig.size}px`,objectFit:\"contain\",flexShrink:0,display:\"block\"};const inputElementStyle={...inputStyleConfig.font,color:inputStyleConfig.color,opacity:effectiveDisabled?.5:effectiveReadOnly?.6:1,border:\"none\",outline:\"none\",width:\"100%\",flex:1,minWidth:0,boxSizing:\"border-box\",backgroundColor:\"transparent\",padding:0,margin:0,cursor:effectiveDisabled||effectiveReadOnly?\"not-allowed\":undefined};const errorMessageStyle={...errorStyleConfig.font,color:errorStyleConfig.color,marginTop:\"6px\",overflow:\"hidden\"};if(!isVisible){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`div:has(> .formsplugin-hide-conditional-block) { display: none; }`}),/*#__PURE__*/_jsx(\"div\",{className:\"formsplugin-hide-conditional-block\"})]});}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:containerStyle,children:[labelConfig.show&&currentLabelText&&/*#__PURE__*/_jsxs(\"label\",{htmlFor:inputId,style:labelStyle,children:[currentLabelText,effectiveRequired&&/*#__PURE__*/_jsx(\"span\",{style:{color:errorStyleConfig.color,marginLeft:\"2px\"},children:labelConfig.requiredMark||\"*\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`.fp-text-input-control__input::placeholder { color: ${inputStyleConfig.placeholderColor}; opacity: 1; }`}),/*#__PURE__*/_jsxs(Wrapper,{...!isCanvas&&{animate:wrapperState,variants:wrapperVariants,transition:{duration:.2,ease:\"easeOut\"}},style:inputWrapperStyle,children:[resolvedShowIcon&&resolvedIconPosition===\"prefix\"&&/*#__PURE__*/_jsx(\"div\",{style:{width:`${iconsConfig.size}px`,height:`${iconsConfig.size}px`,backgroundColor:iconsConfig.color,WebkitMaskImage:`url(${resolvedIcon})`,maskImage:`url(${resolvedIcon})`,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskPosition:\"center\",maskPosition:\"center\",WebkitMaskSize:\"contain\",maskSize:\"contain\",flexShrink:0}}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,id:inputId,name:fieldName,type:\"text\",placeholder:placeholder,required:effectiveRequired,disabled:effectiveDisabled,readOnly:effectiveReadOnly,value:value,autoComplete:autoComplete||undefined,minLength:validationConfig.minLength>0?validationConfig.minLength:undefined,maxLength:validationConfig.maxLength>0?validationConfig.maxLength:undefined,pattern:validationConfig.pattern||undefined,onFocus:handleFocus,onBlur:handleBlur,onInput:handleChange,onChange:handleChange,onInvalid:handleInvalid,\"aria-invalid\":error?\"true\":undefined,\"aria-describedby\":describedBy,className:\"fp-text-input-control__input\",style:inputElementStyle}),resolvedShowIcon&&resolvedIconPosition===\"suffix\"&&/*#__PURE__*/_jsx(\"img\",{src:resolvedIcon,alt:\"\",\"aria-hidden\":\"true\",style:iconStyle})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:error&&!isCanvas&&/*#__PURE__*/_jsx(motion.div,{id:errorId,role:\"alert\",initial:{opacity:0,y:-4,height:0},animate:{opacity:1,y:0,height:\"auto\"},exit:{opacity:0,y:-4,height:0},transition:{duration:.2,ease:\"easeOut\"},style:errorMessageStyle,children:error},\"error-message\")})]})]});}TextInputControl.displayName=\"Text Input\";TextInputControl.defaultProps={name:\"text-input\",labelText:\"Text\",placeholder:\"Enter text...\",required:false,defaultValue:\"\",autoComplete:\"off\",validation:DEFAULT_VALIDATION,label:DEFAULT_LABEL,layout:DEFAULT_LAYOUT,inputStyle:DEFAULT_INPUT_STYLE,icons:DEFAULT_ICONS,focusStyle:DEFAULT_FOCUS_STYLE,errorStyle:DEFAULT_ERROR_STYLE,conditions:[],_meta:\"\",style:{}};addPropertyControls(TextInputControl,{name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"text-input\",description:\"Unique name used in submitted form data.\"},labelText:{type:ControlType.String,title:\"Label Name\",defaultValue:\"Text\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Enter text...\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},defaultValue:{type:ControlType.String,title:\"Default Value\",defaultValue:\"\"},autoComplete:{type:ControlType.Enum,title:\"Autocomplete\",defaultValue:\"off\",options:[\"off\",\"on\",\"name\",\"given-name\",\"additional-name\",\"family-name\",\"email\",\"username\",\"new-password\",\"current-password\",\"tel\",\"tel-country-code\",\"tel-national\",\"tel-area-code\",\"tel-local\",\"url\",\"street-address\",\"address-line1\",\"address-line2\",\"address-line3\",\"country\",\"country-name\",\"postal-code\",\"cc-name\",\"cc-given-name\",\"cc-family-name\",\"cc-number\",\"cc-exp\",\"cc-exp-month\",\"cc-exp-year\",\"cc-csc\",\"cc-type\",\"organization\",\"organization-title\",\"bday\",\"bday-day\",\"bday-month\",\"bday-year\",\"sex\",\"language\"],optionTitles:[\"Off\",\"On\",\"Full Name\",\"First Name\",\"Middle Name\",\"Last Name\",\"Email\",\"Username\",\"New Password\",\"Current Password\",\"Phone\",\"Phone Country Code\",\"Phone National\",\"Phone Area Code\",\"Phone Local\",\"URL\",\"Street Address\",\"Address Line 1\",\"Address Line 2\",\"Address Line 3\",\"Country\",\"Country Name\",\"Postal Code\",\"Card Full Name\",\"Card First Name\",\"Card Last Name\",\"Card Number\",\"Card Expiry\",\"Card Exp Month\",\"Card Exp Year\",\"Card CVV\",\"Card Type\",\"Organization\",\"Job Title\",\"Birthday\",\"Birth Day\",\"Birth Month\",\"Birth Year\",\"Gender\",\"Language\"],description:\"Helps browsers auto-fill the right data. Use 'off' to disable autocomplete.\"},validation:{type:ControlType.Object,title:\"Validation\",controls:{requiredMessage:{type:ControlType.String,title:\"Required Error\",defaultValue:\"\",description:\"Message for required validation. Supports {label}, {name}.\"},minLength:{type:ControlType.Number,title:\"Min Length\",defaultValue:0,min:0,step:1,displayStepper:true},minLengthMessage:{type:ControlType.String,title:\"Min Error\",defaultValue:\"\",description:\"Message for min length validation. Supports {min}, {count}, {label}.\",hidden(props){return!props.minLength||props.minLength===0;}},maxLength:{type:ControlType.Number,title:\"Max Length\",defaultValue:0,min:0,step:1,displayStepper:true},maxLengthMessage:{type:ControlType.String,title:\"Max Error\",defaultValue:\"\",description:\"Message for max length validation. Supports {max}, {count}, {label}.\",hidden(props){return!props.maxLength||props.maxLength===0;}},pattern:{type:ControlType.String,title:\"Pattern\",defaultValue:\"\",description:\"Regex pattern. Example: ^[A-Za-z ]+$\"},patternMessage:{type:ControlType.String,title:\"Pattern Error\",defaultValue:\"\",description:\"Message for pattern mismatch. Supports {pattern}, {label}.\",hidden(props){return!props.pattern;}},liveValidation:{type:ControlType.Boolean,title:\"Validate While Typing\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Checks input on each keystroke instead of waiting for blur.\"},showBrowserTooltip:{type:ControlType.Boolean,title:\"Browser Tooltip\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Show browser default validation popup. Turn off to display only custom error text.\"}}},label:{type:ControlType.Object,title:\"Label Style\",controls:{show:{type:ControlType.Boolean,title:\"Show Label\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},requiredMark:{type:ControlType.String,title:\"Required Mark\",defaultValue:\"*\",hidden(props){return props.show===false;}},font:{type:ControlType.Font,title:\"Label Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#888888\",hidden(props){return props.show===false;}}}},layout:{type:ControlType.Object,title:\"Layout\",controls:{direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],optionIcons:[\"direction-vertical\",\"direction-horizontal\"],displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:40,step:2,unit:\"px\"},labelWidth:{type:ControlType.Number,title:\"Label Width\",defaultValue:120,min:40,max:300,step:4,unit:\"px\",hidden(props){return props.direction!==\"horizontal\";}}}},inputStyle:{type:ControlType.Object,title:\"Input Style\",controls:{font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.2}},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#999999\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder\",defaultValue:\"#999999\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(187,187,187,0.15)\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 15px 12px 12px\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"10px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"}}},icons:{type:ControlType.Object,title:\"Icons\",controls:{showIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},icon:{type:ControlType.Image,title:\"Icon\",hidden(props){return props.showIcon===false;}},position:{type:ControlType.Enum,title:\"Position\",defaultValue:\"prefix\",options:[\"prefix\",\"suffix\"],optionTitles:[\"Prefix\",\"Suffix\"],displaySegmentedControl:true,hidden(props){return props.showIcon===false;}},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#6B7280\",hidden(props){return props.showIcon===false;}},size:{type:ControlType.Number,title:\"Icon Size\",defaultValue:18,min:8,max:64,step:1,unit:\"px\",displayStepper:true,hidden(props){return props.showIcon===false;}}}},focusStyle:{type:ControlType.Object,title:\"Focus Style\",controls:{borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#3B82F6\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:1,max:1.05,step:.005}}},errorStyle:{type:ControlType.Object,title:\"Error Style\",description:\"by [Forms Plugin](https://formsplugin.com/?ref=field_setting)\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#dc2626\"},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,lineHeight:1.4}}}},...CONDITION_ARRAY_CONTROL,_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextInputControl\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"92\",\"framerIntrinsicWidth\":\"300\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextInputControl.map"],"mappings":"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"}