{"version":3,"file":"FileUploadInput.F6tRp2Qf.mjs","names":["useState","useId","useRef","useState","useRef","__esmMin","ie","init_npm_react_18_3_1","de","init_jsx_runtime","J","c","p","ce","_e","motion","init_framer_motion_DhsWWWsN","useObserveData","addPropertyControls","withCSS","RenderTarget","Data","init_framer_B1b760uK","ControlType","createStore","dataStore","state1","setDataStore","newState","storeState","storeSetters","setStoreState","setter","useStore","state","setState","init_createStore","init_store_js__1_0","iconProp","size","controls","Icon","color","image","defaultImage","style","Border","width","createBackground","fill","onOff","on","invalid","focused","colorA","colorB","parsePadding","padding","parsedValues","value","fillProp","colorOn","props","colorOff","focus","colorAOn","colorBOn","colorAOff","colorBOff","borderProp","defaultValue","colorFocus","colorInvalid","shadowsProp","isAncestor","ancestorElement","descendantElement","currentElement","getFormInfo","form","element","formId","pages","uuid","d","d2","setupAutofillOverride","useMultiStepFormStore","HIDDEN_CLASS_NAME","CANVAS_HIDDEN_CLASS_NAME","useInstanceId","HiddenInput","HideElementComponent","HideElement","HiddenComponentLabel","init_FramerFormsShared","internalRef","ref","parentRef","prevValueRef","onSetValueEventRef","onSetValueEvent","handler","event","noPrefill","setInvalid","otherProps","isCanvas","children","text","subtext","FileUploadInput","id","isVertical","maxSizeMB","setFocused","fileName","setFileName","fileUploadUrl","setFileUploadUrl","isUploading","setIsUploading","imagePreviewUrl","setImagePreviewUrl","inputRef","onFocus","onBlur","accept","AUDIO_FILE_TYPES","fileTypeStrings","fileType","onFileChange","file","imagePreview","isValidType","type","category","maxSizeBytes","result","uploadFile","onKeyDown","clearFile","shadows","border","icon","layout","LOADING_SPINNER","xButton","getXButtonPosition","fetchPresignedURL","postToPresignedURL","presignedUrl","resolve","reject","PRESIGNED_URL_API","responseBody","response","removeURLParameters","url","urlString","location","inset","init_FileUploadInput"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/hMz2wp3CWZkNwPJFGPgQ/FramerFormsShared.js","https:/framerusercontent.com/modules/UXNWRabX0IeVTgbvsbAG/3GOYCihsLzVJYc4MP4sZ/FileUploadInput.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType,RenderTarget,withCSS}from\"framer\";import{forwardRef,useEffect,useState,useRef,useId}from\"react\";import{motion}from\"framer-motion\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const useMultiStepFormStore=createStore({});export const HIDDEN_CLASS_NAME=\"framerforms-hidden\";const CANVAS_HIDDEN_CLASS_NAME=\"framerforms-canvas-hidden\";export const useInstanceId=()=>{const id=useId();const cleanId=id.replace(/:/g,\"\");const instanceId=`superfields-${cleanId}`;return instanceId;};export const HiddenInput=/*#__PURE__*/forwardRef(({name,required,value,setInvalid,onSetValueEvent,noPrefill=false,disabled=false},parentRef)=>{const internalRef=useRef(null);const ref=parentRef||internalRef;const prevValueRef=useRef(value);// Store callback in ref to avoid listener churn\nconst onSetValueEventRef=useRef(onSetValueEvent);onSetValueEventRef.current=onSetValueEvent;useEffect(()=>{const element=ref.current;if(!element||!onSetValueEventRef.current)return;// Use a wrapper that always calls the latest callback\nconst handler=event=>{onSetValueEventRef.current?.(event);};element.addEventListener(\"framerFormsSetValue\",handler);// Mark as ready AFTER listener is attached - FormPersistence checks for this\nelement.dataset.framerformsSetValueReady=\"true\";return()=>{element.removeEventListener(\"framerFormsSetValue\",handler);delete element.dataset.framerformsSetValueReady;};},[])// Empty deps - only attach once\n;// Dispatch change event when value changes so FormPersistence can track updates\nuseEffect(()=>{const element=ref.current;if(!element)return;// Only dispatch if value actually changed (not on initial mount)\nif(prevValueRef.current!==value){prevValueRef.current=value;// Dispatch both input and change events for compatibility\nelement.dispatchEvent(new Event(\"input\",{bubbles:true}));element.dispatchEvent(new Event(\"change\",{bubbles:true}));}},[value]);return /*#__PURE__*/_jsx(\"input\",{ref:ref,type:\"text\",\"data-framerforms-set-value-event\":!!onSetValueEvent,\"data-framerforms-no-prefill\":noPrefill,style:{position:\"absolute\",opacity:0,pointerEvents:\"none\",inset:0},tabIndex:-1,name:name,required:required,value:value,disabled:disabled,onChange:()=>{},onInvalid:event=>{event.preventDefault();setInvalid(true);}});});const HideElementComponent=/*#__PURE__*/forwardRef(({},ref)=>{return /*#__PURE__*/_jsx(\"div\",{ref:ref,className:HIDDEN_CLASS_NAME});});export const HideElement=withCSS(HideElementComponent,[`div:has(> .${HIDDEN_CLASS_NAME}) { display: none; }`,`.${HIDDEN_CLASS_NAME} { display: none; }`],HIDDEN_CLASS_NAME);HideElement.displayName=\"FramerForms/Hide Element\";export const HiddenComponentLabel=/*#__PURE__*/forwardRef(({text,subtext=\"\",children=null,...otherProps},ref)=>{const isCanvas=RenderTarget.current()===RenderTarget.canvas;const id=useInstanceId();return isCanvas?/*#__PURE__*/_jsxs(\"div\",{\"data-framerforms\":true,...otherProps,ref:ref,className:CANVAS_HIDDEN_CLASS_NAME,style:{backgroundColor:\"rgba(187, 187, 187, 0.15)\",borderRadius:10,padding:\"12px 16px\",fontFamily:\"Inter\",fontWeight:500,fontSize:12,color:\"#999\",display:\"flex\",flexDirection:\"column\",gap:4,alignItems:\"center\",textAlign:\"center\",width:\"100%\",height:\"100%\",textWrap:\"nowrap\"},children:[children,text,subtext&&/*#__PURE__*/_jsx(\"span\",{style:{opacity:.7,whiteSpace:\"pre\",lineHeight:1.4},children:subtext}),/*#__PURE__*/_jsx(Border,{width:\"1px\",style:\"solid\",borderColor:\"rgba(136, 136, 136, 0.1)\"}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n                        [data-framer-component-container=\"true\"] div:has(> .${CANVAS_HIDDEN_CLASS_NAME}) {\n                            display: none !important;\n                        }`}})]}):/*#__PURE__*/_jsxs(\"div\",{...otherProps,ref:ref,className:HIDDEN_CLASS_NAME,children:[/*#__PURE__*/_jsx(HideElement,{}),children]});});HiddenComponentLabel.displayName=\"FramerForms/Hidden Component Label\";export function iconProp({size=16,buttonTitle=\"Icon\",controls={}}={}){return{type:ControlType.Object,buttonTitle,optional:true,defaultValue:{color:\"#999\",size},controls:{image:{type:ControlType.Image},color:{type:ControlType.Color,optional:true,defaultValue:\"#999\"},size:{type:ControlType.Number,defaultValue:size,min:1,step:1,displayStepper:true},...controls}};}export function Icon({image,color,size,style={},defaultImage}){return /*#__PURE__*/_jsx(\"div\",{style:{width:size,height:size,minWidth:size,minHeight:size,pointerEvents:\"none\",backgroundColor:color,backgroundImage:color?\"none\":image?`url('${image}')`:defaultImage,maskImage:image?`url('${image}')`:defaultImage,backgroundSize:\"contain\",backgroundPosition:\"center\",maskSize:\"contain\",maskPosition:\"center\",...style}});}Icon.displayName=\"FramerForms/Icon\";export function Border({width,style,transition=null,borderColor=\"inherit\",opacity=1}){return /*#__PURE__*/_jsx(motion.div,{animate:{borderColor,opacity},style:{position:\"absolute\",inset:0,borderWidth:width,borderStyle:style,borderRadius:\"inherit\",pointerEvents:\"none\"},initial:false,transition:transition});}Border.displayName=\"FramerForms/Border\";export function createBackground(fill,on=null,focused=null,invalid=null){if(fill){const onOff=typeof on==\"boolean\";if(fill.type==\"color\"){let color=invalid&&fill.colorInvalid||focused&&fill.colorFocus||(onOff?on?fill.colorOn:fill.colorOff:fill.color);return{backgroundColor:color,backgroundImage:\"none\"};}else{const colorA=invalid&&fill.colorAInvalid||focused&&fill.colorAFocus||(onOff?on?fill.colorAOn:fill.colorAOff:fill.colorA);const colorB=invalid&&fill.colorBInvalid||focused&&fill.colorBFocus||(onOff?on?fill.colorBOn:fill.colorBOff:fill.colorB);return{backgroundColor:\"none\",backgroundImage:`linear-gradient(${fill.gradientAngle}deg, ${colorB}, ${colorA})`};}}return{};}export function parsePadding(padding){if(typeof padding!==\"string\"){return[0,0,0,0];}const values=padding.split(\" \");const parsedValues=values.map(value=>parseInt(value.replace(\"px\",\"\"),10));switch(parsedValues.length){case 1:const p=parsedValues[0];return[p,p,p,p];case 4:return parsedValues;}return[0,0,0,0];}export function fillProp({onOff=false,focus=true,invalid=true,optional=false,hidden=null,color=\"rgba(187, 187, 187, 0.15)\",colorA=\"#BBB\",colorB=\"#676767\",colorOn=\"rgba(70, 160, 219, 0.2)\",colorAOn=\"#66C2FF\",colorBOn=\"#0099FF\",colorOff=\"rgba(187, 187, 187, 0.15)\",colorAOff=\"#BBB\",colorBOff=\"#676767\"}={}){return{type:ControlType.Object,optional,hidden,icon:\"color\",defaultValue:{type:\"color\",...onOff?{colorOn,colorOff}:{color,colorA,colorB}},controls:{type:{type:ControlType.Enum,defaultValue:\"color\",options:[\"color\",\"linearGradient\"],optionTitles:[\"Color\",\"Gradient\"],displaySegmentedControl:true},...onOff?{colorOn:{type:ControlType.Color,defaultValue:colorOn,hidden:props=>props.type!==\"color\"},colorOff:{type:ControlType.Color,defaultValue:colorOff,hidden:props=>props.type!==\"color\"}}:{color:{type:ControlType.Color,defaultValue:color,hidden:props=>props.type!==\"color\"}},...focus?{colorFocus:{type:ControlType.Color,optional:true,title:\"Focus\",hidden:props=>props.type!==\"color\"}}:{},...invalid?{colorInvalid:{type:ControlType.Color,optional:true,title:\"Invalid\",hidden:props=>props.type!==\"color\"}}:{},...onOff?{colorAOn:{type:ControlType.Color,defaultValue:colorAOn,title:\"Colors On\",hidden:props=>props.type!==\"linearGradient\"},colorBOn:{type:ControlType.Color,defaultValue:colorBOn,title:\" \",hidden:props=>props.type!==\"linearGradient\"},colorAOff:{type:ControlType.Color,defaultValue:colorAOff,title:\"Colors Off\",hidden:props=>props.type!==\"linearGradient\"},colorBOff:{type:ControlType.Color,defaultValue:colorBOff,title:\" \",hidden:props=>props.type!==\"linearGradient\"}}:{colorA:{type:ControlType.Color,defaultValue:colorA,title:\"Colors\",hidden:props=>props.type!==\"linearGradient\"},colorB:{type:ControlType.Color,defaultValue:colorB,title:\" \",hidden:props=>props.type!==\"linearGradient\"}},...focus?{colorAFocus:{type:ControlType.Color,optional:true,title:\"Focus\",hidden:props=>props.type!==\"linearGradient\"},colorBFocus:{type:ControlType.Color,optional:true,title:\" \",hidden:props=>props.type!==\"linearGradient\"}}:{},...invalid?{colorAInvalid:{type:ControlType.Color,optional:true,title:\"Invalid\",hidden:props=>props.type!==\"linearGradient\"},colorBInvalid:{type:ControlType.Color,optional:true,title:\" \",hidden:props=>props.type!==\"linearGradient\"}}:{},gradientAngle:{type:ControlType.Number,defaultValue:0,title:\"Angle\",step:1,min:0,max:360,unit:\"\\xb0\",hidden:props=>props.type!=\"linearGradient\"}}};}export function borderProp({onOff=false,focus=true,invalid=true,defaultValue=true,color=\"rgba(136, 136, 136, 0.1)\",colorOn=\"#0099FF\",colorOff=\"rgba(136, 136, 136, 0.1)\",colorFocus=\"#0099FF\",colorInvalid=\"#FF5A6F\",hidden=null}={}){return{type:ControlType.Object,optional:true,hidden,defaultValue:defaultValue?{color,colorOn,colorOff,colorFocus,colorInvalid,width:\"1px\"}:undefined,controls:{...onOff?{colorOn:{type:ControlType.Color,defaultValue:colorOn},colorOff:{type:ControlType.Color,defaultValue:colorOff}}:{color:{type:ControlType.Color,defaultValue:color}},...focus?{colorFocus:{type:ControlType.Color,defaultValue:colorFocus,optional:true,title:\"Focus\"}}:{},...invalid?{colorInvalid:{type:ControlType.Color,defaultValue:colorInvalid,optional:true,title:\"Invalid\"}}:{},width:{type:ControlType.Padding,defaultValue:\"1px\"},style:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"Double\"]}}};}export function shadowsProp({invalid=true,onOff=false}={}){return{type:ControlType.Object,buttonTitle:\"Shadows\",optional:true,controls:{...onOff?{on:{type:ControlType.BoxShadow,defaultValue:\"rgba(0, 153, 255, 0.5) 0px 2px 4px 0px\"},off:{type:ControlType.BoxShadow,defaultValue:\"rgba(0, 0, 0, 0.25) 0px 2px 4px 0px\"}}:{default:{type:ControlType.BoxShadow,defaultValue:\"rgba(0, 0, 0, 0.25) 0px 2px 4px 0px\"}},focus:{type:ControlType.BoxShadow},invalid:invalid?{type:ControlType.BoxShadow}:null}};}export function useCanvasState(ref){const[totalPages,setTotalPages]=useState(1);useEffect(()=>{const element=ref.current;let pages=null;function updateState(){setTotalPages(pages?pages.children.length:1);}if(element){const multiStepForms=document.querySelectorAll(\"div[data-framerforms-multi-step-form]\");for(const multiStepForm of multiStepForms){const form=multiStepForm.closest(\"form\")||multiStepForm.parentElement.parentElement.parentElement;if(form&&isAncestor(form,element)){pages=form.querySelector(':scope > [data-framer-name=\"Pages\" i]');}}}updateState();if(pages){const observer=new MutationObserver((mutationsList,observer)=>{for(let mutation of mutationsList){if(mutation.type===\"childList\"){updateState();}}});observer.observe(pages,{childList:true});return()=>observer.disconnect();}},[]);return{page:0,totalPages};}export function isAncestor(ancestorElement,descendantElement){if(!ancestorElement||!descendantElement){return false;}let currentElement=descendantElement;while(currentElement!==null){if(currentElement===ancestorElement){return true;}currentElement=currentElement.parentElement;}return false;}export function getFormInfo(element){const form=element?.closest(\"form\");let formId=null;let pages=null;if(form){formId=form.getAttribute(\"framerforms-id\");pages=form.querySelector(':scope > [data-framer-name=\"Pages\" i]');if(!formId){formId=uuid();form.setAttribute(\"framerforms-id\",formId);}}return{form,formId,pages};}function uuid(){let d=new Date().getTime()// Timestamp\n;let d2=performance&&performance.now&&performance.now()*1e3||0// Time in microseconds since page-load or 0 if unsupported\n;return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(c){let r=Math.random()*16// random number between 0 and 16\n;if(d>0){// Use timestamp until depleted\nr=(d+r)%16|0;d=Math.floor(d/16);}else{// Use microseconds since page-load if supported\nr=(d2+r)%16|0;d2=Math.floor(d2/16);}return(c===\"x\"?r:r&3|8).toString(16);});}// ============================================================================\n// FORM UTILITIES\n// ============================================================================\n/**\n * Clears all form input values and dispatches events to notify React components.\n * Handles regular inputs, checkboxes, radios, and custom FramerForms inputs\n * (RatingInput, PhoneNumberInput, etc.).\n *\n * @param form - The form element to clear\n */export function clearFormInputs(form){if(!form)return;// Reset the form (clears most inputs)\nform.reset();// Manually clear inputs that might not be reset by form.reset()\nconst inputs=form.querySelectorAll(\"input, select, textarea\");inputs.forEach(input=>{if(input.type===\"checkbox\"||input.type===\"radio\"){input.checked=false;}else{input.value=\"\";}// Dispatch events to notify React components\ninput.dispatchEvent(new Event(\"input\",{bubbles:true}));input.dispatchEvent(new Event(\"change\",{bubbles:true}));});// Clear custom FramerForms inputs (RatingInput, PhoneNumberInput, etc.)\n// These use HiddenInput with data-framerforms-set-value-event=\"true\"\nconst customInputs=form.querySelectorAll('input[data-framerforms-set-value-event=\"true\"]');customInputs.forEach(input=>{const inputName=input.name?.toLowerCase()||\"\";// Identify component type by checking parent structure\nconst parent=input.closest(\"[data-framerforms]\");const buttonCount=parent?.querySelectorAll('button[type=\"button\"]').length||0;// RatingInput typically has 2-10 star buttons\nconst isLikelyRating=buttonCount>=2&&buttonCount<=10;// RatingInput needs 0 to clear, others need empty string\nconst clearValue=isLikelyRating||inputName.includes(\"rating\")?0:\"\";input.dispatchEvent(new CustomEvent(\"framerFormsSetValue\",{detail:clearValue,bubbles:true}));});}// ============================================================================\n// AUTOFILL STYLING OVERRIDE\n// ============================================================================\n/**\n * Sets up global CSS to override browser autofill styling.\n * This prevents browsers from applying their default yellow/blue backgrounds\n * to autofilled form inputs, which can break custom designs.\n *\n * Runs once when the module loads and applies to all inputs on the page,\n * including native Framer components.\n */function setupAutofillOverride(){// Check if we're in a browser environment\nif(typeof document===\"undefined\")return;// Check if the style tag already exists to avoid duplicates\nconst existingStyle=document.getElementById(\"framerforms-autofill-override\");if(existingStyle)return;// Create and inject the style tag\nconst style=document.createElement(\"style\");style.id=\"framerforms-autofill-override\";style.textContent=`\n        /* Override browser autofill styling for all inputs */\n        input:-webkit-autofill,\n        input:-webkit-autofill:hover,\n        input:-webkit-autofill:focus,\n        input:-webkit-autofill:active,\n        select:-webkit-autofill,\n        select:-webkit-autofill:hover,\n        select:-webkit-autofill:focus,\n        select:-webkit-autofill:active,\n        textarea:-webkit-autofill,\n        textarea:-webkit-autofill:hover,\n        textarea:-webkit-autofill:focus,\n        textarea:-webkit-autofill:active {\n            /* Use box-shadow to override background color */\n            /* The large spread radius ensures it covers the entire input */\n            -webkit-box-shadow: 0 0 0 1000px transparent inset !important;\n            box-shadow: 0 0 0 1000px transparent inset !important;\n            \n            /* Override text color */\n            -webkit-text-fill-color: inherit !important;\n            color: inherit !important;\n            \n            /* Use transition trick to prevent background color changes */\n            /* The extremely long duration (5000s) effectively prevents the change */\n            transition: background-color 5000s ease-in-out 0s, \n                        color 5000s ease-in-out 0s !important;\n        }\n        \n        /* Ensure autofilled inputs maintain their original styling */\n        input:-webkit-autofill::first-line,\n        select:-webkit-autofill::first-line,\n        textarea:-webkit-autofill::first-line {\n            -webkit-text-fill-color: inherit !important;\n            color: inherit !important;\n        }\n    `;// Append to document head\ndocument.head.appendChild(style);}// Run the setup immediately when the module loads\n// This ensures it applies globally before any components render\nif(typeof document!==\"undefined\"){// Use requestAnimationFrame to ensure DOM is ready\nif(document.readyState===\"loading\"){document.addEventListener(\"DOMContentLoaded\",setupAutofillOverride);}else{// DOM is already loaded, run immediately\nsetupAutofillOverride();}}\nexport const __FramerMetadata__ = {\"exports\":{\"borderProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MultiStepFormState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCanvasState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HIDDEN_CLASS_NAME\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HiddenInput\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fillProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormInfo\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shadowsProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createBackground\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearFormInputs\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parsePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"iconProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiStepFormStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MultiStepFormStore\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HideElement\":{\"type\":\"reactComponent\",\"name\":\"HideElement\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Border\":{\"type\":\"reactComponent\",\"name\":\"Border\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"HiddenComponentLabel\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isAncestor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LogicConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PageHistory\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useInstanceId\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FramerFormsShared.map","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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"}