{"version":3,"file":"Input.CFqx5P4m.mjs","names":["useRef","useCallback","useState","useMemo","Input","useState","useCallback","email"],"sources":["https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/qXQVWG1AZxpdrbBmhE1U/Video.js","https:/framerusercontent.com/modules/oWVHHLIj4Q7woeIlKzbt/QOVXBlV2UNTt0qPAuW0e/Input.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */ export function Video(props){const newProps=getProps(props);return /*#__PURE__*/ _jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const isPlaying=videoRef.current.currentTime>0&&videoRef.current.onplaying&&!videoRef.current.paused&&!videoRef.current.ended&&videoRef.current.readyState>videoRef.current.HAVE_CURRENT_DATA;if(!isPlaying&&videoRef.current&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;videoRef.current.play().catch(e=>{}) // It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();},[]);return{play,pause,setProgress};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}/**\n * The Video component has some effects that sync the video element with props\n * like `startTime`, `progress`, etc. React calls these effects whenever these\n * props change. However, it also calls them on the first mount, and this is\n * troublesome – if we’re doing SSR, and the user changed the video state before\n * the video was hydrated, the initial `useEffect` call will reset the video\n * state. To avoid this, we use this flag.\n */ let isMountedAndReadyForProgressChanges=false;const VideoMemo=/*#__PURE__*/ memo(function VideoInner(props){const{srcType,srcFile,srcUrl,playing:playingProp,muted,playsinline,controls,progress,objectFit,backgroundColor,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,poster,posterEnabled,startTime:startTimeProp,volume,loop}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isOnCanvas won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isOnCanvas?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isOnCanvas?true:useInView(videoRef);// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isOnCanvas)return;if(playingProp)play();else pause();},[playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isOnCanvas)return;if(autoplayBehavior!==\"on-viewport\")return;if(isInViewport)play();else pause();},[autoplayBehavior,isInViewport]);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges){isMountedAndReadyForProgressChanges=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress!==null&&progress!==void 0?progress:0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue!==null&&rawProgressValue!==void 0?rawProgressValue:0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime!==null&&startTime!==void 0?startTime:0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isOnCanvas\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===SrcType.Url)return srcUrl+fragment;if(srcType===SrcType.Video)return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume!==null&&volume!==void 0?volume:0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{if(!videoRef.current)return;if(videoRef.current.currentTime<.3)setProgress((startTime!==null&&startTime!==void 0?startTime:0)*.01);if(autoplayBehavior===\"on-mount\")play();};return /*#__PURE__*/ _jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>{return onSeeked===null||onSeeked===void 0?void 0:onSeeked(e);},onPause:e=>{return onPause===null||onPause===void 0?void 0:onPause(e);},onPlay:e=>{return onPlay===null||onPlay===void 0?void 0:onPlay(e);},onEnded:e=>{return onEnd===null||onEnd===void 0?void 0:onEnd(e);},autoPlay:autoplayBehavior===\"on-mount\",poster:posterEnabled?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isOnCanvas?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";Video.defaultProps={srcType:SrcType.Url,srcUrl:\"https://assets.mixkit.co/videos/preview/mixkit-ice-cream-glass-of-red-soda-5094-small.mp4\",srcFile:\"\",posterEnabled:false,controls:false,playing:true,loop:true,muted:true,playsinline:true,restartOnEnter:false,objectFit:ObjectFitType.Cover,backgroundColor:\"rgba(0,0,0,0)\",radius:0,volume:25,startTime:0};const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[ObjectFitType.Cover,ObjectFitType.Fill,ObjectFitType.Contain,ObjectFitType.ScaleDown,ObjectFitType.None,];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[SrcType.Url,SrcType.Video]},srcUrl:{type:ControlType.String,title:\" \",placeholder:\"../example.mp4\",hidden(props){return props.srcType===SrcType.Video;},description:\"Hosted video file URL. For YouTube, use the YouTube component.\"},srcFile:{type:ControlType.File,title:\" \",allowedFileTypes:[\"mp4\"],hidden(props){return props.srcType===SrcType.Url;}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\" \",hidden:({posterEnabled})=>!posterEnabled},backgroundColor:{type:ControlType.Color,title:\"Background\"},...borderRadiusControl,startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\"},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"112\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useCallback,useState}from\"react\";import{addPropertyControls,ControlType,withCSS,useRouter,inferInitialRouteFromPath}from\"framer\";import{motion,useAnimationControls}from\"framer-motion\";const emailRegex=/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;const mailchimpRegex=/^https?:\\/\\/([^\\/]+)[^\\?]+\\??(.+)$/;const validateEmail=email=>{return emailRegex.test(String(email).toLowerCase());};const parseMailChimpUrl=url=>{var ref;const[,domain,parameters]=(ref=url.replace(\"&amp;\",\"&\").match(mailchimpRegex))!==null&&ref!==void 0?ref:[null,null,null];return[domain,parameters?new URLSearchParams(parameters):null,];};function isExternalURL(url){try{return!!new URL(url);}catch{}try{return!!new URL(`https://${url}`);}catch{}return false;}/**\n * Increment the number whenever shipping a new version to customers.\n * This will ensure that multiple versions of this component can exist\n * in the same project without css rules overlapping. Only use valid css class characters.\n */ const VERSION=\"v1\";/**\n * INPUT\n * By Benjamin den Boer\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n */ const Input=withCSS(function Input({service,redirectAs,mailchimpURL,loopsID,formsparkID,getwaitlistAPI,input,button,font,layout,link,gap,style,onSubmit}){const[email,setEmail]=useState(\"\");const[isError,setError]=useState(false);const[isLoading,setLoading]=useState(false);const[isFocus,setFocus]=useState(false);// Padding\nconst{paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,padding,borderRadius,borderObject,focusObject,shadowObject,height,fixedHeight}=input;const{buttonPaddingPerSide,buttonPaddingTop,buttonPaddingRight,buttonPaddingBottom,buttonPaddingLeft,buttonPadding}=button;const paddingValue=paddingPerSide?`${paddingTop}px ${button.isDocked?paddingRight+button.widthWhenDocked:paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px ${button.isDocked?padding+button.widthWhenDocked:padding}px ${padding}px ${padding}px`;const buttonPaddingValue=buttonPaddingPerSide?`${button.isDocked?0:buttonPaddingTop}px ${buttonPaddingRight}px ${button.isDocked?0:buttonPaddingBottom}px ${buttonPaddingLeft}px`:`${button.isDocked?0:buttonPadding}px ${buttonPadding}px ${button.isDocked?0:buttonPadding}px ${buttonPadding}px`;const router=useRouter();const onSuccess=()=>{/* Reset */ setLoading(false);setFocus(false);setEmail(\"\");if(redirectAs===\"link\"&&link&&!isError){const[path,hash]=link.split(\"#\");const{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,path);if(routeId){router.navigate(routeId,hash,pathVariables);}if(isExternalURL(link)){setError(true);formControls.start(\"error\");return false;}}};const validateForm=useCallback(email=>{if(email===\"\"||!validateEmail(email)){setError(true);formControls.start(\"error\");return false;}return true;},[validateEmail]);const handleChange=useCallback(event=>{setError(false);setEmail(event.target.value);},[]);const handleFocus=useCallback(event=>{setFocus(true);},[]);const handleBlur=useCallback(event=>{setFocus(false);setError(false);},[]);const handleSubmit=useCallback(event=>{event.preventDefault();// Prevent submitting while submitting\nif(isLoading)return;setLoading(true);if(service===\"mailchimp\"){const[domain,parameters]=parseMailChimpUrl(mailchimpURL);if(!validateForm(email)||!domain||!parameters){setLoading(false);return;}// MERGE0 is Mailchimp’s email field name\nparameters.set(\"MERGE0\",email);fetch(`https://${domain}/subscribe/post`,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded;charset=UTF-8\"},body:parameters.toString()}).then(response=>{onSuccess();if(redirectAs===\"overlay\")onSubmit===null||onSubmit===void 0?void 0:onSubmit();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"loops\"){if(!validateForm(email)){setLoading(false);return;}const formBody=`email=${encodeURIComponent(email)}`;fetch(`https://app.loops.so/api/newsletter-form/${loopsID}`,{method:\"POST\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:formBody}).then(()=>{onSuccess();if(redirectAs===\"overlay\")onSubmit===null||onSubmit===void 0?void 0:onSubmit();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"formspark\"){if(!validateForm(email)){setLoading(false);return;}const data=new FormData(event.target);const entries=Object.fromEntries(data.entries());fetch(`https://submit-form.com/${formsparkID}`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(entries)}).then(()=>{onSuccess();onSubmit===null||onSubmit===void 0?void 0:onSubmit();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"getwaitlist\"){if(!validateForm(email)){setLoading(false);return;}const data1=new FormData(event.target);const entries1=Object.fromEntries(data1.entries());fetch(`https://api.getwaitlist.com/api/v1\n/waiter/`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(entries1)}).then(()=>{onSuccess();if(redirectAs===\"overlay\")onSubmit===null||onSubmit===void 0?void 0:onSubmit();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}},[mailchimpURL,formsparkID,email,onSubmit,validateForm,isLoading,]);// Animation\nconst formControls=useAnimationControls();// Input Box Shadow Stylees\nconst focusStylesFrom=input.focusObject?`inset 0 0 0 ${focusObject.focusWidthFrom}px ${focusObject.focusColor}`:null;const focusStylesTo=input.focusObject?`inset 0 0 0 ${focusObject.focusWidthTo}px ${focusObject.focusColor}`:null;const shadowStyles=input.shadowObject?`${shadowObject.shadowX}px ${shadowObject.shadowY}px ${shadowObject.shadowBlur}px ${shadowObject.shadowColor}`:null;const borderStyles=input.borderObject?`inset 0 0 0 ${borderObject.borderWidth}px ${borderObject.borderColor}`:null;// Shake or wiggle as error\nconst formVariants={default:{x:0},error:{x:[0,-4,4,0],transition:{duration:.2}}};const inputVariants={default:{boxShadow:dynamicBoxShadow(focusStylesFrom,shadowStyles,borderStyles)},focused:{boxShadow:dynamicBoxShadow(focusStylesTo,shadowStyles,borderStyles)}};return /*#__PURE__*/ _jsx(motion.div,{style:{...style,...containerStyles,\"--framer-custom-placeholder-color\":input.placeholderColor},variants:formVariants,animate:formControls,children:/*#__PURE__*/ _jsxs(\"form\",{style:{width:\"100%\",height:\"auto\",display:\"flex\",position:\"relative\",flexDirection:layout===\"vertical\"?\"column\":\"row\",color:button.color,gap:button.isDocked?0:gap},onSubmit:handleSubmit,method:\"POST\",children:[service===\"getwaitlist\"&&/*#__PURE__*/ _jsx(\"input\",{type:\"hidden\",name:\"api_key\",value:getwaitlistAPI}),/*#__PURE__*/ _jsx(motion.input,{type:\"email\",name:\"email\",placeholder:input.placeholder,value:email,className:`${VERSION} framer-custom-input`,onChange:handleChange,onFocus:handleFocus,onBlur:handleBlur,autoComplete:\"off\",autoCapitalize:\"off\",autoCorrect:\"off\",spellCheck:\"false\",style:{...defaultStyle,padding:paddingValue,borderRadius,fontSize:16,...font,background:input.fill,height:height?\"auto\":fixedHeight,color:input.color,boxShadow:dynamicBoxShadow(focusStylesFrom,shadowStyles,borderStyles)},variants:inputVariants,initial:false,animate:isFocus?\"focused\":\"default\",transition:{duration:.3}}),!button.shouldAppear&&isLoading&&/*#__PURE__*/ _jsx(Spinner,{shouldAppear:button.shouldAppear,paddingPerSide:paddingPerSide,paddingTop:paddingTop,paddingRight:paddingRight,padding:padding,color:input.color}),button.shouldAppear&&/*#__PURE__*/ _jsxs(\"div\",{style:{position:button.isDocked?\"absolute\":\"relative\",top:button.isDocked?button.insetWhenDocked:0,right:button.isDocked?button.insetWhenDocked:0,bottom:button.isDocked?button.insetWhenDocked:0},children:[/*#__PURE__*/ _jsx(motion.input,{type:\"submit\",value:button.label,style:{...defaultStyle,width:button.isDocked?button.widthWhenDocked:\"100%\",height:height?\"100%\":fixedHeight,cursor:\"pointer\",padding:buttonPaddingValue,borderRadius:button.isDocked?borderRadius-button.insetWhenDocked:borderRadius,fontWeight:button.fontWeight,fontSize:16,...button.buttonFont,background:button.fill,color:button.color,zIndex:1,boxShadow:getButtonShadow(button)}}),isLoading&&/*#__PURE__*/ _jsx(\"div\",{style:{borderRadius:button.isDocked?borderRadius-button.insetWhenDocked:borderRadius,position:\"absolute\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",width:\"100%\",height:\"100%\",inset:0,zIndex:2,color:button.color,background:button.fill},children:/*#__PURE__*/ _jsx(Spinner,{color:button.color})})]})]})});},[`.${VERSION}.framer-custom-input::placeholder { color: var(--framer-custom-placeholder-color) !important; }`,]);const Spinner=props=>{const noButtonStyles=!props.shouldAppear?{position:\"absolute\",top:`calc(50% - 8px)`,right:props.paddingPerSide?props.paddingRight:props.padding}:{};return /*#__PURE__*/ _jsx(motion.div,{style:{height:16,width:16,...noButtonStyles},initial:{rotate:0},animate:{rotate:360},transition:{duration:1,repeat:Infinity},children:/*#__PURE__*/ _jsx(motion.div,{initial:{scale:0},animate:{scale:1},children:/*#__PURE__*/ _jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",style:{fill:\"currentColor\",color:props.color},children:[/*#__PURE__*/ _jsx(\"path\",{d:\"M 8 0 C 3.582 0 0 3.582 0 8 C 0 12.419 3.582 16 8 16 C 12.418 16 16 12.419 16 8 C 15.999 3.582 12.418 0 8 0 Z M 8 14 C 4.687 14 2 11.314 2 8 C 2 4.687 4.687 2 8 2 C 11.314 2 14 4.687 14 8 C 14 11.314 11.314 14 8 14 Z\",fill:\"currentColor\",opacity:\"0.2\"}),/*#__PURE__*/ _jsx(\"path\",{d:\"M 8 0 C 12.418 0 15.999 3.582 16 8 C 16 8 16 9 15 9 C 14 9 14 8 14 8 C 14 4.687 11.314 2 8 2 C 4.687 2 2 4.687 2 8 C 2 8 2 9 1 9 C 0 9 0 8 0 8 C 0 3.582 3.582 0 8 0 Z\",fill:\"currentColor\"})]})})});};addPropertyControls(Input,{service:{title:\"Service\",type:ControlType.Enum,options:[\"loops\",\"formspark\",\"mailchimp\",\"getwaitlist\"],optionTitles:[\"Loops\",\"FormSpark\",\"MailChimp\",\"Get Waitlist\"],defaultValue:\"loops\"},mailchimpURL:{title:\"URL\",placeholder:\"https://***.us6.list-manage.com/subscribe/post?u=***\",type:ControlType.String,hidden:props=>props.service!==\"mailchimp\"},loopsID:{title:\"ID\",placeholder:\"klm2jxy0i98abzr01pq7defg5\",type:ControlType.String,hidden:props=>props.service!==\"loops\"},formsparkID:{title:\"ID\",placeholder:\"7PbPpGN3\",type:ControlType.String,hidden:props=>props.service!==\"formspark\"},getwaitlistAPI:{title:\"ID\",placeholder:\"9148\",type:ControlType.String,hidden:props=>props.service!==\"getwaitlist\"},redirectAs:{title:\"Success\",type:ControlType.Enum,options:[\"link\",\"overlay\"],optionTitles:[\"Open Link\",\"Show Overlay\"],defaultValue:\"link\"},link:{title:\"Redirect\",type:ControlType.Link,hidden:props=>props.redirectAs===\"overlay\"},onSubmit:{title:\"Submit\",type:ControlType.EventHandler,hidden:props=>props.redirectAs===\"link\"},layout:{title:\"Layout\",type:ControlType.Enum,options:[\"horizontal\",\"vertical\"],displaySegmentedControl:true,hidden:props=>props.button.isDocked},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},input:{title:\"Input\",type:ControlType.Object,controls:{placeholder:{title:\"Placeholder\",type:ControlType.String,defaultValue:\"name@email.com\"},placeholderColor:{title:\" \",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.3)\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#EBEBEB\"},color:{title:\"Text\",type:ControlType.Color,defaultValue:\"#000\"},height:{title:\"Height\",type:ControlType.Boolean,enabledTitle:\"Auto\",disabledTitle:\"Fixed\"},fixedHeight:{title:\" \",type:ControlType.Number,displayStepper:true,min:0,defaultValue:50,hidden:props=>props.height},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:15,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\",],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},borderRadius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:8},focusObject:{type:ControlType.Object,title:\"Focus\",optional:true,controls:{focusWidthFrom:{title:\"From\",type:ControlType.Number,displayStepper:true,defaultValue:0},focusWidthTo:{title:\"To\",type:ControlType.Number,displayStepper:true,defaultValue:2},focusColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#09F\"}}},borderObject:{type:ControlType.Object,title:\"Border\",optional:true,controls:{borderWidth:{title:\"Width\",type:ControlType.Number,displayStepper:true,defaultValue:1},borderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(200,200,200,0.5)\"}}},shadowObject:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"Shadow X\",type:ControlType.Number,min:-100,max:100,defaultValue:0},shadowY:{title:\"Shadow Y\",type:ControlType.Number,min:-100,max:100,defaultValue:2},shadowBlur:{title:\"Shadow B\",type:ControlType.Number,min:0,max:100,defaultValue:4}}}}},button:{title:\"Button\",type:ControlType.Object,controls:{shouldAppear:{title:\"Show\",type:ControlType.Boolean,defaultValue:true},label:{title:\"Label\",type:ControlType.String,defaultValue:\"Subscribe\"},buttonFont:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#333\"},color:{title:\"Text\",type:ControlType.Color,defaultValue:\"#FFF\"},isDocked:{title:\"Docked\",type:ControlType.Boolean,defaultValue:false},widthWhenDocked:{title:\"Width\",type:ControlType.Number,min:0,defaultValue:100,displayStepper:true,hidden:props=>!props.isDocked},insetWhenDocked:{title:\"Inset\",type:ControlType.Number,min:0,defaultValue:5,displayStepper:true,hidden:props=>!props.isDocked},buttonPadding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"buttonPaddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:15,valueKeys:[\"buttonPaddingTop\",\"buttonPaddingRight\",\"buttonPaddingBottom\",\"buttonPaddingLeft\",],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},buttonShadow:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"Shadow X\",type:ControlType.Number,min:-100,max:100,defaultValue:0},shadowY:{title:\"Shadow Y\",type:ControlType.Number,min:-100,max:100,defaultValue:2},shadowBlur:{title:\"Shadow B\",type:ControlType.Number,min:0,max:100,defaultValue:4}}}}},gap:{title:\"Gap\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:10,hidden:props=>props.button.isDocked}});const defaultStyle={WebkitAppearance:\"none\",appearance:\"none\",width:\"100%\",height:\"auto\",outline:\"none\",border:\"none\"};const containerStyles={position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};function getButtonShadow(button){if(button.buttonShadow){return`${button.buttonShadow.shadowX}px ${button.buttonShadow.shadowY}px ${button.buttonShadow.shadowBlur}px ${button.buttonShadow.shadowColor}`;}else return\"none\";}function dynamicBoxShadow(...shadows){const output=[];shadows.forEach(shadow=>shadow&&output.push(shadow));return output.join(\", \");}export default Input;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Input\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerIntrinsicWidth\":\"300\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Input.map"],"mappings":"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"}