{"version":3,"file":"FileUploadControl.B8dx6UdU.mjs","names":["DEFAULT_VALIDATION","DEFAULT_LABEL","DEFAULT_LAYOUT","DEFAULT_FOCUS_STYLE","DEFAULT_ERROR_STYLE","useState","useRef","useMemo","useCallback","buttons","_Fragment","useState","useRef","useMemo","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/gv80utrQ8vYQFwBqqj1b/IiLaoXShimmMPEQVz9RQ/ButtonChoiceControl.js","https:/framerusercontent.com/modules/PnYBMB00l1wLrkKOYUpz/vHyHoTx9Smw4MXVDQPvq/FileUploadControl.js"],"sourcesContent":["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 CHECKMARK_PATH=\"M5 13l4 4L19 7\";function getShortcutLabel(index,labelStyle){if(labelStyle===\"number\")return`${index+1}`;return String.fromCharCode(65+index%26);}const DEFAULT_OPTIONS=[{label:\"Option 1\",value:\"option-1\",image:\"\"},{label:\"Option 2\",value:\"option-2\",image:\"\"},{label:\"Option 3\",value:\"option-3\",image:\"\"}];const DEFAULT_CHOICE={selectionMode:\"single\",allowDeselect:true,separator:\", \",minSelections:0,maxSelections:0};const DEFAULT_SHORTCUT={show:false,labelStyle:\"letter\",enableKeypress:true};const DEFAULT_VALIDATION={showBrowserTooltip:false,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_BUTTON_LAYOUT={arrangement:\"horizontal\",columns:2,gapH:8,gapV:8};const DEFAULT_IMAGE_CONFIG={show:true,position:\"top\",height:120,radius:\"6px\",gap:10};const DEFAULT_BUTTON_STYLE={padding:\"10px\",radius:\"10px\",borderWidth:1,font:{fontSize:14,fontWeight:\"600\"},inactiveBackground:\"#F3F4F6\",inactiveTextColor:\"#6B7280\",inactiveBorderColor:\"rgba(0,0,0,0.06)\",activeBackground:\"#3B82F6\",activeTextColor:\"#FFFFFF\",activeBorderColor:\"#3B82F6\",showCheckmark:true};const DEFAULT_FOCUS_STYLE={borderColor:\"#3B82F6\",shadow:\"none\"};const DEFAULT_ERROR_STYLE={color:\"#dc2626\",font:{fontSize:12,lineHeight:1.4}};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 170\n * @framerDisableUnlink\n */export default function ButtonChoiceControl(props){const{name,labelText,required,defaultValue,options,conditions,choice,shortcut,validation,label,layout,buttonLayout,imageStyle,buttonStyle,focusStyle,errorStyle,_meta,style}=props;const choiceConfig={...DEFAULT_CHOICE,...choice||{}};const shortcutConfig={...DEFAULT_SHORTCUT,...shortcut||{}};const validationConfig={...DEFAULT_VALIDATION,...validation||{}};const labelConfig={...DEFAULT_LABEL,...label||{},font:{...DEFAULT_LABEL.font,...label&&label.font||{}}};const layoutConfig={...DEFAULT_LAYOUT,...layout||{}};const btnLayoutConfig={...DEFAULT_BUTTON_LAYOUT,...buttonLayout||{}};const imgConfig={...DEFAULT_IMAGE_CONFIG,...imageStyle||{}};const btnStyleConfig={...DEFAULT_BUTTON_STYLE,...buttonStyle||{},font:{...DEFAULT_BUTTON_STYLE.font,...buttonStyle&&buttonStyle.font||{}}};const focusStyleConfig={...DEFAULT_FOCUS_STYLE,...focusStyle||{}};const errorStyleConfig={...DEFAULT_ERROR_STYLE,...errorStyle||{},font:{...DEFAULT_ERROR_STYLE.font,...errorStyle&&errorStyle.font||{}}};const isSingle=choiceConfig.selectionMode===\"single\";const effectiveOptions=options&&options.length>0?options:DEFAULT_OPTIONS;const fieldName=name||\"button-choice\";const currentLabelText=labelText||\"Choose\";const inputId=`field-${fieldName}`;const errorId=`error-${fieldName}`;const[selectedValues,setSelectedValues]=useState(()=>{if(!defaultValue)return[];return defaultValue.split(choiceConfig.separator).map(v=>v.trim()).filter(Boolean);});const[error,setError]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const[hoveredIndex,setHoveredIndex]=useState(-1);const inputRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const conditionItems=useMemo(()=>conditions||[],[conditions]);const handleValueReset=useCallback(()=>{setSelectedValues([]);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(()=>{if(!defaultValue){setSelectedValues([]);return;}setSelectedValues(defaultValue.split(choiceConfig.separator).map(v=>v.trim()).filter(Boolean));},[defaultValue,choiceConfig.separator]);const submittedValue=selectedValues.join(choiceConfig.separator);const applyTokens=useCallback((template,fallback)=>{const source=template?.trim()?template:fallback;const tokens={label:currentLabelText||fieldName,name:fieldName,value:submittedValue,count:`${selectedValues.length}`,min:`${choiceConfig.minSelections}`,max:`${choiceConfig.maxSelections}`};return source.replace(/\\{(label|name|value|count|min|max)\\}/g,(_,key)=>tokens[key]??\"\");},[currentLabelText,fieldName,submittedValue,selectedValues.length,choiceConfig.minSelections,choiceConfig.maxSelections]);const validate=useCallback(()=>{const el=inputRef.current;if(!el)return;el.setCustomValidity(\"\");if(!isSingle&&selectedValues.length>0&&choiceConfig.minSelections>0&&selectedValues.length<choiceConfig.minSelections){el.setCustomValidity(`Select at least ${choiceConfig.minSelections}`);}if(!el.validity.valid){const message=el.validity.valueMissing?applyTokens(validationConfig.requiredMessage,`${currentLabelText||fieldName} is required`):el.validationMessage;setError(message);if(el.validity.valueMissing&&validationConfig.requiredMessage.trim()){el.setCustomValidity(applyTokens(validationConfig.requiredMessage,`${currentLabelText||fieldName} is required`));}}else{setError(\"\");}},[applyTokens,validationConfig.requiredMessage,currentLabelText,fieldName,isSingle,choiceConfig.minSelections,selectedValues.length]);const handleSelect=useCallback(value=>{if(effectiveDisabled)return;setError(\"\");if(isSingle){if(choiceConfig.allowDeselect&&selectedValues.includes(value)){setSelectedValues([]);}else{setSelectedValues([value]);}}else{if(selectedValues.includes(value)){setSelectedValues(selectedValues.filter(v=>v!==value));}else{if(choiceConfig.maxSelections>0&&selectedValues.length>=choiceConfig.maxSelections){return;}setSelectedValues([...selectedValues,value]);}}},[isSingle,choiceConfig.allowDeselect,choiceConfig.maxSelections,selectedValues,effectiveDisabled]);const handleKeyDown=useCallback(e=>{if(effectiveDisabled)return;if(shortcutConfig.enableKeypress&&shortcutConfig.show&&e.key.length===1){let targetIndex=-1;if(shortcutConfig.labelStyle===\"letter\"){const code=e.key.toUpperCase().charCodeAt(0)-65;if(code>=0&&code<effectiveOptions.length){targetIndex=code;}}else{const num=parseInt(e.key,10);if(num>=1&&num<=effectiveOptions.length){targetIndex=num-1;}}if(targetIndex>=0){e.preventDefault();handleSelect(effectiveOptions[targetIndex].value);const buttons=Array.from(e.currentTarget.querySelectorAll(\"button[data-choice-btn]:not(:disabled)\"));if(buttons[targetIndex]){buttons[targetIndex].focus();}return;}}const buttons=Array.from(e.currentTarget.querySelectorAll(\"button[data-choice-btn]:not(:disabled)\"));const currentIndex=buttons.findIndex(btn=>btn===document.activeElement);if(currentIndex<0)return;let nextIndex=currentIndex;if(e.key===\"ArrowRight\"||e.key===\"ArrowDown\"){nextIndex=(currentIndex+1)%buttons.length;}else if(e.key===\"ArrowLeft\"||e.key===\"ArrowUp\"){nextIndex=(currentIndex-1+buttons.length)%buttons.length;}else if(e.key===\"Home\"){nextIndex=0;}else if(e.key===\"End\"){nextIndex=buttons.length-1;}else{return;}e.preventDefault();buttons[nextIndex].focus();if(isSingle){const btnValue=buttons[nextIndex].getAttribute(\"data-value\")||\"\";if(btnValue){setSelectedValues([btnValue]);setError(\"\");}}},[shortcutConfig.enableKeypress,shortcutConfig.show,shortcutConfig.labelStyle,effectiveOptions,handleSelect,isSingle,effectiveDisabled]);const handleContainerFocus=useCallback(()=>{setIsFocused(true);setError(\"\");},[]);const handleContainerBlur=useCallback(e=>{if(e.currentTarget.contains(e.relatedTarget))return;setIsFocused(false);setHoveredIndex(-1);validate();},[validate]);const handleInvalid=useCallback(event=>{if(!validationConfig.showBrowserTooltip){event.preventDefault();}validate();},[validate,validationConfig.showBrowserTooltip]);const describedBy=error?errorId:undefined;// --- Styles ---\nconst containerStyle={display:\"flex\",flexDirection:layoutConfig.direction===\"horizontal\"?\"row\":\"column\",alignItems:layoutConfig.direction===\"horizontal\"?\"flex-start\":\"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 labelTextStyle={...labelConfig.font,fontWeight:normalizedLabelFontWeight,color:labelConfig.color,flexShrink:0,...layoutConfig.direction===\"horizontal\"?{width:`${layoutConfig.labelWidth}px`}:{}};const getButtonsContainerStyle=()=>{const arrangement=btnLayoutConfig.arrangement;if(arrangement===\"grid\"){return{display:\"grid\",gridTemplateColumns:`repeat(${Math.max(1,btnLayoutConfig.columns)}, 1fr)`,gap:`${btnLayoutConfig.gapV}px ${btnLayoutConfig.gapH}px`,width:\"100%\"};}if(arrangement===\"horizontal\"){return{display:\"flex\",flexDirection:\"row\",flexWrap:\"wrap\",gap:`${btnLayoutConfig.gapV}px ${btnLayoutConfig.gapH}px`,width:\"100%\"};}return{display:\"flex\",flexDirection:\"column\",gap:`${btnLayoutConfig.gapV}px`,width:\"100%\"};};const hiddenInputStyle={position:\"absolute\",opacity:0,width:0,height:0,overflow:\"hidden\",pointerEvents:\"none\"};const errorMessageStyle={...errorStyleConfig.font,color:errorStyleConfig.color,marginTop:\"6px\",overflow:\"hidden\"};const getBadgeStyle=isSelected=>({display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",minWidth:\"20px\",height:\"20px\",borderRadius:\"4px\",fontSize:\"11px\",fontWeight:700,lineHeight:1,flexShrink:0,border:\"1px solid currentColor\",opacity:isSelected?.8:.4,transition:isCanvas?\"none\":\"opacity 0.15s ease-out\"});const getImageStyle=()=>({width:\"100%\",height:`${imgConfig.height}px`,objectFit:\"cover\",borderRadius:imgConfig.radius,pointerEvents:\"none\",userSelect:\"none\",display:\"block\"});const groupRole=isSingle?\"radiogroup\":\"group\";if(!isVisible){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`div:has(> .formsplugin-hide-conditional-block) { display: none; }`}),/*#__PURE__*/_jsx(\"div\",{className:\"formsplugin-hide-conditional-block\"})]});}return /*#__PURE__*/_jsxs(\"div\",{style:{...containerStyle,...effectiveDisabled?{opacity:.5,pointerEvents:\"none\"}:{}},children:[labelConfig.show&&currentLabelText&&/*#__PURE__*/_jsxs(\"label\",{htmlFor:inputId,style:labelTextStyle,children:[currentLabelText,effectiveRequired&&/*#__PURE__*/_jsx(\"span\",{style:{color:errorStyleConfig.color,marginLeft:\"2px\"},children:labelConfig.requiredMark||\"*\"}),!isSingle&&choiceConfig.maxSelections>0&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:\"11px\",color:\"#9CA3AF\",fontWeight:400,marginLeft:\"6px\"},children:[\"(max \",choiceConfig.maxSelections,\")\"]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,width:\"100%\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"input\",{ref:inputRef,id:inputId,name:fieldName,type:\"text\",value:submittedValue,required:effectiveRequired,disabled:effectiveDisabled,tabIndex:-1,\"aria-hidden\":\"true\",readOnly:true,onInvalid:handleInvalid,style:hiddenInputStyle}),/*#__PURE__*/_jsx(\"div\",{role:groupRole,\"aria-label\":currentLabelText,\"aria-describedby\":describedBy,\"aria-invalid\":error?\"true\":undefined,onFocus:handleContainerFocus,onBlur:handleContainerBlur,onKeyDown:handleKeyDown,style:getButtonsContainerStyle(),children:effectiveOptions.map((option,index)=>{const optionValue=option.value||option.label||\"\";const isSelected=selectedValues.includes(optionValue);const isHovered=!isCanvas&&hoveredIndex===index;const isMaxReached=!isSingle&&choiceConfig.maxSelections>0&&selectedValues.length>=choiceConfig.maxSelections&&!isSelected;const hasImage=imgConfig.show&&option.image;const btnBg=isSelected?btnStyleConfig.activeBackground:btnStyleConfig.inactiveBackground;const btnText=isSelected?btnStyleConfig.activeTextColor:btnStyleConfig.inactiveTextColor;const btnBorder=isSelected?btnStyleConfig.activeBorderColor:isHovered?focusStyleConfig.borderColor:btnStyleConfig.inactiveBorderColor;const buttonBtnStyle={display:\"flex\",flexDirection:hasImage?\"column\":\"row\",alignItems:hasImage?\"stretch\":\"center\",gap:hasImage?`${imgConfig.gap}px`:\"10px\",width:btnLayoutConfig.arrangement===\"horizontal\"?\"auto\":undefined,padding:btnStyleConfig.padding,borderRadius:btnStyleConfig.radius,border:`${btnStyleConfig.borderWidth}px solid ${btnBorder}`,background:btnBg,color:btnText,cursor:isCanvas?\"default\":isMaxReached?\"not-allowed\":\"pointer\",outline:\"none\",textAlign:\"left\",overflow:\"hidden\",opacity:isMaxReached?.5:1,boxShadow:isSelected&&!isCanvas?focusStyleConfig.shadow||\"none\":\"none\",transition:isCanvas?\"none\":\"background 0.15s ease-out, border-color 0.15s ease-out, color 0.15s ease-out, box-shadow 0.15s ease-out, opacity 0.15s ease-out\"};const ariaProps=isSingle?{role:\"radio\",\"aria-checked\":isSelected}:{\"aria-pressed\":isSelected};const imageEl=hasImage?/*#__PURE__*/_jsx(\"img\",{src:option.image,alt:option.label||option.value||\"\",style:getImageStyle()}):null;return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"data-choice-btn\":\"\",\"data-value\":optionValue,...ariaProps,\"aria-label\":option.label||option.value,tabIndex:isSingle?index===0||isSelected?0:-1:0,onClick:()=>handleSelect(optionValue),onMouseEnter:()=>{if(!isCanvas)setHoveredIndex(index);},onMouseLeave:()=>setHoveredIndex(-1),style:buttonBtnStyle,disabled:effectiveDisabled||isMaxReached,children:[imgConfig.position===\"top\"&&imageEl,/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",gap:\"10px\",width:\"100%\",...btnStyleConfig.font},children:[shortcutConfig.show&&/*#__PURE__*/_jsx(\"span\",{style:getBadgeStyle(isSelected),children:getShortcutLabel(index,shortcutConfig.labelStyle)}),/*#__PURE__*/_jsx(\"span\",{style:{flex:1},children:option.label||option.value}),btnStyleConfig.showCheckmark&&isSelected&&/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",style:{width:\"16px\",height:\"16px\",flexShrink:0},\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:CHECKMARK_PATH,fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]}),imgConfig.position===\"bottom\"&&imageEl]},`${optionValue}-${index}`);})}),/*#__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\")})]})]});}ButtonChoiceControl.displayName=\"Button Choice\";ButtonChoiceControl.defaultProps={name:\"button-choice\",labelText:\"Choose\",required:false,defaultValue:\"\",options:DEFAULT_OPTIONS,conditions:[],choice:DEFAULT_CHOICE,shortcut:DEFAULT_SHORTCUT,validation:DEFAULT_VALIDATION,label:DEFAULT_LABEL,layout:DEFAULT_LAYOUT,buttonLayout:DEFAULT_BUTTON_LAYOUT,imageStyle:DEFAULT_IMAGE_CONFIG,buttonStyle:DEFAULT_BUTTON_STYLE,focusStyle:DEFAULT_FOCUS_STYLE,errorStyle:DEFAULT_ERROR_STYLE,_meta:\"\",style:{}};addPropertyControls(ButtonChoiceControl,{// --- Field Settings ---\nname:{type:ControlType.String,title:\"Field Name\",defaultValue:\"button-choice\",description:\"Unique name used in submitted form data.\"},labelText:{type:ControlType.String,title:\"Label Name\",defaultValue:\"Choose\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},defaultValue:{type:ControlType.String,title:\"Default Value\",defaultValue:\"\",description:\"Pre-selected value(s). Use separator for multiple.\"},options:{type:ControlType.Array,title:\"Choices\",defaultValue:[{label:\"Option 1\",value:\"option-1\",image:\"\"},{label:\"Option 2\",value:\"option-2\",image:\"\"},{label:\"Option 3\",value:\"option-3\",image:\"\"}],control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Option\"},value:{type:ControlType.String,title:\"Value\",defaultValue:\"option\",description:\"Data sent when submitted.\"},image:{type:ControlType.Image,title:\"Image\"}}}},choice:{type:ControlType.Object,title:\"Choice Settings\",controls:{selectionMode:{type:ControlType.Enum,title:\"Selection\",defaultValue:\"single\",options:[\"single\",\"multiple\"],optionTitles:[\"Single\",\"Multiple\"],displaySegmentedControl:true},allowDeselect:{type:ControlType.Boolean,title:\"Allow Deselect\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Click selected to deselect in single mode.\",hidden(props){return props.selectionMode!==\"single\";}},separator:{type:ControlType.String,title:\"Separator\",defaultValue:\", \",description:\"Joins multiple values in submission.\",hidden(props){return props.selectionMode!==\"multiple\";}},minSelections:{type:ControlType.Number,title:\"Min Select\",defaultValue:0,min:0,max:20,step:1,displayStepper:true,description:\"Minimum selections required (0 = none).\",hidden(props){return props.selectionMode!==\"multiple\";}},maxSelections:{type:ControlType.Number,title:\"Max Select\",defaultValue:0,min:0,max:20,step:1,displayStepper:true,description:\"Maximum allowed selections (0 = unlimited).\",hidden(props){return props.selectionMode!==\"multiple\";}}}},// --- Validation ---\nvalidation:{type:ControlType.Object,title:\"Validation\",controls:{requiredMessage:{type:ControlType.String,title:\"Required Error\",defaultValue:\"\",description:\"Message for required validation. Supports {label}, {name}, {count}.\"},showBrowserTooltip:{type:ControlType.Boolean,title:\"Browser Tooltip\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Show browser default validation popup.\"}}},// --- Label Style ---\nlabel:{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 ---\nlayout:{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\";}}}},// --- Component-Specific: Shortcut Badges ---\nshortcut:{type:ControlType.Object,title:\"Shortcut Badges\",controls:{show:{type:ControlType.Boolean,title:\"Show Badges\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},labelStyle:{type:ControlType.Enum,title:\"Badge Style\",defaultValue:\"letter\",options:[\"letter\",\"number\"],optionTitles:[\"A, B, C\",\"1, 2, 3\"],displaySegmentedControl:true,hidden(props){return props.show===false;}},enableKeypress:{type:ControlType.Boolean,title:\"Key Shortcut\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Press badge key to select option.\",hidden(props){return props.show===false;}}}},// --- Component-Specific: Button Layout ---\nbuttonLayout:{type:ControlType.Object,title:\"Button Layout\",controls:{arrangement:{type:ControlType.Enum,title:\"Arrangement\",defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\",\"grid\"],optionTitles:[\"Vertical\",\"Horizontal\",\"Grid\"]},columns:{type:ControlType.Number,title:\"Columns\",defaultValue:2,min:1,max:6,step:1,displayStepper:true,hidden(props){return props.arrangement!==\"grid\";}},gapH:{type:ControlType.Number,title:\"Horizontal Gap\",defaultValue:8,min:0,max:24,step:2,unit:\"px\"},gapV:{type:ControlType.Number,title:\"Vertical Gap\",defaultValue:8,min:0,max:24,step:2,unit:\"px\"}}},// --- Component-Specific: Image Style ---\nimageStyle:{type:ControlType.Object,title:\"Image Style\",controls:{show:{type:ControlType.Boolean,title:\"Show Images\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},position:{type:ControlType.Enum,title:\"Position Text\",defaultValue:\"top\",options:[\"top\",\"bottom\"],optionTitles:[\"Above\",\"Below\"],displaySegmentedControl:true,hidden(props){return props.show===false;}},height:{type:ControlType.Number,title:\"Height\",defaultValue:120,min:40,max:400,step:10,unit:\"px\",displayStepper:true,hidden(props){return props.show===false;}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"6px\",hidden(props){return props.show===false;}},gap:{type:ControlType.Number,title:\"Spacing\",defaultValue:10,min:0,max:24,step:2,unit:\"px\",description:\"Space between image and text.\",hidden(props){return props.show===false;}}}},// --- Component-Specific: Button Style ---\nbuttonStyle:{type:ControlType.Object,title:\"Button Style\",controls:{padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"10px 16px\"},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"10px\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:1,min:0,max:4,step:1,unit:\"px\",displayStepper:true},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,fontWeight:\"600\"}},inactiveBackground:{type:ControlType.Color,title:\"Inactive BG\",defaultValue:\"#F3F4F6\"},inactiveTextColor:{type:ControlType.Color,title:\"Inactive Text\",defaultValue:\"#6B7280\"},inactiveBorderColor:{type:ControlType.Color,title:\"Inactive Border\",defaultValue:\"rgba(0,0,0,0.06)\"},activeBackground:{type:ControlType.Color,title:\"Active BG\",defaultValue:\"#3B82F6\"},activeTextColor:{type:ControlType.Color,title:\"Active Text\",defaultValue:\"#FFFFFF\"},activeBorderColor:{type:ControlType.Color,title:\"Active Border\",defaultValue:\"#3B82F6\"},showCheckmark:{type:ControlType.Boolean,title:\"Checkmark\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Show checkmark icon on selected buttons.\"}}},// --- Focus Style ---\nfocusStyle:{type:ControlType.Object,title:\"Focus Style\",controls:{borderColor:{type:ControlType.Color,title:\"Hover Border\",defaultValue:\"#3B82F6\"},shadow:{type:ControlType.BoxShadow,title:\"Active Shadow\",defaultValue:\"none\"}}},// --- Error Style ---\nerrorStyle:{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}}}},// --- Conditional Logic ---\n...CONDITION_ARRAY_CONTROL,// --- Hidden Metadata ---\n_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ButtonChoiceControl\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"170\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ButtonChoiceControl.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\";// ============================================================================\n// CONSTANTS\n// ============================================================================\nconst API_UPLOAD_ENDPOINT=\"https://api.framergeeks.com/upload/api/v1/common/upload\";// ============================================================================\n// DEFAULT VALUES\n// ============================================================================\nconst DEFAULT_VALIDATION={requiredMessage:\"\",maxSizeMessage:\"\",invalidTypeMessage:\"\"};const DEFAULT_UPLOAD={maxSizeMB:25,uploadingText:\"Uploading [FileName]...\",showSpinner:true,fileTypes:\"all\",customTypes:[\".pdf\"]};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:\"#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:\"\"};const DEFAULT_FOCUS_STYLE={borderColor:\"#3B82F6\",shadow:\"\",scale:1};const DEFAULT_ICONS={showIcon:true,icon:\"\",size:18,color:\"#0066FF\",containerBackground:\"#F5F5F5\",containerBorderColor:\"#FFFFFF\"};const DEFAULT_PREVIEW={showPreview:true,height:44,radius:\"8px\"};const DEFAULT_CLEAR_BUTTON={show:true,icon:\"\",size:12,color:\"#000000\",background:\"#FFFFFF\",radius:\"8px\"};const DEFAULT_ERROR_STYLE={color:\"#dc2626\",font:{fontSize:12,lineHeight:1.4}};// ============================================================================\n// DEFAULT ICONS (SVG)\n// ============================================================================\nconst DEFAULT_FILE_ICON=`data:image/svg+xml,${encodeURIComponent(`<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.744 7.4215C19.744 6.59902 19.4168 5.81039 18.8358 5.22822C17.7493 4.14286 15.6012 1.99471 14.5158 0.908225C13.9336 0.327187 13.145 0 12.3225 0C10.8502 0 7.89987 0 5.35909 0C3.93752 0 2.57462 0.564115 1.56937 1.56937C0.564115 2.57462 0 3.93752 0 5.35909V16.6414C0 19.6007 2.39975 22.0005 5.35909 22.0005H14.3849C17.3443 22.0005 19.744 19.6007 19.744 16.6414C19.744 13.3819 19.744 9.24472 19.744 7.4215ZM12.4105 1.6946C12.3812 1.69347 12.3519 1.69235 12.3225 1.69235C10.8502 1.69235 7.89987 1.69235 5.35909 1.69235C4.38656 1.69235 3.45351 2.0782 2.76642 2.76642C2.0782 3.45351 1.69235 4.38656 1.69235 5.35909V16.6414C1.69235 18.6666 3.33392 20.3081 5.35909 20.3081H14.3849C16.4101 20.3081 18.0517 18.6666 18.0517 16.6414C18.0517 13.3819 18.0517 9.24472 18.0517 7.4215C18.0517 7.39216 18.0506 7.36283 18.0494 7.3335H15.5132C14.6907 7.3335 13.9009 7.00631 13.3188 6.42527C12.7377 5.8431 12.4105 5.05334 12.4105 4.23086V1.6946ZM16.8546 5.64115L14.1029 2.8894V4.23086C14.1029 4.60544 14.2518 4.96308 14.5158 5.22822C14.7809 5.49222 15.1386 5.64115 15.5132 5.64115H16.8546Z\" fill=\"currentColor\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.87237 7.89771H9.89268C9.97053 7.89996 10.0461 7.91237 10.1172 7.93381L10.1195 7.93494C10.2481 7.9733 10.3688 8.04438 10.4703 8.14592L12.7268 10.4024C13.0574 10.7318 13.0574 11.2689 12.7268 11.5983C12.3973 11.9289 11.8603 11.9289 11.5309 11.5983L10.7185 10.7871V14.385C10.7185 14.8521 10.3395 15.2312 9.87237 15.2312C9.40528 15.2312 9.0262 14.8521 9.0262 14.385V10.7871L8.21387 11.5983C7.88443 11.9289 7.34739 11.9289 7.01795 11.5983C6.68738 11.2689 6.68738 10.7318 7.01795 10.4024L9.27441 8.14592C9.37595 8.04438 9.49667 7.9733 9.62529 7.93494L9.62754 7.93381C9.69862 7.91237 9.77421 7.89996 9.85206 7.89771H9.87237Z\" fill=\"currentColor\"/>\n</svg>`)}`;const DEFAULT_DELETE_ICON=`data:image/svg+xml,${encodeURIComponent(`<svg width=\"13\" height=\"14\" viewBox=\"0 0 13 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5.5 2H7.5C7.5 1.73478 7.39464 1.48043 7.20711 1.29289C7.01957 1.10536 6.76522 1 6.5 1C6.23478 1 5.98043 1.10536 5.79289 1.29289C5.60536 1.48043 5.5 1.73478 5.5 2ZM4.5 2C4.5 1.46957 4.71071 0.960859 5.08579 0.585786C5.46086 0.210714 5.96957 0 6.5 0C7.03043 0 7.53914 0.210714 7.91421 0.585786C8.28929 0.960859 8.5 1.46957 8.5 2H12.5C12.6326 2 12.7598 2.05268 12.8536 2.14645C12.9473 2.24021 13 2.36739 13 2.5C13 2.63261 12.9473 2.75979 12.8536 2.85355C12.7598 2.94732 12.6326 3 12.5 3H11.936L10.731 11.838C10.6493 12.4369 10.3533 12.986 9.8979 13.3835C9.44249 13.781 8.85848 14 8.254 14H4.746C4.14152 14 3.55751 13.781 3.1021 13.3835C2.64669 12.986 2.35073 12.4369 2.269 11.838L1.064 3H0.5C0.367392 3 0.240215 2.94732 0.146447 2.85355C0.0526784 2.75979 0 2.63261 0 2.5C0 2.36739 0.0526784 2.24021 0.146447 2.14645C0.240215 2.05268 0.367392 2 0.5 2H4.5ZM5.5 5.5C5.5 5.36739 5.44732 5.24021 5.35355 5.14645C5.25979 5.05268 5.13261 5 5 5C4.86739 5 4.74021 5.05268 4.64645 5.14645C4.55268 5.24021 4.5 5.36739 4.5 5.5V10.5C4.5 10.6326 4.55268 10.7598 4.64645 10.8536C4.74021 10.9473 4.86739 11 5 11C5.13261 11 5.25979 10.9473 5.35355 10.8536C5.44732 10.7598 5.5 10.6326 5.5 10.5V5.5ZM8 5C8.13261 5 8.25979 5.05268 8.35355 5.14645C8.44732 5.24021 8.5 5.36739 8.5 5.5V10.5C8.5 10.6326 8.44732 10.7598 8.35355 10.8536C8.25979 10.9473 8.13261 11 8 11C7.86739 11 7.74021 10.9473 7.64645 10.8536C7.55268 10.7598 7.5 10.6326 7.5 10.5V5.5C7.5 5.36739 7.55268 5.24021 7.64645 5.14645C7.74021 5.05268 7.86739 5 8 5ZM3.26 11.703C3.30908 12.0623 3.48664 12.3916 3.75984 12.6301C4.03304 12.8685 4.38337 13 4.746 13H8.254C8.6168 13.0002 8.96737 12.8689 9.24078 12.6304C9.51419 12.3919 9.6919 12.0625 9.741 11.703L10.927 3H2.073L3.26 11.703Z\" fill=\"currentColor\"/>\n</svg>`)}`;// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\nasync function uploadToServer(file,userId,projectId){const formData=new FormData;formData.append(\"file\",file);if(userId)formData.append(\"userId\",userId);if(projectId)formData.append(\"projectId\",projectId);try{const response=await fetch(API_UPLOAD_ENDPOINT,{method:\"POST\",body:formData});if(!response.ok){const errorBody=await response.json().catch(()=>({}));throw new Error(errorBody.message||errorBody.errorMessage||\"Upload failed\");}const responseBody=await response.json();const fileLocation=responseBody.data?.path||responseBody.path||responseBody.url||responseBody.fileLocation||responseBody.fileUrl;if(!fileLocation){throw new Error(\"No file URL returned from server\");}return fileLocation;}catch(error){console.error(\"Upload error:\",error);return null;}}function getAcceptedTypes(uploadConfig){if(uploadConfig.fileTypes===\"all\")return\"\";const types=[];for(const type of uploadConfig.customTypes||[]){if(type.startsWith(\".\")||type.includes(\"/*\")){types.push(type);}else{types.push(`.${type}`);}}return types.join(\",\");}function validateFileType(file,uploadConfig){if(uploadConfig.fileTypes===\"all\")return true;return(uploadConfig.customTypes||[]).some(type=>{if(type.startsWith(\".\")){return file.name.toLowerCase().endsWith(type.toLowerCase());}else if(type.includes(\"/*\")){const[category]=type.split(\"/\");return file.type.startsWith(`${category}/`);}return file.type===type;});}// ============================================================================\n// MAIN COMPONENT\n// ============================================================================\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 92\n * @framerDisableUnlink\n */export default function FileUploadControl(props){const{name,labelText,placeholder,subText,required,conditions,validation,upload,label,layout,inputStyle,icons,preview,clearButton,focusStyle,errorStyle,_meta,style}=props;// Merge configs with defaults\nconst validationConfig={...DEFAULT_VALIDATION,...validation||{}};const uploadConfig={...DEFAULT_UPLOAD,...upload||{}};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 iconsConfig={...DEFAULT_ICONS,...icons||{}};const previewConfig={...DEFAULT_PREVIEW,...preview||{}};const clearButtonConfig={...DEFAULT_CLEAR_BUTTON,...clearButton||{}};const focusStyleConfig={...DEFAULT_FOCUS_STYLE,...focusStyle||{}};const errorStyleConfig={...DEFAULT_ERROR_STYLE,...errorStyle||{},font:{...DEFAULT_ERROR_STYLE.font,...errorStyle&&errorStyle.font||{}}};const fieldName=name||\"file-upload\";const currentLabelText=labelText||\"File\";const inputId=`field-${fieldName}`;const errorId=`error-${fieldName}`;const maxSizeMB=Math.min(uploadConfig.maxSizeMB||25,25);const[fileName,setFileName]=useState(\"\");const[uploadedFileUrl,setUploadedFileUrl]=useState(\"\");const[imagePreviewUrl,setImagePreviewUrl]=useState(\"\");const[isUploading,setIsUploading]=useState(false);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(()=>{setFileName(\"\");setUploadedFileUrl(\"\");setImagePreviewUrl(\"\");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 effectiveReadOnly=hasReadOnlyConditions?isReadOnly:false;const effectiveDisabledOrReadOnly=effectiveDisabled||effectiveReadOnly;const parsedMeta=useMemo(()=>{if(!_meta)return null;try{return JSON.parse(_meta);}catch{return null;}},[_meta]);const userId=parsedMeta?.userId;const projectId=parsedMeta?.projectId;const acceptedTypes=getAcceptedTypes(uploadConfig);// Get validation messages with token replacement\nconst getRequiredMessage=useCallback(()=>{const template=validationConfig.requiredMessage?.trim();if(template){return template.replace(/\\{label\\}/g,currentLabelText||fieldName).replace(/\\{name\\}/g,fieldName);}return\"Please upload a file.\";},[validationConfig.requiredMessage,currentLabelText,fieldName]);const getMaxSizeMessage=useCallback(()=>{const template=validationConfig.maxSizeMessage?.trim();if(template){return template.replace(/\\{label\\}/g,currentLabelText||fieldName).replace(/\\{name\\}/g,fieldName).replace(/\\{max\\}/g,`${maxSizeMB}`);}return`File size exceeds ${maxSizeMB}MB limit.`;},[validationConfig.maxSizeMessage,currentLabelText,fieldName,maxSizeMB]);const getInvalidTypeMessage=useCallback(()=>{const template=validationConfig.invalidTypeMessage?.trim();if(template){return template.replace(/\\{label\\}/g,currentLabelText||fieldName).replace(/\\{name\\}/g,fieldName).replace(/\\{types\\}/g,acceptedTypes||\"any\");}return`Invalid file type. Allowed: ${acceptedTypes||\"any\"}`;},[validationConfig.invalidTypeMessage,currentLabelText,fieldName,acceptedTypes]);// 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(!uploadedFileUrl){event.preventDefault();event.stopPropagation();setError(getRequiredMessage());return;}setError(\"\");};form.addEventListener(\"submit\",handleSubmit,true);return()=>{form.removeEventListener(\"submit\",handleSubmit,true);};},[isCanvas,effectiveRequired,uploadedFileUrl,getRequiredMessage]);const handleFocus=useCallback(()=>{setIsFocused(true);setError(\"\");},[]);const handleBlur=useCallback(()=>{setIsFocused(false);},[]);const handleFileChange=useCallback(async event=>{const file=event.target.files?.[0];if(!file)return;setFileName(file.name);setImagePreviewUrl(\"\");setError(\"\");// Validate file type\nif(!validateFileType(file,uploadConfig)){setError(getInvalidTypeMessage());setFileName(\"\");return;}// Validate file size\nconst maxSizeBytes=maxSizeMB*1024*1024;if(file.size>maxSizeBytes){setError(getMaxSizeMessage());setFileName(\"\");return;}// Create preview for images\nif(previewConfig.showPreview&&file.type.startsWith(\"image/\")){setImagePreviewUrl(URL.createObjectURL(file));}setIsUploading(true);const fileUrl=await uploadToServer(file,userId,projectId);setIsUploading(false);if(fileUrl){setUploadedFileUrl(fileUrl);}else{setError(\"Upload failed. Please try again.\");setFileName(\"\");setImagePreviewUrl(\"\");}},[maxSizeMB,userId,projectId,uploadConfig,acceptedTypes,previewConfig.showPreview,getMaxSizeMessage,getInvalidTypeMessage]);const handleClearFile=useCallback(()=>{setFileName(\"\");setUploadedFileUrl(\"\");setImagePreviewUrl(\"\");setIsUploading(false);setError(\"\");if(inputRef.current){inputRef.current.value=\"\";}},[]);const handleKeyDown=useCallback(event=>{if(event.key===\"Enter\"){inputRef.current?.click();}},[]);const handleInvalid=useCallback(event=>{event.preventDefault();if(!uploadedFileUrl&&effectiveRequired){setError(getRequiredMessage());}},[uploadedFileUrl,effectiveRequired,getRequiredMessage]);// Variants for animation\nconst wrapperVariants={idle:{borderColor:inputStyleConfig.border?.borderColor||\"#D1D5DB\",boxShadow:inputStyleConfig.shadow||\"none\",scale:1},focused:{borderColor:focusStyleConfig.borderColor,boxShadow:focusStyleConfig.shadow,scale:focusStyleConfig.scale},error:{borderColor:errorStyleConfig.color,boxShadow:\"0 0 0 3px rgba(239,68,68,0.2)\",scale:1}};const wrapperState=error?\"error\":isFocused?\"focused\":\"idle\";const describedBy=error?errorId:undefined;// Styles\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 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,minHeight:\"56px\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",gap:\"12px\",position:\"relative\",cursor:effectiveDisabledOrReadOnly?\"not-allowed\":fileName?\"default\":\"pointer\",opacity:effectiveDisabledOrReadOnly?.5:1};const errorMessageStyle={...errorStyleConfig.font,color:errorStyleConfig.color,marginTop:\"6px\",overflow:\"hidden\"};const resolvedIcon=iconsConfig.icon||DEFAULT_FILE_ICON;const resolvedClearIcon=clearButtonConfig.icon||DEFAULT_DELETE_ICON;// Render spinner\nconst renderSpinner=()=>/*#__PURE__*/_jsx(\"div\",{style:{width:iconsConfig.size,height:iconsConfig.size,flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},dangerouslySetInnerHTML:{__html:`\n                <svg width=\"${iconsConfig.size}\" height=\"${iconsConfig.size}\" viewBox=\"0 0 50 50\">\n                    <circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke=\"#e2e8f0\" stroke-width=\"4\"></circle>\n                    <circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke=\"${iconsConfig.color}\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-dasharray=\"125.6\" stroke-dashoffset=\"125.6\">\n                        <animate attributeName=\"stroke-dashoffset\" values=\"125.6;0;125.6\" dur=\"2s\" repeatCount=\"indefinite\" />\n                    </circle>\n                </svg>\n                `}});// Render icon or preview\nconst renderIconOrPreview=()=>{if(!iconsConfig.showIcon&&!previewConfig.showPreview)return null;if(isUploading&&uploadConfig.showSpinner){return renderSpinner();}// Show image preview if available\nif(imagePreviewUrl&&previewConfig.showPreview){return /*#__PURE__*/_jsx(\"div\",{style:{width:previewConfig.height,height:previewConfig.height,minWidth:previewConfig.height,borderRadius:previewConfig.radius,overflow:\"hidden\",flexShrink:0},children:/*#__PURE__*/_jsx(\"img\",{src:imagePreviewUrl,alt:\"Preview\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\"}})});}if(!iconsConfig.showIcon)return null;return /*#__PURE__*/_jsx(\"div\",{style:{width:44,height:44,minWidth:44,borderRadius:\"50%\",background:fileName?\"transparent\":iconsConfig.containerBackground,border:fileName?\"none\":`4px solid ${iconsConfig.containerBorderColor}`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${iconsConfig.size}px`,height:`${iconsConfig.size}px`,backgroundColor:fileName?\"#666666\":iconsConfig.color,WebkitMaskImage:`url(${resolvedIcon})`,maskImage:`url(${resolvedIcon})`,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskPosition:\"center\",maskPosition:\"center\",WebkitMaskSize:\"contain\",maskSize:\"contain\"}})});};// Render content\nconst renderContent=()=>{if(isUploading){return /*#__PURE__*/_jsx(\"span\",{style:{...inputStyleConfig.font,color:inputStyleConfig.color,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:uploadConfig.uploadingText.replace(\"[FileName]\",fileName)});}if(fileName){return /*#__PURE__*/_jsx(\"span\",{style:{...inputStyleConfig.font,color:inputStyleConfig.color,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:fileName});}return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"2px\",alignItems:\"flex-start\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{...inputStyleConfig.font,color:inputStyleConfig.color},children:placeholder}),subText&&/*#__PURE__*/_jsx(\"span\",{style:{...inputStyleConfig.font,fontSize:((inputStyleConfig.font?.fontSize)||14)*.85,fontWeight:500,color:inputStyleConfig.placeholderColor,marginTop:4,opacity:.8},children:subText.replace(\"{max}\",`${maxSizeMB}`)})]});};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,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__*/_jsxs(Wrapper,{...!isCanvas&&{animate:wrapperState,variants:wrapperVariants,transition:{duration:.2,ease:\"easeOut\"}},style:inputWrapperStyle,onFocus:handleFocus,onBlur:handleBlur,onKeyDown:handleKeyDown,tabIndex:0,children:[/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:fieldName,value:uploadedFileUrl}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,id:inputId,type:\"file\",accept:acceptedTypes,onChange:handleFileChange,onInvalid:handleInvalid,required:effectiveRequired&&!uploadedFileUrl,disabled:effectiveDisabledOrReadOnly,\"aria-invalid\":error?\"true\":undefined,\"aria-describedby\":describedBy,style:{position:\"absolute\",inset:0,opacity:0,cursor:effectiveDisabledOrReadOnly?\"not-allowed\":\"pointer\",pointerEvents:effectiveDisabledOrReadOnly||fileName?\"none\":\"auto\"}}),renderIconOrPreview(),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,minWidth:0,display:\"flex\",alignItems:\"center\"},children:renderContent()}),clearButtonConfig.show&&fileName&&!isUploading&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:e=>{e.preventDefault();e.stopPropagation();handleClearFile();},style:{flexShrink:0,width:27,height:27,background:clearButtonConfig.background,borderRadius:clearButtonConfig.radius,border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:\"8px 9px\",boxShadow:\"0px 2px 5px rgba(51, 51, 51, 0.06)\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${clearButtonConfig.size}px`,height:`${clearButtonConfig.size}px`,backgroundColor:clearButtonConfig.color,WebkitMaskImage:`url(${resolvedClearIcon})`,maskImage:`url(${resolvedClearIcon})`,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskPosition:\"center\",maskPosition:\"center\",WebkitMaskSize:\"contain\",maskSize:\"contain\"}})})]}),/*#__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\")})]})]});}FileUploadControl.displayName=\"File Upload\";FileUploadControl.defaultProps={name:\"file-upload\",labelText:\"File\",placeholder:\"Click to upload or drag & drop\",subText:\"Max {max} MB\",required:false,conditions:[],validation:DEFAULT_VALIDATION,upload:DEFAULT_UPLOAD,label:DEFAULT_LABEL,layout:DEFAULT_LAYOUT,inputStyle:DEFAULT_INPUT_STYLE,icons:DEFAULT_ICONS,preview:DEFAULT_PREVIEW,clearButton:DEFAULT_CLEAR_BUTTON,focusStyle:DEFAULT_FOCUS_STYLE,errorStyle:DEFAULT_ERROR_STYLE,_meta:\"\",style:{}};// ============================================================================\n// PROPERTY CONTROLS\n// ============================================================================\naddPropertyControls(FileUploadControl,{name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"file-upload\",description:\"Unique name used in submitted form data.\"},labelText:{type:ControlType.String,title:\"Label Name\",defaultValue:\"File\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Click to upload or drag & drop\"},subText:{type:ControlType.String,title:\"Sub Text\",defaultValue:\"Max {max} MB\",description:\"Use {max} for max file size.\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},validation:{type:ControlType.Object,title:\"Validation\",controls:{requiredMessage:{type:ControlType.String,title:\"Required Error\",defaultValue:\"\",description:\"Custom message when required. Supports {label}, {name}.\"},maxSizeMessage:{type:ControlType.String,title:\"Max Size Error\",defaultValue:\"\",description:\"Custom message for size limit. Supports {label}, {name}, {max}.\"},invalidTypeMessage:{type:ControlType.String,title:\"Invalid Type Error\",defaultValue:\"\",description:\"Custom message for invalid type. Supports {label}, {name}, {types}.\"}}},upload:{type:ControlType.Object,title:\"Upload Settings\",controls:{maxSizeMB:{type:ControlType.Number,title:\"Max Size\",defaultValue:25,min:1,max:25,step:1,unit:\"MB\"},fileTypes:{type:ControlType.Enum,title:\"File Types\",defaultValue:\"all\",options:[\"all\",\"custom\"],optionTitles:[\"Any File\",\"Custom\"]},customTypes:{type:ControlType.Array,title:\"Allowed Types\",defaultValue:[\".pdf\"],control:{type:ControlType.String,placeholder:\".pdf\"},hidden(props){return props.fileTypes!==\"custom\";}},uploadingText:{type:ControlType.String,title:\"Uploading Text\",defaultValue:\"Uploading [FileName]...\",description:\"[FileName] will be replaced with actual file name.\"},showSpinner:{type:ControlType.Boolean,title:\"Show Spinner\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"}}},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:\"#333333\"},placeholderColor:{type:ControlType.Color,title:\"Sub Text Color\",defaultValue:\"#999999\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(187,187,187,0.15)\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 15px 12px 12px\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.06)\"}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"10px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"none\"}}},icons:{type:ControlType.Object,title:\"Icon\",controls:{showIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},icon:{type:ControlType.Image,title:\"Icon\",hidden(props){return props.showIcon===false;}},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#0066FF\",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;}},containerBackground:{type:ControlType.Color,title:\"Icon BG\",defaultValue:\"#F5F5F5\",hidden(props){return props.showIcon===false;}},containerBorderColor:{type:ControlType.Color,title:\"Icon Border\",defaultValue:\"#FFFFFF\",hidden(props){return props.showIcon===false;}}}},preview:{type:ControlType.Object,title:\"Image Preview\",controls:{showPreview:{type:ControlType.Boolean,title:\"Show Preview\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Show thumbnail for uploaded images.\"},height:{type:ControlType.Number,title:\"Height\",defaultValue:44,min:24,max:120,step:4,unit:\"px\",hidden(props){return props.showPreview===false;}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"8px\",hidden(props){return props.showPreview===false;}}}},clearButton:{type:ControlType.Object,title:\"Clear Button\",controls:{show:{type:ControlType.Boolean,title:\"Show Button\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},icon:{type:ControlType.Image,title:\"Icon\",hidden(props){return props.show===false;}},color:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#000000\",hidden(props){return props.show===false;}},size:{type:ControlType.Number,title:\"Icon Size\",defaultValue:12,min:8,max:32,step:1,unit:\"px\",displayStepper:true,hidden(props){return props.show===false;}},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\",hidden(props){return props.show===false;}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"8px\",hidden(props){return props.show===false;}}}},focusStyle:{type:ControlType.Object,title:\"Focus Style\",controls:{borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#3B82F6\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"none\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:1,max:1.05,step:.005}}},errorStyle:{type:ControlType.Object,title:\"Error Style\",description:\"by [Forms Plugin](https://formsplugin.com/?ref=field_setting)\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#dc2626\"},font:{type:ControlType.Font,title:\"Font\",controls:\"basic\",displayFontSize:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,lineHeight:1.4}}}},...CONDITION_ARRAY_CONTROL,_meta:{type:ControlType.String,defaultValue:\"\",hidden(){return true;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FileUploadControl\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"92\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FileUploadControl.map"],"mappings":"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"}