{"version":3,"file":"Video.BSLb8IlK.mjs","names":["Input","email","containerStyles","Input","ObjectFitType","SrcType"],"sources":["https:/framer.com/m/framer/InputSites.js@1.15.1","https:/framerusercontent.com/modules/LoWwZfPC4cHteYUUDkMp/cPZet1MKhluhGWr5jxRU/Input_Formspark.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/Video.js"],"sourcesContent":["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=>{const[,domain,parameters]=url.replace(\"&amp;\",\"&\").match(mailchimpRegex)??[null,null,null];return[domain,parameters?new URLSearchParams(parameters):null];};function safeURL(url){console.log(url);try{new URL(url);return url;}catch{try{new URL(`https://${url}`);return`https://${url}`;}catch{}}return undefined;}function isInternalURL(href){if(href===undefined)return false;if(href.startsWith(\"#\")||href.startsWith(\"/\")||href.startsWith(\".\"))return true;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,loopsUserGroup,loopsMailingList,formsparkID,getwaitlistAPI,convertkitAPI,convertkitFormID,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[fullPath,hash]=link.split(\"#\");const path=fullPath.split(\"?\")[0]||\"\";const{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,path);if(routeId){router.navigate(routeId,hash,pathVariables);}if(!isInternalURL(link)){const url=safeURL(link);if(url&&typeof window!==\"undefined\")window.open(url,\"_blank\");}}};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?.();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"loops\"){if(!validateForm(email)){setLoading(false);return;}const emailBody=`email=${encodeURIComponent(email)}`;const userGroupBody=`userGroup=${encodeURIComponent(loopsUserGroup)}`;const mailingListBody=`mailingLists=${encodeURIComponent(loopsMailingList)}`;const hasMailingList=!!loopsMailingList&&loopsMailingList!==\" \";const hasUserGroup=!!loopsUserGroup&&loopsUserGroup!==\" \";let formBody=emailBody;if(hasUserGroup){formBody+=`&${userGroupBody}`;}if(hasMailingList){formBody+=`&${mailingListBody}`;}fetch(`https://app.loops.so/api/newsletter-form/${loopsID}`,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:formBody}).then(()=>{onSuccess();if(redirectAs===\"overlay\")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://api.formspark.io/${formsparkID}`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(entries)}).then(()=>{onSuccess();onSubmit?.();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"getwaitlist\"){if(!validateForm(email)){setLoading(false);return;}const formData=new FormData(event.target);const data=Object.fromEntries(formData.entries());data.referral_link=document.URL;fetch(`https://api.getwaitlist.com/api/v1\n/waiter/`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(data)}).then(()=>{onSuccess();if(redirectAs===\"overlay\")onSubmit?.();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"convertkit\"){if(!validateForm(email)){setLoading(false);return;}const formData=new FormData(event.target);const data=Object.fromEntries(formData.entries());data.referral_link=document.URL;data.api_key=convertkitAPI;fetch(`https://api.convertkit.com/v3/forms/${convertkitFormID}/subscribe`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(data)}).then(()=>{onSuccess();if(redirectAs===\"overlay\")onSubmit?.();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}},[mailchimpURL,formsparkID,convertkitFormID,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}),service===\"convertkit\"&&/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:\"api_key\",value:convertkitAPI}),/*#__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},\"data-1p-ignore\":true}),!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,\nfontSize: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\",\"convertkit\"],optionTitles:[\"Loops\",\"FormSpark\",\"MailChimp\",\"Get Waitlist\",\"ConvertKit\"],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\"},loopsUserGroup:{title:\"User Group\",type:ControlType.String,placeholder:\"Title\",optional:true,hidden:props=>props.service!==\"loops\"},loopsMailingList:{title:\"Mailing List\",type:ControlType.String,placeholder:\"cm3q41c5v02ii1lml14om2wtr\",optional:true,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\"},convertkitAPI:{title:\"API Key\",placeholder:\"5opis1WK6xnVsBwrOINUpe\",type:ControlType.String,hidden:props=>props.service!==\"convertkit\"},convertkitFormID:{title:\"Form ID\",placeholder:\"1043389\",type:ControlType.String,hidden:props=>props.service!==\"convertkit\"},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\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"40\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Input.map","import{jsx as _jsx}from\"react/jsx-runtime\";import Input from\"https://framer.com/m/framer/InputSites.js@1.15.1\";import{ControlType,addPropertyControls}from\"framer\";/**\n * INPUT - FORMSPARK\n * By Benjamin den Boer\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n */export default function Formspark(props){// This is a React component containing an Example component\n// - Replace <Example /> with your own code\n// - Find inspiration: https://www.framer.com/developers/\nreturn /*#__PURE__*/_jsx(Input,{...props,service:\"formspark\"});}addPropertyControls(Formspark,{formsparkID:{title:\"ID\",placeholder:\"7PbPpGN3\",type:ControlType.String},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}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Formspark\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"40\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Input_Formspark.map","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{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={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// 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 isPlayingRef=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 video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.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();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}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;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,srcFile=\"\",posterEnabled=false,controls=false,playing=true,loop=true,muted=true,playsinline=true,restartOnEnter=false,objectFit=\"cover\",backgroundColor=\"rgba(0,0,0,0)\",radius=0,volume=25,startTime:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\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     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(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??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??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//     !isStaticRenderer\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")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??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?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\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},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\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},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\":{\"framerIntrinsicHeight\":\"112\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map"],"mappings":"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"}