{"version":3,"file":"CheckboxControl.D72TttGL.mjs","names":["useState","useRef","useState","useRef","useMemo","useCallback","_Fragment"],"sources":["https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/fBY7K5QM2pcfPmulIEIE/3i69Aw20ukDiSnYJtxST/ConditionalLogicUtil.js","https:/framer.com/m/ConditionalLogicUtil-69lIOW.js","https:/framerusercontent.com/modules/xxMxEDu84ytmIfnefF9k/oBkOLDkzdubJoFJqqncs/CheckboxControl.js"],"sourcesContent":["/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","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={requiredMessage:\"\"};const DEFAULT_LABEL={show:true,requiredMark:\"*\",font:{fontSize:14,fontWeight:\"400\",lineHeight:\"1.4em\"},color:\"#333333\",position:\"right\"};const DEFAULT_LAYOUT={direction:\"vertical\",gap:8,labelWidth:120};const DEFAULT_CHECKBOX_STYLE={size:20,uncheckedColor:\"#ffffff\",checkedColor:\"#3B82F6\",checkmarkColor:\"#ffffff\",border:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#d1d5db\"},radius:\"4px\",shadow:\"\"};const DEFAULT_FOCUS_STYLE={borderColor:\"#3B82F6\",shadow:\"0 0 0 3px rgba(59,130,246,0.2)\",scale:1};const DEFAULT_ERROR_STYLE={color:\"#dc2626\",font:{fontSize:12,lineHeight:1.4}};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 52\n * @framerDisableUnlink\n */export default function CheckboxControl(props){const{name,labelText,labelLinks,required,defaultChecked,conditions,validation,label,layout,checkboxStyle,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 checkboxStyleConfig={...DEFAULT_CHECKBOX_STYLE,...checkboxStyle||{},border:{...DEFAULT_CHECKBOX_STYLE.border,...checkboxStyle&&checkboxStyle.border||{}}};const focusStyleConfig={...DEFAULT_FOCUS_STYLE,...focusStyle||{}};const errorStyleConfig={...DEFAULT_ERROR_STYLE,...errorStyle||{},font:{...DEFAULT_ERROR_STYLE.font,...errorStyle&&errorStyle.font||{}}};const fieldName=name||\"checkbox\";const currentLabelText=labelText||\"Checkbox\";const inputId=`field-${fieldName}`;const errorId=`error-${fieldName}`;const[checked,setChecked]=useState(defaultChecked);const[error,setError]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const inputRef=useRef(null);const rootRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const Wrapper=isCanvas?\"div\":motion.div;const conditionItems=useMemo(()=>conditions||[],[conditions]);const handleValueReset=useCallback(()=>{setChecked(false);setError(\"\");},[]);const{isVisible,isRequired,isReadOnly,isDisabled}=useConditionArray(conditionItems,\"\",isCanvas,handleValueReset);const effectiveRequired=conditionItems.some(c=>c.type===\"required\")?isRequired:required;const effectiveDisabled=conditionItems.some(c=>c.type===\"disable\")?isDisabled:false;const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);void parsedMeta;useEffect(()=>{setChecked(defaultChecked);},[defaultChecked]);// Form submission handler to enforce required validation\nuseEffect(()=>{if(isCanvas)return;if(!effectiveRequired)return;const form=rootRef.current?.closest(\"form\");if(!form)return;const handleSubmit=event=>{if(!checked){event.preventDefault();event.stopPropagation();const message=validationConfig.requiredMessage?.trim()?validationConfig.requiredMessage.replace(/\\{label\\}/g,currentLabelText||fieldName).replace(/\\{name\\}/g,fieldName):`${currentLabelText||fieldName} must be checked`;setError(message);return;}setError(\"\");};form.addEventListener(\"submit\",handleSubmit,true);return()=>{form.removeEventListener(\"submit\",handleSubmit,true);};},[isCanvas,effectiveRequired,checked,validationConfig.requiredMessage,currentLabelText,fieldName]);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());const resolveMessage=useCallback(el=>{if(el.validity.valueMissing){return applyTokens(validationConfig.requiredMessage,`${currentLabelText||fieldName} must be checked`);}return el.validationMessage;},[applyTokens,fieldName,currentLabelText,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 nextChecked=event.currentTarget.checked;setChecked(nextChecked);if(error){const el=inputRef.current;if(el&&el.validity.valid){setError(\"\");el.setCustomValidity(\"\");}}},[error]);const handleInvalid=useCallback(event=>{event.preventDefault();validate();},[validate]);const checkboxVariants={idle:{borderColor:checkboxStyleConfig.border?.borderColor||\"#d1d5db\",boxShadow:checkboxStyleConfig.shadow||\"none\",scale:1},focused:{borderColor:focusStyleConfig.borderColor,boxShadow:focusStyleConfig.shadow,scale:focusStyleConfig.scale},error:{borderColor:errorStyleConfig.color,boxShadow:\"0 0 0 3px rgba(220,38,38,0.2)\",scale:1}};const checkboxState=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\":\"flex-start\",gap:`${layoutConfig.gap}px`,width:\"100%\",...style};const checkboxWrapperStyle={display:\"flex\",alignItems:\"center\",gap:\"8px\",cursor:\"pointer\",flexDirection:labelConfig.position===\"left\"?\"row-reverse\":\"row\"};const checkboxBoxStyle={position:\"relative\",width:`${checkboxStyleConfig.size}px`,height:`${checkboxStyleConfig.size}px`,flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...checkboxStyleConfig.border,borderWidth:checkboxStyleConfig.border?.borderWidth||2,borderStyle:checkboxStyleConfig.border?.borderStyle||\"solid\",borderColor:checkboxStyleConfig.border?.borderColor||\"#d1d5db\",borderRadius:checkboxStyleConfig.radius,backgroundColor:checked?checkboxStyleConfig.checkedColor:checkboxStyleConfig.uncheckedColor,boxShadow:checkboxStyleConfig.shadow,transition:\"background-color 0.2s ease, border-color 0.2s ease\"};const hiddenInputStyle={position:\"absolute\",opacity:0,width:0,height:0,pointerEvents:\"none\"};const normalizedLabelFontWeight=(()=>{const current=labelConfig.font?.fontWeight;if(current===undefined||current===null||current===\"\"||current===\"normal\"||current===\"regular\"||current===400||current===\"400\"){return 400;}return current;})();const labelStyle={...labelConfig.font,fontWeight:normalizedLabelFontWeight,color:labelConfig.color,cursor:\"pointer\",userSelect:\"none\"};const checkmarkStyle={width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"};const checkmarkSvgStyle={width:`${checkboxStyleConfig.size*.6}px`,height:`${checkboxStyleConfig.size*.6}px`,strokeWidth:2,stroke:checkboxStyleConfig.checkmarkColor,fill:\"none\"};const errorMessageStyle={...errorStyleConfig.font,color:errorStyleConfig.color,marginTop:\"6px\",overflow:\"hidden\"};const renderCheckmark=()=>{if(checked){return /*#__PURE__*/_jsx(\"svg\",{style:checkmarkSvgStyle,viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"polyline\",{points:\"20 6 9 17 4 12\"})});}return null;};// Render label with links - replaces [text] patterns with actual links\nconst renderLabelWithLinks=()=>{if(!labelLinks||labelLinks.length===0){return currentLabelText;}let result=[currentLabelText];labelLinks.forEach((link,linkIndex)=>{if(!link.text||!link.url)return;const pattern=`[${link.text}]`;const newResult=[];result.forEach((part,partIndex)=>{if(typeof part===\"string\"){const parts=part.split(pattern);parts.forEach((subPart,subIndex)=>{if(subPart)newResult.push(subPart);if(subIndex<parts.length-1){newResult.push(/*#__PURE__*/_jsx(\"a\",{href:link.url,target:\"_blank\",rel:\"noopener noreferrer\",onClick:e=>e.stopPropagation(),children:link.text},`link-${linkIndex}-${partIndex}-${subIndex}`));}});}else{newResult.push(part);}});result=newResult;});return /*#__PURE__*/_jsx(_Fragment,{children:result});};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:rootRef,style:{...containerStyle,...effectiveDisabled?{opacity:.5,pointerEvents:\"none\"}:{}},children:[/*#__PURE__*/_jsx(\"style\",{children:`.fp-checkbox-label a { color: #3B82F6; text-decoration: underline; cursor: pointer; }\n                .fp-checkbox-label a:hover { text-decoration: none; }`}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"label\",{htmlFor:inputId,style:checkboxWrapperStyle,className:\"fp-checkbox-label\",children:[/*#__PURE__*/_jsx(Wrapper,{...!isCanvas&&{animate:checkboxState,variants:checkboxVariants,transition:{duration:.2,ease:\"easeOut\"}},style:checkboxBoxStyle,onClick:e=>{e.preventDefault();inputRef.current?.click();},children:/*#__PURE__*/_jsx(\"div\",{style:checkmarkStyle,children:renderCheckmark()})}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,id:inputId,name:fieldName,type:\"checkbox\",required:effectiveRequired,checked:checked,disabled:effectiveDisabled,onFocus:handleFocus,onBlur:handleBlur,onChange:handleChange,onInvalid:handleInvalid,\"aria-invalid\":error?\"true\":undefined,\"aria-describedby\":describedBy,style:hiddenInputStyle}),labelConfig.show&&currentLabelText&&/*#__PURE__*/_jsxs(\"span\",{style:labelStyle,onClick:e=>{// Allow links to work without toggling checkbox\nif(e.target.tagName===\"A\"){e.stopPropagation();}},children:[renderLabelWithLinks(),effectiveRequired&&/*#__PURE__*/_jsx(\"span\",{style:{color:errorStyleConfig.color,marginLeft:\"2px\"},children:labelConfig.requiredMark||\"*\"})]})]}),/*#__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\")})]})]});}CheckboxControl.displayName=\"Checkbox\";CheckboxControl.defaultProps={name:\"checkbox\",labelText:\"I agree to the [terms] and [privacy policy]\",labelLinks:[{text:\"terms\",url:\"\"},{text:\"privacy policy\",url:\"\"}],required:false,defaultChecked:false,conditions:[],validation:DEFAULT_VALIDATION,label:DEFAULT_LABEL,layout:DEFAULT_LAYOUT,checkboxStyle:DEFAULT_CHECKBOX_STYLE,focusStyle:DEFAULT_FOCUS_STYLE,errorStyle:DEFAULT_ERROR_STYLE,_meta:\"\",style:{}};addPropertyControls(CheckboxControl,{name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"checkbox\",description:\"Unique name used in submitted form data.\"},labelText:{type:ControlType.String,title:\"Label Text\",defaultValue:\"I agree to the [terms] and [privacy policy]\",description:\"Use [text] to create links. Define URLs in Label Links below.\"},labelLinks:{type:ControlType.Array,title:\"Label Links\",defaultValue:[{text:\"terms\",url:\"\"},{text:\"privacy policy\",url:\"\"}],control:{type:ControlType.Object,controls:{text:{type:ControlType.String,title:\"Text\",defaultValue:\"\",description:\"Text to match in [brackets]\"},url:{type:ControlType.Link,title:\"URL\",defaultValue:\"\",description:\"Link URL (e.g., /terms or https://...)\"}}}},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},defaultChecked:{type:ControlType.Boolean,title:\"Default Checked\",defaultValue:false,enabledTitle:\"Checked\",disabledTitle:\"Unchecked\"},validation:{type:ControlType.Object,title:\"Validation\",controls:{requiredMessage:{type:ControlType.String,title:\"Required Error\",defaultValue:\"\",description:\"Message when checkbox is required but not checked. Supports {label}, {name}.\"}}},label:{type:ControlType.Object,title:\"Label Style\",controls:{show:{type:ControlType.Boolean,title:\"Show Label\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},position:{type:ControlType.Enum,title:\"Position\",defaultValue:\"right\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],displaySegmentedControl:true,hidden(props){return props.show===false;}},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:14,fontWeight:\"400\",lineHeight:\"1.4em\"},hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#333333\",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\";}}}},checkboxStyle:{type:ControlType.Object,title:\"Checkbox Style\",controls:{size:{type:ControlType.Number,title:\"Size\",defaultValue:20,min:12,max:48,step:2,unit:\"px\",displayStepper:true},uncheckedColor:{type:ControlType.Color,title:\"Unchecked\",defaultValue:\"#ffffff\"},checkedColor:{type:ControlType.Color,title:\"Checked\",defaultValue:\"#3B82F6\"},checkmarkColor:{type:ControlType.Color,title:\"Checkmark\",defaultValue:\"#ffffff\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#d1d5db\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"4px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"}}},focusStyle:{type:ControlType.Object,title:\"Focus Style\",controls:{borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#3B82F6\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"0 0 0 3px rgba(59,130,246,0.2)\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:1,max:1.1,step:.01}}},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\":\"CheckboxControl\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"300\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"52\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CheckboxControl.map"],"mappings":"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"}