{"version":3,"file":"FileUploadInput.CIno5CBZ.mjs","names":["_Fragment","useState","useRef","maxSizeMB"],"sources":["https:/framerusercontent.com/modules/PwJ4k4IqmEWPlM2ZI4Eu/Ow3xyrL3YR7stkg8VL2K/DropdownUtilities.js","https:/framerusercontent.com/modules/UXNWRabX0IeVTgbvsbAG/3GOYCihsLzVJYc4MP4sZ/FileUploadInput.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{ControlType}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";import{parsePadding,fillProp,borderProp,shadowsProp,iconProp,createBackground}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/hMz2wp3CWZkNwPJFGPgQ/FramerFormsShared.js\";// ============================================================================\n// CONSTANTS\n// ============================================================================\nconst COLORS={selectedBg:\"rgba(0, 153, 255, 0.1)\",transparent:\"transparent\"};// ============================================================================\n// UTILITY FUNCTIONS\n// ============================================================================\nconst hoverHandlers=(isSelected,hoverBg)=>({onMouseEnter:e=>{if(!isSelected)e.currentTarget.style.backgroundColor=hoverBg;},onMouseLeave:e=>{if(!isSelected)e.currentTarget.style.backgroundColor=COLORS.transparent;}});// ============================================================================\n// REUSABLE DROPDOWN COMPONENTS\n// ============================================================================\n/**\n * Standard dropdown option item component.\n */export function DropdownItem({option,isSelected,onSelect,color,font,padding,hoverBg=\"rgba(255, 255, 255, 0.1)\",showBorder=false}){if(option.type===\"line\"){return /*#__PURE__*/_jsx(\"div\",{style:{height:1,backgroundColor:\"rgba(0, 0, 0, 0.1)\",margin:`4px 0`}});}return /*#__PURE__*/_jsx(\"div\",{onClick:()=>onSelect(option.value||\"\"),style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",padding,cursor:\"pointer\",backgroundColor:isSelected?COLORS.selectedBg:COLORS.transparent,...font,fontSize:font.fontSize||14,borderBottom:showBorder?\"1px solid rgba(0, 0, 0, 0.1)\":\"none\"},...hoverHandlers(isSelected,hoverBg),children:/*#__PURE__*/_jsx(\"span\",{style:{width:\"fitContent\",color},children:option.title||option.value})});}/**\n * Dropdown search input component.\n */export function DropdownSearch({searchInputRef,searchQuery,onSearchChange,placeholder,color,font,padding,placeholderColor,containerId,showBorder,borderColor}){const searchInputId=`search-${containerId}`;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{padding,borderBottom:showBorder?`1px solid ${borderColor}`:\"none\"},children:/*#__PURE__*/_jsx(\"input\",{ref:searchInputRef,id:searchInputId,type:\"text\",placeholder:placeholder,value:searchQuery,onChange:e=>onSearchChange(e.target.value),style:{width:\"100%\",border:\"none\",outline:\"none\",background:\"transparent\",color,...font,fontSize:font.fontSize||14}})}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`#${searchInputId}::placeholder { color: ${placeholderColor||color+\"80\"}; }`}})]});}/**\n * Scrollable dropdown content area with customizable scrollbar.\n */export function DropdownScrollArea({children,containerId,isCanvas,showDropdown,scrollbar}){const scrollableId=`scrollable-${containerId}`;const showScrollbar=scrollbar?.show!==false;const scrollbarWidth=scrollbar?.width||8;const scrollbarBgColor=scrollbar?.bgColor||\"rgba(0, 0, 0, 0.2)\";const forceScrollbar=isCanvas&&showDropdown&&showScrollbar;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:showScrollbar?`\n                        #${scrollableId}::-webkit-scrollbar {\n                            width: ${scrollbarWidth}px;\n                        }\n                        #${scrollableId}::-webkit-scrollbar-track {\n                            background: transparent;\n                        }\n                        #${scrollableId}::-webkit-scrollbar-thumb {\n                            background: ${scrollbarBgColor};\n                            border-radius: ${scrollbarWidth/2}px;\n                        }\n                        #${scrollableId}::-webkit-scrollbar-thumb:hover {\n                            opacity: 0.8;\n                        }\n                        #${scrollableId} {\n                            scrollbar-width: thin;\n                            scrollbar-color: ${scrollbarBgColor} transparent;\n                            ${forceScrollbar?`overflow-y: scroll !important;`:\"\"}\n                        }\n                    `:`\n                        #${scrollableId}::-webkit-scrollbar {\n                            display: none;\n                        }\n                        #${scrollableId} {\n                            scrollbar-width: none;\n                            -ms-overflow-style: none;\n                        }\n                    `}}),/*#__PURE__*/_jsx(\"div\",{id:scrollableId,style:{overflowY:forceScrollbar?\"scroll\":\"auto\",flex:1},children:children})]});}/**\n * Generic dropdown content component.\n * Renders search (optional), header (optional), and options list.\n */export function GenericDropdownContent({options,selectedValue,onOptionSelect,color,font,padding,placeholderColor,dropdownStyle,containerId,isCanvas,showDropdown,showSearch=false,searchPlaceholder=\"Search...\",searchQuery=\"\",onSearchChange,searchInputRef,renderItem,renderHeader}){const hoverBg=dropdownStyle?.hoverBg||\"rgba(255, 255, 255, 0.1)\";const searchBorderColor=dropdownStyle?.searchBorderColor||\"rgba(0, 0, 0, 0.1)\";const hasResults=options.length>0;// Filter options based on search query if search is enabled\nconst filteredOptions=showSearch&&searchQuery?options.filter(opt=>{if(opt.type===\"line\")return false;const searchLower=searchQuery.toLowerCase();return(opt.title||\"\").toLowerCase().includes(searchLower)||(opt.value||\"\").toLowerCase().includes(searchLower);}):options;return /*#__PURE__*/_jsxs(_Fragment,{children:[showSearch&&onSearchChange&&/*#__PURE__*/_jsx(DropdownSearch,{searchInputRef:searchInputRef,searchQuery:searchQuery,onSearchChange:onSearchChange,placeholder:searchPlaceholder,color:color,font:font,padding:padding,placeholderColor:placeholderColor,containerId:containerId,showBorder:hasResults,borderColor:searchBorderColor}),/*#__PURE__*/_jsxs(DropdownScrollArea,{containerId:containerId,isCanvas:isCanvas,showDropdown:showDropdown,scrollbar:dropdownStyle?.scrollbar,children:[renderHeader?.(),filteredOptions.map((option,index)=>{const isSelected=option.value===selectedValue;const isLastBeforeLine=index<filteredOptions.length-1&&filteredOptions[index+1]?.type===\"line\";if(renderItem){return renderItem({option,isSelected,onSelect:onOptionSelect,color,font,padding,hoverBg,showBorder:isLastBeforeLine});}return /*#__PURE__*/_jsx(DropdownItem,{option:option,isSelected:isSelected,onSelect:onOptionSelect,color:color,font:font,padding:padding,hoverBg:hoverBg,showBorder:isLastBeforeLine},option.value||`line-${index}`);})]})]});}/**\n * Generic dropdown container component with animation support.\n * This is the core dropdown that can be customized for different use cases.\n */export function GenericDropdown(props){const{isOpen,dropdownRef,containerId,fill,isCanvas,showDropdown=false,right,left,width,dropdownStyle,borderRadius,bgBlur}=props;const shouldShow=isOpen||isCanvas&&showDropdown;if(!shouldShow)return null;// Parse border configuration\nconst borderWidth=dropdownStyle?.border?.width?parsePadding(dropdownStyle.border.width):[0,0,0,0];const borderColor=dropdownStyle?.border?.color||\"rgba(136, 136, 136, 0.1)\";const borderStyle=borderWidth.some(w=>w>0)?\"solid\":\"none\";// Use dropdownFill from dropdownStyle if provided, otherwise fall back to fill, otherwise use default\nconst fillToUse=dropdownStyle?.dropdownFill||fill;const backgroundStyle=createBackground(fillToUse);const defaultBgColor=\"#BBBBBB\"// Default dropdown background color (full opacity)\n;const dropdownStyleCSS={position:\"absolute\",top:\"100%\",left:left??0,right:right??undefined,width:width??document.querySelector(\"#\"+containerId)?.clientWidth??\"100%\",marginTop:dropdownStyle?.marginTop??4,backgroundColor:backgroundStyle.backgroundColor||defaultBgColor,backgroundImage:backgroundStyle.backgroundImage,borderRadius:borderRadius||\"8px\",boxShadow:dropdownStyle?.shadows?.default||\"0 4px 12px rgba(0, 0, 0, 0.15)\",zIndex:1e3,maxHeight:dropdownStyle?.height?`${dropdownStyle.height}px`:\"300px\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",borderWidth:`${borderWidth[0]}px ${borderWidth[1]}px ${borderWidth[2]}px ${borderWidth[3]}px`,borderStyle,borderColor,backdropFilter:dropdownStyle?.bgBlur!==undefined&&dropdownStyle.bgBlur!==0?`blur(${dropdownStyle.bgBlur}px)`:bgBlur!==0?`blur(${bgBlur}px)`:undefined};const initialY=dropdownStyle?.initialY??-10;const animationConfig={initial:{opacity:0,y:initialY},animate:{opacity:1,y:0},exit:{opacity:0,y:initialY},transition:dropdownStyle?.animation?.type!==false?dropdownStyle?.animation:{duration:.2}};// Canvas preview mode: render without animation\nif(isCanvas&&showDropdown&&!isOpen){return /*#__PURE__*/_jsx(\"div\",{ref:dropdownRef,style:dropdownStyleCSS,children:/*#__PURE__*/_jsx(GenericDropdownContent,{...props})});}return /*#__PURE__*/_jsx(AnimatePresence,{children:shouldShow&&/*#__PURE__*/_jsx(motion.div,{ref:dropdownRef,...animationConfig,style:dropdownStyleCSS,children:/*#__PURE__*/_jsx(GenericDropdownContent,{...props})})});}// ============================================================================\n// PROPERTY CONTROLS (Exported for reuse)\n// ============================================================================\n/**\n * Dropdown style property controls.\n * Import and spread these in other components that use dropdowns.\n */export function getDropdownStyleControls(){return{height:{type:ControlType.Number,defaultValue:300,min:100,max:800,step:10,displayStepper:true,unit:\"px\",title:\"Height\"},animation:{type:ControlType.Transition,defaultValue:{type:\"easing\"},title:\"Animation\"},initialY:{type:ControlType.Number,defaultValue:-10,min:-100,max:100,step:1,displayStepper:true,unit:\"px\",title:\"Initial Y\"},marginTop:{type:ControlType.Number,defaultValue:4,min:0,max:32,step:1,displayStepper:true,unit:\"px\",title:\"Margin\"},hoverBg:{type:ControlType.Color,defaultValue:\"rgba(255, 255, 255, 0.1)\",title:\"Hover BG\"},searchBorderColor:{type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.1)\",title:\"Divider\"},scrollbar:{type:ControlType.Object,optional:true,title:\"Scrollbar\",controls:{show:{type:ControlType.Boolean,defaultValue:true,title:\"Show\"},width:{type:ControlType.Number,defaultValue:8,min:4,max:20,step:1,displayStepper:true,unit:\"px\",title:\"Width\",hidden:props=>props.show===false},bgColor:{type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.6)\",title:\"Color\",hidden:props=>props.show===false}}},dropdownFill:{...getDropdownFillControl(),title:\"Fill\"},bgBlur:{type:ControlType.Number,defaultValue:16,min:0,max:100,step:1,displayStepper:true,title:\"BG Blur\"},border:borderProp({invalid:false,focus:false}),shadows:shadowsProp({invalid:false})};}/**\n * Creates a dropdown property control object.\n * Use this in components that need dropdown settings.\n */export function dropdownProp(options={}){return{type:ControlType.Object,optional:false,title:options.title||\"Dropdown\",controls:getDropdownStyleControls()};}/**\n * Option item property controls for the options array.\n */export function getOptionItemControls(){return{type:{type:ControlType.Enum,defaultValue:\"text\",options:[\"text\",\"line\"],optionTitles:[\"Text\",\"Line\"],displaySegmentedControl:true},value:{type:ControlType.String,hidden:props=>props.type===\"line\"},title:{type:ControlType.String,hidden:props=>props.type===\"line\"},enabled:{type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:props=>props.type===\"line\"},default:{type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:props=>props.type===\"line\"}};}// ============================================================================\n// SHARED PROPERTY CONTROLS (Exported for reuse across components)\n// ============================================================================\n/**\n * Default values for shared controls.\n *\n * HOW TO USE:\n * - Change values here to cascade updates to ALL components (Dropdown, CountryInput, PhoneNumberInput)\n * - To override a default in a specific component, pass it as an option to getSharedStyleControls():\n *   Example: getSharedStyleControls({ color: \"#999999\" }) // Overrides default color\n *\n * AVAILABLE DEFAULTS:\n * - color: Default text color\n * - placeholderColor: Default placeholder text color\n * - fillColor: Default fill background color\n * - radius: Default border radius\n * - padding: Default padding\n * - fontSize: Default font size\n * - lineHeight: Default line height\n * - bgBlur: Background blur settings (min, max, step)\n */export const SHARED_DEFAULTS={color:\"#999999\",placeholderColor:\"#999999\",fillColor:\"rgba(187, 187, 187, 0.15)\",dropdownFillColor:\"rgba(187, 187, 187, 0.15)\",radius:\"10px\",padding:\"12px\",fontSize:14,lineHeight:1.2,bgBlur:{min:0,max:100,step:1}};/**\n * Factory function for color control.\n * @param defaultValue - Default color value (defaults to SHARED_DEFAULTS.color)\n */export function getColorControl(defaultValue=SHARED_DEFAULTS.color){return{type:ControlType.Color,defaultValue};}/**\n * Factory function for fill control.\n * @param options - Options for fillProp (invalid, color, etc.)\n */export function getFillControl(options={}){return fillProp({invalid:options.invalid!==false,color:options.color||SHARED_DEFAULTS.fillColor});}/**\n * Factory function for dropdown fill control.\n * @param defaultValue - Default dropdown fill color value (defaults to SHARED_DEFAULTS.dropdownFillColor)\n */export function getDropdownFillControl(defaultValue=SHARED_DEFAULTS.dropdownFillColor){return fillProp({invalid:false,focus:false,color:defaultValue});}/**\n * Factory function for font control.\n */export function getFontControl(){return{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:SHARED_DEFAULTS.fontSize,lineHeight:SHARED_DEFAULTS.lineHeight}};}/**\n * Factory function for radius control.\n * @param defaultValue - Default radius value (defaults to SHARED_DEFAULTS.radius)\n */export function getRadiusControl(defaultValue=SHARED_DEFAULTS.radius){return{type:ControlType.String,defaultValue,title:\"Radius\"};}/**\n * Factory function for padding control.\n * @param defaultValue - Default padding value (defaults to SHARED_DEFAULTS.padding)\n */export function getPaddingControl(defaultValue=SHARED_DEFAULTS.padding){return{type:ControlType.String,defaultValue,title:\"Padding\"};}/**\n * Factory function for placeholder color control.\n * @param defaultValue - Default placeholder color value (defaults to SHARED_DEFAULTS.placeholderColor)\n * @param title - Title for the control (defaults to \"Placeholder Color\")\n * @param optional - Whether the control is optional (defaults to true)\n */export function getPlaceholderColorControl(defaultValue=SHARED_DEFAULTS.placeholderColor,title=\"Placeholder Color\",optional=true){return{type:ControlType.Color,defaultValue,title,...optional?{optional:true}:{}};}/**\n * Factory function for icon control.\n * @param buttonTitle - Title for the icon button (defaults to \"Caret\")\n */export function getIconControl(buttonTitle=\"Caret\"){return iconProp({buttonTitle});}/**\n * Factory function for border control.\n * @param options - Options for borderProp (invalid, focus, etc.)\n */export function getBorderControl(options={}){return borderProp({invalid:options.invalid!==false,focus:options.focus!==false});}/**\n * Factory function for shadows control.\n * @param options - Options for shadowsProp (invalid, etc.)\n */export function getShadowsControl(options={}){return shadowsProp({invalid:options.invalid!==false});}/**\n * Factory function for bgBlur control.\n */export function getBgBlurControl(){return{type:ControlType.Number,min:SHARED_DEFAULTS.bgBlur.min,max:SHARED_DEFAULTS.bgBlur.max,step:SHARED_DEFAULTS.bgBlur.step,displayStepper:true,title:\"BG Blur\"};}/**\n * Factory function for transition control.\n */export function getTransitionControl(){return{type:ControlType.Transition,defaultValue:{type:false}};}/**\n * Shared event handler controls.\n * These are identical across all components.\n */export const sharedEventControls={focusEvent:{type:ControlType.EventHandler,title:\"Focus\"},blurEvent:{type:ControlType.EventHandler,title:\"Blur\"},invalidEvent:{type:ControlType.EventHandler,title:\"Invalid\"}};/**\n * Shared style controls object.\n * Use this to get all common style controls at once.\n *\n * USAGE:\n *   ...getSharedStyleControls({ invalid: true })\n *\n * TO OVERRIDE DEFAULTS:\n *   ...getSharedStyleControls({\n *     color: \"#999999\",           // Override default color\n *     placeholderColor: \"#666\",   // Override default placeholder color\n *     fillColor: \"#353535\",       // Override default fill color\n *     radius: \"8px\",              // Override default radius\n *     padding: \"16px\",            // Override default padding\n *     invalid: true               // Enable invalid state styling\n *   })\n *\n * Individual controls can be overridden by passing options.\n * All defaults come from SHARED_DEFAULTS constant above.\n *\n * NOTE: Component-specific controls (like placeholder text) should be added separately,\n * as they differ per component (e.g., \"Select...\" vs \"Select a country...\" vs none).\n */export function getSharedStyleControls(options={}){return{font:getFontControl(),color:getColorControl(options.color),placeholderColor:getPlaceholderColorControl(options.placeholderColor,options.placeholderColorTitle,options.placeholderColorOptional),fill:getFillControl({invalid:options.invalid!==false,color:options.fillColor}),radius:getRadiusControl(options.radius),padding:getPaddingControl(options.padding),icon:getIconControl(options.iconTitle),border:getBorderControl({invalid:options.invalid!==false,focus:options.focus!==false}),shadows:getShadowsControl({invalid:options.invalid!==false}),bgBlur:getBgBlurControl(),transition:getTransitionControl(),...sharedEventControls};}\nexport const __FramerMetadata__ = {\"exports\":{\"DropdownOption\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"sharedEventControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSharedStyleControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getOptionItemControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SHARED_DEFAULTS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRadiusControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GenericDropdownContent\":{\"type\":\"reactComponent\",\"name\":\"GenericDropdownContent\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"getColorControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BaseDropdownProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPaddingControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPlaceholderColorControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getShadowsControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownStyleConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GenericDropdown\":{\"type\":\"reactComponent\",\"name\":\"GenericDropdown\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownItemProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFillControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getIconControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownScrollArea\":{\"type\":\"reactComponent\",\"name\":\"DropdownScrollArea\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownSearch\":{\"type\":\"reactComponent\",\"name\":\"DropdownSearch\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"getTransitionControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBgBlurControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getDropdownFillControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"dropdownProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GenericDropdownProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBorderControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getDropdownStyleControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownItemRenderProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownItem\":{\"type\":\"reactComponent\",\"name\":\"DropdownItem\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,useRef}from\"react\";import{motion}from\"framer\";import{createBackground,Border,borderProp,fillProp,useInstanceId,iconProp,Icon,HiddenInput}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/hMz2wp3CWZkNwPJFGPgQ/FramerFormsShared.js\";const PRESIGNED_URL_API=\"https://api.framerforms.com/s3/signed-url\";const LOADING_SPINNER=`url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 24C18.627 24 24 18.6274 24 12C24 5.37256 18.627 0 12 0C5.37305 0 0 5.37256 0 12C0 18.6274 5.37305 24 12 24ZM12 22C17.5234 22 22 17.5229 22 12C22 6.47705 17.5234 2 12 2C6.47656 2 2 6.47705 2 12C2 17.5229 6.47656 22 12 22Z' fill='%23FFFFFF'/%3E%3C/svg%3E\")`;const AUDIO_FILE_TYPES=[\".mp3\",\".wav\",\".ogg\",\".m4a\",\".aac\",\".wma\",\".flac\",\".mid\",\".midi\",\".aif\",\".aiff\"].join(\",\");/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 400\n * @framerDisableUnlink\n */export default function FileUploadInput(props){const{shadows,border,layout,icon,imagePreview,xButton}=props;const id=useInstanceId();const isVertical=props.layout.direction==\"vertical\";const maxSizeMB=Math.min(props.maxSizeMB||25,25);const[focused,setFocused]=useState(false);const[invalid,setInvalid]=useState(false);const[fileName,setFileName]=useState(\"\");const[fileUploadUrl,setFileUploadUrl]=useState(\"\");const[isUploading,setIsUploading]=useState(false);const[imagePreviewUrl,setImagePreviewUrl]=useState(\"\");const inputRef=useRef(null);useEffect(()=>{if(invalid){props.invalidEvent?.();}},[invalid]);function onFocus(){setFocused(true);props.focusEvent?.();if(invalid){setInvalid(false);}}function onBlur(){setFocused(false);props.blurEvent?.();}let accept=\"\";switch(props.fileTypes){case\"audio\":accept=AUDIO_FILE_TYPES;break;case\"video\":accept=\"video/*\";break;case\"image\":accept=\"image/*\";break;case\"custom\":const fileTypeStrings=[];for(const fileType of props.fileTypesCustom){if(fileType.startsWith(\".\")||fileType==\"video/*\"||fileType==\"image/*\"){fileTypeStrings.push(fileType);}else if(fileType==\"audio/*\"){fileTypeStrings.push(AUDIO_FILE_TYPES);}else{fileTypeStrings.push(`.${fileType}`);}}accept=fileTypeStrings.join(\",\");break;}async function onFileChange(event,maxSizeMB){const file=event.target.files[0];setFileName(file?file.name:\"\");setImagePreviewUrl(\"\");if(!file){return;}// Add image preview if it's an image file and imagePreview is enabled\nif(imagePreview&&file.type.startsWith(\"image/\")){setImagePreviewUrl(URL.createObjectURL(file));}// File type validation\nif(props.fileTypes!==\"all\"){let isValidType=false;if(props.fileTypes===\"custom\"&&props.fileTypesCustom?.length){isValidType=props.fileTypesCustom.some(type=>{if(type.startsWith(\".\")){// Check file extension\nreturn file.name.toLowerCase().endsWith(type.toLowerCase());}else if(type.includes(\"/*\")){// Check MIME type pattern (e.g., \"image/*\")\nconst[category]=type.split(\"/\");return file.type.startsWith(`${category}/`);}// Exact MIME type match\nreturn file.type===type;});}else{// Handle built-in types (audio, video, image)\nisValidType=file.type.startsWith(`${props.fileTypes}/`);}if(!isValidType){setInvalid(true);console.error(`Invalid file type. Allowed: ${accept}`);return;}}// File size validation\nconst maxSizeBytes=maxSizeMB*1024*1024;if(file.size>maxSizeBytes){setInvalid(true);console.error(`File size exceeds the maximum limit of ${maxSizeMB}MB.`);return;}setIsUploading(true);const result=await uploadFile(file);setFileUploadUrl(result?.fileLocation||\"\");setIsUploading(false);}function onKeyDown(event){if(event.key==\"Enter\"){inputRef.current?.click();}}function clearFile(){setFileName(\"\");setFileUploadUrl(\"\");setImagePreviewUrl(\"\");setIsUploading(false);if(inputRef.current){inputRef.current.value=\"\";}}return /*#__PURE__*/_jsxs(motion.div,{\"data-framerforms\":true,onFocus:onFocus,onBlur:onBlur,onKeyDown:onKeyDown,animate:{...createBackground(props.fill,null,focused,invalid),boxShadow:invalid&&shadows?.invalid||focused&&shadows?.focus||shadows?.default,borderColor:invalid&&border?.colorInvalid||focused&&border?.colorFocus||border?.color},style:{borderRadius:props.radius,padding:props.padding,color:props.color,display:\"flex\",flexDirection:`${isVertical?\"column\":\"row\"}${icon?.location==\"end\"?\"-reverse\":\"\"}`,alignItems:isVertical?layout.alignH:\"center\",justifyContent:isVertical?\"center\":layout.alignH,gap:layout.gap,textAlign:\"center\",backdropFilter:props.bgBlur?`blur(${props.bgBlur}px)`:undefined,...props.font,...props.style},initial:false,transition:props.transition,children:[/*#__PURE__*/_jsx(HiddenInput,{name:props.name,required:props.required||isUploading,value:fileUploadUrl,setInvalid:setInvalid,noPrefill:true}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,type:\"file\",accept:accept,autoFocus:props.autoFocus,onChange:event=>onFileChange(event,maxSizeMB),style:{position:\"absolute\",inset:0,opacity:0,cursor:\"pointer\"},\"data-framerforms-no-prefill\":true}),icon&&(isUploading&&icon.spinner?/*#__PURE__*/_jsx(motion.div,{animate:{rotate:360},transition:{duration:1,repeat:Infinity,ease:\"linear\"},style:{width:icon.size,height:icon.size,background:`conic-gradient(from 0deg at 50% 50%, ${icon.color||props.color} 0%, transparent 100%)`,mask:LOADING_SPINNER,maskSize:icon.size}}):imagePreviewUrl&&imagePreview?/*#__PURE__*/_jsxs(\"div\",{style:{width:imagePreview.aspectRatio===\"square\"?imagePreview.height:\"auto\",height:imagePreview.height,maxWidth:imagePreview.aspectRatio===\"square\"?imagePreview.height:\"100%\",maxHeight:imagePreview.height,borderRadius:imagePreview.radius,overflow:\"hidden\",boxShadow:imagePreview.shadows,position:\"relative\",borderColor:imagePreview.border?.color},children:[/*#__PURE__*/_jsx(\"img\",{src:imagePreviewUrl,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\"}}),imagePreview.border&&/*#__PURE__*/_jsx(Border,{...imagePreview.border})]}):/*#__PURE__*/_jsx(Icon,{...icon,defaultImage:`url('data:image/svg+xml,${encodeURIComponent(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\"><path d=\"M 9.366 18.419 C 8.284 18.422 7.242 18.009 6.456 17.266 C 5.69 16.541 5.254 15.535 5.25 14.481 C 5.25 13.437 5.684 12.436 6.456 11.697 C 7.242 10.953 8.284 10.54 9.366 10.544 C 9.624 9.395 10.378 8.385 11.463 7.738 C 12.009 7.413 12.61 7.191 13.235 7.082 C 13.869 6.971 14.518 6.973 15.152 7.088 C 15.783 7.202 16.383 7.429 16.919 7.753 C 17.445 8.068 17.903 8.483 18.269 8.975 C 18.626 9.458 18.873 10 18.997 10.57 C 19.121 11.139 19.12 11.725 18.992 12.294 L 19.867 12.294 C 21.558 12.294 22.929 13.665 22.929 15.356 C 22.929 17.048 21.558 18.419 19.867 18.419 L 18.992 18.419\" fill=\"transparent\" stroke-width=\"1.75\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M 11.117 15.794 L 13.742 13.169 L 16.367 15.794 M 13.742 13.169 L 13.742 21.044\" fill=\"transparent\" stroke-width=\"1.75\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M 0.6 5.85 C 0.6 2.951 2.951 0.6 5.85 0.6 L 22.15 0.6 C 25.049 0.6 27.4 2.951 27.4 5.85 L 27.4 22.15 C 27.4 25.049 25.049 27.4 22.15 27.4 L 5.85 27.4 C 2.951 27.4 0.6 25.049 0.6 22.15 Z\" fill=\"transparent\" stroke-width=\"1.2\" stroke=\"white\"></path></svg>`)}')`})),isUploading?props.uploadingText.replace(\"[FileName]\",fileName):fileName.length?fileName:props.text.replace(\"##\",maxSizeMB.toString()),xButton&&fileName&&/*#__PURE__*/_jsx(motion.button,{onClick:e=>{e.preventDefault();clearFile();},style:{position:\"absolute\",background:xButton.background||\"none\",padding:xButton.padding,borderRadius:xButton.radius,border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...getXButtonPosition(xButton.location,xButton.inset)},children:/*#__PURE__*/_jsx(Icon,{...xButton,defaultImage:`url('data:image/svg+xml,${encodeURIComponent(`<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 4L4 12M4 4L12 12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>`)}')`})}),border&&/*#__PURE__*/_jsx(Border,{...border}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`#${id} input:focus { outline: none; }`}})]});}FileUploadInput.displayName=\"File Upload Input LOL\";addPropertyControls(FileUploadInput,{userId:{type:ControlType.String,defaultValue:\"\",placeholder:\"FramerForms User ID\",title:\"User ID\",preventLocalization:true,hidden:props=>true},name:{type:ControlType.String,defaultValue:\"File\",preventLocalization:true},required:{type:ControlType.Boolean,defaultValue:false},autoFocus:{type:ControlType.Boolean,defaultValue:false,title:\"Auto-Focus\"},fileTypes:{type:ControlType.Enum,defaultValue:\"all\",options:[\"all\",\"audio\",\"video\",\"image\",\"custom\"],optionTitles:[\"Any File\",\"Any Audio File\",\"Any Video File\",\"Any Image File\",\"Custom\"]},fileTypesCustom:{type:ControlType.Array,defaultValue:[\".pdf\"],control:{type:ControlType.String,placeholder:\".pdf\",preventLocalization:true},title:\" \",hidden:props=>props.fileTypes!==\"custom\"},maxSizeMB:{type:ControlType.Number,defaultValue:25,min:1,step:1,max:25,unit:\" MB\",title:\"Max Size\"},text:{type:ControlType.String,defaultValue:`Click to upload file or drag-and-drop. Max ## MB`,description:\"*##* → max size in MB\"},uploadingText:{type:ControlType.String,defaultValue:\"Uploading [FileName]...\",description:\"*[FileName]* → file name\"},layout:{type:ControlType.Object,controls:{direction:{type:ControlType.Enum,defaultValue:\"vertical\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],optionIcons:[\"direction-horizontal\",\"direction-vertical\"],displaySegmentedControl:true},alignH:{type:ControlType.Enum,defaultValue:\"center\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,title:\"Align\"},gap:{type:ControlType.Number,defaultValue:12,min:0,step:1}}},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.2}},color:{type:ControlType.Color,defaultValue:\"#999999\",title:\"Color\"},fill:fillProp({}),radius:{type:ControlType.BorderRadius,defaultValue:\"10px\"},padding:{type:ControlType.Padding,defaultValue:\"12px\"},icon:iconProp({size:28,controls:{location:{type:ControlType.Enum,options:[\"start\",\"end\"],optionTitles:[\"Start\",\"End\"],displaySegmentedControl:true},spinner:{type:ControlType.Boolean,description:\"Show a loading spinner while file is uploading\"}}}),xButton:iconProp({size:14,buttonTitle:\"Options\",controls:{location:{type:ControlType.Enum,defaultValue:\"topRight\",options:[\"topLeft\",\"topRight\",\"centerLeft\",\"centerRight\",\"bottomLeft\",\"bottomRight\"],optionTitles:[\"Top Left\",\"Top Right\",\"Center Left\",\"Center Right\",\"Bottom Left\",\"Bottom Right\"]},inset:{type:ControlType.Number,defaultValue:4,min:0,step:1},background:{type:ControlType.Color,optional:true},padding:{type:ControlType.Padding,defaultValue:\"4px\"},radius:{type:ControlType.BorderRadius,defaultValue:\"12px\"}}}),imagePreview:{type:ControlType.Object,optional:true,defaultValue:{height:40,aspectRatio:\"auto\"},controls:{height:{type:ControlType.Number,defaultValue:40,min:0,step:1},aspectRatio:{type:ControlType.Enum,defaultValue:\"auto\",options:[\"auto\",\"square\"],optionTitles:[\"Auto\",\"Square\"],displaySegmentedControl:true},radius:{type:ControlType.BorderRadius,defaultValue:\"5px\"},border:borderProp({focus:false,invalid:false,defaultValue:false}),shadows:{type:ControlType.BoxShadow}},hidden:props=>props.fileTypes===\"audio\"||props.fileTypes===\"video\"},border:borderProp({}),shadows:{type:ControlType.Object,buttonTitle:\"Shadows\",optional:true,controls:{default:{type:ControlType.BoxShadow},focus:{type:ControlType.BoxShadow}}},bgBlur:{type:ControlType.Number,min:0,max:100,step:1,displayStepper:true,title:\"BG Blur\"},transition:{type:ControlType.Transition,defaultValue:{type:false}},focusEvent:{type:ControlType.EventHandler,title:\"Focus\"},blurEvent:{type:ControlType.EventHandler,title:\"Blur\"},invalidEvent:{type:ControlType.EventHandler,title:\"Invalid\"}});function uploadFile(file){return new Promise((resolve,reject)=>{fetchPresignedURL(file).then(({presignedUrl})=>postToPresignedURL(file,presignedUrl)).then(resolve).catch(reject);});}function fetchPresignedURL(file){return fetch(PRESIGNED_URL_API,{method:\"POST\",body:JSON.stringify({file_name:file.name?.replace(/\\s+/g,\"-\")}),headers:{\"Content-Type\":\"application/json\"}}).then(async response=>{const responseBody=await response.json();if(response.status>200){throw new Error(responseBody.errorMessage);}return responseBody;});}function postToPresignedURL(file,presignedUrl){return new Promise((resolve,reject)=>{fetch(presignedUrl,{method:\"PUT\",body:file}).then(()=>resolve({fileLocation:removeURLParameters(presignedUrl)})).catch(reject);});}function removeURLParameters(urlString){const url=new URL(urlString);url.search=\"\";return url.toString();}function getXButtonPosition(location,inset){switch(location){case\"topLeft\":return{top:inset,left:inset};case\"topRight\":return{top:inset,right:inset};case\"centerLeft\":return{top:\"50%\",left:inset,transform:\"translateY(-50%)\"};case\"centerRight\":return{top:\"50%\",right:inset,transform:\"translateY(-50%)\"};case\"bottomLeft\":return{bottom:inset,left:inset};case\"bottomRight\":return{bottom:inset,right:inset};default:return{top:inset,right:inset}// Default to topRight\n;}}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FileUploadInput\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"400\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}