{"version":3,"file":"FormKitTextarea.kw35F36Z.mjs","names":["useState","useRef","useState","useRef","isCanvas","useCallback","isCanvas","useState","useRef","isCanvas","parentForm","Children","isCanvas","useState","useRef","isCanvas","useState"],"sources":["https:/framer.com/m/framer/store.js@^1.0","https:/framerusercontent.com/modules/W9pGMfwOEUT2E0G0vdr3/12TLxgY5AZn0dIW7lYwr/Store_management.js","https:/framerusercontent.com/modules/CkzWOzYsjkSH8b0Md9Dz/rf4hh6llcirTTN2ubVNI/Validation.js","https:/framerusercontent.com/modules/QcJOsISgPpDHi68MFiJ7/Oue2Y3kFPZrEnXc1vsIr/Hooks.js","https:/framerusercontent.com/modules/YQMwVuIkIDYjLHJOwEnu/TRkCWeYE6D8iyNQspEDP/Conditions.js","https:/framerusercontent.com/modules/gWXlNkIcFnVLxXMR7ktn/x2lQwKjzPxwB8Fxcavb5/Property_controls.js","https:/framerusercontent.com/modules/zT6ckO4RKI5zB9JzgGVW/16Mycued7dXi3HUGvAQC/HiddenFieldMarker.js","https:/framerusercontent.com/modules/hSeRQvQLiNwfAzfTZN4C/UdPinQoFWx3tCCDFtB4f/Icons.js","https:/framerusercontent.com/modules/2zbBcO4Vc6grbG7sZeIX/p5yrVGumj6qccp7wZ5wz/FormKitSelect.js","https:/framerusercontent.com/modules/6fwcFKMgRD58JesnLcVn/nsmB9kzI6JqD8ayKOBwX/FormKitEmail.js","https:/framerusercontent.com/modules/gVWLXt4kvvwEWptOmj1b/d36YrF43bjsNQv5mNUa2/FormKitSubmit.js","https:/framerusercontent.com/modules/LZi5STmjgrgLRHYHNLR6/7YEwKYLiYCIy8zsv0oWe/FormKitText.js","https:/framerusercontent.com/modules/PjsrZgCWPClCYDNEVduk/UuMnQguHc8l7VUTKPDbr/FormKitTextarea.js"],"sourcesContent":["/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","// Store management for FormKit\n// Based on CMS Filter pattern\nimport{createStore}from\"https://framer.com/m/framer/store.js@^1.0\";import{RenderTarget}from\"framer\";// Track initialized forms (simple Set, no hooks)\nconst initializedForms=new Set;// Helper to check if a form has been initialized\nexport const isFormInitialized=formId=>{return initializedForms.has(formId);};// Global stores per form ID\nconst formStores=new Map;// Helper to get or create store for form\nexport const getFormStore=formId=>{if(!formStores.has(formId)){const newStore=createStore({currentStep:0,totalSteps:1,data:{},errors:{},touched:{},visitedSteps:[0],completedSteps:[],isSubmitting:false,isCompleted:false,submitAttempted:false,submitState:\"idle\"});formStores.set(formId,newStore);// Track initialization without using hooks (hooks cannot be called in regular functions!)\ninitializedForms.add(formId);}return formStores.get(formId);};// Helper to get store key - prioritizes manual storeKey over formId\nexport const getFormStoreKey=(formId,manualStoreKey)=>{// If manual store key is provided and not \"auto\", use it\nif(manualStoreKey&&manualStoreKey.trim()!==\"\"&&manualStoreKey!==\"auto\"){return manualStoreKey.trim();}// Otherwise use formId or default\nreturn formId||\"default\";};// Helper to save form to localStorage\nexport const saveFormToLocalStorage=(formId,state)=>{try{const key=`formkit:${formId}`;const data={currentStep:state.currentStep,data:state.data,visitedSteps:state.visitedSteps,completedSteps:state.completedSteps,lastSaved:Date.now()};localStorage.setItem(key,JSON.stringify(data));}catch(error){console.error(\"Failed to save form to localStorage:\",error);}};// Helper to load form from localStorage\nexport const loadFormFromLocalStorage=formId=>{try{const key=`formkit:${formId}`;const saved=localStorage.getItem(key);if(saved){return JSON.parse(saved);}}catch(error){console.error(\"Failed to load form from localStorage:\",error);}return null;};// Helper to clear form from localStorage\nexport const clearFormFromLocalStorage=formId=>{try{const key=`formkit:${formId}`;localStorage.removeItem(key);}catch(error){console.error(\"Failed to clear form from localStorage:\",error);}};// Helper to parse URL parameters for prefill\nexport const parseUrlParams=()=>{const params={};try{const urlParams=new URLSearchParams(window.location.search);urlParams.forEach((value,key)=>{params[key]=value;});}catch(error){console.error(\"Failed to parse URL parameters:\",error);}return params;};// Utility function to generate random strings (for unique IDs)\nexport function generateRandomId(length=8){const chars=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";let result=\"\";for(let i=0;i<length;i++){result+=chars.charAt(Math.floor(Math.random()*chars.length));}return result;}// RenderTarget helpers\nexport const isPreview=RenderTarget.current()===RenderTarget.preview;export const isCanvas=RenderTarget.current()===RenderTarget.canvas;export const isExport=RenderTarget.current()===RenderTarget.export;\nexport const __FramerMetadata__ = {\"exports\":{\"isFormInitialized\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseUrlParams\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isExport\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"generateRandomId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormKitStore\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormStoreKey\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"loadFormFromLocalStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"saveFormToLocalStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearFormFromLocalStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Store_management.map","// Validation utilities for FormKit\nexport const validateRequired=(value,fieldName,message)=>{if(value===null||value===undefined||Array.isArray(value)&&value.length===0){return message||`${fieldName} is required`;}if(typeof value===\"string\"&&value.trim()===\"\"){return message||`${fieldName} is required`;}return null;};export const validateEmail=(value,message)=>{if(!value)return null;const emailRegex=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;if(!emailRegex.test(value)){return message||\"Please enter a valid email address\";}return null;};export const validateURL=value=>{if(!value)return null;try{new URL(value);return null;}catch{return\"Please enter a valid URL\";}};export const validateMinLength=(value,minLength,message)=>{if(!value)return null;if(value.length<minLength){// Support {x} template placeholder\nconst finalMessage=message?message.replace(/{x}/g,minLength.toString()):`Minimum ${minLength} characters required`;return finalMessage;}return null;};export const validateMaxLength=(value,maxLength,message)=>{if(!value)return null;if(value.length>maxLength){// Support {x} template placeholder\nconst finalMessage=message?message.replace(/{x}/g,maxLength.toString()):`Maximum ${maxLength} characters allowed`;return finalMessage;}return null;};export const validatePattern=(value,pattern,message)=>{if(!value)return null;const regex=new RegExp(pattern);if(!regex.test(value)){return message||\"Invalid format\";}return null;};export const validateMin=(value,min,message)=>{if(value===null||value===undefined)return null;if(value<min){return message||`Minimum value is ${min}`;}return null;};export const validateMax=(value,max,message)=>{if(value===null||value===undefined)return null;if(value>max){return message||`Maximum value is ${max}`;}return null;};export const validatePhone=value=>{if(!value)return null;// Basic phone validation (adjust regex as needed)\nconst phoneRegex=/^[\\d\\s\\-\\+\\(\\)]+$/;if(!phoneRegex.test(value)){return\"Please enter a valid phone number\";}return null;};export const validateFileSize=(file,maxSize)=>{if(file.size>maxSize){const maxSizeMB=(maxSize/(1024*1024)).toFixed(2);return`File size must be less than ${maxSizeMB}MB`;}return null;};export const validateFileType=(file,accept)=>{if(!accept)return null;const acceptedTypes=accept.split(\",\").map(t=>t.trim());const fileType=file.type;const fileName=file.name;const fileExtension=`.${fileName.split(\".\").pop()?.toLowerCase()}`;const isValid=acceptedTypes.some(type=>{if(type.startsWith(\".\")){return fileExtension===type.toLowerCase();}if(type.endsWith(\"/*\")){const category=type.split(\"/\")[0];return fileType.startsWith(category);}return fileType===type;});if(!isValid){return`File type not accepted. Allowed: ${accept}`;}return null;};// Combined validator for fields\nexport const validateField=(value,props)=>{const fieldName=props.label||props.name;// Required validation - Checkbox vs others\nif(props.required){// Special handling for checkbox: must be strictly true if required\nif(props.type===\"checkbox\"){if(value!==true){return props.requiredMessage||`${fieldName} must be checked`;}}else if(props.type===\"rating\"||props.type===\"scale\"){// Rating/Scale: 0 means no selection, treat as empty\nif(value===null||value===undefined||value===\"\"||value===0){return props.requiredMessage||`${fieldName} is required`;}}else{const requiredError=validateRequired(value,fieldName,props.requiredMessage);if(requiredError)return requiredError;}}// Skip other validations if value is empty and not required (except checkbox and checkboxGroup which handled separately)\nif(!value&&props.type!==\"checkbox\"&&props.type!==\"checkboxGroup\")return null;// CheckboxGroup validation - handle before type switch for empty arrays\nif(props.type===\"checkboxGroup\"){const arr=Array.isArray(value)?value:[];if(props.minSelected!==undefined&&arr.length<props.minSelected){return props.minMessage?props.minMessage.replace(/{min}/g,props.minSelected.toString()):`Select at least ${props.minSelected} options`;}if(props.maxSelected!==undefined&&arr.length>props.maxSelected){return props.maxMessage?props.maxMessage.replace(/{max}/g,props.maxSelected.toString()):`Select at most ${props.maxSelected} options`;}return null;}// Type-specific validation\nswitch(props.type){case\"email\":return validateEmail(value,props.emailMessage);case\"url\":return validateURL(value);case\"phone\":return validatePhone(value);case\"number\":if(props.min!==undefined){const minError=validateMin(value,props.min,props.minMessage);if(minError)return minError;}if(props.max!==undefined){const maxError=validateMax(value,props.max,props.maxMessage);if(maxError)return maxError;}break;case\"file\":if(value instanceof File){if(props.accept){const typeError=validateFileType(value,props.accept);if(typeError)return typeError;}if(props.maxSize){const sizeError=validateFileSize(value,props.maxSize);if(sizeError)return sizeError;}}break;}// String validation\nif(typeof value===\"string\"){if(props.minLength!==undefined){const minLengthError=validateMinLength(value,props.minLength,props.minLengthMessage);if(minLengthError)return minLengthError;}if(props.maxLength!==undefined){const maxLengthError=validateMaxLength(value,props.maxLength,props.maxLengthMessage);if(maxLengthError)return maxLengthError;}if(props.pattern){const patternError=validatePattern(value,props.pattern,props.patternMessage||props.errorMessage);if(patternError)return patternError;}}return null;};\nexport const __FramerMetadata__ = {\"exports\":{\"validateRequired\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateFileType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateMin\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateFileSize\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validatePattern\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateURL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateField\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validatePhone\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateMaxLength\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateEmail\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateMax\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateMinLength\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Validation.map","// Custom hooks for FormKit components\n// This eliminates code duplication across field components\nimport{useState,useEffect,useRef}from\"react\";import{RenderTarget}from\"framer\";import{getFormStore,getFormStoreKey}from\"https://framerusercontent.com/modules/W9pGMfwOEUT2E0G0vdr3/12TLxgY5AZn0dIW7lYwr/Store_management.js\";import{validateField}from\"https://framerusercontent.com/modules/CkzWOzYsjkSH8b0Md9Dz/rf4hh6llcirTTN2ubVNI/Validation.js\";/**\r\n * Custom hook to manage form field state and validation\r\n * Eliminates code duplication across all field components\r\n *\r\n * @example\r\n * ```tsx\r\n * const {\r\n *   value,\r\n *   error,\r\n *   handleChange,\r\n *   handleBlur\r\n * } = useFormField({\r\n *   name: \"email\",\r\n *   formId: \"default\",\r\n *   validation: {\r\n *     required: true,\r\n *     type: \"email\"\r\n *   },\r\n *   validateOnBlur: true,\r\n *   validateOnChange: false\r\n * })\r\n * ```\r\n */export function useFormField(config){// Correct usage\nconst{name,formId=\"default\",storeKey=\"auto\",validation={},validateOnBlur=true,validateOnChange=false,skipValidation=false,label,onChange}=config;// Get store\nconst actualFormId=getFormStoreKey(formId,storeKey);const useStore=getFormStore(actualFormId);const[state,setState]=useStore()// This hook must be stable\n;// Local value for controlled input - check state existence\nconst[localValue,setLocalValue]=useState(()=>{return state?.data?.[name]??\"\";});// Validation state\nconst[isValidating,setIsValidating]=useState(false);const[hasValidated,setHasValidated]=useState(false);// Timeout refs for debouncing\nconst validationTimeoutRef=useRef();// Safety check for state\nconst isStateReady=!!state;// Sync local value from store (for external updates)\nuseEffect(()=>{if(!state?.data)return;const storeValue=state.data[name];// Only update if strictly different to avoid loops\nif(storeValue!==localValue&&storeValue!==undefined){setLocalValue(storeValue);}},[state?.data?.[name]])// Only re-run if this specific value changes\n;// Cleanup timeout on unmount\nuseEffect(()=>{return()=>{if(validationTimeoutRef.current){clearTimeout(validationTimeoutRef.current);}};},[]);// Reset errors on load in Preview mode\nuseEffect(()=>{if(RenderTarget.current()===RenderTarget.preview&&isStateReady){setState(prev=>{const currentErrors=prev?.errors||{};if(currentErrors[name]){const{[name]:_,...otherErrors}=currentErrors;return{...prev,errors:otherErrors};}return prev;});}},[isStateReady]);// Clear errors when field becomes hidden/disabled\nuseEffect(()=>{if(skipValidation&&isStateReady){setState(prev=>{const currentErrors=prev?.errors||{};if(currentErrors[name]){const{[name]:_,...otherErrors}=currentErrors;return{...prev,errors:otherErrors};}return prev;});}},[skipValidation]);// Validate when submitAttempted becomes true (triggered by submit button)\nuseEffect(()=>{if(!isStateReady||skipValidation)return;if(!state?.submitAttempted)return;// Run validation when submit is attempted\nconst error=validateField(localValue,{name,label,...validation});setState(prev=>{const currentErrors=prev?.errors||{};const{[name]:_,...otherErrors}=currentErrors;const newErrors=error?{...otherErrors,[name]:error}:otherErrors;return{...prev,errors:newErrors};});setHasValidated(true);},[state?.submitAttempted]);/**\r\n     * Validate the current value\r\n     * Returns null (no error) if skipValidation is true\r\n     */const validate=valueToValidate=>{// Skip validation for hidden/disabled fields\nif(skipValidation){return null;}const val=valueToValidate!==undefined?valueToValidate:localValue;const error=validateField(val,{name,label,...validation});return error;};/**\r\n     * Handle value change\r\n     * Updates both local state and store\r\n     * Optionally triggers real-time validation (debounced)\r\n     */const handleChange=value=>{setLocalValue(value);if(!isStateReady)return;setState(prev=>({...prev,data:{...prev?.data||{},[name]:value},touched:{...prev?.touched||{},[name]:true}}));// Call onChange callback if provided\nonChange?.(value);// Real-time validation (debounced) if enabled and field has been touched\n// ALSO validate if submit has been attempted (immediate feedback mode)\nif(validateOnChange||state?.submitAttempted){setIsValidating(true);if(validationTimeoutRef.current){clearTimeout(validationTimeoutRef.current);}validationTimeoutRef.current=setTimeout(()=>{// Determine value to validate - use latest localValue which might be stale in closure?\n// Better pass 'value' directly\nconst error=validate(value);setState(prev=>{const currentErrors=prev?.errors||{};const{[name]:_,...otherErrors}=currentErrors;const newErrors=error?{...otherErrors,[name]:error}:otherErrors;return{...prev,errors:newErrors};});setIsValidating(false);setHasValidated(true);},500)// 500ms debounce\n;}};/**\r\n     * Handle blur event\r\n     * Triggers validation if validateOnBlur is enabled\r\n     * Skips validation and clears errors if skipValidation is true\r\n     */const handleBlur=()=>{if(!isStateReady)return;// If field is hidden/disabled, clear any existing errors and skip validation\nif(skipValidation){setState(prev=>{const currentErrors=prev?.errors||{};if(currentErrors[name]){const{[name]:_,...otherErrors}=currentErrors;return{...prev,errors:otherErrors};}return prev;});return;}if(!validateOnBlur)return;const error=validate();setState(prev=>{const currentErrors=prev?.errors||{};const{[name]:_,...otherErrors}=currentErrors;const newErrors=error?{...otherErrors,[name]:error}:otherErrors;return{...prev,errors:newErrors,touched:{...prev?.touched||{},[name]:true}};});setHasValidated(true);};return{value:localValue,error:state?.errors?.[name]||null,isTouched:state?.touched?.[name]||false,isValidating,hasValidated,setHasValidated,state:state||{},setState,handleChange,handleBlur,validate};}/**\r\n * Hook to access form store directly without field-specific logic\r\n * Useful for components like FormKitProgress, FormKitNext, etc.\r\n */export function useFormStore(formId=\"default\",storeKey=\"auto\"){const actualFormId=getFormStoreKey(formId,storeKey);const useStore=getFormStore(actualFormId);return useStore();}\nexport const __FramerMetadata__ = {\"exports\":{\"useFormStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseFormFieldReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseFormFieldConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFormField\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","const normalizeValue=value=>{if(typeof value!==\"string\")return value;const trimmed=value.trim();if(trimmed===\"\")return value;if(trimmed.toLowerCase()===\"true\")return true;if(trimmed.toLowerCase()===\"false\")return false;const numeric=Number(trimmed);if(!Number.isNaN(numeric))return numeric;return trimmed;};const isFilled=value=>{if(value===null||value===undefined)return false;if(typeof value===\"string\")return value.trim()!==\"\";if(Array.isArray(value))return value.length>0;return true;};const evaluateRule=(rule,data)=>{const{field,operator=\"equals\",value}=rule;if(!field)return true;const left=data[field];const right=normalizeValue(value);switch(operator){case\"equals\":return left===right;case\"notEquals\":return left!==right;case\"contains\":{if(Array.isArray(left))return left.includes(right);if(typeof left===\"string\"&&typeof right===\"string\"){return left.toLowerCase().includes(right.toLowerCase());}return false;}case\"notContains\":{if(Array.isArray(left))return!left.includes(right);if(typeof left===\"string\"&&typeof right===\"string\"){return!left.toLowerCase().includes(right.toLowerCase());}return true;}case\"greaterThan\":{const l=Number(left);const r=Number(right);if(Number.isNaN(l)||Number.isNaN(r))return false;return l>r;}case\"lessThan\":{const l=Number(left);const r=Number(right);if(Number.isNaN(l)||Number.isNaN(r))return false;return l<r;}case\"isFilled\":return isFilled(left);case\"isEmpty\":return!isFilled(left);default:return true;}};export const evaluateFieldState=(showIf,data,match=\"all\",action=\"show\")=>{// Default state\nif(!showIf||Array.isArray(showIf)&&showIf.length===0||typeof showIf===\"string\"&&showIf.trim()===\"\"){return{isVisible:true,isDisabled:false};}try{let conditionMet;if(typeof showIf===\"string\"){const keys=Object.keys(data);const values=Object.values(data);// Note: new Function is intentional here for user-defined conditions in Framer\nconst fn=new Function(...keys,`return ${showIf}`);conditionMet=Boolean(fn(...values));}else{const results=showIf.map(rule=>evaluateRule(rule,data));conditionMet=match===\"any\"?results.some(Boolean):results.every(Boolean);}switch(action){case\"show\":return{isVisible:conditionMet,isDisabled:false};case\"hide\":return{isVisible:!conditionMet,isDisabled:false};case\"enable\":return{isVisible:true,isDisabled:!conditionMet};case\"disable\":return{isVisible:true,isDisabled:conditionMet};default:return{isVisible:true,isDisabled:false};}}catch(error){console.error(\"Error evaluating conditions:\",error);return{isVisible:true,isDisabled:false};}};/**\r\n * Helper function to determine conditional badge state for canvas mode\r\n * Returns whether to show a badge and what text to display\r\n */export const getConditionalBadge=(showIf,fieldState,showIfAction=\"show\")=>{if(!showIf||showIf.length===0){return{showBadge:false,badgeText:\"\"};}const wouldBeHidden=!fieldState.isVisible;const wouldBeDisabled=fieldState.isDisabled;if(showIfAction===\"show\"&&wouldBeHidden){return{showBadge:true,badgeText:\"Hidden in preview\"};}else if(showIfAction===\"hide\"&&!wouldBeHidden){return{showBadge:true,badgeText:\"Shown in preview\"};}else if(showIfAction===\"enable\"&&wouldBeDisabled){return{showBadge:true,badgeText:\"Disabled in preview\"};}else if(showIfAction===\"disable\"&&!wouldBeDisabled){return{showBadge:true,badgeText:\"Enabled in preview\"};}return{showBadge:false,badgeText:\"\"};};// Backward compatibility wrapper (deprecated but kept for safety if needed)\nexport const evaluateShowIf=(showIf,data,match=\"all\",action=\"show\")=>{const{isVisible}=evaluateFieldState(showIf,data,match,action);return isVisible;};\nexport const __FramerMetadata__ = {\"exports\":{\"getConditionalBadge\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"evaluateShowIf\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"evaluateFieldState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ShowIfRule\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Conditions.map","// Shared Property Control Definitions for FormKit\n// These are reusable control definitions to maintain consistency across components\nimport{ControlType}from\"framer\";/**\r\n * Shared control for conditional visibility using Array/Object format\r\n * NO string expressions - only structured rules\r\n */export const SHOW_IF_CONTROL={type:ControlType.Array,title:\"Conditions\",description:\"Add conditions to control when this field is visible\",control:{type:ControlType.Object,controls:{field:{type:ControlType.String,title:\"Field Name\",description:\"Name of the field to check\",placeholder:\"fieldName\"},operator:{type:ControlType.Enum,title:\"Operator\",options:[\"equals\",\"notEquals\",\"contains\",\"notContains\",\"greaterThan\",\"lessThan\",\"isFilled\",\"isEmpty\"],displaySegmentedControl:false,defaultValue:\"equals\"},value:{type:ControlType.String,title:\"Value\",description:\"Value to compare against\",placeholder:\"compareValue\",hidden:props=>props.operator===\"isFilled\"||props.operator===\"isEmpty\"}}}};/**\r\n * Shared control for showIf match mode (all/any)\r\n */export const SHOW_IF_MATCH_CONTROL={type:ControlType.Enum,title:\"Match Mode\",description:\"How to combine multiple conditions\",options:[\"all\",\"any\"],optionTitles:[\"All (AND)\",\"Any (OR)\"],defaultValue:\"all\"};/**\r\n * Control for conditional visibility action (show/hide when conditions pass)\r\n */export const SHOW_IF_ACTION_CONTROL={type:ControlType.Enum,title:\"When Conditions Pass\",description:\"Control field visibility or enabled state based on conditions\",options:[\"show\",\"hide\",\"enable\",\"disable\"],optionTitles:[\"Show Field\",\"Hide Field\",\"Enable Field\",\"Disable Field\"],defaultValue:\"show\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"};/**\r\n * Shared control for store configuration\r\n * Note: storeKey has been removed - formId handles all use cases\r\n */export const STORE_CONFIG_CONTROL={formId:{type:ControlType.String,title:\"Form ID\",defaultValue:\"default\",description:\"📋 Which form this field belongs to. Use 'default' for single form. For multiple forms on same page, use unique IDs like 'signup', 'contact', or 'newsletter'.\"}};/**\r\n * Validation toggle controls - built-in validation only\r\n */export const VALIDATION_TOGGLE_CONTROLS={validateOnBlur:{type:ControlType.Boolean,title:\"Validate on Blur\",description:\"Validate when user leaves the field\",defaultValue:true},validateOnChange:{type:ControlType.Boolean,title:\"Validate on Change\",description:\"Validate in real-time as user types (debounced)\",defaultValue:true}};/**\r\n * Complete validation controls - grouped for nested object\r\n * Includes type selector, toggles, rules, and messages all in one place\r\n */export const VALIDATION_CONTROLS={// Timing toggles\nvalidateOnBlur:{type:ControlType.Boolean,title:\"On Blur\",description:\"Validate when user leaves field\",defaultValue:true},validateOnChange:{type:ControlType.Boolean,title:\"On Change\",description:\"Real-time validation (debounced)\",defaultValue:true},// Validation type selector\nvalidationType:{type:ControlType.Enum,title:\"Validation Type\",options:[\"built-in\",\"pattern\"],optionTitles:[\"Built-in\",\"Custom Pattern\"],defaultValue:\"built-in\",description:\"Choose validation method\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},// Built-in validation rules\nminLength:{type:ControlType.Number,title:\"Min Length\",min:0,defaultValue:0,step:1,displayStepper:true,description:\"Minimum characters (0 = no minimum)\",hidden:props=>props.validationType===\"pattern\"},maxLength:{type:ControlType.Number,title:\"Max Length\",min:0,defaultValue:0,step:1,displayStepper:true,description:\"Maximum characters (0 = no limit)\",hidden:props=>props.validationType===\"pattern\"},// Custom pattern validation\npattern:{type:ControlType.String,title:\"Pattern (Regex)\",displayTextArea:true,description:\"Example: ^[a-zA-Z0-9]+$ (alphanumeric only)\",hidden:props=>props.validationType===\"built-in\"},// Error messages\nrequiredMessage:{type:ControlType.String,title:\"Required Error\",placeholder:\"This field is required\"},minLengthMessage:{type:ControlType.String,title:\"Min Length Error\",placeholder:\"Please enter at least {x} characters\",description:\"Use {x} for dynamic value\",hidden:props=>props.validationType===\"pattern\"},maxLengthMessage:{type:ControlType.String,title:\"Max Length Error\",placeholder:\"Maximum {x} characters allowed\",description:\"Use {x} for dynamic value\",hidden:props=>props.validationType===\"pattern\"},patternMessage:{type:ControlType.String,title:\"Pattern Error\",placeholder:\"Invalid format\",hidden:props=>props.validationType===\"built-in\"},successMessage:{type:ControlType.String,title:\"Success Message\",placeholder:\"Looks good!\"}};/**\r\n * Base styling controls - can be extended per component\r\n */export const BASE_INPUT_STYLE_CONTROLS={backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(187, 187, 187, 0.15)\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#333333\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder Color\",defaultValue:\"#999999\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderColor:\"rgba(187, 187, 187, 0.15)\",borderStyle:\"solid\"}},shadows:{type:ControlType.BoxShadow,title:\"Shadows\",optional:true},borderRadius:{type:ControlType.BorderRadius,title:\"Border Radius\",defaultValue:12},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:14,fontWeight:400}},// State styles\nfocusBorderColor:{type:ControlType.Color,title:\"Focus Border\",defaultValue:\"#6052FF\"},errorBorderColor:{type:ControlType.Color,title:\"Error Border\",defaultValue:\"#FF4444\"},disabledOpacity:{type:ControlType.Number,title:\"Disabled Opacity\",min:0,max:1,step:.1,defaultValue:.5,displayStepper:true}};/**\r\n * Label styling controls\r\n */export const LABEL_STYLE_CONTROLS={color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#888888\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:14,fontWeight:500}},marginBottom:{type:ControlType.Number,title:\"Bottom Spacing\",min:0,max:24,step:1,defaultValue:8,displayStepper:true}};/**\r\n * Checkbox label styling controls (includes checked state)\r\n */export const CHECKBOX_LABEL_STYLE_CONTROLS={...LABEL_STYLE_CONTROLS,marginBottom:{...LABEL_STYLE_CONTROLS.marginBottom,hidden:()=>true},checkedLabelColor:{type:ControlType.Color,title:\"Checked Color\",optional:true}};/**\r\n * Error message styling controls\r\n */export const ERROR_STYLE_CONTROLS={color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FF4444\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:12,fontWeight:400}},marginTop:{type:ControlType.Number,title:\"Top Spacing\",min:0,max:24,step:1,defaultValue:4,displayStepper:true},iconType:{type:ControlType.Enum,title:\"Icon Type\",options:[\"default\",\"custom\"],optionTitles:[\"Default\",\"Icon Svg\"],defaultValue:\"default\",displaySegmentedControl:true},customIcon:{type:ControlType.String,title:\"Custom Icon\",description:\"Paste SVG code here\",displayTextArea:true,hidden:props=>props.iconType!==\"custom\"}};/**\r\n * Success message styling controls\r\n */export const SUCCESS_STYLE_CONTROLS={// Message text styling\nmessageFont:{type:ControlType.Font,title:\"Message Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:12,fontWeight:400}},messageColor:{type:ControlType.Color,title:\"Message Color\",optional:true},marginTop:{type:ControlType.Number,title:\"Message Top Spacing\",min:0,max:24,step:1,defaultValue:4,displayStepper:true},// Input styling on success\ninputBorderColor:{type:ControlType.Color,title:\"Input Border Color\",optional:true},inputTextColor:{type:ControlType.Color,title:\"Input Text Color\",optional:true},inputFont:{type:ControlType.Font,title:\"Input Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:14,fontWeight:400}},// Label styling on success\nlabelColor:{type:ControlType.Color,title:\"Label Color\",optional:true},labelFont:{type:ControlType.Font,title:\"Label Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:14,fontWeight:600}},iconType:{type:ControlType.Enum,title:\"Icon Type\",options:[\"default\",\"custom\"],optionTitles:[\"Default\",\"Icon Svg\"],defaultValue:\"default\",displaySegmentedControl:true},customIcon:{type:ControlType.String,title:\"Custom Icon\",description:\"Paste SVG code here\",displayTextArea:true,hidden:props=>props.iconType!==\"custom\"}};/**\r\n * Focus state styling controls\r\n */export const FOCUS_STYLE_CONTROLS={backgroundColor:{type:ControlType.Color,title:\"Fill\",optional:true},textColor:{type:ControlType.Color,title:\"Text Color\",optional:true},placeholderColor:{type:ControlType.Color,title:\"Placeholder Color\",optional:true},border:{type:ControlType.Border,title:\"Border\",optional:true},shadows:{type:ControlType.BoxShadow,title:\"Shadows\",optional:true},transition:{type:ControlType.Transition,title:\"Transition\",optional:true}};/**\r\n * Helper to create nested styling control group\r\n * Usage: styling: createStylingControl({ inputStyles, labelStyles, errorStyles })\r\n */export function createStylingControl(controls){return{type:ControlType.Object,buttonTitle:\"Styles\",optional:true,controls};}/**\r\n * Single checkbox style controls\r\n */export const CHECKBOX_STYLE_CONTROLS={// Checkbox box styling\nsize:{type:ControlType.Number,title:\"Size\",min:12,max:40,step:1,defaultValue:20,displayStepper:true},borderRadius:{type:ControlType.BorderRadius,title:\"Border Radius\",defaultValue:4},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:2,borderColor:\"#E8E8E8\",borderStyle:\"solid\"}},checkedColor:{type:ControlType.Color,title:\"Checked Color\",defaultValue:\"#6052FF\"},// Checkbox visibility\nshowCheckbox:{type:ControlType.Boolean,title:\"Show Checkbox\",defaultValue:true,description:\"Hide to show text only\"},// Icon options\niconType:{type:ControlType.Enum,title:\"Icon Type\",options:[\"check\",\"circle\",\"x\",\"hidden\",\"custom\"],optionTitles:[\"Check ✓\",\"Circle ●\",\"X ✗\",\"Hidden\",\"Custom SVG\"],defaultValue:\"check\"},checkmarkColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#FFFFFF\"},customIcon:{type:ControlType.String,title:\"Custom Icon SVG\",description:\"Paste SVG code here\",displayTextArea:true,hidden:props=>props.iconType!==\"custom\"},// Container styling\ncontainerBackground:{type:ControlType.Color,title:\"Container Background\",optional:true},containerBorder:{type:ControlType.Border,title:\"Container Border\",optional:true},containerBorderRadius:{type:ControlType.BorderRadius,title:\"Container Radius\",defaultValue:0},containerPadding:{type:ControlType.Padding,title:\"Container Padding\",defaultValue:\"0px\"},// Checked state container styling\ncheckedContainerBackground:{type:ControlType.Color,title:\"Checked Background\",optional:true},checkedContainerBorder:{type:ControlType.Border,title:\"Checked Border\",optional:true},checkboxLabelGap:{type:ControlType.Number,title:\"Checkbox-Label Gap\",min:0,max:24,step:1,defaultValue:10,displayStepper:true}};/**\r\n * Single checkbox validation controls\r\n */export const CHECKBOX_VALIDATION_CONTROLS={requiredMessage:{type:ControlType.String,title:\"Required Error\",placeholder:\"This field must be checked\"},successMessage:{type:ControlType.String,title:\"Success Message\",placeholder:\"Checked!\"}};/**\r\n * Checkbox group style controls (includes gap)\r\n */export const CHECKBOX_GROUP_STYLE_CONTROLS={// Checkbox box styling\nsize:{type:ControlType.Number,title:\"Size\",min:12,max:40,step:1,defaultValue:20,displayStepper:true},borderRadius:{type:ControlType.BorderRadius,title:\"Border Radius\",defaultValue:4},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:2,borderColor:\"#E8E8E8\",borderStyle:\"solid\"}},checkedColor:{type:ControlType.Color,title:\"Checked Color\",defaultValue:\"#6052FF\"},// Checkbox visibility\nshowCheckbox:{type:ControlType.Boolean,title:\"Show Checkbox\",defaultValue:true,description:\"Hide to show text only\"},// Icon options\niconType:{type:ControlType.Enum,title:\"Icon Type\",options:[\"check\",\"circle\",\"x\",\"hidden\",\"custom\"],optionTitles:[\"Check ✓\",\"Circle ●\",\"X ✗\",\"Hidden\",\"Custom SVG\"],defaultValue:\"check\"},checkmarkColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#FFFFFF\"},customIcon:{type:ControlType.String,title:\"Custom Icon SVG\",description:\"Paste SVG code here\",displayTextArea:true,hidden:props=>props.iconType!==\"custom\"},gap:{type:ControlType.Number,title:\"Gap Between Options\",defaultValue:12,displayStepper:true},checkboxLabelGap:{type:ControlType.Number,title:\"Checkbox-Label Gap\",defaultValue:10,displayStepper:true},// Container styling\ncontainerBackground:{type:ControlType.Color,title:\"Container Background\",optional:true},containerBorder:{type:ControlType.Border,title:\"Container Border\",optional:true},containerBorderRadius:{type:ControlType.BorderRadius,title:\"Container Radius\",defaultValue:0},containerPadding:{type:ControlType.Padding,title:\"Container Padding\",defaultValue:\"0px\"},// Checked state container styling\ncheckedContainerBackground:{type:ControlType.Color,title:\"Checked Background\",optional:true},checkedContainerBorder:{type:ControlType.Border,title:\"Checked Border\",optional:true},// Option text styling\noptionFont:{type:ControlType.Font,title:\"Option Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:12,fontWeight:400}},optionColor:{type:ControlType.Color,title:\"Option Color\",defaultValue:\"#999999\"},checkedOptionColor:{type:ControlType.Color,title:\"Checked Option Color\",optional:true},prefixColor:{type:ControlType.Color,title:\"Prefix Color\",optional:true},suffixColor:{type:ControlType.Color,title:\"Suffix Color\",optional:true},prefixFont:{type:ControlType.Font,title:\"Prefix Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:12,fontWeight:400}},suffixFont:{type:ControlType.Font,title:\"Suffix Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:12,fontWeight:400}},prefixSuffixGap:{type:ControlType.Number,title:\"Prefix/Suffix Gap\",defaultValue:4,displayStepper:true}};/**\r\n * Checkbox group validation controls (includes min/max selection)\r\n */export const CHECKBOX_GROUP_VALIDATION_CONTROLS={requiredMessage:{type:ControlType.String,title:\"Required Error\",placeholder:\"Please select at least one option\"},minSelected:{type:ControlType.Number,title:\"Min Selections\",min:0,description:\"Minimum number of selections required\"},maxSelected:{type:ControlType.Number,title:\"Max Selections\",min:1,description:\"Maximum number of selections allowed\"},minMessage:{type:ControlType.String,title:\"Min Error\",placeholder:\"Select at least {min} options\"},maxMessage:{type:ControlType.String,title:\"Max Error\",placeholder:\"Select at most {max} options\"},successMessage:{type:ControlType.String,title:\"Success Message\",placeholder:\"Great choice!\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"CHECKBOX_GROUP_VALIDATION_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VALIDATION_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CHECKBOX_VALIDATION_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CHECKBOX_GROUP_STYLE_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SUCCESS_STYLE_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BASE_INPUT_STYLE_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"STORE_CONFIG_CONTROL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CHECKBOX_STYLE_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LABEL_STYLE_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CHECKBOX_LABEL_STYLE_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ERROR_STYLE_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SHOW_IF_ACTION_CONTROL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createStylingControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VALIDATION_TOGGLE_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FOCUS_STYLE_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SHOW_IF_CONTROL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SHOW_IF_MATCH_CONTROL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Property_controls.map","/**\r\n * HiddenField - Utility component to hide Framer's container wrapper\r\n * \r\n * When a FormKit field is conditionally hidden, this component returns\r\n * a marker element with CSS that hides the parent Framer container.\r\n * This prevents empty gaps in the layout.\r\n */// CSS to hide Framer container wrapper when field is hidden\nimport{jsx as _jsx}from\"react/jsx-runtime\";const HIDDEN_FIELD_CSS=`\r\n[class*=\"-container\"]:has(> [data-formkit-hidden=\"true\"]) {\r\n    display: none !important;\r\n}\r\n`;// Track if CSS has been injected (singleton pattern)\nlet cssInjected=false;/**\r\n * Injects global CSS once to hide Framer containers with hidden FormKit fields\r\n */export const injectHiddenFieldCSS=()=>{if(cssInjected)return;if(typeof document===\"undefined\")return;const style=document.createElement(\"style\");style.setAttribute(\"data-formkit-hidden-css\",\"true\");style.textContent=HIDDEN_FIELD_CSS;document.head.appendChild(style);cssInjected=true;};/**\r\n * Returns a hidden marker element that triggers CSS to hide parent container.\r\n * Use this instead of `return null` when conditionally hiding a field.\r\n * \r\n * @example\r\n * if (!isVisible) return <HiddenFieldMarker />\r\n */export const HiddenFieldMarker=()=>{// Inject CSS on first render (if not already injected)\ninjectHiddenFieldCSS();return /*#__PURE__*/_jsx(\"div\",{\"data-formkit-hidden\":\"true\",style:{display:\"none\"},\"aria-hidden\":\"true\"});};export default HiddenFieldMarker;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"injectHiddenFieldCSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HiddenFieldMarker\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HiddenFieldMarker.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";export const IconCheck=props=>/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...props,children:/*#__PURE__*/_jsx(\"polyline\",{points:\"20 6 9 17 4 12\"})});export const IconAlert=props=>/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...props,children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"8\",x2:\"12\",y2:\"12\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"16\",x2:\"12.01\",y2:\"16\"})]});export const ClockIcon=props=>/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...props,children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 6 12 12 16 14\"})]});export const CalendarIcon=props=>/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...props,children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"4\",width:\"18\",height:\"18\",rx:\"2\",ry:\"2\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"16\",y1:\"2\",x2:\"16\",y2:\"6\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"8\",y1:\"2\",x2:\"8\",y2:\"6\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"10\",x2:\"21\",y2:\"10\"})]});export const ChevronIcon=props=>/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...props,children:/*#__PURE__*/_jsx(\"path\",{d:\"M2.5 4.5L6 8L9.5 4.5\"})});export const renderIcon=({iconType=\"default\",customIcon,DefaultIcon,props={}})=>{if(iconType===\"custom\"&&customIcon){// If it looks like an SVG tag, render as HTML\nif(customIcon.trim().startsWith(\"<svg\")){// Process SVG to replace hardcoded colors with currentColor\n// This allows the icon to inherit color from the parent element\nlet processedSvg=customIcon// Replace fill colors (hex, rgb, named colors) with currentColor\n.replace(/fill=[\"']#[0-9a-fA-F]{3,6}[\"']/gi,'fill=\"currentColor\"').replace(/fill=[\"']rgb\\([^)]+\\)[\"']/gi,'fill=\"currentColor\"').replace(/fill=[\"'](black|white|red|blue|green|gray|grey)[\"']/gi,'fill=\"currentColor\"')// Replace stroke colors with currentColor\n.replace(/stroke=[\"']#[0-9a-fA-F]{3,6}[\"']/gi,'stroke=\"currentColor\"').replace(/stroke=[\"']rgb\\([^)]+\\)[\"']/gi,'stroke=\"currentColor\"').replace(/stroke=[\"'](black|white|red|blue|green|gray|grey)[\"']/gi,'stroke=\"currentColor\"');return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",height:\"100%\",color:\"currentColor\"// Ensure color inheritance\n},dangerouslySetInnerHTML:{__html:processedSvg},...props});}// Assume it's an image URL\nreturn /*#__PURE__*/_jsx(\"img\",{src:customIcon,alt:\"Icon\",style:{width:\"100%\",height:\"100%\",objectFit:\"contain\"},...props});}// Default\nreturn /*#__PURE__*/_jsx(DefaultIcon,{...props});};\nexport const __FramerMetadata__ = {\"exports\":{\"renderIcon\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CalendarIcon\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ChevronIcon\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ClockIcon\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"IconCheck\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"IconAlert\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Icons.map","/**\r\n * FormKitSelect - Custom Select Dropdown Field\r\n *\r\n * A fully customizable select dropdown with complete color styling control.\r\n *\r\n * Features:\r\n * - Custom dropdown (not native select) for full styling control\r\n * - Dropdown background, option colors, hover states all configurable\r\n * - Click outside to close\r\n * - Keyboard navigation (arrow keys, enter, escape)\r\n * - Portal rendering to avoid overflow clipping\r\n * - Auto-sync with form store via useFormField hook\r\n * - Conditional visibility (Array/Object format only)\r\n *\r\n*/import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState,useRef,useCallback}from\"react\";import{useFormField}from\"https://framerusercontent.com/modules/QcJOsISgPpDHi68MFiJ7/Oue2Y3kFPZrEnXc1vsIr/Hooks.js\";import{getFormStore,getFormStoreKey}from\"https://framerusercontent.com/modules/W9pGMfwOEUT2E0G0vdr3/12TLxgY5AZn0dIW7lYwr/Store_management.js\";import{evaluateFieldState,getConditionalBadge}from\"https://framerusercontent.com/modules/YQMwVuIkIDYjLHJOwEnu/TRkCWeYE6D8iyNQspEDP/Conditions.js\";import{SHOW_IF_CONTROL,SHOW_IF_MATCH_CONTROL,SHOW_IF_ACTION_CONTROL,STORE_CONFIG_CONTROL,LABEL_STYLE_CONTROLS,ERROR_STYLE_CONTROLS,SUCCESS_STYLE_CONTROLS,FOCUS_STYLE_CONTROLS,createStylingControl}from\"https://framerusercontent.com/modules/gWXlNkIcFnVLxXMR7ktn/x2lQwKjzPxwB8Fxcavb5/Property_controls.js\";import{HiddenFieldMarker}from\"https://framerusercontent.com/modules/zT6ckO4RKI5zB9JzgGVW/16Mycued7dXi3HUGvAQC/HiddenFieldMarker.js\";import{IconCheck,IconAlert,ChevronIcon,renderIcon}from\"https://framerusercontent.com/modules/hSeRQvQLiNwfAzfTZN4C/UdPinQoFWx3tCCDFtB4f/Icons.js\";/**\r\n * @framerIntrinsicWidth 300\r\n * @framerSupportedLayoutHeight auto\r\n * @framerSupportedLayoutWidth any-prefer-fixed\r\n * @framerDisableUnlink\r\n */export default function FormKitSelect(props){const{// Main props\nname,label,placeholder=\"Select an option\",required=false,// Select-specific\noptions=[{label:\"Option 1\"},{label:\"Option 2\"},{label:\"Option 3\"}],// Validation\nvalidation={},// Styling\nstyling={},// Conditional visibility\nshowIf,showIfMatch=\"all\",showIfAction=\"show\",// Store\nformId=\"default\",// Placeholder\nshowPlaceholderOption=false,// Framer\nstyle}=props;// Local state\nconst[isOpen,setIsOpen]=useState(false);const[direction,setDirection]=useState(\"down\");const[selectedValue,setSelectedValue]=useState(\"\");const[highlightedIndex,setHighlightedIndex]=useState(-1);// Refs\nconst wrapperRef=useRef(null);const dropdownRef=useRef(null);// Destructure validation options\nconst{validateOnBlur=true,validateOnChange=false,requiredMessage,successMessage}=validation;// Extract nested styling with defaults\nconst{selectStyles:rawSelectStyles={},dropdownStyles={},labelStyles={},errorStyles={},successStyles={},focusStyles={},groupHeaderStyles={}}=styling;// Merge selectStyles and dropdownStyles for easier access\nconst selectStyles={...rawSelectStyles,...dropdownStyles};// Warn if name contains spaces\nuseEffect(()=>{if(name.includes(\" \")){console.warn(`FormKit Warning: Field name \"${name}\" contains spaces. `+`Use camelCase (firstName) or snake_case (first_name) instead.`);}},[name]);// Build validation config\nconst validationConfig={required,requiredMessage};// Get store state first to evaluate conditions before useFormField\nconst actualFormId=formId||\"default\";const useStore=getFormStore(getFormStoreKey(actualFormId,\"auto\"));const[storeState]=useStore();// Detect render mode\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;// Evaluate field state BEFORE useFormField to determine skipValidation\nconst fieldState=evaluateFieldState(showIf,storeState?.data||{},showIfMatch,showIfAction);// Determine visibility and disabled state\nlet isVisible=true;let isDisabled=false;let showBadge=false;let badgeText=\"\";if(isCanvas){isVisible=true;isDisabled=false;// Use helper function for badge logic\nconst badge=getConditionalBadge(showIf,fieldState,showIfAction);showBadge=badge.showBadge;badgeText=badge.badgeText;}else{isVisible=fieldState.isVisible;isDisabled=fieldState.isDisabled;}// Skip validation if field is hidden or disabled\nconst shouldSkipValidation=!isCanvas&&(!isVisible||isDisabled);// Use custom hook for form field logic\nconst{value,error,isTouched,isValidating,hasValidated,state,handleChange,handleBlur}=useFormField({name,formId,storeKey:\"auto\",validation:validationConfig,validateOnBlur,validateOnChange,skipValidation:shouldSkipValidation,label});// Sync local state with store value\nuseEffect(()=>{if(value!==undefined&&value!==\"\"){setSelectedValue(String(value));}},[value]);// Close dropdown when clicking outside\nuseEffect(()=>{const handleClickOutside=event=>{if(wrapperRef.current&&!wrapperRef.current.contains(event.target)){setIsOpen(false);}};if(isOpen){document.addEventListener(\"mousedown\",handleClickOutside);}return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};},[isOpen]);// Keyboard navigation\nconst handleKeyDown=useCallback(e=>{if(isDisabled)return;switch(e.key){case\"Enter\":case\" \":e.preventDefault();if(isOpen&&highlightedIndex>=0){const option=options[highlightedIndex];handleOptionSelect(option.value||option.label);}else{toggleDropdown();}break;case\"Escape\":setIsOpen(false);break;case\"ArrowDown\":e.preventDefault();if(!isOpen){toggleDropdown();}else{setHighlightedIndex(prev=>prev<options.length-1?prev+1:0);}break;case\"ArrowUp\":e.preventDefault();if(isOpen){setHighlightedIndex(prev=>prev>0?prev-1:options.length-1);}break;}},[isOpen,highlightedIndex,options,isDisabled]);// Handle option selection\nconst handleOptionSelect=optionValue=>{setSelectedValue(optionValue);handleChange(optionValue);setIsOpen(false);setHighlightedIndex(-1);};// Toggle dropdown with auto-direction\nconst toggleDropdown=()=>{if(isDisabled)return;if(!isOpen&&wrapperRef.current){const rect=wrapperRef.current.getBoundingClientRect();const spaceBelow=window.innerHeight-rect.bottom;const spaceAbove=rect.top;const maxHeight=(selectStyles.dropdownMaxHeight??240)+(selectStyles.dropdownMarginTop??4);if(spaceBelow<maxHeight&&spaceAbove>spaceBelow){setDirection(\"up\");}else{setDirection(\"down\");}}setIsOpen(!isOpen);};// Get selected label\nconst getSelectedLabel=()=>{const selectedOption=options.find(opt=>(opt.value||opt.label)===selectedValue);return selectedOption?.label||\"\";};if(!isVisible)return /*#__PURE__*/_jsx(HiddenFieldMarker,{});// Determine if we should show success message\nconst shouldShowSuccess=hasValidated&&!isValidating&&!error&&successMessage&&value&&value!==\"\";// === STYLING ===\n// Trigger button styles\nconst triggerStyle={width:\"100%\",padding:selectStyles.padding??\"12px\",paddingRight:\"36px\",fontSize:selectStyles.font?.fontSize??14,fontFamily:selectStyles.font?.fontFamily??\"inherit\",fontWeight:selectStyles.font?.fontWeight??400,color:selectedValue?selectStyles.textColor??\"#999999\":isOpen&&selectStyles.placeholderActiveColor?selectStyles.placeholderActiveColor:selectStyles.placeholderColor??\"#999999\",backgroundColor:isOpen&&focusStyles.backgroundColor?focusStyles.backgroundColor:isDisabled?\"#F5F5F5\":selectStyles.backgroundColor??\"rgba(187, 187, 187, 0.15)\",borderWidth:\"1px\",borderStyle:\"solid\",...isOpen&&focusStyles.border?focusStyles.border:selectStyles.border,borderColor:isCanvas?selectStyles.border?.borderColor??\"rgba(187, 187, 187, 0.15)\":shouldShowSuccess&&successStyles.inputBorderColor?successStyles.inputBorderColor:error&&(isTouched||state?.submitAttempted)?selectStyles.errorBorderColor??\"#FF4444\":isOpen?focusStyles.border?.borderColor??selectStyles.focusBorderColor??\"#0099FF\":selectStyles.border?.borderColor??\"rgba(187, 187, 187, 0.15)\",borderRadius:selectStyles.borderRadius??12,outline:\"none\",cursor:isDisabled?\"not-allowed\":\"pointer\",opacity:isDisabled?selectStyles.disabledOpacity??.5:1,boxSizing:\"border-box\",textAlign:\"left\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",transition:focusStyles.transition??\"border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease\",position:\"relative\",boxShadow:isOpen&&focusStyles.shadows?Array.isArray(focusStyles.shadows)?focusStyles.shadows.join(\", \"):focusStyles.shadows:undefined};// Dropdown styles\nconst isUp=direction===\"up\";const dropdownStyle={position:\"absolute\",top:isUp?\"auto\":\"100%\",bottom:isUp?\"100%\":\"auto\",left:0,right:0,marginTop:isUp?0:selectStyles.dropdownMarginTop??4,marginBottom:isUp?selectStyles.dropdownMarginTop??4:0,padding:selectStyles.dropdownPadding??\"0px\",backgroundColor:selectStyles.dropdownBackgroundColor??\"#FFFFFF\",...selectStyles.dropdownBorder,borderRadius:selectStyles.dropdownBorderRadius??12,boxShadow:selectStyles.dropdownShadow??(isUp?\"0 -4px 12px rgba(0,0,0,0.15)\":\"0 4px 12px rgba(0,0,0,0.15)\"),maxHeight:selectStyles.dropdownMaxHeight??240,overflowY:\"auto\",zIndex:9999};// Label styles\nconst labelStyle={display:\"block\",fontSize:shouldShowSuccess&&successStyles.labelFont?.fontSize?successStyles.labelFont.fontSize:labelStyles.font?.fontSize??12,fontWeight:shouldShowSuccess&&successStyles.labelFont?.fontWeight?successStyles.labelFont.fontWeight:labelStyles.font?.fontWeight??\"500\",fontFamily:shouldShowSuccess&&successStyles.labelFont?.fontFamily?successStyles.labelFont.fontFamily:labelStyles.font?.fontFamily??\"Inter\",lineHeight:labelStyles.font?.lineHeight??undefined,letterSpacing:labelStyles.font?.letterSpacing??undefined,color:shouldShowSuccess&&successStyles.labelColor?successStyles.labelColor:labelStyles.color??\"#888888\",marginBottom:labelStyles.marginBottom??8,transition:\"color 0.2s ease\"};// Error styles\nconst errorStyle={fontSize:errorStyles.font?.fontSize??12,fontWeight:errorStyles.font?.fontWeight??undefined,fontFamily:errorStyles.font?.fontFamily??\"inherit\",color:errorStyles.color??\"#FF4444\",marginTop:errorStyles.marginTop??4};// Success styles\nconst successStyle={fontSize:successStyles.messageFont?.fontSize??12,fontWeight:successStyles.messageFont?.fontWeight??undefined,fontFamily:successStyles.messageFont?.fontFamily??undefined,color:successStyles.messageColor??\"#22C55E\",marginTop:successStyles.marginTop??4};// Option styles helper\nconst getOptionStyle=(optionValue,index)=>{const isSelected=optionValue===selectedValue;const isHighlighted=index===highlightedIndex;const isPlaceholder=index===-2;const usePlaceholderStyles=isPlaceholder&&selectStyles.showPlaceholderOptionControl===true;return{padding:selectStyles.optionPadding??\"10px 12px 10px 12px\",fontSize:selectStyles.optionFont?.fontSize??14,fontFamily:selectStyles.optionFont?.fontFamily??\"inherit\",fontWeight:selectStyles.optionFont?.fontWeight??400,cursor:\"pointer\",transition:\"background-color 0.15s, color 0.15s\",color:isSelected?selectStyles.optionSelectedTextColor??\"#FFFFFF\":isHighlighted?usePlaceholderStyles?selectStyles.placeholderOptionHoverTextColor??selectStyles.optionHoverTextColor??\"#333333\":selectStyles.optionHoverTextColor??\"#333333\":usePlaceholderStyles?selectStyles.placeholderOptionTextColor??selectStyles.optionTextColor??\"#333333\":selectStyles.optionTextColor??\"#333333\",backgroundColor:isSelected?selectStyles.optionSelectedBackgroundColor??\"#0099FF\":isHighlighted?usePlaceholderStyles?selectStyles.placeholderOptionHoverBackgroundColor??selectStyles.optionHoverBackgroundColor??\"#F0F0F0\":selectStyles.optionHoverBackgroundColor??\"#F0F0F0\":usePlaceholderStyles?selectStyles.placeholderOptionBackgroundColor??selectStyles.optionBackgroundColor??\"transparent\":selectStyles.optionBackgroundColor??\"transparent\"};};// Group header styles\nconst groupHeaderStyle={padding:groupHeaderStyles.groupHeaderPadding??\"8px 12px 4px 12px\",fontSize:groupHeaderStyles.groupHeaderFont?.fontSize??(selectStyles.optionFont?.fontSize??14)-2,fontFamily:groupHeaderStyles.groupHeaderFont?.fontFamily??selectStyles.optionFont?.fontFamily??\"inherit\",fontWeight:groupHeaderStyles.groupHeaderFont?.fontWeight??600,color:groupHeaderStyles.groupHeaderColor??(selectStyles.optionTextColor?`${selectStyles.optionTextColor}99`// Add some transparency\n:\"#666666\"),textTransform:groupHeaderStyles.groupHeaderTextTransform??\"uppercase\",letterSpacing:groupHeaderStyles.groupHeaderFont?.letterSpacing??\"0.5px\",borderTopWidth:groupHeaderStyles.groupHeaderBorderTop?.borderTopWidth??groupHeaderStyles.groupHeaderBorderTop?.borderWidth,borderTopColor:groupHeaderStyles.groupHeaderBorderTop?.borderTopColor??groupHeaderStyles.groupHeaderBorderTop?.borderColor,borderTopStyle:groupHeaderStyles.groupHeaderBorderTop?.borderTopStyle??groupHeaderStyles.groupHeaderBorderTop?.borderStyle,marginTop:groupHeaderStyles.groupHeaderMarginTop??4,pointerEvents:\"none\"};// First group header doesn't need top border/margin\nconst firstGroupHeaderStyle={...groupHeaderStyle,borderTop:\"none\",marginTop:0};// Render grouped options\nconst renderGroupedOptions=()=>{// Check if any options have groups\nconst hasGroups=options.some(opt=>opt.group);if(!hasGroups){// Simple rendering without groups\nconst items=options.map((option,index)=>{const optionValue=option.value||option.label;return /*#__PURE__*/_jsx(\"div\",{role:\"option\",\"aria-selected\":optionValue===selectedValue,onClick:()=>handleOptionSelect(optionValue),onMouseEnter:()=>setHighlightedIndex(index),onMouseLeave:()=>setHighlightedIndex(-1),style:getOptionStyle(optionValue,index),children:option.label},`${optionValue}-${index}`);});if(showPlaceholderOption&&placeholder){items.unshift(/*#__PURE__*/_jsx(\"div\",{role:\"option\",\"aria-selected\":selectedValue===\"\",onClick:()=>handleOptionSelect(\"\"),onMouseEnter:()=>setHighlightedIndex(-2),onMouseLeave:()=>setHighlightedIndex(-1),style:getOptionStyle(\"\",-2),children:placeholder},\"placeholder-option\"));}return items;}// Group options by their group name\nconst grouped={};const ungrouped=[];options.forEach((option,index)=>{if(option.group){if(!grouped[option.group]){grouped[option.group]=[];}grouped[option.group].push({option,originalIndex:index});}else{ungrouped.push({option,originalIndex:index});}});const elements=[];let isFirstGroup=true;// Render placeholder option if enabled\nif(showPlaceholderOption&&placeholder){elements.push(/*#__PURE__*/_jsx(\"div\",{role:\"option\",\"aria-selected\":selectedValue===\"\",onClick:()=>handleOptionSelect(\"\"),onMouseEnter:()=>setHighlightedIndex(-2),onMouseLeave:()=>setHighlightedIndex(-1),style:getOptionStyle(\"\",-2),children:placeholder},\"placeholder-option\"));isFirstGroup=false// Preceding group (if any) is no longer technically \"first\" in layout\n;}// Render ungrouped options first (if any)\nungrouped.forEach(({option,originalIndex})=>{const optionValue=option.value||option.label;elements.push(/*#__PURE__*/_jsx(\"div\",{role:\"option\",\"aria-selected\":optionValue===selectedValue,onClick:()=>handleOptionSelect(optionValue),onMouseEnter:()=>setHighlightedIndex(originalIndex),onMouseLeave:()=>setHighlightedIndex(-1),style:getOptionStyle(optionValue,originalIndex),children:option.label},`ungrouped-${optionValue}-${originalIndex}`));});// Render groups\nObject.entries(grouped).forEach(([groupName,groupOptions])=>{// Group header\nelements.push(/*#__PURE__*/_jsx(\"div\",{style:isFirstGroup&&ungrouped.length===0?firstGroupHeaderStyle:groupHeaderStyle,role:\"presentation\",children:groupName},`group-header-${groupName}`));isFirstGroup=false;// Group options\ngroupOptions.forEach(({option,originalIndex})=>{const optionValue=option.value||option.label;elements.push(/*#__PURE__*/_jsx(\"div\",{role:\"option\",\"aria-selected\":optionValue===selectedValue,onClick:()=>handleOptionSelect(optionValue),onMouseEnter:()=>setHighlightedIndex(originalIndex),onMouseLeave:()=>setHighlightedIndex(-1),style:getOptionStyle(optionValue,originalIndex),children:option.label},`${groupName}-${optionValue}-${originalIndex}`));});});return elements;};const fieldId=`${formId}-${name}`;return /*#__PURE__*/_jsxs(\"div\",{ref:wrapperRef,style:{...style,display:\"flex\",flexDirection:\"column\",width:\"100%\",position:\"relative\"},children:[isCanvas&&showBadge&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-8,right:-8,backgroundColor:\"#FF6B00\",color:\"white\",fontSize:10,fontWeight:600,padding:\"2px 6px\",borderRadius:4,zIndex:1e3,pointerEvents:\"none\",boxShadow:\"0 2px 4px rgba(0,0,0,0.2)\"},children:badgeText}),label&&/*#__PURE__*/_jsxs(\"label\",{htmlFor:fieldId,style:labelStyle,children:[label,required&&/*#__PURE__*/_jsx(\"span\",{style:{color:\"#FF4444\",marginLeft:4},children:\"*\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",id:fieldId,onClick:toggleDropdown,onKeyDown:handleKeyDown,onBlur:()=>{// Delay blur to allow option click\nsetTimeout(()=>{if(!isOpen)handleBlur();},150);},disabled:isDisabled,style:triggerStyle,\"aria-haspopup\":\"listbox\",\"aria-expanded\":isOpen,children:[/*#__PURE__*/_jsx(\"span\",{style:{flex:1,textAlign:\"left\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",paddingRight:shouldShowSuccess?28:0// Make room for icon if shown\n},children:selectedValue?getSelectedLabel():placeholder}),shouldShowSuccess&&/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",right:36,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:successStyles.inputTextColor||\"#0099FF\",pointerEvents:\"none\",width:16,height:16},children:renderIcon({iconType:successStyles.iconType,customIcon:successStyles.customIcon,DefaultIcon:IconCheck})}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",right:12,top:\"50%\",transform:`translateY(-50%) rotate(${isOpen?180:0}deg)`,transition:\"transform 0.2s ease\",display:\"flex\",alignItems:\"center\"},children:selectStyles.arrowIcon?.type!==\"none\"&&/*#__PURE__*/_jsx(\"div\",{style:{width:selectStyles.arrowIcon?.size??selectStyles.arrowSize??12,height:selectStyles.arrowIcon?.size??selectStyles.arrowSize??12,color:selectStyles.arrowIcon?.color??selectStyles.arrowColor??\"#666666\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:renderIcon({iconType:selectStyles.arrowIcon?.type===\"custom\"?\"custom\":\"default\",customIcon:selectStyles.arrowIcon?.customIcon,DefaultIcon:ChevronIcon})})})]}),isOpen&&/*#__PURE__*/_jsx(\"div\",{ref:dropdownRef,role:\"listbox\",style:dropdownStyle,children:renderGroupedOptions()})]}),/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:name,value:value||\"\"}),error&&(isTouched||state?.submitAttempted)&&/*#__PURE__*/_jsxs(\"div\",{style:{...errorStyle,display:\"flex\",alignItems:\"center\",gap:6},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:14,height:14},children:renderIcon({iconType:errorStyles.iconType,customIcon:errorStyles.customIcon,DefaultIcon:IconAlert})}),error]}),shouldShowSuccess&&successMessage&&/*#__PURE__*/_jsx(\"div\",{style:successStyle,children:successMessage})]});}// === PROPERTY CONTROLS ===\n// Select-specific style controls with full color support\nconst SELECT_STYLE_CONTROLS={// Trigger button\nbackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#F5F5F5\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#999999\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder\",defaultValue:\"#999999\"},placeholderActiveColor:{type:ControlType.Color,title:\"Placeholder (Active)\",defaultValue:\"#999999\",description:\"Color of placeholder when dropdown is open\"},// Border\nborder:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderColor:\"rgba(187, 187, 187, 0.15)\",borderStyle:\"solid\"}},focusBorderColor:{type:ControlType.Color,title:\"Focus Border\",defaultValue:\"#0099FF\",hidden:()=>true},errorBorderColor:{type:ControlType.Color,title:\"Error Border\",defaultValue:\"#FF4444\"},borderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:50,step:1,defaultValue:12,displayStepper:true},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 12px 12px 12px\"},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#666666\"},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",min:8,max:24,step:1,defaultValue:12,displayStepper:true},arrowIcon:{type:ControlType.Object,title:\"Arrow Icon\",controls:{type:{type:ControlType.Enum,title:\"Type\",options:[\"default\",\"custom\",\"none\"],optionTitles:[\"Default\",\"Custom SVG\",\"None\"],defaultValue:\"default\"},customIcon:{type:ControlType.String,title:\"SVG Code\",defaultValue:\"\",displayTextArea:true,hidden:props=>props.type!==\"custom\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:12,min:8,max:48,displayStepper:true},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#666666\"}}},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:14,fontWeight:400}},icon:{type:ControlType.ComponentInstance,title:\"Icon\",optional:true}};// Dropdown menu style controls\nconst DROPDOWN_STYLE_CONTROLS={dropdownPadding:{type:ControlType.Padding,title:\"Wrap Padding\",defaultValue:\"0px\"},dropdownMarginTop:{type:ControlType.Number,title:\"Margin\",min:-100,max:100,step:1,defaultValue:4,displayStepper:true},dropdownBackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},dropdownBorder:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderColor:\"#E8E8E8\",borderStyle:\"solid\"}},dropdownBorderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:50,step:1,defaultValue:12,displayStepper:true},dropdownMaxHeight:{type:ControlType.Number,title:\"Max Height\",min:100,max:500,step:20,defaultValue:240,displayStepper:true},optionTextColor:{type:ControlType.Color,title:\"Option Text\",defaultValue:\"#333333\"},optionBackgroundColor:{type:ControlType.Color,title:\"Option BG\",defaultValue:\"#FFFFFF\"},optionHoverTextColor:{type:ControlType.Color,title:\"Hover Text\",defaultValue:\"#333333\"},optionHoverBackgroundColor:{type:ControlType.Color,title:\"Hover BG\",defaultValue:\"#F0F0F0\"},optionSelectedTextColor:{type:ControlType.Color,title:\"Selected Text\",defaultValue:\"#FFFFFF\"},optionSelectedBackgroundColor:{type:ControlType.Color,title:\"Selected BG\",defaultValue:\"#0099FF\"},optionPadding:{type:ControlType.Padding,title:\"Option Padding\",defaultValue:\"10px 12px 10px 12px\"},showPlaceholderOptionControl:{type:ControlType.Boolean,title:\"Show Placeholder Option\",defaultValue:false},placeholderOptionTextColor:{type:ControlType.Color,title:\"Placeholder Text\",defaultValue:\"#333333\",hidden:props=>props.showPlaceholderOptionControl!==true},placeholderOptionBackgroundColor:{type:ControlType.Color,title:\"Placeholder BG\",defaultValue:\"#FFFFFF\",hidden:props=>props.showPlaceholderOptionControl!==true},placeholderOptionHoverTextColor:{type:ControlType.Color,title:\"Placeholder Hover Text\",defaultValue:\"#333333\",hidden:props=>props.showPlaceholderOptionControl!==true},placeholderOptionHoverBackgroundColor:{type:ControlType.Color,title:\"Placeholder Hover BG\",defaultValue:\"#F0F0F0\",hidden:props=>props.showPlaceholderOptionControl!==true}};// Group header style controls\nconst GROUP_HEADER_STYLE_CONTROLS={groupHeaderFont:{type:ControlType.Font,title:\"Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:12,fontWeight:600}},groupHeaderColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#666666\"},groupHeaderTextTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],optionTitles:[\"None\",\"UPPERCASE\",\"lowercase\",\"Capitalize\"],defaultValue:\"uppercase\"},groupHeaderPadding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"8px 12px 4px 12px\"},groupHeaderMarginTop:{type:ControlType.Number,title:\"Margin Top\",min:0,max:50,step:1,defaultValue:4,displayStepper:true},// Border\ngroupHeaderBorderTop:{type:ControlType.Border,title:\"Border Top\",defaultValue:{borderWidth:1,borderColor:\"rgba(187, 187, 187, 0.15)\",borderStyle:\"solid\"}}};// Validation controls\nconst SELECT_VALIDATION_CONTROLS={validateOnBlur:{type:ControlType.Boolean,title:\"On Blur\",description:\"Validate when user leaves field\",defaultValue:true},validateOnChange:{type:ControlType.Boolean,title:\"On Change\",description:\"Real-time validation as user selects\",defaultValue:false},requiredMessage:{type:ControlType.String,title:\"Required Error\",placeholder:\"Please select an option\"},successMessage:{type:ControlType.String,title:\"Success Message\",placeholder:\"Great choice!\"}};// Property Controls\naddPropertyControls(FormKitSelect,{// FLAT - Main options\nname:{type:ControlType.String,title:\"Name\",defaultValue:\"selection\",description:\"Use camelCase or snake_case, NO SPACES\",placeholder:\"field-name\"},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Selection\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Select an option\"},showPlaceholderOption:{type:ControlType.Boolean,title:\"Show Placeholder\",defaultValue:false,description:\"Add an option to the list to clear selection\"},// OPTIONS - Array of items\noptions:{type:ControlType.Array,title:\"Options\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Option\"},value:{type:ControlType.String,title:\"Value\",description:\"Optional - uses label if empty\"},group:{type:ControlType.String,title:\"Group\",description:\"Optional group name for organizing options\",placeholder:\"e.g. Category A\"}}},defaultValue:[{label:\"Option 1\"},{label:\"Option 2\"},{label:\"Option 3\"}]},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false},// NESTED - Validation\nvalidation:{type:ControlType.Object,buttonTitle:\"Validation\",optional:true,controls:SELECT_VALIDATION_CONTROLS},// NESTED - Styling organized into groups\nstyling:createStylingControl({selectStyles:{type:ControlType.Object,buttonTitle:\"Select Input\",optional:true,controls:SELECT_STYLE_CONTROLS},dropdownStyles:{type:ControlType.Object,buttonTitle:\"Dropdown & Options\",optional:true,controls:DROPDOWN_STYLE_CONTROLS},groupHeaderStyles:{type:ControlType.Object,buttonTitle:\"Group Headers\",optional:true,controls:GROUP_HEADER_STYLE_CONTROLS},labelStyles:{type:ControlType.Object,buttonTitle:\"Label\",optional:true,controls:LABEL_STYLE_CONTROLS},errorStyles:{type:ControlType.Object,buttonTitle:\"Error\",optional:true,controls:ERROR_STYLE_CONTROLS},successStyles:{type:ControlType.Object,buttonTitle:\"Success\",optional:true,controls:SUCCESS_STYLE_CONTROLS},focusStyles:{type:ControlType.Object,buttonTitle:\"Focus\",optional:true,controls:FOCUS_STYLE_CONTROLS}}),// Conditional visibility\nshowIf:SHOW_IF_CONTROL,showIfMatch:{...SHOW_IF_MATCH_CONTROL,hidden:props=>!props.showIf||props.showIf.length===0},showIfAction:{...SHOW_IF_ACTION_CONTROL,hidden:props=>!props.showIf||props.showIf.length===0},// Store connection\n...STORE_CONFIG_CONTROL});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FormKitSelect\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"300\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormKitSelect.map","/**\r\n * FormKitEmail - Email Input Field\r\n *\r\n * An email input field with validation, conditional visibility, and form store integration.\r\n *\r\n * Features:\r\n * - Hybrid prop structure (flat main options, nested styling)\r\n * - Auto-sync with form store via useFormField hook\r\n * - Configurable validation timing (onBlur, onChange)\r\n * - Built-in email format validation (NOT minLength/maxLength!)\r\n * - Error display with validation\r\n * - Conditional visibility (Array/Object format only)\r\n * - Optional success message\r\n *\r\n*/import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState}from\"react\";import{useFormField}from\"https://framerusercontent.com/modules/QcJOsISgPpDHi68MFiJ7/Oue2Y3kFPZrEnXc1vsIr/Hooks.js\";import{getFormStore,getFormStoreKey}from\"https://framerusercontent.com/modules/W9pGMfwOEUT2E0G0vdr3/12TLxgY5AZn0dIW7lYwr/Store_management.js\";import{evaluateFieldState,getConditionalBadge}from\"https://framerusercontent.com/modules/YQMwVuIkIDYjLHJOwEnu/TRkCWeYE6D8iyNQspEDP/Conditions.js\";import{SHOW_IF_CONTROL,SHOW_IF_MATCH_CONTROL,SHOW_IF_ACTION_CONTROL,STORE_CONFIG_CONTROL,BASE_INPUT_STYLE_CONTROLS,LABEL_STYLE_CONTROLS,ERROR_STYLE_CONTROLS,SUCCESS_STYLE_CONTROLS,FOCUS_STYLE_CONTROLS,createStylingControl}from\"https://framerusercontent.com/modules/gWXlNkIcFnVLxXMR7ktn/x2lQwKjzPxwB8Fxcavb5/Property_controls.js\";import{HiddenFieldMarker}from\"https://framerusercontent.com/modules/zT6ckO4RKI5zB9JzgGVW/16Mycued7dXi3HUGvAQC/HiddenFieldMarker.js\";import{IconCheck,IconAlert,renderIcon}from\"https://framerusercontent.com/modules/hSeRQvQLiNwfAzfTZN4C/UdPinQoFWx3tCCDFtB4f/Icons.js\";/**\r\n * @framerIntrinsicWidth 300\r\n * @framerSupportedLayoutHeight auto\r\n * @framerSupportedLayoutWidth any-prefer-fixed\r\n * @framerDisableUnlink\r\n */export default function FormKitEmail(props){const{// Main props\nname,label,placeholder=\"email@example.com\",required=false,// disabled prop removed\n// Validation (nested)\nvalidation={},// Styling\nstyling={},// Conditional visibility\nshowIf,showIfMatch=\"all\",showIfAction=\"show\",// Store (simplified!)\nformId=\"default\",// Framer\nstyle}=props;// Destructure validation options (email-specific - NO minLength/maxLength)\nconst{validateOnBlur=true,validateOnChange=false,emailMessage,requiredMessage,successMessage}=validation;// Extract nested styling with defaults\nconst{inputStyles={},labelStyles={},errorStyles={},successStyles={},focusStyles={}}=styling;// Warn if name contains spaces\nuseEffect(()=>{if(name.includes(\" \")){console.warn(`FormKit Warning: Field name \"${name}\" contains spaces. `+`This may cause issues. Use camelCase (firstName) or snake_case (first_name) instead.`);}},[name]);// Build validation config for email type\nconst validationConfig={required,requiredMessage,type:\"email\",emailMessage};// Get store state first to evaluate conditions before useFormField\nconst actualFormId=formId||\"default\";const useStore=getFormStore(getFormStoreKey(actualFormId,\"auto\"));const[storeState]=useStore();// Detect render mode\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;// Evaluate field state BEFORE useFormField to determine skipValidation\nconst fieldState=evaluateFieldState(showIf,storeState?.data||{},showIfMatch,showIfAction);// Determine visibility and disabled state\nlet isVisible=true;let isDisabled=false;let showBadge=false;let badgeText=\"\";if(isCanvas){isVisible=true;isDisabled=false;// Use helper function for badge logic\nconst badge=getConditionalBadge(showIf,fieldState,showIfAction);showBadge=badge.showBadge;badgeText=badge.badgeText;}else{isVisible=fieldState.isVisible;isDisabled=fieldState.isDisabled;}// Skip validation if field is hidden or disabled (in preview/live mode)\nconst shouldSkipValidation=!isCanvas&&(!isVisible||isDisabled);// Use custom hook for form field logic\nconst{value,error,isTouched,isValidating,hasValidated,state,handleChange,handleBlur}=useFormField({name,formId,storeKey:\"auto\",validation:validationConfig,validateOnBlur,validateOnChange,skipValidation:shouldSkipValidation,label});// Track focus state for border color\nconst[isFocused,setIsFocused]=useState(false);if(!isVisible)return /*#__PURE__*/_jsx(HiddenFieldMarker,{});// Determine if we should show success message\n// Only show success AFTER validation has completed at least once\nconst shouldShowSuccess=hasValidated&&// Validation must have run at least once\n!isValidating&&// Not currently validating\n!error&&// No validation errors\nsuccessMessage&&// User provided success message\nvalue&&// Field has a value\n(required?value.trim()!==\"\":true)// If required, must not be empty\n;// Build input styles - use success overrides when applicable\nconst inputStyle={width:\"100%\",padding:inputStyles.padding??\"12px\",fontSize:shouldShowSuccess&&successStyles.inputFont?.fontSize?successStyles.inputFont.fontSize:inputStyles.font?.fontSize??14,fontFamily:shouldShowSuccess&&successStyles.inputFont?.fontFamily?successStyles.inputFont.fontFamily:inputStyles.font?.fontFamily??\"inherit\",fontWeight:shouldShowSuccess&&successStyles.inputFont?.fontWeight?successStyles.inputFont.fontWeight:inputStyles.font?.fontWeight??undefined,lineHeight:inputStyles.font?.lineHeight??undefined,letterSpacing:inputStyles.font?.letterSpacing??undefined,color:shouldShowSuccess&&successStyles.inputTextColor?successStyles.inputTextColor:isFocused&&focusStyles.textColor?focusStyles.textColor:value?inputStyles.textColor??\"#999999\":inputStyles.placeholderColor??\"#999999\",backgroundColor:isFocused&&focusStyles.backgroundColor?focusStyles.backgroundColor:isDisabled?\"#F5F5F5\":inputStyles.backgroundColor??\"rgba(187, 187, 187, 0.15)\",borderWidth:\"1px\",borderStyle:\"solid\",...isFocused&&focusStyles.border?focusStyles.border:inputStyles.border,borderColor:isCanvas?inputStyles.border?.borderColor??\"rgba(187, 187, 187, 0.15)\":shouldShowSuccess&&successStyles.inputBorderColor?successStyles.inputBorderColor:error&&(isTouched||state?.submitAttempted)?inputStyles.errorBorderColor??\"#FF4444\":isFocused?focusStyles.border?.borderColor??inputStyles.focusBorderColor??\"#0099FF\":inputStyles.border?.borderColor??\"rgba(187, 187, 187, 0.15)\",borderRadius:inputStyles.borderRadius??12,outline:\"none\",transition:focusStyles.transition??\"border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease\",cursor:isDisabled?\"not-allowed\":\"text\",opacity:isDisabled?inputStyles.disabledOpacity??.5:1,boxSizing:\"border-box\",boxShadow:isFocused&&focusStyles.shadows?focusStyles.shadows:inputStyles.shadows};// Build label styles - use success overrides when applicable\nconst labelStyle={display:\"block\",fontSize:shouldShowSuccess&&successStyles.labelFont?.fontSize?successStyles.labelFont.fontSize:labelStyles.font?.fontSize??12,fontWeight:shouldShowSuccess&&successStyles.labelFont?.fontWeight?successStyles.labelFont.fontWeight:labelStyles.font?.fontWeight??\"500\",fontFamily:shouldShowSuccess&&successStyles.labelFont?.fontFamily?successStyles.labelFont.fontFamily:labelStyles.font?.fontFamily??\"Inter\",lineHeight:labelStyles.font?.lineHeight??undefined,letterSpacing:labelStyles.font?.letterSpacing??undefined,color:shouldShowSuccess&&successStyles.labelColor?successStyles.labelColor:labelStyles.color??\"#888888\",marginBottom:labelStyles.marginBottom??8,transition:\"color 0.2s ease\"};// Build error styles\nconst errorStyle={fontSize:errorStyles.font?.fontSize??12,fontWeight:errorStyles.font?.fontWeight??undefined,fontFamily:errorStyles.font?.fontFamily??\"inherit\",lineHeight:errorStyles.font?.lineHeight??undefined,letterSpacing:errorStyles.font?.letterSpacing??undefined,color:errorStyles.color??\"#FF4444\",marginTop:errorStyles.marginTop??4};// Build success message styles\nconst successStyle={fontSize:successStyles.messageFont?.fontSize??12,fontWeight:successStyles.messageFont?.fontWeight??undefined,fontFamily:successStyles.messageFont?.fontFamily??undefined,color:successStyles.messageColor??\"#22C55E\",marginTop:successStyles.marginTop??4};// Generate unique ID for accessibility\nconst fieldId=`${formId}-${name}`;return /*#__PURE__*/_jsxs(\"div\",{...style,style:{...style,display:\"flex\",flexDirection:\"column\",width:\"100%\",position:\"relative\"},children:[isCanvas&&showBadge&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-8,right:-8,backgroundColor:\"#FF6B00\",color:\"white\",fontSize:10,fontWeight:600,padding:\"2px 6px\",borderRadius:4,zIndex:1e3,pointerEvents:\"none\",boxShadow:\"0 2px 4px rgba(0,0,0,0.2)\"},children:badgeText}),label&&/*#__PURE__*/_jsxs(\"label\",{htmlFor:fieldId,style:labelStyle,children:[label,required&&/*#__PURE__*/_jsx(\"span\",{style:{color:\"#FF4444\",marginLeft:4},children:\"*\"})]}),/*#__PURE__*/_jsx(\"style\",{children:`\r\n                #${fieldId} {\r\n                    -webkit-text-fill-color: ${shouldShowSuccess&&successStyles.inputTextColor?successStyles.inputTextColor:isFocused&&focusStyles.textColor?focusStyles.textColor:value?inputStyles.textColor??\"#999999\":inputStyles.placeholderColor??\"#999999\"};\r\n                }\r\n                #${fieldId}::placeholder {\r\n                    color: ${isFocused&&focusStyles.placeholderColor?focusStyles.placeholderColor:inputStyles.placeholderColor??\"#999999\"};\r\n                    -webkit-text-fill-color: ${isFocused&&focusStyles.placeholderColor?focusStyles.placeholderColor:inputStyles.placeholderColor??\"#999999\"};\r\n                    opacity: 1;\r\n                }\r\n                #${fieldId}:-webkit-autofill,\r\n                #${fieldId}:-webkit-autofill:hover,\r\n                #${fieldId}:-webkit-autofill:focus,\r\n                #${fieldId}:-webkit-autofill:active,\r\n                #${fieldId}:autofill,\r\n                #${fieldId}:autofill:hover,\r\n                #${fieldId}:autofill:focus,\r\n                #${fieldId}:autofill:active {\r\n                    -webkit-box-shadow: 0 0 0 1000px ${inputStyles.backgroundColor??\"#F5F5F5\"} inset !important;\r\n                    box-shadow: 0 0 0 1000px ${inputStyles.backgroundColor??\"#F5F5F5\"} inset !important;\r\n                    -webkit-text-fill-color: ${inputStyles.textColor??\"#999999\"} !important;\r\n                    caret-color: ${inputStyles.textColor??\"#999999\"} !important;\r\n                    transition: background-color 5000s ease-in-out 0s !important;\r\n                }\r\n            `}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"input\",{id:fieldId,type:\"email\",name:name,value:value||\"\",onChange:e=>handleChange(e.target.value),onBlur:()=>{setIsFocused(false);handleBlur();},onFocus:()=>setIsFocused(true),placeholder:placeholder,disabled:isDisabled,required:required,\"data-formkit\":\"true\",style:inputStyle}),shouldShowSuccess&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:12,top:\"50%\",transform:\"translateY(-50%)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:successStyles.inputTextColor||\"#0099FF\",pointerEvents:\"none\",width:16,height:16},children:renderIcon({iconType:successStyles.iconType,customIcon:successStyles.customIcon,DefaultIcon:IconCheck})})]}),error&&(isTouched||state?.submitAttempted)&&/*#__PURE__*/_jsxs(\"div\",{style:{...errorStyle,display:\"flex\",alignItems:\"center\",gap:6},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:14,height:14},children:renderIcon({iconType:errorStyles.iconType,customIcon:errorStyles.customIcon,DefaultIcon:IconAlert})}),error]}),shouldShowSuccess&&successMessage&&/*#__PURE__*/_jsx(\"div\",{style:successStyle,children:successMessage})]});}// Email validation controls - specific for email fields (NO minLength/maxLength/pattern)\nconst EMAIL_VALIDATION_CONTROLS={// Timing toggles\nvalidateOnBlur:{type:ControlType.Boolean,title:\"On Blur\",description:\"Validate when user leaves field\",defaultValue:true},validateOnChange:{type:ControlType.Boolean,title:\"On Change\",description:\"Real-time validation (debounced)\",defaultValue:false},// Email-specific error message\nemailMessage:{type:ControlType.String,title:\"Email Error\",placeholder:\"Please enter a valid email\",description:\"Custom error for invalid email format\"},// Standard messages\nrequiredMessage:{type:ControlType.String,title:\"Required Error\",placeholder:\"This field is required\"},successMessage:{type:ControlType.String,title:\"Success Message\",placeholder:\"Looks good!\"}};// Property Controls - Hybrid structure\naddPropertyControls(FormKitEmail,{// FLAT - Main options (easy to access and update)\nname:{type:ControlType.String,title:\"Name\",defaultValue:\"email\",description:\"Use camelCase or snake_case, NO SPACES. Examples: email, user_email, contact_email\",placeholder:\"field-name\"},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Email\",description:\"Field label displayed above input\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"email@example.com\",description:\"Placeholder text shown when empty\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false},// disabled prop removed - use showIfAction with \"Enable Field\" / \"Disable Field\"\n// NESTED - Validation (organized!) - Email-specific controls\nvalidation:{type:ControlType.Object,buttonTitle:\"Validation\",optional:true,controls:EMAIL_VALIDATION_CONTROLS},// NESTED - Styling (organized group)\nstyling:createStylingControl({inputStyles:{type:ControlType.Object,buttonTitle:\"Input\",optional:true,controls:{...BASE_INPUT_STYLE_CONTROLS,focusBorderColor:{type:ControlType.Color,hidden:()=>true}}},labelStyles:{type:ControlType.Object,buttonTitle:\"Label\",optional:true,controls:LABEL_STYLE_CONTROLS},errorStyles:{type:ControlType.Object,buttonTitle:\"Error\",optional:true,controls:ERROR_STYLE_CONTROLS},successStyles:{type:ControlType.Object,buttonTitle:\"Success\",optional:true,controls:SUCCESS_STYLE_CONTROLS},focusStyles:{type:ControlType.Object,buttonTitle:\"Focus\",optional:true,controls:FOCUS_STYLE_CONTROLS}}),// Conditional visibility\nshowIf:SHOW_IF_CONTROL,showIfMatch:{...SHOW_IF_MATCH_CONTROL,hidden:props=>!props.showIf||props.showIf.length===0},showIfAction:{...SHOW_IF_ACTION_CONTROL,hidden:props=>!props.showIf||props.showIf.length===0},// Store connection (flat)\n...STORE_CONFIG_CONTROL});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FormKitEmail\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormKitEmail.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,cloneElement,Children}from\"react\";import{getFormStore,getFormStoreKey,isPreview}from\"https://framerusercontent.com/modules/W9pGMfwOEUT2E0G0vdr3/12TLxgY5AZn0dIW7lYwr/Store_management.js\";const getResetData=currentData=>{const resetData={};Object.keys(currentData||{}).forEach(key=>{const value=currentData[key];if(typeof value===\"boolean\"){resetData[key]=false;}else if(Array.isArray(value)){resetData[key]=[];}else{resetData[key]=\"\";}});return resetData;};/**\r\n * FormKitSubmit - Submit Form Button\r\n *\r\n * Button to submit the form data.\r\n *\r\n * Features:\r\n * - Auto-connects to form submission\r\n * - Loading state during submission\r\n * - Validates all fields before submit\r\n * - Shows success message after submission\r\n * - Customizable styling OR custom component with variants\r\n * - Shows only on last step (optional)\r\n *\r\n/**\r\n * @framerIntrinsicWidth 300\r\n * @framerSupportedLayoutHeight auto\r\n * @framerSupportedLayoutWidth any-prefer-fixed\r\n * @framerDisableUnlink\r\n */export default function FormKitSubmit(props){const{formId=\"default\",// Button type\nbuttonType=\"default\",customButton,variantMappings={defaultVariant:\"default\",loadingVariant:\"loading\",successVariant:\"success\",errorVariant:\"error\"},// Default mode props\ntext=\"Submit\",loadingText=\"Submitting...\",successText=\"Form submitted successfully!\",errorText=\"Please fix the errors above\",showOnlyOnLastStep=true,disabled=false,loadingDuration=1e3,successDuration=3e3,errorDuration=3e3,style,buttonStyles={},styling={},...rest}=props;const{buttonStyles:buttonCustomStyles={},hoverStyles={},successStyles={},errorStyles={}}=styling;const actualFormId=getFormStoreKey(formId,\"auto\");const useStore=getFormStore(actualFormId);const[state,setState]=useStore();// Create a ref to hold the latest state for async operations\n// This fixes the \"stale state\" issue in setTimeout\nconst stateRef=useRef(state);useEffect(()=>{stateRef.current=state;},[state]);const isLastStep=state.currentStep>=state.totalSteps-1;const isSubmitting=state.isSubmitting;const submitState=state.submitState||\"idle\";// Track if we're waiting to check validation\nconst validationCheckRef=useRef(false);const containerRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;// Disable native browser validation tooltips on the parent <form>\n// FormKit handles all validation UI, so the browser's default\n// \"Please fill out this field.\" popups are not needed.\nuseEffect(()=>{const parentForm=containerRef.current?.closest(\"form\");if(parentForm){parentForm.setAttribute(\"novalidate\",\"\");}},[]);// Check native HTML5 validation for non-FormKit inputs\nconst checkNativeValidation=()=>{// Find the closest form or container\nconst container=containerRef.current?.closest(\"form\")||document.body;// Find all required inputs that don't have FormKit data attributes\nconst nativeInputs=container.querySelectorAll(\"input[required]:not([data-formkit]), textarea[required]:not([data-formkit]), select[required]:not([data-formkit])\");let isValid=true;for(const input of nativeInputs){if(!input.checkValidity()){// Don't use reportValidity() — it triggers the browser's default\n// tooltip (\"Please fill out this field.\"). FormKit's own error\n// messages handle validation UI instead.\nisValid=false;break;// Stop at first invalid element\n}}return isValid;};// Handle click - trigger validation\nconst handleClick=()=>{if(disabled||isSubmitting||submitState===\"validating\")return;// Always trigger validation on click (don't require double-click after error)\n// Reset first, then trigger validation after a tick\nsetState({submitAttempted:false,submitState:\"idle\"});// Wait a tick, then trigger validation\nsetTimeout(()=>{setState({submitAttempted:true,submitState:\"validating\"});validationCheckRef.current=true;},10);};// Effect to auto-reset error state after errorDuration\nuseEffect(()=>{if(submitState===\"error\"&&errorDuration>0){const timer=setTimeout(()=>{setState({submitState:\"idle\",submitAttempted:false});},errorDuration);return()=>clearTimeout(timer);}},[submitState,errorDuration]);// Effect to auto-reset success state after successDuration\nuseEffect(()=>{if(submitState===\"success\"&&successDuration>0){const timer=setTimeout(()=>{setState({submitState:\"idle\",submitAttempted:false});},successDuration);return()=>clearTimeout(timer);}},[submitState,successDuration]);// Effect to auto-reset error state when all errors are cleared (user filled form correctly)\nuseEffect(()=>{if(submitState===\"error\"){const hasErrors=Object.keys(state.errors||{}).length>0;if(!hasErrors){// All errors cleared - reset button to idle\nsetState({submitState:\"idle\"});}}},[state.errors,submitState]);// useEffect to check errors after validation (runs after re-render with fresh state)\nuseEffect(()=>{if(submitState!==\"validating\"||!validationCheckRef.current)return;// Wait for fields to validate\nconst timer=setTimeout(()=>{validationCheckRef.current=false;// Check FormKit errors (using REF ensuring fresh state)\nconst hasFormKitErrors=Object.keys(stateRef.current.errors||{}).length>0;// Check native HTML5 validation\nconst nativeValid=checkNativeValidation();if(hasFormKitErrors||!nativeValid){setState({submitState:\"error\"});}else{// No errors, proceed with submission\nconst navigation=window.__formKitNavigation?.[actualFormId];// Helper for minimum delay\nconst wait=ms=>new Promise(resolve=>setTimeout(resolve,ms));if(navigation?.handleSubmit){// Use FormKit navigation handler (e.g. from FormKitMultiStep)\nPromise.all([navigation.handleSubmit(),wait(loadingDuration)]).then(()=>{const resetData=getResetData(stateRef.current.data);// Reset native form if exists\nconst parentForm=containerRef.current?.closest(\"form\");if(parentForm)parentForm.reset();setState({submitState:\"success\",submitAttempted:false,isSubmitting:false,data:resetData,touched:{}});}).catch(()=>{setState({submitState:\"error\"});});}else{// No navigation handler found.\n// Fallback 1: Try to submit a parent <form> natively\nconst parentForm=containerRef.current?.closest(\"form\");if(parentForm){setState({isSubmitting:true});wait(loadingDuration).then(()=>{// Reset state before submitting because page might reload\n// or if it's an AJAX form, we want to show success.\n// However, native submit usually reloads.\n// Let's try requestSubmit first which triggers onSubmit handlers.\nif(typeof parentForm.requestSubmit===\"function\"){parentForm.requestSubmit();}else{parentForm.submit();}// If page doesn't reload immediately, show success\nconst resetData=getResetData(stateRef.current.data);// Reset native form if exists\nif(parentForm)parentForm.reset();setState({submitState:\"success\",submitAttempted:false,isSubmitting:false,data:resetData,touched:{}});});}else{// Fallback 2: Just simulate loading then success (Legacy/Demo behavior)\nsetState({isSubmitting:true})// Manually show loading\n;wait(loadingDuration).then(()=>{const resetData=getResetData(stateRef.current.data);// Reset native form if exists\nconst parentForm=containerRef.current?.closest(\"form\");if(parentForm)parentForm.reset();setState({submitState:\"success\",submitAttempted:false,isSubmitting:false,data:resetData,touched:{}});});}}}},100);return()=>clearTimeout(timer);},[submitState,state.errors])// state.errors dependency still good to re-trigger if logic changes, but ref covers value access\n;// Hide if not on last step in preview/live (always show on canvas for editing)\nif(showOnlyOnLastStep&&!isLastStep&&!isCanvas){// [DEBUG] Log reason for hiding to help debugging\nif(isPreview){console.warn(`[FormKitSubmit] Button Hidden (${actualFormId})\n`+`Reason: 'Show Only On Last Step' is enabled and current step is ${state.currentStep+1} of ${state.totalSteps}.\n`+`If this is unexpected, check if your 'Form ID' matches your other form components.`);}return null;}// ========================================================================\n// CUSTOM COMPONENT HELPERS\n// ========================================================================\n/**\r\n     * Get current variant based on button state\r\n     */const getCurrentVariant=()=>{if(isSubmitting||submitState===\"validating\"){return variantMappings.loadingVariant||\"loading\";}if(submitState===\"success\"){return variantMappings.successVariant||\"success\";}if(submitState===\"error\"){return variantMappings.errorVariant||\"error\";}return variantMappings.defaultVariant||\"default\";};/**\r\n     * Auto-detect variant property from a component\r\n     */const detectVariantProperty=component=>{if(!component)return null;// Extract the actual component from slot structure\nconst actualComponent=component?.props?.children?.props?.children||component;const propertyControls=actualComponent?.type?.propertyControls;if(!propertyControls)return null;// Look for variant/state properties\nfor(const[propName,control]of Object.entries(propertyControls)){if(control.type===\"enum\"&&(propName.toLowerCase().includes(\"variant\")||propName.toLowerCase().includes(\"state\")||control.title?.toLowerCase().includes(\"variant\")||control.title?.toLowerCase().includes(\"state\"))){return propName;}}return null;};/**\r\n     * Render slot component with variant applied\r\n     */const renderSlotWithVariant=(slotComponent,variantName)=>{if(!slotComponent)return null;// Extract the actual component from slot structure\nconst actualComponent=slotComponent?.props?.children?.props?.children||slotComponent;// Auto-detect variant property\nconst variantProp=detectVariantProperty(slotComponent);// Build modified props\nconst modifiedProps={...actualComponent.props};// Set variant property if detected\nif(variantProp&&variantName){modifiedProps[variantProp]=variantName;}// Clone the component with modified props\nconst modifiedComponent=/*#__PURE__*/cloneElement(actualComponent,modifiedProps);// Handle nested slot structure (wrapper -> container -> component)\nif(slotComponent?.props?.children?.props?.children&&slotComponent?.props?.children?.props?.children!==actualComponent){const onlyChild=Children.only(slotComponent.props.children);const newChild=/*#__PURE__*/cloneElement(onlyChild,{...onlyChild.props,children:modifiedComponent});return /*#__PURE__*/cloneElement(slotComponent,{...slotComponent.props,children:newChild});}return modifiedComponent;};/**\r\n     * Render canvas placeholder for custom button mode\r\n     */const renderCustomButtonPlaceholder=()=>{return /*#__PURE__*/_jsxs(\"div\",{style:{padding:\"24px\",textAlign:\"center\",...buttonCustomStyles.border,borderColor:buttonCustomStyles.border?.borderColor??\"transparent\",color:\"#6c757d\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"16px\",fontWeight:500,marginBottom:\"8px\",color:\"#495057\"},children:\"Connect Custom Button\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"14px\"},children:\"Add a component with 4 variants: default, loading, success, error\"})]});};/**\r\n     * Render custom button with variant\r\n     */const renderCustomButton=()=>{const hasCustomButton=customButton&&Array.isArray(customButton)&&customButton.length>0;if(!hasCustomButton){// Show placeholder in canvas mode\nif(isCanvas){return renderCustomButtonPlaceholder();}// In preview/live, show error if no component connected\nreturn /*#__PURE__*/_jsx(\"div\",{style:{padding:12,border:\"1px dashed red\",borderRadius:8,color:\"red\",fontSize:12,background:\"rgba(255,0,0,0.1)\",textAlign:\"center\"},children:\"[FormKit] Custom Button Missing\"});}const currentVariant=getCurrentVariant();return renderSlotWithVariant(customButton[0],currentVariant);};// ========================================================================\n// RENDER\n// ========================================================================\n// Custom button mode\nif(buttonType===\"custom\"){const hasCustomButton=customButton&&Array.isArray(customButton)&&customButton.length>0;return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,...style,style:{...style,display:\"flex\",flexDirection:\"column\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:handleClick,disabled:disabled||isSubmitting,style:{// Reset all browser button styles\nall:\"unset\",display:\"block\",width:\"100%\",cursor:disabled||isSubmitting?\"not-allowed\":\"pointer\",opacity:disabled?.5:1,boxSizing:\"border-box\"},children:renderCustomButton()})});}// Default button mode\nconst getButtonStyles=()=>{if(submitState===\"success\"){return{color:successStyles.color||\"#2E7D32\",backgroundColor:successStyles.backgroundColor||\"#E8F5E9\",...successStyles};}if(submitState===\"error\"){return{color:errorStyles.color||\"#C62828\",backgroundColor:errorStyles.backgroundColor||\"#FFEBEE\",...errorStyles};}return{};};const currentStyles=getButtonStyles();return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,...style,style:{...style,display:\"flex\",flexDirection:\"column\",position:\"relative\"},children:/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:handleClick,disabled:disabled||isSubmitting,style:{width:\"100%\",padding:buttonCustomStyles.padding??\"12px 24px\",fontFamily:buttonCustomStyles.font?.fontFamily??\"inherit\",fontSize:buttonCustomStyles.font?.fontSize??14,fontWeight:buttonCustomStyles.font?.fontWeight??600,letterSpacing:buttonCustomStyles.font?.letterSpacing??undefined,lineHeight:buttonCustomStyles.font?.lineHeight??undefined,color:buttonCustomStyles.color??\"#FFFFFF\",backgroundColor:buttonCustomStyles.backgroundColor??\"rgb(51, 51, 51)\",...buttonCustomStyles.border,borderColor:buttonCustomStyles.border?.borderColor??\"transparent\",borderRadius:`${buttonCustomStyles.borderRadius??6}px`,cursor:disabled||isSubmitting?\"not-allowed\":\"pointer\",opacity:disabled||isSubmitting?.7:1,transition:\"opacity 0.2s, transform 0.1s, background-color 0.2s, color 0.2s\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"8px\",...buttonStyles,...currentStyles},onMouseEnter:e=>{if(!disabled&&!isSubmitting&&submitState!==\"success\"&&submitState!==\"error\"){if(hoverStyles.backgroundColor){e.currentTarget.style.backgroundColor=hoverStyles.backgroundColor;}if(hoverStyles.color){e.currentTarget.style.color=hoverStyles.color;}if(hoverStyles.borderColor){e.currentTarget.style.borderColor=hoverStyles.borderColor;}if(hoverStyles.opacity!==undefined){e.currentTarget.style.opacity=String(hoverStyles.opacity);}else if(!hoverStyles.backgroundColor){e.currentTarget.style.opacity=\"0.9\";}if(hoverStyles.scale){e.currentTarget.style.transform=`scale(${hoverStyles.scale})`;}}},onMouseLeave:e=>{if(!disabled&&!isSubmitting&&submitState!==\"success\"&&submitState!==\"error\"){e.currentTarget.style.backgroundColor=buttonCustomStyles.backgroundColor??\"rgb(51, 51, 51)\";e.currentTarget.style.color=buttonCustomStyles.color??\"#FFFFFF\";e.currentTarget.style.borderColor=buttonCustomStyles.border?.borderColor??\"transparent\";e.currentTarget.style.opacity=\"1\";e.currentTarget.style.transform=\"scale(1)\";}},onMouseDown:e=>{if(!disabled&&!isSubmitting&&submitState!==\"success\"&&submitState!==\"error\"){e.currentTarget.style.transform=\"scale(0.98)\";}},onMouseUp:e=>{if(!disabled&&!isSubmitting&&submitState!==\"success\"&&submitState!==\"error\"){e.currentTarget.style.transform=\"scale(1)\";}},children:[isSubmitting&&/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"3\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{animation:\"spin 1s linear infinite\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M21 12a9 9 0 1 1-6.219-8.56\"})}),isSubmitting?loadingText:submitState===\"success\"?successText:submitState===\"error\"?errorText:text,/*#__PURE__*/_jsx(\"style\",{children:`\r\n                    @keyframes spin {\r\n                        0% { transform: rotate(0deg); }\r\n                        100% { transform: rotate(360deg); }\r\n                    }\r\n                `})]})});}addPropertyControls(FormKitSubmit,{formId:{type:ControlType.String,title:\"Form ID\",defaultValue:\"default\"},// === BUTTON TYPE ===\nbuttonType:{type:ControlType.Enum,title:\"Button Type\",options:[\"default\",\"custom\"],optionTitles:[\"Default (Built-in)\",\"Your Component\"],defaultValue:\"default\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},// === CUSTOM BUTTON SLOT ===\ncustomButton:{type:ControlType.Slot,title:\"Custom Button\",description:\"Connect a component with 4 variants: default, loading, success, error\",maxCount:1,hidden:props=>props.buttonType!==\"custom\"},// === VARIANT MAPPINGS ===\nvariantMappings:{type:ControlType.Object,title:\"Variant Names\",description:\"Map your component's variant names to button states\",hidden:props=>props.buttonType!==\"custom\",controls:{defaultVariant:{type:ControlType.String,title:\"Default\",defaultValue:\"default\"},loadingVariant:{type:ControlType.String,title:\"Loading\",defaultValue:\"loading\"},successVariant:{type:ControlType.String,title:\"Success\",defaultValue:\"success\"},errorVariant:{type:ControlType.String,title:\"Error\",defaultValue:\"error\"}}},// === DEFAULT BUTTON TEXT ===\ntext:{type:ControlType.String,title:\"Button Text\",defaultValue:\"Submit\",hidden:props=>props.buttonType===\"custom\"},loadingText:{type:ControlType.String,title:\"Loading Text\",defaultValue:\"Submitting...\",hidden:props=>props.buttonType===\"custom\"},successText:{type:ControlType.String,title:\"Success Text\",defaultValue:\"Form submitted successfully!\",hidden:props=>props.buttonType===\"custom\"},errorText:{type:ControlType.String,title:\"Error Text\",defaultValue:\"Please fix the errors above\",hidden:props=>props.buttonType===\"custom\"},// === DEFAULT BUTTON STYLING ===\nstyling:{type:ControlType.Object,buttonTitle:\"Styles\",hidden:props=>props.buttonType===\"custom\",controls:{buttonStyles:{type:ControlType.Object,buttonTitle:\"Button\",controls:{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgb(51, 51, 51)\"},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:14,fontWeight:600}},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:10,min:0,max:100},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:0,borderColor:\"transparent\",borderStyle:\"solid\"}},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 24px 12px 24px\"}}},hoverStyles:{type:ControlType.Object,buttonTitle:\"Hover\",optional:true,controls:{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#0099FF\"},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"rgba(0, 153, 255, 0)\"},opacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,step:.1,defaultValue:1,displayStepper:true},scale:{type:ControlType.Number,title:\"Scale\",min:.9,max:1.1,step:.01,defaultValue:1,displayStepper:true}}},successStyles:{type:ControlType.Object,title:\"Success Styles\",optional:true,controls:{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#E8F5E9\"},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#2E7D32\"}}},errorStyles:{type:ControlType.Object,title:\"Error Styles\",optional:true,controls:{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFEBEE\"},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#C62828\"}}}}},// === TIMING ===\nloadingDuration:{type:ControlType.Number,title:\"Loading Duration (ms)\",defaultValue:1e3,min:0,max:1e4,step:100},successDuration:{type:ControlType.Number,title:\"Success Duration (ms)\",defaultValue:3e3,min:0,max:1e4,step:100},errorDuration:{type:ControlType.Number,title:\"Error Duration (ms)\",defaultValue:3e3,min:0,max:1e4,step:100},// === BEHAVIOR ===\nshowOnlyOnLastStep:{type:ControlType.Boolean,title:\"Show Only On Last Step\",defaultValue:true},disabled:{type:ControlType.Boolean,title:\"Disabled\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FormKitSubmit\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormKitSubmit.map","/**\n * FormKitText - Text Input Field\n *\n * A text input field with validation, conditional visibility, and form store integration.\n *\n * Features:\n * - Hybrid prop structure (flat main options, nested styling)\n * - Auto-sync with form store via useFormField hook\n * - Configurable validation timing (onBlur, onChange)\n * - Error display with validation\n * - Conditional visibility (Array/Object format only)\n * - Min/max length validation\n * - Pattern matching\n * - Optional success message\n *\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState}from\"react\";import{useFormField}from\"https://framerusercontent.com/modules/QcJOsISgPpDHi68MFiJ7/Oue2Y3kFPZrEnXc1vsIr/Hooks.js\";import{getFormStore,getFormStoreKey}from\"https://framerusercontent.com/modules/W9pGMfwOEUT2E0G0vdr3/12TLxgY5AZn0dIW7lYwr/Store_management.js\";import{evaluateFieldState,getConditionalBadge}from\"https://framerusercontent.com/modules/YQMwVuIkIDYjLHJOwEnu/TRkCWeYE6D8iyNQspEDP/Conditions.js\";import{SHOW_IF_CONTROL,SHOW_IF_MATCH_CONTROL,SHOW_IF_ACTION_CONTROL,STORE_CONFIG_CONTROL,VALIDATION_CONTROLS,BASE_INPUT_STYLE_CONTROLS,LABEL_STYLE_CONTROLS,ERROR_STYLE_CONTROLS,SUCCESS_STYLE_CONTROLS,FOCUS_STYLE_CONTROLS,createStylingControl}from\"https://framerusercontent.com/modules/gWXlNkIcFnVLxXMR7ktn/x2lQwKjzPxwB8Fxcavb5/Property_controls.js\";import{HiddenFieldMarker}from\"https://framerusercontent.com/modules/zT6ckO4RKI5zB9JzgGVW/16Mycued7dXi3HUGvAQC/HiddenFieldMarker.js\";import{IconCheck,IconAlert,renderIcon}from\"https://framerusercontent.com/modules/hSeRQvQLiNwfAzfTZN4C/UdPinQoFWx3tCCDFtB4f/Icons.js\";/**\n * @framerIntrinsicWidth 300\n * @framerSupportedLayoutHeight auto\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerDisableUnlink\n */export default function FormKitText(props){const{// Main props\nname,label,placeholder=\"\",required=false,// disabled prop removed\n// Validation (nested)\nvalidation={},// Styling\nstyling={},// Conditional visibility\nshowIf,showIfMatch=\"all\",showIfAction=\"show\",// Store (simplified!)\nformId=\"default\",// storeKey removed\n// Framer\nstyle}=props;// Destructure validation options\nconst{validateOnBlur=true,validateOnChange=false,validationType=\"built-in\",minLength,maxLength,pattern,requiredMessage,minLengthMessage,maxLengthMessage,patternMessage,successMessage}=validation;// Extract nested styling with defaults\nconst{inputStyles={},labelStyles={},errorStyles={},successStyles={},focusStyles={}}=styling;// Warn if name contains spaces\nuseEffect(()=>{if(name.includes(\" \")){console.warn(`FormKit Warning: Field name \"${name}\" contains spaces. `+`This may cause issues. Use camelCase (firstName) or snake_case (first_name) instead.`);}},[name]);// Build validation config based on validationType\nconst validationConfig={required,requiredMessage,type:\"text\",// Only include validations based on validationType\n...validationType===\"built-in\"&&{minLength:minLength||undefined,minLengthMessage,maxLength:maxLength||undefined,maxLengthMessage},...validationType===\"pattern\"&&{pattern:pattern||undefined,patternMessage}};// Get store state first to evaluate conditions before useFormField\n// This allows us to pass skipValidation based on field visibility\nconst actualFormId=formId||\"default\";const useStore=getFormStore(getFormStoreKey(actualFormId,\"auto\"));const[storeState]=useStore();// Detect render mode\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;// Evaluate field state BEFORE useFormField to determine skipValidation\nconst fieldState=evaluateFieldState(showIf,storeState?.data||{},showIfMatch,showIfAction);// Determine visibility and disabled state\nlet isVisible=true;let isDisabled=false;let showBadge=false;let badgeText=\"\";if(isCanvas){isVisible=true;isDisabled=false;// Use helper function for badge logic\nconst badge=getConditionalBadge(showIf,fieldState,showIfAction);showBadge=badge.showBadge;badgeText=badge.badgeText;}else{isVisible=fieldState.isVisible;isDisabled=fieldState.isDisabled;}// Skip validation if field is hidden or disabled (in preview/live mode)\nconst shouldSkipValidation=!isCanvas&&(!isVisible||isDisabled);// Use custom hook for form field logic\nconst{value,error,isTouched,isValidating,hasValidated,state,handleChange,handleBlur}=useFormField({name,formId,storeKey:\"auto\",validation:validationConfig,validateOnBlur,validateOnChange,skipValidation:shouldSkipValidation,label});// Track focus state for border color\nconst[isFocused,setIsFocused]=useState(false);if(!isVisible)return /*#__PURE__*/_jsx(HiddenFieldMarker,{});// Determine if we should show success message\n// Only show success AFTER validation has completed at least once\nconst shouldShowSuccess=hasValidated&&// Validation must have run at least once\n!isValidating&&// Not currently validating\n!error&&// No validation errors\nsuccessMessage&&// User provided success message\nvalue&&// Field has a value\n(required?value.trim()!==\"\":true)// If required, must not be empty\n;// Build input styles - use success overrides when applicable\nconst inputStyle={width:\"100%\",padding:inputStyles.padding??\"12px\",fontSize:shouldShowSuccess&&successStyles.inputFont?.fontSize?successStyles.inputFont.fontSize:inputStyles.font?.fontSize??14,fontFamily:shouldShowSuccess&&successStyles.inputFont?.fontFamily?successStyles.inputFont.fontFamily:inputStyles.font?.fontFamily??\"inherit\",fontWeight:shouldShowSuccess&&successStyles.inputFont?.fontWeight?successStyles.inputFont.fontWeight:inputStyles.font?.fontWeight??undefined,lineHeight:inputStyles.font?.lineHeight??undefined,letterSpacing:inputStyles.font?.letterSpacing??undefined,color:shouldShowSuccess&&successStyles.inputTextColor?successStyles.inputTextColor:isFocused&&focusStyles.textColor?focusStyles.textColor:value?inputStyles.textColor??\"#999999\":inputStyles.placeholderColor??\"#999999\",backgroundColor:isFocused&&focusStyles.backgroundColor?focusStyles.backgroundColor:isDisabled?\"#F5F5F5\":inputStyles.backgroundColor??\"rgba(187, 187, 187, 0.15)\",borderWidth:\"1px\",borderStyle:\"solid\",...isFocused&&focusStyles.border?focusStyles.border:inputStyles.border,borderColor:isCanvas?inputStyles.border?.borderColor??\"rgba(187, 187, 187, 0.15)\":shouldShowSuccess&&successStyles.inputBorderColor?successStyles.inputBorderColor:error&&(isTouched||state?.submitAttempted)?inputStyles.errorBorderColor??\"#FF4444\":isFocused?focusStyles.border?.borderColor??inputStyles.focusBorderColor??\"#0099FF\":inputStyles.border?.borderColor??\"rgba(187, 187, 187, 0.15)\",borderRadius:inputStyles.borderRadius??12,outline:\"none\",transition:focusStyles.transition??\"border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease\",cursor:isDisabled?\"not-allowed\":\"text\",opacity:isDisabled?inputStyles.disabledOpacity??.5:1,boxSizing:\"border-box\",boxShadow:isFocused&&focusStyles.shadows?focusStyles.shadows:inputStyles.shadows};// Build label styles - use success overrides when applicable\nconst labelStyle={display:\"block\",fontSize:shouldShowSuccess&&successStyles.labelFont?.fontSize?successStyles.labelFont.fontSize:labelStyles.font?.fontSize??12,fontWeight:shouldShowSuccess&&successStyles.labelFont?.fontWeight?successStyles.labelFont.fontWeight:labelStyles.font?.fontWeight??\"500\",fontFamily:shouldShowSuccess&&successStyles.labelFont?.fontFamily?successStyles.labelFont.fontFamily:labelStyles.font?.fontFamily??\"Inter\",lineHeight:labelStyles.font?.lineHeight??undefined,letterSpacing:labelStyles.font?.letterSpacing??undefined,color:shouldShowSuccess&&successStyles.labelColor?successStyles.labelColor:labelStyles.color??\"#888888\",marginBottom:labelStyles.marginBottom??8,transition:\"color 0.2s ease\"};// Build error styles\nconst errorStyle={fontSize:errorStyles.font?.fontSize??12,fontWeight:errorStyles.font?.fontWeight??undefined,fontFamily:errorStyles.font?.fontFamily??\"Inter\",lineHeight:errorStyles.font?.lineHeight??undefined,letterSpacing:errorStyles.font?.letterSpacing??undefined,color:errorStyles.color??\"#FF4444\",marginTop:errorStyles.marginTop??4};// Build success message styles\nconst successStyle={fontSize:successStyles.messageFont?.fontSize??12,fontWeight:successStyles.messageFont?.fontWeight??undefined,fontFamily:successStyles.messageFont?.fontFamily??undefined,color:successStyles.messageColor??\"#22C55E\",marginTop:successStyles.marginTop??4};// Generate unique ID for accessibility\nconst fieldId=`${formId}-${name}`;return /*#__PURE__*/_jsxs(\"div\",{...style,style:{...style,display:\"flex\",flexDirection:\"column\",width:\"100%\",position:\"relative\"},children:[isCanvas&&showBadge&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-8,right:-8,backgroundColor:\"#FF6B00\",color:\"white\",fontSize:10,fontWeight:600,padding:\"2px 6px\",borderRadius:4,zIndex:1e3,pointerEvents:\"none\",boxShadow:\"0 2px 4px rgba(0,0,0,0.2)\"},children:badgeText}),label&&/*#__PURE__*/_jsxs(\"label\",{htmlFor:fieldId,style:labelStyle,children:[label,required&&/*#__PURE__*/_jsx(\"span\",{style:{color:\"#FF4444\",marginLeft:4},children:\"*\"})]}),/*#__PURE__*/_jsx(\"style\",{children:`\n                #${fieldId} {\n                    -webkit-text-fill-color: ${shouldShowSuccess&&successStyles.inputTextColor?successStyles.inputTextColor:isFocused&&focusStyles.textColor?focusStyles.textColor:value?inputStyles.textColor??\"#999999\":inputStyles.placeholderColor??\"#999999\"};\n                }\n                #${fieldId}::placeholder {\n                    color: ${isFocused&&focusStyles.placeholderColor?focusStyles.placeholderColor:inputStyles.placeholderColor??\"#999999\"};\n                    -webkit-text-fill-color: ${isFocused&&focusStyles.placeholderColor?focusStyles.placeholderColor:inputStyles.placeholderColor??\"#999999\"};\n                    opacity: 1;\n                }\n                #${fieldId}:-webkit-autofill,\n                #${fieldId}:-webkit-autofill:hover,\n                #${fieldId}:-webkit-autofill:focus,\n                #${fieldId}:-webkit-autofill:active,\n                #${fieldId}:autofill,\n                #${fieldId}:autofill:hover,\n                #${fieldId}:autofill:focus,\n                #${fieldId}:autofill:active {\n                    -webkit-box-shadow: 0 0 0 1000px ${inputStyles.backgroundColor??\"#F5F5F5\"} inset !important;\n                    box-shadow: 0 0 0 1000px ${inputStyles.backgroundColor??\"#F5F5F5\"} inset !important;\n                    -webkit-text-fill-color: ${inputStyles.textColor??\"#999999\"} !important;\n                    caret-color: ${inputStyles.textColor??\"#999999\"} !important;\n                    transition: background-color 5000s ease-in-out 0s !important;\n                }\n            `}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"input\",{id:fieldId,type:\"text\",name:name,value:value||\"\",onChange:e=>handleChange(e.target.value),onBlur:()=>{setIsFocused(false);handleBlur();},onFocus:()=>setIsFocused(true),placeholder:placeholder,disabled:isDisabled,required:required,\"data-formkit\":\"true\",minLength:validationType===\"built-in\"&&minLength?minLength:undefined,maxLength:validationType===\"built-in\"&&maxLength?maxLength:undefined,pattern:validationType===\"pattern\"&&pattern?pattern:undefined,style:inputStyle}),shouldShowSuccess&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:12,top:\"50%\",transform:\"translateY(-50%)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:successStyles.inputTextColor||\"#0099FF\",pointerEvents:\"none\",width:16,height:16},children:renderIcon({iconType:successStyles.iconType,customIcon:successStyles.customIcon,DefaultIcon:IconCheck})})]}),error&&(isTouched||state?.submitAttempted)&&/*#__PURE__*/_jsxs(\"div\",{style:{...errorStyle,display:\"flex\",alignItems:\"center\",textTransform:\"lowercase\",gap:6},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:14,height:14},children:renderIcon({iconType:errorStyles.iconType,customIcon:errorStyles.customIcon,DefaultIcon:IconAlert})}),error]}),shouldShowSuccess&&successMessage&&/*#__PURE__*/_jsx(\"div\",{style:{...successStyle},children:successMessage})]});}// Property Controls - Hybrid structure\naddPropertyControls(FormKitText,{// FLAT - Main options (easy to access and update)\nname:{type:ControlType.String,title:\"Name\",defaultValue:\"name\",description:\"Use camelCase or snake_case, NO SPACES. Examples: firstName, user_email, phone_number\",placeholder:\"field-name\"},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Name\",description:\"Field label displayed above input\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Enter the name\",description:\"Placeholder text shown when empty\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false},// disabled prop removed\n// NESTED - Validation (organized!)\nvalidation:{type:ControlType.Object,buttonTitle:\"Validation\",optional:true,controls:VALIDATION_CONTROLS},// NESTED - Styling (organized group)\nstyling:createStylingControl({inputStyles:{type:ControlType.Object,buttonTitle:\"Input\",optional:true,controls:{...BASE_INPUT_STYLE_CONTROLS,focusBorderColor:{type:ControlType.Color,hidden:()=>true}}},labelStyles:{type:ControlType.Object,buttonTitle:\"Label\",optional:true,controls:LABEL_STYLE_CONTROLS},errorStyles:{type:ControlType.Object,buttonTitle:\"Error\",optional:true,controls:ERROR_STYLE_CONTROLS},successStyles:{type:ControlType.Object,buttonTitle:\"Success\",optional:true,controls:SUCCESS_STYLE_CONTROLS},focusStyles:{type:ControlType.Object,buttonTitle:\"Focus\",optional:true,controls:FOCUS_STYLE_CONTROLS}}),// Conditional visibility\nshowIf:SHOW_IF_CONTROL,showIfMatch:{...SHOW_IF_MATCH_CONTROL,hidden:props=>!props.showIf||props.showIf.length===0},showIfAction:{...SHOW_IF_ACTION_CONTROL,hidden:props=>!props.showIf||props.showIf.length===0},// Store connection (flat)\n...STORE_CONFIG_CONTROL});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FormKitText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"300\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormKitText.map","/**\r\n * FormKitTextarea - Multi-line Text Input Field\r\n *\r\n * A textarea input field with validation, conditional visibility, and form store integration.\r\n *\r\n * Features:\r\n * - Hybrid prop structure (flat main options, nested styling)\r\n * - Auto-sync with form store via useFormField hook\r\n * - Configurable validation timing (onBlur, onChange)\r\n * - Error display with validation\r\n * - Conditional visibility (Array/Object format only)\r\n * - Min/max length validation\r\n * - Pattern matching\r\n * - Optional success message\r\n * - Auto-resize capability\r\n * - Character counter\r\n **/import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useState}from\"react\";import{useFormField}from\"https://framerusercontent.com/modules/QcJOsISgPpDHi68MFiJ7/Oue2Y3kFPZrEnXc1vsIr/Hooks.js\";import{getFormStore,getFormStoreKey}from\"https://framerusercontent.com/modules/W9pGMfwOEUT2E0G0vdr3/12TLxgY5AZn0dIW7lYwr/Store_management.js\";import{evaluateFieldState,getConditionalBadge}from\"https://framerusercontent.com/modules/YQMwVuIkIDYjLHJOwEnu/TRkCWeYE6D8iyNQspEDP/Conditions.js\";import{SHOW_IF_CONTROL,SHOW_IF_MATCH_CONTROL,SHOW_IF_ACTION_CONTROL,STORE_CONFIG_CONTROL,VALIDATION_CONTROLS,BASE_INPUT_STYLE_CONTROLS,LABEL_STYLE_CONTROLS,ERROR_STYLE_CONTROLS,SUCCESS_STYLE_CONTROLS,FOCUS_STYLE_CONTROLS,createStylingControl}from\"https://framerusercontent.com/modules/gWXlNkIcFnVLxXMR7ktn/x2lQwKjzPxwB8Fxcavb5/Property_controls.js\";import{HiddenFieldMarker}from\"https://framerusercontent.com/modules/zT6ckO4RKI5zB9JzgGVW/16Mycued7dXi3HUGvAQC/HiddenFieldMarker.js\";import{IconCheck,IconAlert,renderIcon}from\"https://framerusercontent.com/modules/hSeRQvQLiNwfAzfTZN4C/UdPinQoFWx3tCCDFtB4f/Icons.js\";/**\r\n * @framerIntrinsicWidth 300\r\n * @framerSupportedLayoutHeight auto\r\n * @framerSupportedLayoutWidth any-prefer-fixed\r\n * @framerDisableUnlink\r\n */export default function FormKitTextarea(props){const{// Main props\nname,label,placeholder=\"\",required=false,// disabled prop removed\n// Textarea-specific\nrows=4,autoResize=false,autoResizeMinHeight=100,autoResizeMaxHeight,showCharCount=false,// Validation (nested)\nvalidation={},// Styling\nstyling={},// Conditional visibility\nshowIf,showIfMatch=\"all\",showIfAction=\"show\",// Store (simplified!)\nformId=\"default\",// storeKey removed\n// Framer\nstyle}=props;// Destructure validation options\nconst{validateOnBlur=true,validateOnChange=false,validationType=\"built-in\",minLength,maxLength,pattern,requiredMessage,minLengthMessage,maxLengthMessage,patternMessage,successMessage}=validation;// Extract nested styling with defaults\nconst{inputStyles={},labelStyles={},errorStyles={},successStyles={},focusStyles={}}=styling;// Textarea ref for auto-resize\nconst textareaRef=useRef(null);// Warn if name contains spaces\nuseEffect(()=>{if(name.includes(\" \")){console.warn(`FormKit Warning: Field name \"${name}\" contains spaces. `+`This may cause issues. Use camelCase (firstName) or snake_case (first_name) instead.`);}},[name]);// Build validation config based on validationType\nconst validationConfig={required,requiredMessage,type:\"text\",// Only include validations based on validationType\n...validationType===\"built-in\"&&{minLength:minLength||undefined,minLengthMessage,maxLength:maxLength||undefined,maxLengthMessage},...validationType===\"pattern\"&&{pattern:pattern||undefined,patternMessage}};// Get store state first to evaluate conditions before useFormField\nconst actualFormId=formId||\"default\";const useStore=getFormStore(getFormStoreKey(actualFormId,\"auto\"));const[storeState]=useStore();// Detect render mode\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;// Evaluate field state BEFORE useFormField to determine skipValidation\nconst fieldState=evaluateFieldState(showIf,storeState?.data||{},showIfMatch,showIfAction);// Determine visibility and disabled state\nlet isVisible=true;let isDisabled=false;let showBadge=false;let badgeText=\"\";if(isCanvas){isVisible=true;isDisabled=false;// Use helper function for badge logic\nconst badge=getConditionalBadge(showIf,fieldState,showIfAction);showBadge=badge.showBadge;badgeText=badge.badgeText;}else{isVisible=fieldState.isVisible;isDisabled=fieldState.isDisabled;}// Skip validation if field is hidden or disabled (in preview/live mode)\nconst shouldSkipValidation=!isCanvas&&(!isVisible||isDisabled);// Use custom hook for form field logic\nconst{value,error,isTouched,isValidating,hasValidated,state,handleChange,handleBlur}=useFormField({name,formId,storeKey:\"auto\",validation:validationConfig,validateOnBlur,validateOnChange,skipValidation:shouldSkipValidation,label});// Auto-resize effect\nuseEffect(()=>{if(autoResize&&textareaRef.current){const el=textareaRef.current;el.style.height=\"auto\";const scrollHeight=el.scrollHeight;const minHeightPx=autoResizeMinHeight?Number(autoResizeMinHeight):100;const maxHeightPx=autoResizeMaxHeight?Number(autoResizeMaxHeight):undefined;const nextHeight=Math.max(scrollHeight,minHeightPx);el.style.height=maxHeightPx?`${Math.min(nextHeight,maxHeightPx)}px`:`${nextHeight}px`;if(maxHeightPx&&nextHeight>maxHeightPx){el.style.overflowY=\"auto\";}else{el.style.overflowY=\"hidden\";}}else if(textareaRef.current){// Reset height when auto-resize is disabled\nconst el=textareaRef.current;el.style.height=\"\";el.style.overflowY=\"\";}},[value,autoResize,autoResizeMinHeight,autoResizeMaxHeight]);// Track focus state for border color\nconst[isFocused,setIsFocused]=useState(false);if(!isVisible)return /*#__PURE__*/_jsx(HiddenFieldMarker,{});// Determine if we should show success message\n// Only show success AFTER validation has completed at least once\nconst shouldShowSuccess=hasValidated&&// Validation must have run at least once\n!isValidating&&// Not currently validating\n!error&&// No validation errors\nsuccessMessage&&// User provided success message\nvalue&&// Field has a value\n(required?value.trim()!==\"\":true)// If required, must not be empty\n;// Character count\nconst charCount=(value||\"\").length;// Build textarea styles - use success overrides when applicable\nconst textareaStyle={width:\"100%\",padding:inputStyles.padding??\"12px\",fontSize:shouldShowSuccess&&successStyles.inputFont?.fontSize?successStyles.inputFont.fontSize:inputStyles.font?.fontSize??14,fontFamily:shouldShowSuccess&&successStyles.inputFont?.fontFamily?successStyles.inputFont.fontFamily:inputStyles.font?.fontFamily??\"inherit\",fontWeight:shouldShowSuccess&&successStyles.inputFont?.fontWeight?successStyles.inputFont.fontWeight:inputStyles.font?.fontWeight??undefined,lineHeight:inputStyles.font?.lineHeight??undefined,letterSpacing:inputStyles.font?.letterSpacing??undefined,color:shouldShowSuccess&&successStyles.inputTextColor?successStyles.inputTextColor:isFocused&&focusStyles.textColor?focusStyles.textColor:value?inputStyles.textColor??\"#999999\":inputStyles.placeholderColor??\"#999999\",backgroundColor:isFocused&&focusStyles.backgroundColor?focusStyles.backgroundColor:isDisabled?\"#F5F5F5\":inputStyles.backgroundColor??\"rgba(187, 187, 187, 0.15)\",borderWidth:\"1px\",borderStyle:\"solid\",...isFocused&&focusStyles.border?focusStyles.border:inputStyles.border,borderColor:isCanvas?inputStyles.border?.borderColor??\"rgba(187, 187, 187, 0.15)\":shouldShowSuccess&&successStyles.inputBorderColor?successStyles.inputBorderColor:error&&(isTouched||state?.submitAttempted)?inputStyles.errorBorderColor??\"#FF4444\":isFocused?focusStyles.border?.borderColor??inputStyles.focusBorderColor??\"#0099FF\":inputStyles.border?.borderColor??\"rgba(187, 187, 187, 0.15)\",borderRadius:inputStyles.borderRadius??12,outline:\"none\",transition:focusStyles.transition??\"border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease\",cursor:isDisabled?\"not-allowed\":\"text\",opacity:isDisabled?inputStyles.disabledOpacity??.5:1,boxSizing:\"border-box\",resize:autoResize?\"none\":\"vertical\",boxShadow:isFocused&&focusStyles.shadows?focusStyles.shadows:inputStyles.shadows,minHeight:autoResize?autoResizeMinHeight||100:undefined};// Build label styles - use success overrides when applicable\nconst labelStyle={display:\"block\",fontSize:shouldShowSuccess&&successStyles.labelFont?.fontSize?successStyles.labelFont.fontSize:labelStyles.font?.fontSize??12,fontWeight:shouldShowSuccess&&successStyles.labelFont?.fontWeight?successStyles.labelFont.fontWeight:labelStyles.font?.fontWeight??\"500\",fontFamily:shouldShowSuccess&&successStyles.labelFont?.fontFamily?successStyles.labelFont.fontFamily:labelStyles.font?.fontFamily??\"Inter\",lineHeight:labelStyles.font?.lineHeight??undefined,letterSpacing:labelStyles.font?.letterSpacing??undefined,color:shouldShowSuccess&&successStyles.labelColor?successStyles.labelColor:labelStyles.color??\"#888888\",marginBottom:labelStyles.marginBottom??8,transition:\"color 0.2s ease\"};// Build error styles\nconst errorStyle={fontSize:errorStyles.font?.fontSize??12,fontWeight:errorStyles.font?.fontWeight??undefined,fontFamily:errorStyles.font?.fontFamily??\"inherit\",lineHeight:errorStyles.font?.lineHeight??undefined,letterSpacing:errorStyles.font?.letterSpacing??undefined,color:errorStyles.color??\"#FF4444\",marginTop:errorStyles.marginTop??4};// Build success message styles\nconst successStyle={fontSize:successStyles.messageFont?.fontSize??12,fontWeight:successStyles.messageFont?.fontWeight??undefined,fontFamily:successStyles.messageFont?.fontFamily??undefined,color:successStyles.messageColor??\"#22C55E\",marginTop:successStyles.marginTop??4};// Generate unique ID for accessibility\nconst fieldId=`${formId}-${name}`;return /*#__PURE__*/_jsxs(\"div\",{...style,style:{...style,display:\"flex\",flexDirection:\"column\",width:\"100%\",position:\"relative\"},children:[isCanvas&&showBadge&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-8,right:-8,backgroundColor:\"#FF6B00\",color:\"white\",fontSize:10,fontWeight:600,padding:\"2px 6px\",borderRadius:4,zIndex:1e3,pointerEvents:\"none\",boxShadow:\"0 2px 4px rgba(0,0,0,0.2)\"},children:badgeText}),label&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"},children:[/*#__PURE__*/_jsxs(\"label\",{htmlFor:fieldId,style:labelStyle,children:[label,required&&/*#__PURE__*/_jsx(\"span\",{style:{color:\"#FF4444\",marginLeft:4},children:\"*\"})]}),showCharCount&&maxLength&&validationType===\"built-in\"&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:12,color:\"#666666\"},children:[charCount,\"/\",maxLength]})]}),/*#__PURE__*/_jsx(\"style\",{children:`\r\n                #${fieldId} {\r\n                    -webkit-text-fill-color: ${shouldShowSuccess&&successStyles.inputTextColor?successStyles.inputTextColor:isFocused&&focusStyles.textColor?focusStyles.textColor:value?inputStyles.textColor??\"#999999\":inputStyles.placeholderColor??\"#999999\"};\r\n                }\r\n                #${fieldId}::placeholder {\r\n                    color: ${isFocused&&focusStyles.placeholderColor?focusStyles.placeholderColor:inputStyles.placeholderColor??\"#999999\"};\r\n                    -webkit-text-fill-color: ${isFocused&&focusStyles.placeholderColor?focusStyles.placeholderColor:inputStyles.placeholderColor??\"#999999\"};\r\n                    opacity: 1;\r\n                }\r\n                #${fieldId}:-webkit-autofill,\r\n                #${fieldId}:-webkit-autofill:hover,\r\n                #${fieldId}:-webkit-autofill:focus,\r\n                #${fieldId}:-webkit-autofill:active,\r\n                #${fieldId}:autofill,\r\n                #${fieldId}:autofill:hover,\r\n                #${fieldId}:autofill:focus,\r\n                #${fieldId}:autofill:active {\r\n                    -webkit-box-shadow: 0 0 0 1000px ${inputStyles.backgroundColor??\"#F5F5F5\"} inset !important;\r\n                    box-shadow: 0 0 0 1000px ${inputStyles.backgroundColor??\"#F5F5F5\"} inset !important;\r\n                    -webkit-text-fill-color: ${inputStyles.textColor??\"#999999\"} !important;\r\n                    caret-color: ${inputStyles.textColor??\"#999999\"} !important;\r\n                    transition: background-color 5000s ease-in-out 0s !important;\r\n                }\r\n            `}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"textarea\",{ref:textareaRef,id:fieldId,name:name,value:value||\"\",onChange:e=>handleChange(e.target.value),onBlur:()=>{setIsFocused(false);handleBlur();},onFocus:()=>setIsFocused(true),onInvalid:e=>e.preventDefault(),placeholder:placeholder,disabled:isDisabled,required:required,\"data-formkit\":\"true\",minLength:validationType===\"built-in\"&&minLength?minLength:undefined,maxLength:validationType===\"built-in\"&&maxLength?maxLength:undefined,rows:autoResize?1:rows,style:textareaStyle}),shouldShowSuccess&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:12,top:12,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:successStyles.inputTextColor||\"#0099FF\",pointerEvents:\"none\",width:16,height:16},children:renderIcon({iconType:successStyles.iconType,customIcon:successStyles.customIcon,DefaultIcon:IconCheck})})]}),error&&(isTouched||state?.submitAttempted)&&/*#__PURE__*/_jsxs(\"div\",{style:{...errorStyle,display:\"flex\",alignItems:\"center\",gap:6},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:14,height:14},children:renderIcon({iconType:errorStyles.iconType,customIcon:errorStyles.customIcon,DefaultIcon:IconAlert})}),error]}),shouldShowSuccess&&successMessage&&/*#__PURE__*/_jsx(\"div\",{style:successStyle,children:successMessage})]});}// Property Controls - Hybrid structure (matching FormKitText pattern)\naddPropertyControls(FormKitTextarea,{// FLAT - Main options (easy to access and update)\nname:{type:ControlType.String,title:\"Name\",defaultValue:\"message\",description:\"Use camelCase or snake_case, NO SPACES. Examples: message, user_bio, comments\",placeholder:\"field-name\"},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Message\",description:\"Field label displayed above textarea\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Message\",description:\"Placeholder text shown when empty\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false},// disabled prop removed - use showIfAction with \"Enable Field\" / \"Disable Field\"\n// FLAT - Textarea-specific options\nrows:{type:ControlType.Number,title:\"Rows\",defaultValue:4,min:1,max:20,step:1,displayStepper:true,hidden:props=>props.autoResize},autoResize:{type:ControlType.Boolean,title:\"Auto Resize\",description:\"Automatically grow as user types\",defaultValue:false},autoResizeMinHeight:{type:ControlType.Number,title:\"Min Height (px)\",min:40,max:500,step:10,defaultValue:100,displayStepper:true,description:\"Minimum height when auto-resizing\",hidden:props=>!props.autoResize},autoResizeMaxHeight:{type:ControlType.Number,title:\"Max Height (px)\",min:50,max:1200,step:10,displayStepper:true,description:\"Maximum height when auto-resizing\",hidden:props=>!props.autoResize},showCharCount:{type:ControlType.Boolean,title:\"Show Char Count\",description:\"Display character counter (requires Max Length)\",defaultValue:false,hidden:props=>!props.validation?.maxLength||props.validation?.validationType===\"pattern\"},// NESTED - Validation (organized!)\nvalidation:{type:ControlType.Object,buttonTitle:\"Validation\",optional:true,controls:VALIDATION_CONTROLS},// NESTED - Styling (organized group)\nstyling:createStylingControl({inputStyles:{type:ControlType.Object,buttonTitle:\"Textarea\",optional:true,controls:{...BASE_INPUT_STYLE_CONTROLS,focusBorderColor:{type:ControlType.Color,hidden:()=>true}}},labelStyles:{type:ControlType.Object,buttonTitle:\"Label\",optional:true,controls:LABEL_STYLE_CONTROLS},errorStyles:{type:ControlType.Object,buttonTitle:\"Error\",optional:true,controls:ERROR_STYLE_CONTROLS},successStyles:{type:ControlType.Object,buttonTitle:\"Success\",optional:true,controls:SUCCESS_STYLE_CONTROLS},focusStyles:{type:ControlType.Object,buttonTitle:\"Focus\",optional:true,controls:FOCUS_STYLE_CONTROLS}}),// Conditional visibility\nshowIf:SHOW_IF_CONTROL,showIfMatch:{...SHOW_IF_MATCH_CONTROL,hidden:props=>!props.showIf||props.showIf.length===0},showIfAction:{...SHOW_IF_ACTION_CONTROL,hidden:props=>!props.showIf||props.showIf.length===0},// Store connection (flat)\n...STORE_CONFIG_CONTROL});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FormKitTextarea\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormKitTextarea.map"],"mappings":"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"}