{"version":3,"file":"FileUploadInput.BJerVVVG.mjs","names":["useState","useRef","useState","useRef","maxSizeMB"],"sources":["https:/framer.com/m/framer/default-utils.js","https:/framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/s801VqobGI0Gkh3K9b41/Embed.js","https:/framerusercontent.com/modules/UXNWRabX0IeVTgbvsbAG/HnueHi4dWXgSweuC31vu/FileUploadInput.js"],"sourcesContent":["/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles}from\"https://framer.com/m/framer/default-utils.js\";/**\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n */export default function Embed({type,url,html,zoom,radius,border,style={}}){if(type===\"url\"&&url){return /*#__PURE__*/_jsx(EmbedUrl,{url:url,zoom:zoom,radius:radius,border:border,style:style});}if(type===\"html\"&&html){return /*#__PURE__*/_jsx(EmbedHtml,{html:html,style:style});}return /*#__PURE__*/_jsx(Instructions,{style:style});}addPropertyControls(Embed,{type:{type:ControlType.Enum,defaultValue:\"url\",displaySegmentedControl:true,options:[\"url\",\"html\"],optionTitles:[\"URL\",\"HTML\"]},url:{title:\"URL\",type:ControlType.String,description:\"Some websites don’t support embedding.\",hidden(props){return props.type!==\"url\";}},html:{title:\"HTML\",type:ControlType.String,displayTextArea:true,hidden(props){return props.type!==\"html\";}},border:{title:\"Border\",type:ControlType.Border,optional:true,hidden(props){return props.type!==\"url\";}},radius:{type:ControlType.BorderRadius,title:\"Radius\",hidden(props){return props.type!==\"url\";}},zoom:{title:\"Zoom\",defaultValue:1,type:ControlType.Number,hidden(props){return props.type!==\"url\";},min:.1,max:1,step:.1,displayStepper:true}});function Instructions({style}){return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:getMinHeight(style),...emptyStateStyle,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"To embed a website or widget, add it to the properties\\xa0panel.\"})});}function EmbedUrl({url,zoom,radius,border,style}){const hasAutoHeight=!style.height;// Add https:// if the URL does not have a protocol.\nif(!/[a-z]+:\\/\\//.test(url)){url=\"https://\"+url;}const onCanvas=useIsOnCanvas();// We need to check if the url is blocked inside an iframe by the X-Frame-Options\n// or Content-Security-Policy headers on the backend.\nconst[state,setState]=useState(onCanvas?undefined:false);useEffect(()=>{// We only want to check on the canvas.\n// On the website we want to avoid the additional delay.\nif(!onCanvas)return;// TODO: We could also use AbortController here.\nlet isLastEffect=true;setState(undefined);async function load(){const response=await fetch(\"https://api.framer.com/functions/check-iframe-url?url=\"+encodeURIComponent(url));if(response.status==200){const{isBlocked}=await response.json();if(isLastEffect){setState(isBlocked);}}else{const message=await response.text();console.error(message);const error=new Error(\"This site can’t be reached.\");setState(error);}}load().catch(error=>{console.error(error);setState(error);});return()=>{isLastEffect=false;};},[url]);if(onCanvas&&hasAutoHeight){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"URL embeds do not support auto height.\",style:style});}if(!url.startsWith(\"https://\")){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"Unsupported protocol.\",style:style});}if(state===undefined){return /*#__PURE__*/_jsx(LoadingIndicator,{});}if(state instanceof Error){return /*#__PURE__*/_jsx(ErrorMessage,{message:state.message,style:style});}if(state===true){const message=`Can’t embed ${url} due to its content security policy.`;return /*#__PURE__*/_jsx(ErrorMessage,{message:message,style:style});}return /*#__PURE__*/_jsx(\"iframe\",{src:url,style:{...iframeStyle,...style,...border,zoom:zoom,borderRadius:radius,transformOrigin:\"top center\"},loading:\"lazy\",// @ts-ignore\nfetchPriority:onCanvas?\"low\":\"auto\",referrerPolicy:\"no-referrer\",sandbox:getSandbox(onCanvas)});}const iframeStyle={width:\"100%\",height:\"100%\",border:\"none\"};function getSandbox(onCanvas){const result=[\"allow-same-origin\",\"allow-scripts\"];if(!onCanvas){result.push(\"allow-downloads\",\"allow-forms\",\"allow-modals\",\"allow-orientation-lock\",\"allow-pointer-lock\",\"allow-popups\",\"allow-popups-to-escape-sandbox\",\"allow-presentation\",\"allow-storage-access-by-user-activation\",\"allow-top-navigation-by-user-activation\");}return result.join(\" \");}function EmbedHtml({html,...props}){const hasScript=html.includes(\"</script>\");if(hasScript){const hasSplineViewer=html.includes(\"</spline-viewer>\");const hasComment=html.includes(\"<!-- framer-direct-embed -->\");if(hasSplineViewer||hasComment){return /*#__PURE__*/_jsx(EmbedHtmlWithScripts,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlInsideIframe,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlWithoutScripts,{html:html,...props});}function EmbedHtmlInsideIframe({html,style}){const ref=useRef();const[iframeHeight,setIframeHeight]=useState(0);// Handle auto sizing\nuseEffect(()=>{const iframeWindow=ref.current?.contentWindow;function handleMessage(event){if(event.source!==iframeWindow)return;const data=event.data;if(typeof data!==\"object\"||data===null)return;const height=data.embedHeight;if(typeof height!==\"number\")return;setIframeHeight(height);}window.addEventListener(\"message\",handleMessage);// After SSG the iframe loads before we attach the event handler,\n// therefore we need to request the latest height from the iframe.\niframeWindow?.postMessage(\"getEmbedHeight\",\"*\");return()=>{window.removeEventListener(\"message\",handleMessage);};},[]);// The CSS is mainly copied from:\n// FramerStudio/src/app/vekter/src/renderer/setDefaultFont.ts\n// FramerStudio/src/app/vekter/src/export/globalStylesForExport.ts\nconst srcDoc=`\n<html>\n    <head>\n        <style>\n            html, body {\n                margin: 0;\n                padding: 0;\n            }\n\n            body {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n            }\n\n            :root {\n                -webkit-font-smoothing: antialiased;\n                -moz-osx-font-smoothing: grayscale;\n            }\n\n            * {\n                box-sizing: border-box;\n                -webkit-font-smoothing: inherit;\n            }\n\n            h1, h2, h3, h4, h5, h6, p, figure {\n                margin: 0;\n            }\n\n            body, input, textarea, select, button {\n                font-size: 12px;\n                font-family: sans-serif;\n            }\n        </style>\n    </head>\n    <body>\n        ${html}\n        <script type=\"module\">\n            let height = 0\n\n            function sendEmbedHeight() {\n                window.parent.postMessage({\n                    embedHeight: height\n                }, \"*\")\n            }\n\n            const observer = new ResizeObserver((entries) => {\n                if (entries.length !== 1) return\n                const entry = entries[0]\n                if (entry.target !== document.body) return\n\n                height = entry.contentRect.height\n                sendEmbedHeight()\n            })\n\n            observer.observe(document.body)\n\n            window.addEventListener(\"message\", (event) => {\n                if (event.source !== window.parent) return\n                if (event.data !== \"getEmbedHeight\") return\n                sendEmbedHeight()\n            })\n        </script>\n    <body>\n</html>\n`;const currentStyle={...iframeStyle,...style};const hasAutoHeight=!style.height;if(hasAutoHeight){currentStyle.height=iframeHeight+\"px\";}return /*#__PURE__*/_jsx(\"iframe\",{ref:ref,style:currentStyle,srcDoc:srcDoc});}function EmbedHtmlWithScripts({html,style}){const ref=useRef();useEffect(()=>{const div=ref.current;if(!div)return;div.innerHTML=html;executeScripts(div);return()=>{div.innerHTML=\"\";};},[html]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...htmlStyle,...style}});}function EmbedHtmlWithoutScripts({html,style}){return /*#__PURE__*/_jsx(\"div\",{style:{...htmlStyle,...style},dangerouslySetInnerHTML:{__html:html}});}const htmlStyle={width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"};// This function replaces scripts with executable ones.\n// https://stackoverflow.com/questions/1197575/can-scripts-be-inserted-with-innerhtml\nfunction executeScripts(node){if(node instanceof Element&&node.tagName===\"SCRIPT\"){const script=document.createElement(\"script\");script.text=node.innerHTML;for(const{name,value}of node.attributes){script.setAttribute(name,value);}node.parentElement.replaceChild(script,node);}else{for(const child of node.childNodes){executeScripts(child);}}}// Generic components\nfunction LoadingIndicator(){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-componentPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"Loading…\"})});}function ErrorMessage({message,style}){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{minHeight:getMinHeight(style),...containerStyles,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:message})});}const centerTextStyle={textAlign:\"center\",minWidth:140};// Returns a min-height if the component is using auto-height.\nfunction getMinHeight(style){const hasAutoHeight=!style.height;if(hasAutoHeight)return 200;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Embed\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"600\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Embed.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/p64C0n6xNEFY9NovSiJw/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\";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\":{\"framerIntrinsicWidth\":\"400\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FileUploadInput.map"],"mappings":"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"}