{"version":3,"file":"CheckboxControl.BwKvm4MD.mjs","names":["DEFAULT_VALIDATION","DEFAULT_LABEL","DEFAULT_LAYOUT","DEFAULT_FOCUS_STYLE","DEFAULT_ERROR_STYLE","useMemo","useState","useRef","useCallback","useRef","useState","useMemo","useCallback","_Fragment","DEFAULT_VALIDATION","DEFAULT_LABEL","DEFAULT_LAYOUT","DEFAULT_FOCUS_STYLE","DEFAULT_ERROR_STYLE","useState","useRef","useMemo","useCallback","_Fragment","useState","useRef","useMemo","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/1GS8uzkgH7PpWgzwydGG/3IGwWhSjz8QcpKIC9b0T/DropdownControl.js","https:/framerusercontent.com/modules/fGoz2nUd8sikgN9UpFV5/VgFxlZlpYuJUb1vD0Mog/KlaviyoIntegrationControl.js","https:/framerusercontent.com/modules/Ji3gM6HwH2zpT19VpHNG/KTBSrMktUa60uktqLLxa/TextInputControl.js","https:/framerusercontent.com/modules/xxMxEDu84ytmIfnefF9k/oBkOLDkzdubJoFJqqncs/CheckboxControl.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{useConditionArray,CONDITION_ARRAY_CONTROL}from\"https://framer.com/m/ConditionalLogicUtil-69lIOW.js\";// ============================================================================\n// DEFAULT VALUES\n// ============================================================================\nconst DEFAULT_VALIDATION={requiredMessage:\"\"};const DEFAULT_LABEL={show:true,requiredMark:\"*\",font:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},color:\"#888888\"};const DEFAULT_LAYOUT={direction:\"vertical\",gap:8,labelWidth:120};const DEFAULT_TRIGGER_STYLE={font:{fontSize:14,lineHeight:1.2},color:\"#333333\",placeholderColor:\"#999999\",background:\"rgba(187,187,187,0.15)\",padding:\"12px 15px 12px 12px\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"},radius:\"10px\",shadow:\"\",height:44};const DEFAULT_DROPDOWN_STYLE={background:\"#FFFFFF\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#E5E7EB\"},radius:\"8px\",shadow:\"0 4px 16px rgba(0,0,0,0.12)\",maxHeight:220,itemGap:2,padding:\"6px\"};const DEFAULT_OPTION_STYLE={font:{fontSize:14,lineHeight:1.4},color:\"#374151\",background:\"transparent\",hoverColor:\"#374151\",hoverBackground:\"#F3F4F6\",selectedColor:\"#1D4ED8\",selectedBackground:\"#DBEAFE\",padding:\"10px\",radius:\"6px\"};const DEFAULT_SEARCH={show:false,placeholder:\"Search...\",font:{fontSize:14,lineHeight:1.4},color:\"#374151\",background:\"#F9FAFB\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#E5E7EB\"},radius:\"6px\",padding:\"10px\"};const DEFAULT_ICON={color:\"#666666\",size:16};const DEFAULT_FOCUS_STYLE={borderColor:\"#3B82F6\",shadow:\"\",scale:1};const DEFAULT_ERROR_STYLE={color:\"#dc2626\",font:{fontSize:12,lineHeight:1.4}};// ============================================================================\n// MAIN COMPONENT\n// ============================================================================\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 92\n * @framerDisableUnlink\n */export default function DropdownControl(props){const{name,labelText,placeholder,required,defaultValue,conditions,options,validation,label,layout,triggerStyle,dropdownStyle,optionStyle,search,icon,focusStyle,errorStyle,_meta,style}=props;// Merge configs with defaults\nconst validationConfig={...DEFAULT_VALIDATION,...validation||{}};const labelConfig={...DEFAULT_LABEL,...label||{},font:{...DEFAULT_LABEL.font,...label&&label.font||{}}};const layoutConfig={...DEFAULT_LAYOUT,...layout||{}};const triggerStyleConfig={...DEFAULT_TRIGGER_STYLE,...triggerStyle||{},font:{...DEFAULT_TRIGGER_STYLE.font,...triggerStyle&&triggerStyle.font||{}},border:{...DEFAULT_TRIGGER_STYLE.border,...triggerStyle&&triggerStyle.border||{}}};const dropdownStyleConfig={...DEFAULT_DROPDOWN_STYLE,...dropdownStyle||{},border:{...DEFAULT_DROPDOWN_STYLE.border,...dropdownStyle&&dropdownStyle.border||{}}};const optionStyleConfig={...DEFAULT_OPTION_STYLE,...optionStyle||{},font:{...DEFAULT_OPTION_STYLE.font,...optionStyle&&optionStyle.font||{}}};const searchConfig={...DEFAULT_SEARCH,...search||{},font:{...DEFAULT_SEARCH.font,...search&&search.font||{}},border:{...DEFAULT_SEARCH.border,...search&&search.border||{}}};const iconConfig={...DEFAULT_ICON,...icon||{}};const focusStyleConfig={...DEFAULT_FOCUS_STYLE,...focusStyle||{}};const errorStyleConfig={...DEFAULT_ERROR_STYLE,...errorStyle||{},font:{...DEFAULT_ERROR_STYLE.font,...errorStyle&&errorStyle.font||{}}};const fieldName=name||\"dropdown\";const currentLabelText=labelText||\"Select\";const inputId=`field-${fieldName}`;const errorId=`error-${fieldName}`;const parsedOptions=useMemo(()=>{if(!options||options?.length===0){return[{label:\"Option A\",value:\"option-a\",enabled:true},{label:\"Option B\",value:\"option-b\",enabled:true},{label:\"Option C\",value:\"option-c\",enabled:true}];}return options?.filter(option=>option.enabled!==false);},[options]);const[value,setValue]=useState(defaultValue||\"\");const[isOpen,setIsOpen]=useState(false);const[searchQuery,setSearchQuery]=useState(\"\");const[highlightedIndex,setHighlightedIndex]=useState(-1);const[error,setError]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const containerRef=useRef(null);const parentRef=useRef(null);const triggerRef=useRef(null);const searchInputRef=useRef(null);const listRef=useRef(null);const hiddenInputRef=useRef(null);const valueRef=useRef(value);valueRef.current=value;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const conditionItems=useMemo(()=>conditions||[],[conditions]);const handleValueReset=useCallback(()=>{setValue(\"\");setError(\"\");},[]);const{isVisible,isRequired,isReadOnly,isDisabled}=useConditionArray(conditionItems,\"\",isCanvas,handleValueReset);const hasRequiredConditions=conditionItems.some(c=>c.type===\"required\");const hasDisableConditions=conditionItems.some(c=>c.type===\"disable\");const hasReadOnlyConditions=conditionItems.some(c=>c.type===\"readOnly\");const effectiveRequired=hasRequiredConditions?isRequired:required;const effectiveDisabled=hasDisableConditions?isDisabled:false;const effectiveDisabledOrReadOnly=effectiveDisabled||(hasReadOnlyConditions?isReadOnly:false);const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);void parsedMeta;// Get selected option label\nconst selectedOption=useMemo(()=>{return parsedOptions.find(opt=>opt.value===value);},[parsedOptions,value]);// Filter options based on search\nconst filteredOptions=useMemo(()=>{if(!searchQuery.trim())return parsedOptions;const query=searchQuery.toLowerCase();return parsedOptions.filter(opt=>opt.label.toLowerCase().includes(query)||opt.value.toLowerCase().includes(query));},[parsedOptions,searchQuery]);useEffect(()=>{setValue(defaultValue||\"\");},[defaultValue]);// Capture the Framer-generated parent wrapper once on mount so we\n// can still collapse it after the component returns null.\nuseEffect(()=>{if(containerRef.current&&!parentRef.current){parentRef.current=containerRef.current.parentElement;}});// Collapse the parent slot when a visibility condition hides\n// this field, so it takes no space in the form layout.\nuseEffect(()=>{const parent=parentRef.current;if(!parent)return;if(!isVisible){const prevDisplay=parent.style.display;parent.style.display=\"none\";return()=>{parent.style.display=prevDisplay;};}},[isVisible]);// Dispatch native change event so conditional logic watchers detect value updates\nuseEffect(()=>{const el=hiddenInputRef.current;if(el){const nativeInputValueSetter=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,\"value\")?.set;nativeInputValueSetter?.call(el,value);el.dispatchEvent(new Event(\"change\",{bubbles:true}));}},[value]);// Click outside handler\nuseEffect(()=>{const handleClickOutside=event=>{if(containerRef.current&&!containerRef.current.contains(event.target)){setIsOpen(false);setSearchQuery(\"\");setHighlightedIndex(-1);}};if(isOpen){document.addEventListener(\"mousedown\",handleClickOutside);}return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};},[isOpen]);// Focus search input when dropdown opens\nuseEffect(()=>{if(isOpen&&searchConfig.show&&searchInputRef.current){setTimeout(()=>{searchInputRef.current?.focus();},50);}},[isOpen,searchConfig.show]);const applyTokens=useCallback((template,fallback)=>{const source=template?.trim()?template:fallback;const tokens={label:currentLabelText||fieldName,name:fieldName};return source.replace(/\\{(label|name)\\}/g,(_,key)=>{return tokens[key]??\"\";});},[currentLabelText,fieldName]);const hasCustomMessages=Boolean(validationConfig.requiredMessage.trim());const validate=useCallback(()=>{const el=hiddenInputRef.current;if(!el)return;el.setCustomValidity(\"\");if(effectiveRequired&&!value){const message=applyTokens(validationConfig.requiredMessage,`Please select ${currentLabelText||\"an option\"}`);setError(message);if(hasCustomMessages){el.setCustomValidity(message);}}else{setError(\"\");}},[effectiveRequired,value,applyTokens,validationConfig.requiredMessage,currentLabelText,hasCustomMessages]);const handleTriggerClick=useCallback(()=>{if(isCanvas)return;setIsOpen(prev=>!prev);setIsFocused(true);setError(\"\");},[isCanvas]);const handleTriggerFocus=useCallback(()=>{setIsFocused(true);},[]);const handleTriggerBlur=useCallback(()=>{if(!isOpen){setIsFocused(false);validate();}},[isOpen,validate]);const handleOptionSelect=useCallback(optionValue=>{setValue(optionValue);setIsOpen(false);setSearchQuery(\"\");setHighlightedIndex(-1);setError(\"\");triggerRef.current?.focus();},[]);const handleSearchChange=useCallback(e=>{setSearchQuery(e.target.value);setHighlightedIndex(0);},[]);const handleKeyDown=useCallback(e=>{if(!isOpen){if(e.key===\"Enter\"||e.key===\" \"||e.key===\"ArrowDown\"){e.preventDefault();e.stopPropagation();setIsOpen(true);}return;}switch(e.key){case\"Escape\":e.preventDefault();e.stopPropagation();setIsOpen(false);setSearchQuery(\"\");setHighlightedIndex(-1);triggerRef.current?.focus();break;case\"ArrowDown\":e.preventDefault();e.stopPropagation();setHighlightedIndex(prev=>prev<filteredOptions.length-1?prev+1:0);break;case\"ArrowUp\":e.preventDefault();e.stopPropagation();setHighlightedIndex(prev=>prev>0?prev-1:filteredOptions.length-1);break;case\"Enter\":e.preventDefault();e.stopPropagation();if(highlightedIndex>=0&&filteredOptions[highlightedIndex]){handleOptionSelect(filteredOptions[highlightedIndex].value);}break;case\"Tab\":setIsOpen(false);setSearchQuery(\"\");setHighlightedIndex(-1);break;}},[isOpen,filteredOptions,highlightedIndex,handleOptionSelect]);const handleInvalid=useCallback(event=>{event.preventDefault();validate();},[validate]);// Form submit interceptor — Framer may submit forms programmatically,\n// bypassing native constraint validation. Uses refs to avoid stale closures.\nconst effectiveRequiredRef=useRef(effectiveRequired);effectiveRequiredRef.current=effectiveRequired;const validateRef=useRef(validate);validateRef.current=validate;useEffect(()=>{if(isCanvas)return;const form=containerRef.current?.closest(\"form\");if(!form)return;const handleFormSubmit=event=>{if(!effectiveRequiredRef.current)return;if(!valueRef.current){event.preventDefault();event.stopPropagation();validateRef.current();}};form.addEventListener(\"submit\",handleFormSubmit,true);return()=>form.removeEventListener(\"submit\",handleFormSubmit,true);},[isCanvas]);// Animation variants\nconst triggerVariants={idle:{borderColor:triggerStyleConfig.border?.borderColor||\"#D1D5DB\",boxShadow:triggerStyleConfig.shadow||\"none\",scale:1},focused:{borderColor:focusStyleConfig.borderColor,boxShadow:focusStyleConfig.shadow||\"none\",scale:focusStyleConfig.scale},error:{borderColor:errorStyleConfig.color,boxShadow:\"0 0 0 3px rgba(239,68,68,0.2)\",scale:1}};const dropdownVariants={hidden:{opacity:0,y:-8,scale:.95},visible:{opacity:1,y:0,scale:1}};const triggerState=error?\"error\":isFocused?\"focused\":\"idle\";const describedBy=error?errorId:undefined;// ============================================================================\n// STYLES\n// ============================================================================\nconst containerStyle={display:\"flex\",flexDirection:layoutConfig.direction===\"horizontal\"?\"row\":\"column\",alignItems:layoutConfig.direction===\"horizontal\"?\"center\":\"stretch\",gap:`${layoutConfig.gap}px`,width:\"100%\",...style};const normalizedLabelFontWeight=(()=>{const current=labelConfig.font?.fontWeight;if(current===undefined||current===null||current===\"\"||current===\"normal\"||current===\"regular\"||current===400||current===\"400\"){return 500;}return current;})();const labelStyle={...labelConfig.font,fontWeight:normalizedLabelFontWeight,color:labelConfig.color,flexShrink:0,...layoutConfig.direction===\"horizontal\"?{width:`${layoutConfig.labelWidth}px`}:{}};const triggerWrapperStyle={position:\"relative\",flex:1,minWidth:0,width:\"100%\"};const triggerButtonStyle={...triggerStyleConfig.border,borderWidth:triggerStyleConfig.border?.borderWidth||1,borderStyle:triggerStyleConfig.border?.borderStyle||\"solid\",borderColor:triggerStyleConfig.border?.borderColor||\"#D1D5DB\",borderRadius:triggerStyleConfig.radius,backgroundColor:triggerStyleConfig.background,padding:triggerStyleConfig.padding,boxShadow:triggerStyleConfig.shadow||\"none\",minHeight:`${triggerStyleConfig.height}px`,width:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:\"8px\",cursor:effectiveDisabledOrReadOnly?\"not-allowed\":\"pointer\",opacity:effectiveDisabledOrReadOnly?.5:1,outline:\"none\",textAlign:\"left\",boxSizing:\"border-box\"};const triggerTextStyle={...triggerStyleConfig.font,color:selectedOption?triggerStyleConfig.color:triggerStyleConfig.placeholderColor,flex:1,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"};const iconStyle={width:`${iconConfig.size}px`,height:`${iconConfig.size}px`,flexShrink:0,transition:\"transform 0.2s ease\",transform:isOpen?\"rotate(180deg)\":\"rotate(0deg)\"};const dropdownPanelStyle={position:\"absolute\",top:\"100%\",left:0,right:0,marginTop:\"4px\",...dropdownStyleConfig.border,borderWidth:dropdownStyleConfig.border?.borderWidth||1,borderStyle:dropdownStyleConfig.border?.borderStyle||\"solid\",borderColor:dropdownStyleConfig.border?.borderColor||\"#E5E7EB\",borderRadius:dropdownStyleConfig.radius,backgroundColor:dropdownStyleConfig.background,boxShadow:dropdownStyleConfig.shadow,padding:dropdownStyleConfig.padding,zIndex:1e3,overflow:\"hidden\",boxSizing:\"border-box\"};const searchInputStyle={...searchConfig.font,color:searchConfig.color,backgroundColor:searchConfig.background,...searchConfig.border,borderWidth:searchConfig.border?.borderWidth||1,borderStyle:searchConfig.border?.borderStyle||\"solid\",borderColor:searchConfig.border?.borderColor||\"#E5E7EB\",borderRadius:searchConfig.radius,padding:searchConfig.padding,width:\"100%\",outline:\"none\",marginBottom:\"8px\",boxSizing:\"border-box\"};const optionsListStyle={maxHeight:`${dropdownStyleConfig.maxHeight}px`,overflowY:\"auto\",overflowX:\"hidden\",display:\"flex\",flexDirection:\"column\",gap:`${dropdownStyleConfig.itemGap}px`};const getOptionStyle=(isSelected,isHighlighted)=>({...optionStyleConfig.font,color:isSelected?optionStyleConfig.selectedColor:isHighlighted?optionStyleConfig.hoverColor:optionStyleConfig.color,backgroundColor:isSelected?optionStyleConfig.selectedBackground:isHighlighted?optionStyleConfig.hoverBackground:optionStyleConfig.background,padding:optionStyleConfig.padding,borderRadius:optionStyleConfig.radius,cursor:\"pointer\",transition:\"background-color 0.15s ease, color 0.15s ease\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"});const errorMessageStyle={...errorStyleConfig.font,color:errorStyleConfig.color,marginTop:\"6px\",overflow:\"hidden\"};const noResultsStyle={...optionStyleConfig.font,color:\"#999999\",padding:optionStyleConfig.padding,textAlign:\"center\"};// ============================================================================\n// RENDER\n// ============================================================================\nconst Wrapper=isCanvas?\"div\":motion.div;if(!isVisible)return null;return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,ref:containerRef,children:[labelConfig.show&&currentLabelText&&/*#__PURE__*/_jsxs(\"label\",{htmlFor:inputId,style:labelStyle,children:[currentLabelText,effectiveRequired&&/*#__PURE__*/_jsx(\"span\",{style:{color:errorStyleConfig.color,marginLeft:\"2px\"},children:labelConfig.requiredMark||\"*\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:triggerWrapperStyle,children:[/*#__PURE__*/_jsxs(Wrapper,{style:{position:\"relative\"},children:[/*#__PURE__*/_jsxs(\"button\",{ref:triggerRef,id:inputId,type:\"button\",disabled:effectiveDisabledOrReadOnly,onClick:handleTriggerClick,onFocus:handleTriggerFocus,onBlur:handleTriggerBlur,onKeyDown:handleKeyDown,\"aria-haspopup\":\"listbox\",\"aria-expanded\":isOpen,\"aria-invalid\":error?\"true\":undefined,\"aria-describedby\":describedBy,style:{...triggerButtonStyle,...isFocused&&!error?{borderColor:focusStyleConfig.borderColor,boxShadow:focusStyleConfig.shadow||\"none\"}:{},...error?{borderColor:errorStyleConfig.color,boxShadow:\"0 0 0 3px rgba(239,68,68,0.2)\"}:{},transition:\"border-color 0.2s ease, box-shadow 0.2s ease\"},children:[/*#__PURE__*/_jsx(\"span\",{style:triggerTextStyle,children:selectedOption?selectedOption.label:placeholder||\"Select an option\"}),/*#__PURE__*/_jsx(\"svg\",{style:iconStyle,viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconConfig.color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"polyline\",{points:\"6 9 12 15 18 9\"})})]}),/*#__PURE__*/_jsx(\"input\",{ref:hiddenInputRef,type:\"text\",name:fieldName,value:value,required:effectiveRequired,disabled:effectiveDisabled,readOnly:true,onChange:()=>{},onInvalid:handleInvalid,tabIndex:-1,\"aria-hidden\":\"true\",style:{position:\"absolute\",opacity:0,width:0,height:0,padding:0,margin:0,border:\"none\",outline:\"none\",appearance:\"none\",pointerEvents:\"none\",overflow:\"hidden\",clip:\"rect(0,0,0,0)\"}})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&!isCanvas&&/*#__PURE__*/_jsxs(motion.div,{initial:\"hidden\",animate:\"visible\",exit:\"hidden\",variants:dropdownVariants,transition:{duration:.15,ease:\"easeOut\"},style:dropdownPanelStyle,role:\"listbox\",onKeyDown:handleKeyDown,children:[searchConfig.show&&/*#__PURE__*/_jsx(\"input\",{ref:searchInputRef,type:\"text\",value:searchQuery,onChange:handleSearchChange,placeholder:searchConfig.placeholder,style:searchInputStyle,autoComplete:\"off\"}),/*#__PURE__*/_jsx(\"div\",{ref:listRef,style:optionsListStyle,children:filteredOptions.length>0?filteredOptions.map((option,index)=>{const isSelected=option.value===value;const isHighlighted=index===highlightedIndex;return /*#__PURE__*/_jsx(\"div\",{role:\"option\",\"aria-selected\":isSelected,onClick:()=>handleOptionSelect(option.value),onMouseEnter:()=>setHighlightedIndex(index),style:getOptionStyle(isSelected,isHighlighted),children:option.label},option.value);}):/*#__PURE__*/_jsx(\"div\",{style:noResultsStyle,children:\"No options found\"})})]})}),/*#__PURE__*/_jsx(AnimatePresence,{children:error&&!isCanvas&&/*#__PURE__*/_jsx(motion.div,{id:errorId,role:\"alert\",initial:{opacity:0,y:-4,height:0},animate:{opacity:1,y:0,height:\"auto\"},exit:{opacity:0,y:-4,height:0},transition:{duration:.2,ease:\"easeOut\"},style:errorMessageStyle,children:error},\"error-message\")})]})]});}DropdownControl.displayName=\"Dropdown\";DropdownControl.defaultProps={name:\"dropdown\",labelText:\"Select\",placeholder:\"Select an option\",required:false,defaultValue:\"\",conditions:[],options:[{label:\"Option A\",value:\"option-a\",enabled:true},{label:\"Option B\",value:\"option-b\",enabled:true},{label:\"Option C\",value:\"option-c\",enabled:true}],validation:DEFAULT_VALIDATION,label:DEFAULT_LABEL,layout:DEFAULT_LAYOUT,triggerStyle:DEFAULT_TRIGGER_STYLE,dropdownStyle:DEFAULT_DROPDOWN_STYLE,optionStyle:DEFAULT_OPTION_STYLE,search:DEFAULT_SEARCH,icon:DEFAULT_ICON,focusStyle:DEFAULT_FOCUS_STYLE,errorStyle:DEFAULT_ERROR_STYLE,_meta:\"\",style:{}};// ============================================================================\n// PROPERTY CONTROLS\n// ============================================================================\naddPropertyControls(DropdownControl,{name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"dropdown\",description:\"Unique name used in submitted form data.\"},labelText:{type:ControlType.String,title:\"Label Text\",defaultValue:\"Select\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Select an option\",description:\"Text shown when no option is selected.\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},defaultValue:{type:ControlType.String,title:\"Default Value\",defaultValue:\"\",description:\"The value of the initially selected option (e.g., 'option-1').\"},options:{type:ControlType.Array,title:\"Options\",defaultValue:[{label:\"Option A\",value:\"option-a\",enabled:true},{label:\"Option B\",value:\"option-b\",enabled:true},{label:\"Option C\",value:\"option-c\",enabled:true}],control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"\",description:\"Text shown to user\"},value:{type:ControlType.String,title:\"Value\",defaultValue:\"\",description:\"Data sent when submitted\"},enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Show or hide this option in the dropdown.\"}}}},validation:{type:ControlType.Object,title:\"Validation\",controls:{requiredMessage:{type:ControlType.String,title:\"Required Error\",defaultValue:\"\",description:\"Message when no option is selected. Supports {label}, {name}.\"}}},label:{type:ControlType.Object,title:\"Label Style\",controls:{show:{type:ControlType.Boolean,title:\"Show Label\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},requiredMark:{type:ControlType.String,title:\"Required Mark\",defaultValue:\"*\",hidden(props){return props.show===false;}},font:{type:ControlType.Font,title:\"Label Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#888888\",hidden(props){return props.show===false;}}}},layout:{type:ControlType.Object,title:\"Layout\",controls:{direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],optionIcons:[\"direction-vertical\",\"direction-horizontal\"],displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:40,step:2,unit:\"px\"},labelWidth:{type:ControlType.Number,title:\"Label Width\",defaultValue:120,min:40,max:300,step:4,unit:\"px\",hidden(props){return props.direction!==\"horizontal\";}}}},triggerStyle:{type:ControlType.Object,title:\"Trigger Style\",controls:{height:{type:ControlType.Number,title:\"Height\",defaultValue:44,min:32,max:80,step:2,unit:\"px\"},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.2}},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#333333\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder\",defaultValue:\"#999999\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(187,187,187,0.15)\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 15px 12px 12px\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"10px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"}}},dropdownStyle:{type:ControlType.Object,title:\"Dropdown Style\",controls:{background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#E5E7EB\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"8px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"0 4px 16px rgba(0,0,0,0.12)\"},maxHeight:{type:ControlType.Number,title:\"Max Height\",defaultValue:220,min:100,max:500,step:10,unit:\"px\",description:\"Maximum height before scrolling.\"},itemGap:{type:ControlType.Number,title:\"Item Gap\",defaultValue:2,min:0,max:16,step:1,unit:\"px\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"6px\"}}},optionStyle:{type:ControlType.Object,title:\"Option Style\",controls:{font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.4}},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#374151\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\"},hoverColor:{type:ControlType.Color,title:\"Hover Text\",defaultValue:\"#374151\"},hoverBackground:{type:ControlType.Color,title:\"Hover BG\",defaultValue:\"#F3F4F6\"},selectedColor:{type:ControlType.Color,title:\"Selected Text\",defaultValue:\"#1D4ED8\"},selectedBackground:{type:ControlType.Color,title:\"Selected BG\",defaultValue:\"#DBEAFE\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"10px 12px\"},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"6px\"}}},search:{type:ControlType.Object,title:\"Search\",controls:{show:{type:ControlType.Boolean,title:\"Show Search\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Search...\",hidden(props){return props.show===false;}},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.2},hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#374151\",hidden(props){return props.show===false;}},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#F9FAFB\",hidden(props){return props.show===false;}},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#E5E7EB\"},hidden(props){return props.show===false;}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"6px\",hidden(props){return props.show===false;}},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"8px 12px\",hidden(props){return props.show===false;}}}},icon:{type:ControlType.Object,title:\"Arrow Icon\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#666666\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:16,min:10,max:24,step:1,unit:\"px\"}}},focusStyle:{type:ControlType.Object,title:\"Focus Style\",controls:{borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#3B82F6\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:1,max:1.05,step:.005}}},errorStyle:{type:ControlType.Object,title:\"Error Style\",description:\"by [Forms Plugin](https://formsplugin.com/?ref=field_setting)\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#dc2626\"},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,lineHeight:1.4}}}},...CONDITION_ARRAY_CONTROL,_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DropdownControl\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"92\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"300\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DropdownControl.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";// ---------------------------------------------------------------------------\n// Defaults\n// ---------------------------------------------------------------------------\nconst DEFAULT_API_CONFIG={apiKey:\"\",listId:\"\",updateEnabled:true};const DEFAULT_FIELDS_CONFIG={mappings:[{formFieldName:\"email\",klaviyoProperty:\"email\"}]};const BASE_URL=\"https://api.framergeeks.com/plugin/api/v1\";// Shared encryption key (must match server INTEGRATION_ENCRYPT_KEY)\nconst ENCRYPT_KEY_HEX=\"a3f2b8c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1\";/**\n * AES-256-GCM encrypt using Web Crypto API.\n * Output: base64( IV 12 bytes + ciphertext + authTag 16 bytes )\n */async function encryptPayload(data){const iv=crypto.getRandomValues(new Uint8Array(12));const keyBytes=new Uint8Array(ENCRYPT_KEY_HEX.match(/.{2}/g).map(b=>parseInt(b,16)));const cryptoKey=await crypto.subtle.importKey(\"raw\",keyBytes,\"AES-GCM\",false,[\"encrypt\"]);const encoded=new TextEncoder().encode(JSON.stringify(data));const encrypted=await crypto.subtle.encrypt({name:\"AES-GCM\",iv},cryptoKey,encoded);// GCM appends 16-byte auth tag to ciphertext automatically\nconst result=new Uint8Array(iv.length+encrypted.byteLength);result.set(iv,0);result.set(new Uint8Array(encrypted),iv.length);// Base64 encode\nlet binary=\"\";for(let i=0;i<result.length;i++){binary+=String.fromCharCode(result[i]);}return btoa(binary);}// ---------------------------------------------------------------------------\n// Canvas badge\n// ---------------------------------------------------------------------------\nfunction KlaviyoLogo(){return /*#__PURE__*/_jsxs(\"svg\",{width:\"40\",height:\"40\",viewBox:\"0 0 40 40\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"rect\",{width:\"40\",height:\"40\",rx:\"12\",fill:\"#2ECC71\",fillOpacity:\"0.1\"}),/*#__PURE__*/_jsx(\"g\",{clipPath:\"url(#klaviyo_clip)\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M20 0H0V13H20L16.0524 6.5L20 0Z\",fill:\"#222325\",transform:\"translate(10 13.5)\"})}),/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:\"klaviyo_clip\",children:/*#__PURE__*/_jsx(\"rect\",{width:\"20\",height:\"13\",fill:\"white\",transform:\"translate(10 13.5)\"})})})]});}function StatusIcon({connected}){if(connected){return /*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\",stroke:\"#10B77F\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 12L11 14L15 10\",stroke:\"#10B77F\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]});}return /*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\",stroke:\"#6B7280\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 16V12\",stroke:\"#6B7280\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 8H12.01\",stroke:\"#6B7280\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]});}function CanvasBadge({configured,error}){const subtitle=error?error:configured?\"Integration active\":\"Connect API key\";const subtitleColor=error?\"#dc2626\":configured?\"#10B77F\":\"#6B7280\";return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"12px\",padding:\"10px 14px\",background:\"#FFFFFF\",border:`1px solid ${error?\"rgba(220,38,38,0.15)\":\"rgba(0,0,0,0.06)\"}`,borderRadius:\"12px\",fontFamily:\"system-ui, -apple-system, sans-serif\",userSelect:\"none\",boxShadow:\"0 1px 3px rgba(0,0,0,0.04)\"},children:[/*#__PURE__*/_jsx(KlaviyoLogo,{}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"2px\",flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"14px\",fontWeight:600,color:\"#111827\",lineHeight:1.3},children:\"Klaviyo\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"12px\",fontWeight:400,color:subtitleColor,lineHeight:1.3},children:subtitle})]}),/*#__PURE__*/_jsx(StatusIcon,{connected:configured&&!error})]});}// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 220\n * @framerIntrinsicHeight 40\n * @framerDisableUnlink\n */export default function KlaviyoIntegrationControl(props){const{apiConfig,fieldsConfig,_meta,style}=props;const apiCfg={...DEFAULT_API_CONFIG,...apiConfig||{}};const fieldsCfg={...DEFAULT_FIELDS_CONFIG,...fieldsConfig||{}};const isCanvas=RenderTarget.current()===RenderTarget.canvas;const containerRef=useRef(null);const formRef=useRef(null);const pendingRef=useRef(false);const[status,setStatus]=useState(\"idle\");const[statusMessage,setStatusMessage]=useState(\"\");const[setupDone,setSetupDone]=useState(false);const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);const userId=parsedMeta?.userId;const projectId=parsedMeta?.projectId;// --- Upsert integration setup on API key change ---\nuseEffect(()=>{if(!apiCfg.apiKey){setSetupDone(false);return;}if(!userId||!projectId)return;fetch(`${BASE_URL}/integration/setup/klaviyo`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({int_user_fk_user_id:userId,int_fk_project_id:projectId,int_tp_api_key:apiCfg.apiKey,int_domain_prod:parsedMeta?.publishInfo?.production||\"\",int_domain_test:parsedMeta?.publishInfo?.staging||\"\",int_config:{...apiCfg.listId&&{list_id:apiCfg.listId}}})}).then(async res=>{const data=await res.json();if(res.ok&&(data.status===true||data.success!==false)){setSetupDone(true);setStatus(\"success\");setStatusMessage(\"Integration active\");}else{setSetupDone(false);setStatus(\"error\");setStatusMessage(data.message||data.error?.[0]||\"Setup failed\");}}).catch(()=>{setSetupDone(false);setStatus(\"error\");setStatusMessage(\"Connection error\");});},[apiCfg.apiKey,apiCfg.listId,userId,projectId]);// --- Find parent form ---\nconst findParentForm=useCallback(()=>{let el=containerRef.current;while(el){if(el.tagName===\"FORM\")return el;el=el.parentElement;}return null;},[]);// --- Collect form data & map to payload ---\nconst buildPayload=useCallback(form=>{const formData=new FormData(form);const dataObj={};formData.forEach((val,key)=>{if(typeof val===\"string\")dataObj[key]=val;});let email=\"\";const attributes={};const mappings=fieldsCfg.mappings||[];for(const mapping of mappings){const formField=mapping.formFieldName?.trim();const klProp=mapping.klaviyoProperty?.trim().toLowerCase();if(!formField||!klProp)continue;// Case-insensitive lookup\nlet formValue=\"\";for(const[key,value]of Object.entries(dataObj)){if(key.toLowerCase()===formField.toLowerCase()){formValue=value;break;}}if(!formValue)continue;if(klProp===\"email\"){email=formValue;}else{attributes[klProp]=formValue;}}if(!email)return null;return{int_user_fk_user_id:userId||\"\",int_fk_project_id:projectId||\"\",email,attributes:Object.keys(attributes).length>0?attributes:undefined,config:{...apiCfg.listId&&{listId:apiCfg.listId},updateEnabled:apiCfg.updateEnabled}};},[fieldsCfg.mappings,userId,projectId,apiCfg.listId,apiCfg.updateEnabled]);// --- Submit handler (calls our server, not Klaviyo directly) ---\nconst handleSubmit=useCallback(async()=>{// Guard: prevent double-fire from submit + Enter\nif(pendingRef.current)return;if(!setupDone)return;const form=formRef.current;if(!form)return;pendingRef.current=true;const payload=buildPayload(form);if(!payload){setStatus(\"error\");setStatusMessage(\"No email field mapped\");pendingRef.current=false;return;}setStatus(\"sending\");setStatusMessage(\"\");// Encrypt entire payload so nothing is visible in network tab\nconst encrypted=await encryptPayload(payload);// Use keepalive so the request completes even if the page\n// navigates away (external redirect after form submit).\ntry{const response=await fetch(`${BASE_URL}/integration/use/klaviyo`,{method:\"POST\",keepalive:true,headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({data:encrypted})});const data=await response.json().catch(()=>({status:false,message:\"Unknown error\"}));if(data.status===true){setStatus(\"success\");setStatusMessage(\"Profile synced\");}else{setStatus(\"error\");setStatusMessage(data.message||`Error ${response.status}`);}}catch(err){if(err instanceof TypeError&&err.message.includes(\"abort\")){pendingRef.current=false;return;}setStatus(\"error\");setStatusMessage(\"Network error\");}finally{pendingRef.current=false;}},[setupDone,buildPayload]);// --- Attach to parent form ---\nuseEffect(()=>{if(isCanvas)return;const form=findParentForm();formRef.current=form;if(!form)return;const onKeydown=e=>{if(e.key!==\"Enter\"||e.shiftKey)return;const tag=e.target?.tagName;if(tag===\"TEXTAREA\"||tag===\"SELECT\")return;handleSubmit();};form.addEventListener(\"submit\",handleSubmit);form.addEventListener(\"keydown\",onKeydown);return()=>{form.removeEventListener(\"submit\",handleSubmit);form.removeEventListener(\"keydown\",onKeydown);};},[isCanvas,findParentForm,handleSubmit]);// --- Auto-clear status ---\nuseEffect(()=>{if(status===\"success\"||status===\"error\"){// On canvas keep error visible so user sees the issue\nif(isCanvas&&status===\"error\")return;const timer=setTimeout(()=>{setStatus(\"idle\");setStatusMessage(\"\");},5e3);return()=>clearTimeout(timer);}},[status,isCanvas]);// --- Render ---\nconst containerStyle={position:\"relative\",width:\"100%\",...style};if(isCanvas){return /*#__PURE__*/_jsx(\"div\",{style:containerStyle,children:/*#__PURE__*/_jsx(CanvasBadge,{configured:setupDone,error:status===\"error\"?statusMessage:undefined})});}// Hidden in preview — CSS :has() hides the Framer wrapper\nreturn /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`div:has(> .formsplugin-hide-klaviyo) { display: none; }`}),/*#__PURE__*/_jsx(\"div\",{ref:containerRef,className:\"formsplugin-hide-klaviyo\",style:containerStyle})]});}KlaviyoIntegrationControl.displayName=\"Klaviyo Integration\";KlaviyoIntegrationControl.defaultProps={apiConfig:DEFAULT_API_CONFIG,fieldsConfig:DEFAULT_FIELDS_CONFIG,_meta:\"\",style:{}};addPropertyControls(KlaviyoIntegrationControl,{// ------------------------------------------------------------------\n// API Config\n// ------------------------------------------------------------------\napiConfig:{type:ControlType.Object,title:\"API Settings\",controls:{apiKey:{type:ControlType.String,title:\"API Key\",defaultValue:\"\",description:\"Your Klaviyo Private API key (pk_...)\",obscured:true},listId:{type:ControlType.String,title:\"List ID\",defaultValue:\"\",description:\"Optional. Klaviyo List ID (6 chars, e.g. `XaB1Cd`). Find it under Lists & Segments → your list → Settings. Leave empty to create profiles without list subscription.\"},updateEnabled:{type:ControlType.Boolean,title:\"Update Existing\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Update existing profiles if email already exists.\"}}},// ------------------------------------------------------------------\n// Field Mappings\n// ------------------------------------------------------------------\nfieldsConfig:{type:ControlType.Object,title:\"Field Mappings\",controls:{mappings:{type:ControlType.Array,title:\"Mappings\",description:\"Map form field names to Klaviyo profile properties. One mapping must target email.\",defaultValue:[{formFieldName:\"email\",klaviyoProperty:\"email\"}],control:{type:ControlType.Object,controls:{formFieldName:{type:ControlType.String,title:\"Form Field\",defaultValue:\"\",description:\"The name attribute of your form field.\"},klaviyoProperty:{type:ControlType.String,title:\"Klaviyo Prop\",defaultValue:\"\",description:\"Klaviyo property name (email, first_name, last_name, phone_number, organization, title, etc).\"}}}}}},// ------------------------------------------------------------------\n// Hidden Meta\n// ------------------------------------------------------------------\n_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"KlaviyoIntegrationControl\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"220\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./KlaviyoIntegrationControl.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{useConditionArray,CONDITION_ARRAY_CONTROL}from\"https://framer.com/m/ConditionalLogicUtil-69lIOW.js\";const DEFAULT_VALIDATION={minLength:0,maxLength:0,pattern:\"\",liveValidation:false,showBrowserTooltip:false,requiredMessage:\"\",minLengthMessage:\"\",maxLengthMessage:\"\",patternMessage:\"\"};const DEFAULT_LABEL={show:true,requiredMark:\"*\",font:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},color:\"#888888\"};const DEFAULT_LAYOUT={direction:\"vertical\",gap:8,labelWidth:120};const DEFAULT_INPUT_STYLE={font:{fontSize:14,lineHeight:1.2},color:\"#999999\",placeholderColor:\"#999999\",background:\"rgba(187,187,187,0.15)\",padding:\"12px 15px 12px 12px\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"},radius:\"10px\",shadow:\"\"};const DEFAULT_FOCUS_STYLE={borderColor:\"#3B82F6\",shadow:\"\",scale:1};const DEFAULT_ICONS={showIcon:false,icon:\"\",position:\"prefix\",size:18,color:\"#6B7280\"};const DEFAULT_ERROR_STYLE={color:\"#dc2626\",font:{fontSize:12,lineHeight:1.4}};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 92\n * @framerDisableUnlink\n */export default function TextInputControl(props){const{name,labelText,placeholder,required,defaultValue,autoComplete,validation,label,layout,inputStyle,icons,focusStyle,errorStyle,conditions,_meta,style}=props;const validationConfig={...DEFAULT_VALIDATION,...validation||{}};const labelConfig={...DEFAULT_LABEL,...label||{},font:{...DEFAULT_LABEL.font,...label&&label.font||{}}};const layoutConfig={...DEFAULT_LAYOUT,...layout||{}};const inputStyleConfig={...DEFAULT_INPUT_STYLE,...inputStyle||{},font:{...DEFAULT_INPUT_STYLE.font,...inputStyle&&inputStyle.font||{}},border:{...DEFAULT_INPUT_STYLE.border,...inputStyle&&inputStyle.border||{}}};const rawIcons=icons||{};const iconsConfig={...DEFAULT_ICONS,...rawIcons};const useLegacyIconConfig=!(\"showIcon\"in rawIcons)&&!(\"position\"in rawIcons)&&(\"showPrefix\"in rawIcons||\"showSuffix\"in rawIcons||\"prefixIcon\"in rawIcons||\"suffixIcon\"in rawIcons);const resolvedIcon=useLegacyIconConfig?rawIcons.prefixIcon||rawIcons.suffixIcon||\"\":iconsConfig.icon;const resolvedShowIcon=useLegacyIconConfig?Boolean(rawIcons.showPrefix||rawIcons.showSuffix)&&Boolean(resolvedIcon):Boolean(iconsConfig.showIcon)&&Boolean(resolvedIcon);const resolvedIconPosition=useLegacyIconConfig?rawIcons.showSuffix?\"suffix\":\"prefix\":iconsConfig.position===\"suffix\"?\"suffix\":\"prefix\";const focusStyleConfig={...DEFAULT_FOCUS_STYLE,...focusStyle||{}};const errorStyleConfig={...DEFAULT_ERROR_STYLE,...errorStyle||{},font:{...DEFAULT_ERROR_STYLE.font,...errorStyle&&errorStyle.font||{}}};const fieldName=name||\"text-input\";const currentLabelText=labelText||\"Text\";const inputId=`field-${fieldName}`;const errorId=`error-${fieldName}`;const[value,setValue]=useState(defaultValue);const[error,setError]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const inputRef=useRef(null);const containerRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const Wrapper=isCanvas?\"div\":motion.div;const conditionItems=useMemo(()=>conditions||[],[conditions]);const handleValueReset=useCallback(()=>{setValue(\"\");setError(\"\");},[]);const{isVisible,isRequired,isReadOnly,isDisabled}=useConditionArray(conditionItems,\"\",isCanvas,handleValueReset);const hasRequiredConditions=conditionItems.some(c=>c.type===\"required\");const hasReadOnlyConditions=conditionItems.some(c=>c.type===\"readOnly\");const hasDisableConditions=conditionItems.some(c=>c.type===\"disable\");const effectiveRequired=hasRequiredConditions?isRequired:required;const effectiveReadOnly=hasReadOnlyConditions?isReadOnly:false;const effectiveDisabled=hasDisableConditions?isDisabled:false;const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);void parsedMeta;useEffect(()=>{setValue(defaultValue);},[defaultValue]);const applyTokens=useCallback((template,fallback)=>{const source=template?.trim()?template:fallback;const tokens={label:currentLabelText||fieldName,name:fieldName,min:`${validationConfig.minLength}`,max:`${validationConfig.maxLength}`,pattern:validationConfig.pattern,count:`${value.length}`};return source.replace(/\\{(label|name|min|max|pattern|count)\\}/g,(_,key)=>{return tokens[key]??\"\";});},[currentLabelText,fieldName,validationConfig.maxLength,validationConfig.minLength,validationConfig.pattern,value.length]);const hasCustomMessages=Boolean(validationConfig.requiredMessage.trim()||validationConfig.minLengthMessage.trim()||validationConfig.maxLengthMessage.trim()||validationConfig.patternMessage.trim());const resolveMessage=useCallback(el=>{if(el.validity.valueMissing){return applyTokens(validationConfig.requiredMessage,`${currentLabelText||fieldName} is required`);}if(el.validity.tooShort){return applyTokens(validationConfig.minLengthMessage,`Minimum ${validationConfig.minLength} characters required`);}if(el.validity.tooLong){return applyTokens(validationConfig.maxLengthMessage,`Maximum ${validationConfig.maxLength} characters allowed`);}if(el.validity.patternMismatch){return applyTokens(validationConfig.patternMessage,\"Please match the requested format\");}return el.validationMessage;},[applyTokens,fieldName,currentLabelText,validationConfig.maxLength,validationConfig.maxLengthMessage,validationConfig.minLength,validationConfig.minLengthMessage,validationConfig.patternMessage,validationConfig.requiredMessage]);const validate=useCallback(()=>{const el=inputRef.current;if(!el)return;el.setCustomValidity(\"\");if(!el.validity.valid){const message=resolveMessage(el);setError(message);if(hasCustomMessages){el.setCustomValidity(message);}}else{setError(\"\");}},[hasCustomMessages,resolveMessage]);const handleFocus=useCallback(()=>{setIsFocused(true);setError(\"\");},[]);const handleBlur=useCallback(()=>{setIsFocused(false);validate();},[validate]);const handleChange=useCallback(event=>{const nextValue=event.currentTarget.value;setValue(nextValue);if(validationConfig.liveValidation){validate();return;}if(error){const el=inputRef.current;if(el&&el.validity.valid){setError(\"\");el.setCustomValidity(\"\");}}},[error,validate,validationConfig.liveValidation]);const handleInvalid=useCallback(event=>{if(!validationConfig.showBrowserTooltip){event.preventDefault();}validate();},[validate,validationConfig.showBrowserTooltip]);const wrapperVariants={idle:{borderColor:inputStyleConfig.border?.borderColor||\"#D1D5DB\",boxShadow:inputStyleConfig.shadow||\"none\",scale:1},focused:{borderColor:focusStyleConfig.borderColor,boxShadow:focusStyleConfig.shadow||\"none\",scale:focusStyleConfig.scale},error:{borderColor:errorStyleConfig.color,boxShadow:\"0 0 0 3px rgba(239,68,68,0.2)\",scale:1}};const wrapperState=error?\"error\":isFocused?\"focused\":\"idle\";const describedBy=error?errorId:undefined;const containerStyle={display:\"flex\",flexDirection:layoutConfig.direction===\"horizontal\"?\"row\":\"column\",alignItems:layoutConfig.direction===\"horizontal\"?\"center\":\"stretch\",gap:`${layoutConfig.gap}px`,width:\"100%\",...style};const normalizedLabelFontWeight=(()=>{const current=labelConfig.font?.fontWeight;if(current===undefined||current===null||current===\"\"||current===\"normal\"||current===\"regular\"||current===400||current===\"400\"){return 500;}return current;})();const labelStyle={...labelConfig.font,fontWeight:normalizedLabelFontWeight,color:labelConfig.color,flexShrink:0,...layoutConfig.direction===\"horizontal\"?{width:`${layoutConfig.labelWidth}px`}:{}};const inputWrapperStyle={...inputStyleConfig.border,borderWidth:inputStyleConfig.border?.borderWidth||1,borderStyle:inputStyleConfig.border?.borderStyle||\"solid\",borderColor:inputStyleConfig.border?.borderColor||\"#D1D5DB\",borderRadius:inputStyleConfig.radius,backgroundColor:inputStyleConfig.background,padding:inputStyleConfig.padding,boxShadow:inputStyleConfig.shadow||\"none\",opacity:1,minHeight:\"44px\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",gap:\"8px\"};const iconStyle={width:`${iconsConfig.size}px`,height:`${iconsConfig.size}px`,objectFit:\"contain\",flexShrink:0,display:\"block\"};const inputElementStyle={...inputStyleConfig.font,color:inputStyleConfig.color,opacity:effectiveDisabled?.5:effectiveReadOnly?.6:1,border:\"none\",outline:\"none\",width:\"100%\",flex:1,minWidth:0,boxSizing:\"border-box\",backgroundColor:\"transparent\",padding:0,margin:0,cursor:effectiveDisabled||effectiveReadOnly?\"not-allowed\":undefined};const errorMessageStyle={...errorStyleConfig.font,color:errorStyleConfig.color,marginTop:\"6px\",overflow:\"hidden\"};if(!isVisible){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`div:has(> .formsplugin-hide-conditional-block) { display: none; }`}),/*#__PURE__*/_jsx(\"div\",{className:\"formsplugin-hide-conditional-block\"})]});}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:containerStyle,children:[labelConfig.show&&currentLabelText&&/*#__PURE__*/_jsxs(\"label\",{htmlFor:inputId,style:labelStyle,children:[currentLabelText,effectiveRequired&&/*#__PURE__*/_jsx(\"span\",{style:{color:errorStyleConfig.color,marginLeft:\"2px\"},children:labelConfig.requiredMark||\"*\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`.fp-text-input-control__input::placeholder { color: ${inputStyleConfig.placeholderColor}; opacity: 1; }`}),/*#__PURE__*/_jsxs(Wrapper,{...!isCanvas&&{animate:wrapperState,variants:wrapperVariants,transition:{duration:.2,ease:\"easeOut\"}},style:inputWrapperStyle,children:[resolvedShowIcon&&resolvedIconPosition===\"prefix\"&&/*#__PURE__*/_jsx(\"div\",{style:{width:`${iconsConfig.size}px`,height:`${iconsConfig.size}px`,backgroundColor:iconsConfig.color,WebkitMaskImage:`url(${resolvedIcon})`,maskImage:`url(${resolvedIcon})`,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskPosition:\"center\",maskPosition:\"center\",WebkitMaskSize:\"contain\",maskSize:\"contain\",flexShrink:0}}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,id:inputId,name:fieldName,type:\"text\",placeholder:placeholder,required:effectiveRequired,disabled:effectiveDisabled,readOnly:effectiveReadOnly,value:value,autoComplete:autoComplete||undefined,minLength:validationConfig.minLength>0?validationConfig.minLength:undefined,maxLength:validationConfig.maxLength>0?validationConfig.maxLength:undefined,pattern:validationConfig.pattern||undefined,onFocus:handleFocus,onBlur:handleBlur,onInput:handleChange,onChange:handleChange,onInvalid:handleInvalid,\"aria-invalid\":error?\"true\":undefined,\"aria-describedby\":describedBy,className:\"fp-text-input-control__input\",style:inputElementStyle}),resolvedShowIcon&&resolvedIconPosition===\"suffix\"&&/*#__PURE__*/_jsx(\"img\",{src:resolvedIcon,alt:\"\",\"aria-hidden\":\"true\",style:iconStyle})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:error&&!isCanvas&&/*#__PURE__*/_jsx(motion.div,{id:errorId,role:\"alert\",initial:{opacity:0,y:-4,height:0},animate:{opacity:1,y:0,height:\"auto\"},exit:{opacity:0,y:-4,height:0},transition:{duration:.2,ease:\"easeOut\"},style:errorMessageStyle,children:error},\"error-message\")})]})]});}TextInputControl.displayName=\"Text Input\";TextInputControl.defaultProps={name:\"text-input\",labelText:\"Text\",placeholder:\"Enter text...\",required:false,defaultValue:\"\",autoComplete:\"off\",validation:DEFAULT_VALIDATION,label:DEFAULT_LABEL,layout:DEFAULT_LAYOUT,inputStyle:DEFAULT_INPUT_STYLE,icons:DEFAULT_ICONS,focusStyle:DEFAULT_FOCUS_STYLE,errorStyle:DEFAULT_ERROR_STYLE,conditions:[],_meta:\"\",style:{}};addPropertyControls(TextInputControl,{name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"text-input\",description:\"Unique name used in submitted form data.\"},labelText:{type:ControlType.String,title:\"Label Name\",defaultValue:\"Text\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Enter text...\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},defaultValue:{type:ControlType.String,title:\"Default Value\",defaultValue:\"\"},autoComplete:{type:ControlType.Enum,title:\"Autocomplete\",defaultValue:\"off\",options:[\"off\",\"on\",\"name\",\"given-name\",\"additional-name\",\"family-name\",\"email\",\"username\",\"new-password\",\"current-password\",\"tel\",\"tel-country-code\",\"tel-national\",\"tel-area-code\",\"tel-local\",\"url\",\"street-address\",\"address-line1\",\"address-line2\",\"address-line3\",\"country\",\"country-name\",\"postal-code\",\"cc-name\",\"cc-given-name\",\"cc-family-name\",\"cc-number\",\"cc-exp\",\"cc-exp-month\",\"cc-exp-year\",\"cc-csc\",\"cc-type\",\"organization\",\"organization-title\",\"bday\",\"bday-day\",\"bday-month\",\"bday-year\",\"sex\",\"language\"],optionTitles:[\"Off\",\"On\",\"Full Name\",\"First Name\",\"Middle Name\",\"Last Name\",\"Email\",\"Username\",\"New Password\",\"Current Password\",\"Phone\",\"Phone Country Code\",\"Phone National\",\"Phone Area Code\",\"Phone Local\",\"URL\",\"Street Address\",\"Address Line 1\",\"Address Line 2\",\"Address Line 3\",\"Country\",\"Country Name\",\"Postal Code\",\"Card Full Name\",\"Card First Name\",\"Card Last Name\",\"Card Number\",\"Card Expiry\",\"Card Exp Month\",\"Card Exp Year\",\"Card CVV\",\"Card Type\",\"Organization\",\"Job Title\",\"Birthday\",\"Birth Day\",\"Birth Month\",\"Birth Year\",\"Gender\",\"Language\"],description:\"Helps browsers auto-fill the right data. Use 'off' to disable autocomplete.\"},validation:{type:ControlType.Object,title:\"Validation\",controls:{requiredMessage:{type:ControlType.String,title:\"Required Error\",defaultValue:\"\",description:\"Message for required validation. Supports {label}, {name}.\"},minLength:{type:ControlType.Number,title:\"Min Length\",defaultValue:0,min:0,step:1,displayStepper:true},minLengthMessage:{type:ControlType.String,title:\"Min Error\",defaultValue:\"\",description:\"Message for min length validation. Supports {min}, {count}, {label}.\",hidden(props){return!props.minLength||props.minLength===0;}},maxLength:{type:ControlType.Number,title:\"Max Length\",defaultValue:0,min:0,step:1,displayStepper:true},maxLengthMessage:{type:ControlType.String,title:\"Max Error\",defaultValue:\"\",description:\"Message for max length validation. Supports {max}, {count}, {label}.\",hidden(props){return!props.maxLength||props.maxLength===0;}},pattern:{type:ControlType.String,title:\"Pattern\",defaultValue:\"\",description:\"Regex pattern. Example: ^[A-Za-z ]+$\"},patternMessage:{type:ControlType.String,title:\"Pattern Error\",defaultValue:\"\",description:\"Message for pattern mismatch. Supports {pattern}, {label}.\",hidden(props){return!props.pattern;}},liveValidation:{type:ControlType.Boolean,title:\"Validate While Typing\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Checks input on each keystroke instead of waiting for blur.\"},showBrowserTooltip:{type:ControlType.Boolean,title:\"Browser Tooltip\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Show browser default validation popup. Turn off to display only custom error text.\"}}},label:{type:ControlType.Object,title:\"Label Style\",controls:{show:{type:ControlType.Boolean,title:\"Show Label\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},requiredMark:{type:ControlType.String,title:\"Required Mark\",defaultValue:\"*\",hidden(props){return props.show===false;}},font:{type:ControlType.Font,title:\"Label Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,fontWeight:\"500\",lineHeight:\"1.2em\"},hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#888888\",hidden(props){return props.show===false;}}}},layout:{type:ControlType.Object,title:\"Layout\",controls:{direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],optionIcons:[\"direction-vertical\",\"direction-horizontal\"],displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:40,step:2,unit:\"px\"},labelWidth:{type:ControlType.Number,title:\"Label Width\",defaultValue:120,min:40,max:300,step:4,unit:\"px\",hidden(props){return props.direction!==\"horizontal\";}}}},inputStyle:{type:ControlType.Object,title:\"Input Style\",controls:{font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.2}},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#999999\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder\",defaultValue:\"#999999\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(187,187,187,0.15)\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 15px 12px 12px\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"10px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"}}},icons:{type:ControlType.Object,title:\"Icons\",controls:{showIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},icon:{type:ControlType.Image,title:\"Icon\",hidden(props){return props.showIcon===false;}},position:{type:ControlType.Enum,title:\"Position\",defaultValue:\"prefix\",options:[\"prefix\",\"suffix\"],optionTitles:[\"Prefix\",\"Suffix\"],displaySegmentedControl:true,hidden(props){return props.showIcon===false;}},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#6B7280\",hidden(props){return props.showIcon===false;}},size:{type:ControlType.Number,title:\"Icon Size\",defaultValue:18,min:8,max:64,step:1,unit:\"px\",displayStepper:true,hidden(props){return props.showIcon===false;}}}},focusStyle:{type:ControlType.Object,title:\"Focus Style\",controls:{borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#3B82F6\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:1,max:1.05,step:.005}}},errorStyle:{type:ControlType.Object,title:\"Error Style\",description:\"by [Forms Plugin](https://formsplugin.com/?ref=field_setting)\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#dc2626\"},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,lineHeight:1.4}}}},...CONDITION_ARRAY_CONTROL,_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextInputControl\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"300\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerIntrinsicHeight\":\"92\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextInputControl.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{useConditionArray,CONDITION_ARRAY_CONTROL}from\"https://framer.com/m/ConditionalLogicUtil-69lIOW.js\";const DEFAULT_VALIDATION={requiredMessage:\"\"};const DEFAULT_LABEL={show:true,requiredMark:\"*\",font:{fontSize:14,fontWeight:\"400\",lineHeight:\"1.4em\"},color:\"#333333\",position:\"right\"};const DEFAULT_LAYOUT={direction:\"vertical\",gap:8,labelWidth:120};const DEFAULT_CHECKBOX_STYLE={size:20,uncheckedColor:\"#ffffff\",checkedColor:\"#3B82F6\",checkmarkColor:\"#ffffff\",border:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#d1d5db\"},radius:\"4px\",shadow:\"\"};const DEFAULT_FOCUS_STYLE={borderColor:\"#3B82F6\",shadow:\"0 0 0 3px rgba(59,130,246,0.2)\",scale:1};const DEFAULT_ERROR_STYLE={color:\"#dc2626\",font:{fontSize:12,lineHeight:1.4}};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 52\n * @framerDisableUnlink\n */export default function CheckboxControl(props){const{name,labelText,labelLinks,required,defaultChecked,conditions,validation,label,layout,checkboxStyle,focusStyle,errorStyle,_meta,style}=props;const validationConfig={...DEFAULT_VALIDATION,...validation||{}};const labelConfig={...DEFAULT_LABEL,...label||{},font:{...DEFAULT_LABEL.font,...label&&label.font||{}}};const layoutConfig={...DEFAULT_LAYOUT,...layout||{}};const checkboxStyleConfig={...DEFAULT_CHECKBOX_STYLE,...checkboxStyle||{},border:{...DEFAULT_CHECKBOX_STYLE.border,...checkboxStyle&&checkboxStyle.border||{}}};const focusStyleConfig={...DEFAULT_FOCUS_STYLE,...focusStyle||{}};const errorStyleConfig={...DEFAULT_ERROR_STYLE,...errorStyle||{},font:{...DEFAULT_ERROR_STYLE.font,...errorStyle&&errorStyle.font||{}}};const fieldName=name||\"checkbox\";const currentLabelText=labelText||\"Checkbox\";const inputId=`field-${fieldName}`;const errorId=`error-${fieldName}`;const[checked,setChecked]=useState(defaultChecked);const[error,setError]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const inputRef=useRef(null);const rootRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const Wrapper=isCanvas?\"div\":motion.div;const conditionItems=useMemo(()=>conditions||[],[conditions]);const handleValueReset=useCallback(()=>{setChecked(false);setError(\"\");},[]);const{isVisible,isRequired,isReadOnly,isDisabled}=useConditionArray(conditionItems,\"\",isCanvas,handleValueReset);const effectiveRequired=conditionItems.some(c=>c.type===\"required\")?isRequired:required;const effectiveDisabled=conditionItems.some(c=>c.type===\"disable\")?isDisabled:false;const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);void parsedMeta;useEffect(()=>{setChecked(defaultChecked);},[defaultChecked]);// Form submission handler to enforce required validation\nuseEffect(()=>{if(isCanvas)return;if(!effectiveRequired)return;const form=rootRef.current?.closest(\"form\");if(!form)return;const handleSubmit=event=>{if(!checked){event.preventDefault();event.stopPropagation();const message=validationConfig.requiredMessage?.trim()?validationConfig.requiredMessage.replace(/\\{label\\}/g,currentLabelText||fieldName).replace(/\\{name\\}/g,fieldName):`${currentLabelText||fieldName} must be checked`;setError(message);return;}setError(\"\");};form.addEventListener(\"submit\",handleSubmit,true);return()=>{form.removeEventListener(\"submit\",handleSubmit,true);};},[isCanvas,effectiveRequired,checked,validationConfig.requiredMessage,currentLabelText,fieldName]);const applyTokens=useCallback((template,fallback)=>{const source=template?.trim()?template:fallback;const tokens={label:currentLabelText||fieldName,name:fieldName};return source.replace(/\\{(label|name)\\}/g,(_,key)=>{return tokens[key]??\"\";});},[currentLabelText,fieldName]);const hasCustomMessages=Boolean(validationConfig.requiredMessage.trim());const resolveMessage=useCallback(el=>{if(el.validity.valueMissing){return applyTokens(validationConfig.requiredMessage,`${currentLabelText||fieldName} must be checked`);}return el.validationMessage;},[applyTokens,fieldName,currentLabelText,validationConfig.requiredMessage]);const validate=useCallback(()=>{const el=inputRef.current;if(!el)return;el.setCustomValidity(\"\");if(!el.validity.valid){const message=resolveMessage(el);setError(message);if(hasCustomMessages){el.setCustomValidity(message);}}else{setError(\"\");}},[hasCustomMessages,resolveMessage]);const handleFocus=useCallback(()=>{setIsFocused(true);setError(\"\");},[]);const handleBlur=useCallback(()=>{setIsFocused(false);validate();},[validate]);const handleChange=useCallback(event=>{const nextChecked=event.currentTarget.checked;setChecked(nextChecked);if(error){const el=inputRef.current;if(el&&el.validity.valid){setError(\"\");el.setCustomValidity(\"\");}}},[error]);const handleInvalid=useCallback(event=>{event.preventDefault();validate();},[validate]);const checkboxVariants={idle:{borderColor:checkboxStyleConfig.border?.borderColor||\"#d1d5db\",boxShadow:checkboxStyleConfig.shadow||\"none\",scale:1},focused:{borderColor:focusStyleConfig.borderColor,boxShadow:focusStyleConfig.shadow,scale:focusStyleConfig.scale},error:{borderColor:errorStyleConfig.color,boxShadow:\"0 0 0 3px rgba(220,38,38,0.2)\",scale:1}};const checkboxState=error?\"error\":isFocused?\"focused\":\"idle\";const describedBy=error?errorId:undefined;const containerStyle={display:\"flex\",flexDirection:layoutConfig.direction===\"horizontal\"?\"row\":\"column\",alignItems:layoutConfig.direction===\"horizontal\"?\"center\":\"flex-start\",gap:`${layoutConfig.gap}px`,width:\"100%\",...style};const checkboxWrapperStyle={display:\"flex\",alignItems:\"center\",gap:\"8px\",cursor:\"pointer\",flexDirection:labelConfig.position===\"left\"?\"row-reverse\":\"row\"};const checkboxBoxStyle={position:\"relative\",width:`${checkboxStyleConfig.size}px`,height:`${checkboxStyleConfig.size}px`,flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...checkboxStyleConfig.border,borderWidth:checkboxStyleConfig.border?.borderWidth||2,borderStyle:checkboxStyleConfig.border?.borderStyle||\"solid\",borderColor:checkboxStyleConfig.border?.borderColor||\"#d1d5db\",borderRadius:checkboxStyleConfig.radius,backgroundColor:checked?checkboxStyleConfig.checkedColor:checkboxStyleConfig.uncheckedColor,boxShadow:checkboxStyleConfig.shadow,transition:\"background-color 0.2s ease, border-color 0.2s ease\"};const hiddenInputStyle={position:\"absolute\",opacity:0,width:0,height:0,pointerEvents:\"none\"};const normalizedLabelFontWeight=(()=>{const current=labelConfig.font?.fontWeight;if(current===undefined||current===null||current===\"\"||current===\"normal\"||current===\"regular\"||current===400||current===\"400\"){return 400;}return current;})();const labelStyle={...labelConfig.font,fontWeight:normalizedLabelFontWeight,color:labelConfig.color,cursor:\"pointer\",userSelect:\"none\"};const checkmarkStyle={width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"};const checkmarkSvgStyle={width:`${checkboxStyleConfig.size*.6}px`,height:`${checkboxStyleConfig.size*.6}px`,strokeWidth:2,stroke:checkboxStyleConfig.checkmarkColor,fill:\"none\"};const errorMessageStyle={...errorStyleConfig.font,color:errorStyleConfig.color,marginTop:\"6px\",overflow:\"hidden\"};const renderCheckmark=()=>{if(checked){return /*#__PURE__*/_jsx(\"svg\",{style:checkmarkSvgStyle,viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"polyline\",{points:\"20 6 9 17 4 12\"})});}return null;};// Render label with links - replaces [text] patterns with actual links\nconst renderLabelWithLinks=()=>{if(!labelLinks||labelLinks.length===0){return currentLabelText;}let result=[currentLabelText];labelLinks.forEach((link,linkIndex)=>{if(!link.text||!link.url)return;const pattern=`[${link.text}]`;const newResult=[];result.forEach((part,partIndex)=>{if(typeof part===\"string\"){const parts=part.split(pattern);parts.forEach((subPart,subIndex)=>{if(subPart)newResult.push(subPart);if(subIndex<parts.length-1){newResult.push(/*#__PURE__*/_jsx(\"a\",{href:link.url,target:\"_blank\",rel:\"noopener noreferrer\",onClick:e=>e.stopPropagation(),children:link.text},`link-${linkIndex}-${partIndex}-${subIndex}`));}});}else{newResult.push(part);}});result=newResult;});return /*#__PURE__*/_jsx(_Fragment,{children:result});};if(!isVisible){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`div:has(> .formsplugin-hide-conditional-block) { display: none; }`}),/*#__PURE__*/_jsx(\"div\",{className:\"formsplugin-hide-conditional-block\"})]});}return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{...containerStyle,...effectiveDisabled?{opacity:.5,pointerEvents:\"none\"}:{}},children:[/*#__PURE__*/_jsx(\"style\",{children:`.fp-checkbox-label a { color: #3B82F6; text-decoration: underline; cursor: pointer; }\n                .fp-checkbox-label a:hover { text-decoration: none; }`}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"label\",{htmlFor:inputId,style:checkboxWrapperStyle,className:\"fp-checkbox-label\",children:[/*#__PURE__*/_jsx(Wrapper,{...!isCanvas&&{animate:checkboxState,variants:checkboxVariants,transition:{duration:.2,ease:\"easeOut\"}},style:checkboxBoxStyle,onClick:e=>{e.preventDefault();inputRef.current?.click();},children:/*#__PURE__*/_jsx(\"div\",{style:checkmarkStyle,children:renderCheckmark()})}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,id:inputId,name:fieldName,type:\"checkbox\",required:effectiveRequired,checked:checked,disabled:effectiveDisabled,onFocus:handleFocus,onBlur:handleBlur,onChange:handleChange,onInvalid:handleInvalid,\"aria-invalid\":error?\"true\":undefined,\"aria-describedby\":describedBy,style:hiddenInputStyle}),labelConfig.show&&currentLabelText&&/*#__PURE__*/_jsxs(\"span\",{style:labelStyle,onClick:e=>{// Allow links to work without toggling checkbox\nif(e.target.tagName===\"A\"){e.stopPropagation();}},children:[renderLabelWithLinks(),effectiveRequired&&/*#__PURE__*/_jsx(\"span\",{style:{color:errorStyleConfig.color,marginLeft:\"2px\"},children:labelConfig.requiredMark||\"*\"})]})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:error&&!isCanvas&&/*#__PURE__*/_jsx(motion.div,{id:errorId,role:\"alert\",initial:{opacity:0,y:-4,height:0},animate:{opacity:1,y:0,height:\"auto\"},exit:{opacity:0,y:-4,height:0},transition:{duration:.2,ease:\"easeOut\"},style:errorMessageStyle,children:error},\"error-message\")})]})]});}CheckboxControl.displayName=\"Checkbox\";CheckboxControl.defaultProps={name:\"checkbox\",labelText:\"I agree to the [terms] and [privacy policy]\",labelLinks:[{text:\"terms\",url:\"\"},{text:\"privacy policy\",url:\"\"}],required:false,defaultChecked:false,conditions:[],validation:DEFAULT_VALIDATION,label:DEFAULT_LABEL,layout:DEFAULT_LAYOUT,checkboxStyle:DEFAULT_CHECKBOX_STYLE,focusStyle:DEFAULT_FOCUS_STYLE,errorStyle:DEFAULT_ERROR_STYLE,_meta:\"\",style:{}};addPropertyControls(CheckboxControl,{name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"checkbox\",description:\"Unique name used in submitted form data.\"},labelText:{type:ControlType.String,title:\"Label Text\",defaultValue:\"I agree to the [terms] and [privacy policy]\",description:\"Use [text] to create links. Define URLs in Label Links below.\"},labelLinks:{type:ControlType.Array,title:\"Label Links\",defaultValue:[{text:\"terms\",url:\"\"},{text:\"privacy policy\",url:\"\"}],control:{type:ControlType.Object,controls:{text:{type:ControlType.String,title:\"Text\",defaultValue:\"\",description:\"Text to match in [brackets]\"},url:{type:ControlType.Link,title:\"URL\",defaultValue:\"\",description:\"Link URL (e.g., /terms or https://...)\"}}}},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},defaultChecked:{type:ControlType.Boolean,title:\"Default Checked\",defaultValue:false,enabledTitle:\"Checked\",disabledTitle:\"Unchecked\"},validation:{type:ControlType.Object,title:\"Validation\",controls:{requiredMessage:{type:ControlType.String,title:\"Required Error\",defaultValue:\"\",description:\"Message when checkbox is required but not checked. Supports {label}, {name}.\"}}},label:{type:ControlType.Object,title:\"Label Style\",controls:{show:{type:ControlType.Boolean,title:\"Show Label\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},position:{type:ControlType.Enum,title:\"Position\",defaultValue:\"right\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],displaySegmentedControl:true,hidden(props){return props.show===false;}},requiredMark:{type:ControlType.String,title:\"Required Mark\",defaultValue:\"*\",hidden(props){return props.show===false;}},font:{type:ControlType.Font,title:\"Label Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,fontWeight:\"400\",lineHeight:\"1.4em\"},hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#333333\",hidden(props){return props.show===false;}}}},layout:{type:ControlType.Object,title:\"Layout\",controls:{direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],optionIcons:[\"direction-vertical\",\"direction-horizontal\"],displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:40,step:2,unit:\"px\"},labelWidth:{type:ControlType.Number,title:\"Label Width\",defaultValue:120,min:40,max:300,step:4,unit:\"px\",hidden(props){return props.direction!==\"horizontal\";}}}},checkboxStyle:{type:ControlType.Object,title:\"Checkbox Style\",controls:{size:{type:ControlType.Number,title:\"Size\",defaultValue:20,min:12,max:48,step:2,unit:\"px\",displayStepper:true},uncheckedColor:{type:ControlType.Color,title:\"Unchecked\",defaultValue:\"#ffffff\"},checkedColor:{type:ControlType.Color,title:\"Checked\",defaultValue:\"#3B82F6\"},checkmarkColor:{type:ControlType.Color,title:\"Checkmark\",defaultValue:\"#ffffff\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#d1d5db\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"4px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"}}},focusStyle:{type:ControlType.Object,title:\"Focus Style\",controls:{borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#3B82F6\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"0 0 0 3px rgba(59,130,246,0.2)\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:1,max:1.1,step:.01}}},errorStyle:{type:ControlType.Object,title:\"Error Style\",description:\"by [Forms Plugin](https://formsplugin.com/?ref=field_setting)\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#dc2626\"},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,lineHeight:1.4}}}},...CONDITION_ARRAY_CONTROL,_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CheckboxControl\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"300\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"52\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CheckboxControl.map"],"mappings":"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"}