{"version":3,"file":"AuthForm.Biv7Vxvb.mjs","names":["r","t","e","s","a","n","o","i","u","l","p","c","m","d","useState","FramergenieForm","useMemo","verifyError","_Fragment","e"],"sources":["https:/ga.jspm.io/npm:react-hook-form@7.39.5/dist/index.esm.mjs","https:/framerusercontent.com/modules/D7qQ03oL8HBPAyupLVok/yek5qlzvoLwcPfwcztsC/AuthForm.js"],"sourcesContent":["import e from\"react\";var isCheckBoxInput=e=>\"checkbox\"===e.type;var isDateObject=e=>e instanceof Date;var isNullOrUndefined=e=>null==e;const isObjectType=e=>\"object\"===typeof e;var isObject=e=>!isNullOrUndefined(e)&&!Array.isArray(e)&&isObjectType(e)&&!isDateObject(e);var getEventValue=e=>isObject(e)&&e.target?isCheckBoxInput(e.target)?e.target.checked:e.target.value:e;var getNodeParentName=e=>e.substring(0,e.search(/\\.\\d+(\\.|$)/))||e;var isNameInFieldArray=(e,t)=>e.has(getNodeParentName(t));var compact=e=>Array.isArray(e)?e.filter(Boolean):[];var isUndefined=e=>void 0===e;var get=(e,t,r)=>{if(!t||!isObject(e))return r;const s=compact(t.split(/[,[\\].]+?/)).reduce(((e,t)=>isNullOrUndefined(e)?e:e[t]),e);return isUndefined(s)||s===e?isUndefined(e[t])?r:e[t]:s};const t={BLUR:\"blur\",FOCUS_OUT:\"focusout\",CHANGE:\"change\"};const r={onBlur:\"onBlur\",onChange:\"onChange\",onSubmit:\"onSubmit\",onTouched:\"onTouched\",all:\"all\"};const s={max:\"max\",min:\"min\",maxLength:\"maxLength\",minLength:\"minLength\",pattern:\"pattern\",required:\"required\",validate:\"validate\"};const a=e.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n *   const methods = useForm();\n *   const onSubmit = data => console.log(data);\n *\n *   return (\n *     <FormProvider {...methods} >\n *       <form onSubmit={methods.handleSubmit(onSubmit)}>\n *         <NestedInput />\n *         <input type=\"submit\" />\n *       </form>\n *     </FormProvider>\n *   );\n * }\n *\n *  function NestedInput() {\n *   const { register } = useFormContext(); // retrieve all hook methods\n *   return <input {...register(\"test\")} />;\n * }\n * ```\n */const useFormContext=()=>e.useContext(a)\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useFrom methods\n *\n * @example\n * ```tsx\n * function App() {\n *   const methods = useForm();\n *   const onSubmit = data => console.log(data);\n *\n *   return (\n *     <FormProvider {...methods} >\n *       <form onSubmit={methods.handleSubmit(onSubmit)}>\n *         <NestedInput />\n *         <input type=\"submit\" />\n *       </form>\n *     </FormProvider>\n *   );\n * }\n *\n *  function NestedInput() {\n *   const { register } = useFormContext(); // retrieve all hook methods\n *   return <input {...register(\"test\")} />;\n * }\n * ```\n */;const FormProvider=t=>{const{children:r,...s}=t;return e.createElement(a.Provider,{value:s},r)};var getProxyFormState=(e,t,s,a=true)=>{const n={defaultValues:t._defaultValues};for(const o in e)Object.defineProperty(n,o,{get:()=>{const n=o;t._proxyFormState[n]!==r.all&&(t._proxyFormState[n]=!a||r.all);s&&(s[n]=true);return e[n]}});return n};var isEmptyObject=e=>isObject(e)&&!Object.keys(e).length;var shouldRenderFormState=(e,t,s)=>{const{name:a,...n}=e;return isEmptyObject(n)||Object.keys(n).length>=Object.keys(t).length||Object.keys(n).find((e=>t[e]===(!s||r.all)))};var convertToArrayPayload=e=>Array.isArray(e)?e:[e];var shouldSubscribeByName=(e,t,r)=>r&&t?e===t:!e||!t||e===t||convertToArrayPayload(e).some((e=>e&&(e.startsWith(t)||t.startsWith(e))));function useSubscribe(t){const r=e.useRef(t);r.current=t;e.useEffect((()=>{const e=!t.disabled&&r.current.subject.subscribe({next:r.current.callback});return()=>{e&&e.unsubscribe()}}),[t.disabled])}\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n *   const { register, handleSubmit, control } = useForm({\n *     defaultValues: {\n *     firstName: \"firstName\"\n *   }});\n *   const { dirtyFields } = useFormState({\n *     control\n *   });\n *   const onSubmit = (data) => console.log(data);\n *\n *   return (\n *     <form onSubmit={handleSubmit(onSubmit)}>\n *       <input {...register(\"firstName\")} placeholder=\"First Name\" />\n *       {dirtyFields.firstName && <p>Field is dirty.</p>}\n *       <input type=\"submit\" />\n *     </form>\n *   );\n * }\n * ```\n */function useFormState(t){const r=useFormContext();const{control:s=r.control,disabled:a,name:n,exact:o}=t||{};const[i,l]=e.useState(s._formState);const u=e.useRef(true);const c=e.useRef({isDirty:false,dirtyFields:false,touchedFields:false,isValidating:false,isValid:false,errors:false});const f=e.useRef(n);f.current=n;useSubscribe({disabled:a,callback:e.useCallback((e=>u.current&&shouldSubscribeByName(f.current,e.name,o)&&shouldRenderFormState(e,c.current)&&l({...s._formState,...e})),[s,o]),subject:s._subjects.state});e.useEffect((()=>{u.current=true;const e=s._proxyFormState.isDirty&&s._getDirty();e!==s._formState.isDirty&&s._subjects.state.next({isDirty:e});s._updateValid();return()=>{u.current=false}}),[s]);return getProxyFormState(i,s,c.current,false)}var isString=e=>\"string\"===typeof e;var generateWatchOutput=(e,t,r,s)=>{if(isString(e)){s&&t.watch.add(e);return get(r,e)}if(Array.isArray(e))return e.map((e=>(s&&t.watch.add(e),get(r,e))));t.watchAll=!!s;return r};var isPlainObject=e=>{const t=e.constructor&&e.constructor.prototype;return isObject(t)&&t.hasOwnProperty(\"isPrototypeOf\")};var n=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.HTMLElement&&\"undefined\"!==typeof document;function cloneObject(e){let t;const r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if(n&&(e instanceof Blob||e instanceof FileList)||!r&&!isObject(e))return e;t=r?[]:{};if(Array.isArray(e)||isPlainObject(e))for(const r in e)t[r]=cloneObject(e[r]);else t=e}return t}function useWatch(t){const r=useFormContext();const{control:s=r.control,name:a,defaultValue:n,disabled:o,exact:i}=t||{};const l=e.useRef(a);l.current=a;useSubscribe({disabled:o,subject:s._subjects.watch,callback:e=>{if(shouldSubscribeByName(l.current,e.name,i)){const t=generateWatchOutput(l.current,s._names,e.values||s._formValues);c(isUndefined(t)?n:cloneObject(t))}}});const[u,c]=e.useState(isUndefined(n)?s._getWatch(a):n);e.useEffect((()=>s._removeUnmounted()));return u}\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n *   const { field, fieldState, formState } = useController(props);\n *   return (\n *     <div>\n *       <input {...field} placeholder={props.name} />\n *       <p>{fieldState.isTouched && \"Touched\"}</p>\n *       <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n *     </div>\n *   );\n * }\n * ```\n */function useController(r){const s=useFormContext();const{name:a,control:n=s.control,shouldUnregister:o}=r;const i=isNameInFieldArray(n._names.array,a);const l=useWatch({control:n,name:a,defaultValue:get(n._formValues,a,get(n._defaultValues,a,r.defaultValue)),exact:true});const u=useFormState({control:n,name:a});const c=e.useRef(n.register(a,{...r.rules,value:l}));e.useEffect((()=>{const updateMounted=(e,t)=>{const r=get(n._fields,e);r&&(r._f.mount=t)};updateMounted(a,true);return()=>{const e=n._options.shouldUnregister||o;(i?e&&!n._stateFlags.action:e)?n.unregister(a):updateMounted(a,false)}}),[a,n,i,o]);return{field:{name:a,value:l,onChange:e.useCallback((e=>c.current.onChange({target:{value:getEventValue(e),name:a},type:t.CHANGE})),[a]),onBlur:e.useCallback((()=>c.current.onBlur({target:{value:get(n._formValues,a),name:a},type:t.BLUR})),[a,n]),ref:e=>{const t=get(n._fields,a);t&&e&&(t._f.ref={focus:()=>e.focus(),select:()=>e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}},formState:u,fieldState:Object.defineProperties({},{invalid:{enumerable:true,get:()=>!!get(u.errors,a)},isDirty:{enumerable:true,get:()=>!!get(u.dirtyFields,a)},isTouched:{enumerable:true,get:()=>!!get(u.touchedFields,a)},error:{enumerable:true,get:()=>get(u.errors,a)}})}}\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n *   const { control } = useForm<FormValues>({\n *     defaultValues: {\n *       test: \"\"\n *     }\n *   });\n *\n *   return (\n *     <form>\n *       <Controller\n *         control={control}\n *         name=\"test\"\n *         render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n *           <>\n *             <input\n *               onChange={onChange} // send value to hook form\n *               onBlur={onBlur} // notify when input is touched\n *               value={value} // return updated value\n *               ref={ref} // set ref for focus management\n *             />\n *             <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n *             <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n *           </>\n *         )}\n *       />\n *     </form>\n *   );\n * }\n * ```\n */const Controller=e=>e.render(useController(e));var appendErrors=(e,t,r,s,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[s]:a||true}}:{};var isKey=e=>/^\\w*$/.test(e);var stringToPath=e=>compact(e.replace(/[\"|']|\\]/g,\"\").split(/\\.|\\[/));function set(e,t,r){let s=-1;const a=isKey(t)?[t]:stringToPath(t);const n=a.length;const o=n-1;while(++s<n){const t=a[s];let n=r;if(s!==o){const r=e[t];n=isObject(r)||Array.isArray(r)?r:isNaN(+a[s+1])?{}:[]}e[t]=n;e=e[t]}return e}const focusFieldBy=(e,t,r)=>{for(const s of r||Object.keys(e)){const r=get(e,s);if(r){const{_f:e,...s}=r;if(e&&t(e.name)){if(e.ref.focus){e.ref.focus();break}if(e.refs&&e.refs[0].focus){e.refs[0].focus();break}}else isObject(s)&&focusFieldBy(s,t)}}};var generateId=()=>{const e=\"undefined\"===typeof performance?Date.now():1e3*performance.now();return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(t=>{const r=(16*Math.random()+e)%16|0;return(\"x\"==t?r:3&r|8).toString(16)}))};var getFocusFieldName=(e,t,r={})=>r.shouldFocus||isUndefined(r.shouldFocus)?r.focusName||`${e}.${isUndefined(r.focusIndex)?t:r.focusIndex}.`:\"\";var isWatched=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some((t=>e.startsWith(t)&&/^\\.\\w+/.test(e.slice(t.length)))));var updateFieldArrayRootError=(e,t,r)=>{const s=compact(get(e,r));set(s,\"root\",t[r]);set(e,r,s);return e};var isBoolean=e=>\"boolean\"===typeof e;var isFileInput=e=>\"file\"===e.type;var isFunction=e=>\"function\"===typeof e;var isMessage=t=>isString(t)||e.isValidElement(t);var isRadioInput=e=>\"radio\"===e.type;var isRegex=e=>e instanceof RegExp;const o={value:false,isValid:false};const i={value:true,isValid:true};var getCheckboxValue=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter((e=>e&&e.checked&&!e.disabled)).map((e=>e.value));return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!isUndefined(e[0].attributes.value)?isUndefined(e[0].value)||\"\"===e[0].value?i:{value:e[0].value,isValid:true}:i:o}return o};const l={isValid:false,value:null};var getRadioValue=e=>Array.isArray(e)?e.reduce(((e,t)=>t&&t.checked&&!t.disabled?{isValid:true,value:t.value}:e),l):l;function getValidateError(e,t,r=\"validate\"){if(isMessage(e)||Array.isArray(e)&&e.every(isMessage)||isBoolean(e)&&!e)return{type:r,message:isMessage(e)?e:\"\",ref:t}}var getValueAndMessage=e=>isObject(e)&&!isRegex(e)?e:{value:e,message:\"\"};var validateField=async(e,t,r,a,n)=>{const{ref:o,refs:i,required:l,maxLength:u,minLength:c,min:f,max:d,pattern:m,validate:y,name:g,valueAsNumber:h,mount:p,disabled:v}=e._f;if(!p||v)return{};const b=i?i[0]:o;const setCustomValidity=e=>{if(a&&b.reportValidity){b.setCustomValidity(isBoolean(e)?\"\":e||\"\");b.reportValidity()}};const _={};const F=isRadioInput(o);const A=isCheckBoxInput(o);const V=F||A;const x=(h||isFileInput(o))&&!o.value||\"\"===t||Array.isArray(t)&&!t.length;const S=appendErrors.bind(null,g,r,_);const getMinMaxMessage=(e,t,r,a=s.maxLength,n=s.minLength)=>{const i=e?t:r;_[g]={type:e?a:n,message:i,ref:o,...S(e?a:n,i)}};if(n?!Array.isArray(t)||!t.length:l&&(!V&&(x||isNullOrUndefined(t))||isBoolean(t)&&!t||A&&!getCheckboxValue(i).isValid||F&&!getRadioValue(i).isValid)){const{value:e,message:t}=isMessage(l)?{value:!!l,message:l}:getValueAndMessage(l);if(e){_[g]={type:s.required,message:t,ref:b,...S(s.required,t)};if(!r){setCustomValidity(t);return _}}}if(!x&&(!isNullOrUndefined(f)||!isNullOrUndefined(d))){let e;let a;const n=getValueAndMessage(d);const i=getValueAndMessage(f);if(isNullOrUndefined(t)||isNaN(t)){const r=o.valueAsDate||new Date(t);const convertTimeToDate=e=>new Date((new Date).toDateString()+\" \"+e);const s=\"time\"==o.type;const l=\"week\"==o.type;isString(n.value)&&t&&(e=s?convertTimeToDate(t)>convertTimeToDate(n.value):l?t>n.value:r>new Date(n.value));isString(i.value)&&t&&(a=s?convertTimeToDate(t)<convertTimeToDate(i.value):l?t<i.value:r<new Date(i.value))}else{const r=o.valueAsNumber||(t?+t:t);isNullOrUndefined(n.value)||(e=r>n.value);isNullOrUndefined(i.value)||(a=r<i.value)}if(e||a){getMinMaxMessage(!!e,n.message,i.message,s.max,s.min);if(!r){setCustomValidity(_[g].message);return _}}}if((u||c)&&!x&&(isString(t)||n&&Array.isArray(t))){const e=getValueAndMessage(u);const s=getValueAndMessage(c);const a=!isNullOrUndefined(e.value)&&t.length>e.value;const n=!isNullOrUndefined(s.value)&&t.length<s.value;if(a||n){getMinMaxMessage(a,e.message,s.message);if(!r){setCustomValidity(_[g].message);return _}}}if(m&&!x&&isString(t)){const{value:e,message:a}=getValueAndMessage(m);if(isRegex(e)&&!t.match(e)){_[g]={type:s.pattern,message:a,ref:o,...S(s.pattern,a)};if(!r){setCustomValidity(a);return _}}}if(y)if(isFunction(y)){const e=await y(t);const a=getValidateError(e,b);if(a){_[g]={...a,...S(s.validate,a.message)};if(!r){setCustomValidity(a.message);return _}}}else if(isObject(y)){let e={};for(const s in y){if(!isEmptyObject(e)&&!r)break;const a=getValidateError(await y[s](t),b,s);if(a){e={...a,...S(s,a.message)};setCustomValidity(a.message);r&&(_[g]=e)}}if(!isEmptyObject(e)){_[g]={ref:b,...e};if(!r)return _}}setCustomValidity(true);return _};function append(e,t){return[...e,...convertToArrayPayload(t)]}var fillEmptyArray=e=>Array.isArray(e)?e.map((()=>{})):void 0;var getValidationModes=e=>({isOnSubmit:!e||e===r.onSubmit,isOnBlur:e===r.onBlur,isOnChange:e===r.onChange,isOnAll:e===r.all,isOnTouch:e===r.onTouched});function insert(e,t,r){return[...e.slice(0,t),...convertToArrayPayload(r),...e.slice(t)]}var moveArrayAt=(e,t,r)=>{if(!Array.isArray(e))return[];isUndefined(e[r])&&(e[r]=void 0);e.splice(r,0,e.splice(t,1)[0]);return e};function prepend(e,t){return[...convertToArrayPayload(t),...convertToArrayPayload(e)]}function removeAtIndexes(e,t){let r=0;const s=[...e];for(const e of t){s.splice(e-r,1);r++}return compact(s).length?s:[]}var removeArrayAt=(e,t)=>isUndefined(t)?[]:removeAtIndexes(e,convertToArrayPayload(t).sort(((e,t)=>e-t)));var swapArrayAt=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]};function baseGet(e,t){const r=t.slice(0,-1).length;let s=0;while(s<r)e=isUndefined(e)?s++:e[t[s++]];return e}function isEmptyArray(e){for(const t in e)if(!isUndefined(e[t]))return false;return true}function unset(e,t){const r=isKey(t)?[t]:stringToPath(t);const s=1==r.length?e:baseGet(e,r);const a=r[r.length-1];let n;s&&delete s[a];for(let t=0;t<r.slice(0,-1).length;t++){let s=-1;let a;const o=r.slice(0,-(t+1));const i=o.length-1;t>0&&(n=e);while(++s<o.length){const t=o[s];a=a?a[t]:e[t];i===s&&(isObject(a)&&isEmptyObject(a)||Array.isArray(a)&&isEmptyArray(a))&&(n?delete n[t]:delete e[t]);n=a}}return e}var updateAt=(e,t,r)=>{e[t]=r;return e};\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n *   const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n *     defaultValues: {\n *       test: []\n *     }\n *   });\n *   const { fields, append } = useFieldArray({\n *     control,\n *     name: \"test\"\n *   });\n *\n *   return (\n *     <form onSubmit={handleSubmit(data => console.log(data))}>\n *       {fields.map((item, index) => (\n *          <input key={item.id} {...register(`test.${index}.firstName`)}  />\n *       ))}\n *       <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n *         append\n *       </button>\n *       <input type=\"submit\" />\n *     </form>\n *   );\n * }\n * ```\n */function useFieldArray(t){const s=useFormContext();const{control:a=s.control,name:n,keyName:o=\"id\",shouldUnregister:i}=t;const[l,u]=e.useState(a._getFieldArray(n));const c=e.useRef(a._getFieldArray(n).map(generateId));const f=e.useRef(l);const d=e.useRef(n);const m=e.useRef(false);d.current=n;f.current=l;a._names.array.add(n);t.rules&&a.register(n,t.rules);const y=e.useCallback((({values:e,name:t})=>{if(t===d.current||!t){const t=get(e,d.current);if(Array.isArray(t)){u(t);c.current=t.map(generateId)}}}),[]);useSubscribe({callback:y,subject:a._subjects.array});const g=e.useCallback((e=>{m.current=true;a._updateFieldArray(n,e)}),[a,n]);const append$1=(e,t)=>{const r=convertToArrayPayload(cloneObject(e));const s=append(a._getFieldArray(n),r);a._names.focus=getFocusFieldName(n,s.length-1,t);c.current=append(c.current,r.map(generateId));g(s);u(s);a._updateFieldArray(n,s,append,{argA:fillEmptyArray(e)})};const prepend$1=(e,t)=>{const r=convertToArrayPayload(cloneObject(e));const s=prepend(a._getFieldArray(n),r);a._names.focus=getFocusFieldName(n,0,t);c.current=prepend(c.current,r.map(generateId));g(s);u(s);a._updateFieldArray(n,s,prepend,{argA:fillEmptyArray(e)})};const remove=e=>{const t=removeArrayAt(a._getFieldArray(n),e);c.current=removeArrayAt(c.current,e);g(t);u(t);a._updateFieldArray(n,t,removeArrayAt,{argA:e})};const insert$1=(e,t,r)=>{const s=convertToArrayPayload(cloneObject(t));const o=insert(a._getFieldArray(n),e,s);a._names.focus=getFocusFieldName(n,e,r);c.current=insert(c.current,e,s.map(generateId));g(o);u(o);a._updateFieldArray(n,o,insert,{argA:e,argB:fillEmptyArray(t)})};const swap=(e,t)=>{const r=a._getFieldArray(n);swapArrayAt(r,e,t);swapArrayAt(c.current,e,t);g(r);u(r);a._updateFieldArray(n,r,swapArrayAt,{argA:e,argB:t},false)};const move=(e,t)=>{const r=a._getFieldArray(n);moveArrayAt(r,e,t);moveArrayAt(c.current,e,t);g(r);u(r);a._updateFieldArray(n,r,moveArrayAt,{argA:e,argB:t},false)};const update=(e,t)=>{const r=cloneObject(t);const s=updateAt(a._getFieldArray(n),e,r);c.current=[...s].map(((t,r)=>t&&r!==e?c.current[r]:generateId()));g(s);u([...s]);a._updateFieldArray(n,s,updateAt,{argA:e,argB:r},true,false)};const replace=e=>{const t=convertToArrayPayload(cloneObject(e));c.current=t.map(generateId);g([...t]);u([...t]);a._updateFieldArray(n,[...t],(e=>e),{},true,false)};e.useEffect((()=>{a._stateFlags.action=false;isWatched(n,a._names)&&a._subjects.state.next({});if(m.current&&(!getValidationModes(a._options.mode).isOnSubmit||a._formState.isSubmitted))if(a._options.resolver)a._executeSchema([n]).then((e=>{const t=get(e.errors,n);const r=get(a._formState.errors,n);if(r?!t&&r.type:t&&t.type){t?set(a._formState.errors,n,t):unset(a._formState.errors,n);a._subjects.state.next({errors:a._formState.errors})}}));else{const e=get(a._fields,n);e&&e._f&&validateField(e,get(a._formValues,n),a._options.criteriaMode===r.all,a._options.shouldUseNativeValidation,true).then((e=>!isEmptyObject(e)&&a._subjects.state.next({errors:updateFieldArrayRootError(a._formState.errors,e,n)})))}a._subjects.watch.next({name:n,values:a._formValues});a._names.focus&&focusFieldBy(a._fields,(e=>!!e&&e.startsWith(a._names.focus)));a._names.focus=\"\";a._proxyFormState.isValid&&a._updateValid()}),[l,n,a]);e.useEffect((()=>{!get(a._formValues,n)&&a._updateFieldArray(n);return()=>{(a._options.shouldUnregister||i)&&a.unregister(n)}}),[n,a,o,i]);return{swap:e.useCallback(swap,[g,n,a]),move:e.useCallback(move,[g,n,a]),prepend:e.useCallback(prepend$1,[g,n,a]),append:e.useCallback(append$1,[g,n,a]),remove:e.useCallback(remove,[g,n,a]),insert:e.useCallback(insert$1,[g,n,a]),update:e.useCallback(update,[g,n,a]),replace:e.useCallback(replace,[g,n,a]),fields:e.useMemo((()=>l.map(((e,t)=>({...e,[o]:c.current[t]||generateId()})))),[l,o])}}function createSubject(){let e=[];const next=t=>{for(const r of e)r.next(t)};const subscribe=t=>{e.push(t);return{unsubscribe:()=>{e=e.filter((e=>e!==t))}}};const unsubscribe=()=>{e=[]};return{get observers(){return e},next:next,subscribe:subscribe,unsubscribe:unsubscribe}}var isPrimitive=e=>isNullOrUndefined(e)||!isObjectType(e);function deepEqual(e,t){if(isPrimitive(e)||isPrimitive(t))return e===t;if(isDateObject(e)&&isDateObject(t))return e.getTime()===t.getTime();const r=Object.keys(e);const s=Object.keys(t);if(r.length!==s.length)return false;for(const a of r){const r=e[a];if(!s.includes(a))return false;if(\"ref\"!==a){const e=t[a];if(isDateObject(r)&&isDateObject(e)||isObject(r)&&isObject(e)||Array.isArray(r)&&Array.isArray(e)?!deepEqual(r,e):r!==e)return false}}return true}var isHTMLElement=e=>{const t=e?e.ownerDocument:0;const r=t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement;return e instanceof r};var isMultipleSelect=e=>\"select-multiple\"===e.type;var isRadioOrCheckbox=e=>isRadioInput(e)||isCheckBoxInput(e);var live=e=>isHTMLElement(e)&&e.isConnected;var objectHasFunction=e=>{for(const t in e)if(isFunction(e[t]))return true;return false};function markFieldsDirty(e,t={}){const r=Array.isArray(e);if(isObject(e)||r)for(const r in e)if(Array.isArray(e[r])||isObject(e[r])&&!objectHasFunction(e[r])){t[r]=Array.isArray(e[r])?[]:{};markFieldsDirty(e[r],t[r])}else isNullOrUndefined(e[r])||(t[r]=true);return t}function getDirtyFieldsFromDefaultValues(e,t,r){const s=Array.isArray(e);if(isObject(e)||s)for(const s in e)Array.isArray(e[s])||isObject(e[s])&&!objectHasFunction(e[s])?isUndefined(t)||isPrimitive(r[s])?r[s]=Array.isArray(e[s])?markFieldsDirty(e[s],[]):{...markFieldsDirty(e[s])}:getDirtyFieldsFromDefaultValues(e[s],isNullOrUndefined(t)?{}:t[s],r[s]):deepEqual(e[s],t[s])?delete r[s]:r[s]=true;return r}var getDirtyFields=(e,t)=>getDirtyFieldsFromDefaultValues(e,t,markFieldsDirty(t));var getFieldValueAs=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>isUndefined(e)?e:t?\"\"===e?NaN:e?+e:e:r&&isString(e)?new Date(e):s?s(e):e;function getFieldValue(e){const t=e.ref;if(!(e.refs?e.refs.every((e=>e.disabled)):t.disabled))return isFileInput(t)?t.files:isRadioInput(t)?getRadioValue(e.refs).value:isMultipleSelect(t)?[...t.selectedOptions].map((({value:e})=>e)):isCheckBoxInput(t)?getCheckboxValue(e.refs).value:getFieldValueAs(isUndefined(t.value)?e.ref.value:t.value,e)}var getResolverOptions=(e,t,r,s)=>{const a={};for(const r of e){const e=get(t,r);e&&set(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}};var getRuleValue=e=>isUndefined(e)?e:isRegex(e)?e.source:isObject(e)?isRegex(e.value)?e.value.source:e.value:e;var hasValidation=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function schemaErrorLookup(e,t,r){const s=get(e,r);if(s||isKey(r))return{error:s,name:r};const a=r.split(\".\");while(a.length){const s=a.join(\".\");const n=get(t,s);const o=get(e,s);if(n&&!Array.isArray(n)&&r!==s)return{name:r};if(o&&o.type)return{name:s,error:o};a.pop()}return{name:r}}var skipValidation=(e,t,r,s,a)=>!a.isOnAll&&(!r&&a.isOnTouch?!(t||e):(r?s.isOnBlur:a.isOnBlur)?!e:!(r?s.isOnChange:a.isOnChange)||e);var unsetEmptyArray=(e,t)=>!compact(get(e,t)).length&&unset(e,t);const u={mode:r.onSubmit,reValidateMode:r.onChange,shouldFocusError:true};function createFormControl(e={}){let s={...u,...e};let a={submitCount:0,isDirty:false,isValidating:false,isSubmitted:false,isSubmitting:false,isSubmitSuccessful:false,isValid:false,touchedFields:{},dirtyFields:{},errors:{}};let o={};let i=cloneObject(s.defaultValues)||{};let l=s.shouldUnregister?{}:cloneObject(i);let c={action:false,mount:false,watch:false};let f={mount:new Set,unMount:new Set,array:new Set,watch:new Set};let d;let m=0;let y={};const g={isDirty:false,dirtyFields:false,touchedFields:false,isValidating:false,isValid:false,errors:false};const h={watch:createSubject(),array:createSubject(),state:createSubject()};const p=getValidationModes(s.mode);const v=getValidationModes(s.reValidateMode);const b=s.criteriaMode===r.all;const debounce=e=>t=>{clearTimeout(m);m=window.setTimeout(e,t)};const _updateValid=async()=>{let e=false;if(g.isValid){e=s.resolver?isEmptyObject((await _executeSchema()).errors):await executeBuiltInValidation(o,true);if(e!==a.isValid){a.isValid=e;h.state.next({isValid:e})}}return e};const _updateFieldArray=(e,t=[],r,s,n=true,u=true)=>{if(s&&r){c.action=true;if(u&&Array.isArray(get(o,e))){const t=r(get(o,e),s.argA,s.argB);n&&set(o,e,t)}if(u&&Array.isArray(get(a.errors,e))){const t=r(get(a.errors,e),s.argA,s.argB);n&&set(a.errors,e,t);unsetEmptyArray(a.errors,e)}if(g.touchedFields&&u&&Array.isArray(get(a.touchedFields,e))){const t=r(get(a.touchedFields,e),s.argA,s.argB);n&&set(a.touchedFields,e,t)}g.dirtyFields&&(a.dirtyFields=getDirtyFields(i,l));h.state.next({isDirty:_getDirty(e,t),dirtyFields:a.dirtyFields,errors:a.errors,isValid:a.isValid})}else set(l,e,t)};const updateErrors=(e,t)=>{set(a.errors,e,t);h.state.next({errors:a.errors})};const updateValidAndValue=(e,t,r,s)=>{const a=get(o,e);if(a){const n=get(l,e,isUndefined(r)?get(i,e):r);isUndefined(n)||s&&s.defaultChecked||t?set(l,e,t?n:getFieldValue(a._f)):setFieldValue(e,n);c.mount&&_updateValid()}};const updateTouchAndDirty=(e,t,r,s,n)=>{let o=false;let l=false;const u={name:e};if(g.isDirty){l=a.isDirty;a.isDirty=u.isDirty=_getDirty();o=l!==u.isDirty}if(g.dirtyFields&&(!r||s)){l=get(a.dirtyFields,e);const r=deepEqual(get(i,e),t);r?unset(a.dirtyFields,e):set(a.dirtyFields,e,true);u.dirtyFields=a.dirtyFields;o=o||l!==!r}if(r){const t=get(a.touchedFields,e);if(!t){set(a.touchedFields,e,r);u.touchedFields=a.touchedFields;o=o||g.touchedFields&&t!==r}}o&&n&&h.state.next(u);return o?u:{}};const shouldRenderByError=(t,r,s,n)=>{const o=get(a.errors,t);const i=g.isValid&&isBoolean(r)&&a.isValid!==r;if(e.delayError&&s){d=debounce((()=>updateErrors(t,s)));d(e.delayError)}else{clearTimeout(m);d=null;s?set(a.errors,t,s):unset(a.errors,t)}if((s?!deepEqual(o,s):o)||!isEmptyObject(n)||i){const e={...n,...i&&isBoolean(r)?{isValid:r}:{},errors:a.errors,name:t};a={...a,...e};h.state.next(e)}y[t]--;if(g.isValidating&&!Object.values(y).some((e=>e))){h.state.next({isValidating:false});y={}}};const _executeSchema=async e=>s.resolver?await s.resolver({...l},s.context,getResolverOptions(e||f.mount,o,s.criteriaMode,s.shouldUseNativeValidation)):{};const executeSchemaAndUpdateState=async e=>{const{errors:t}=await _executeSchema();if(e)for(const r of e){const e=get(t,r);e?set(a.errors,r,e):unset(a.errors,r)}else a.errors=t;return t};const executeBuiltInValidation=async(e,t,r={valid:true})=>{for(const n in e){const o=e[n];if(o){const{_f:e,...n}=o;if(e){const n=f.array.has(e.name);const i=await validateField(o,get(l,e.name),b,s.shouldUseNativeValidation,n);if(i[e.name]){r.valid=false;if(t)break}!t&&(get(i,e.name)?n?updateFieldArrayRootError(a.errors,i,e.name):set(a.errors,e.name,i[e.name]):unset(a.errors,e.name))}n&&await executeBuiltInValidation(n,t,r)}}return r.valid};const _removeUnmounted=()=>{for(const e of f.unMount){const t=get(o,e);t&&(t._f.refs?t._f.refs.every((e=>!live(e))):!live(t._f.ref))&&unregister(e)}f.unMount=new Set};const _getDirty=(e,t)=>(e&&t&&set(l,e,t),!deepEqual(getValues(),i));const _getWatch=(e,t,r)=>generateWatchOutput(e,f,{...c.mount?l:isUndefined(t)?i:isString(e)?{[e]:t}:t},r);const _getFieldArray=t=>compact(get(c.mount?l:i,t,e.shouldUnregister?get(i,t,[]):[]));const setFieldValue=(e,t,r={})=>{const s=get(o,e);let a=t;if(s){const r=s._f;if(r){!r.disabled&&set(l,e,getFieldValueAs(t,r));a=n&&isHTMLElement(r.ref)&&isNullOrUndefined(t)?\"\":t;if(isMultipleSelect(r.ref))[...r.ref.options].forEach((e=>e.selected=a.includes(e.value)));else if(r.refs)isCheckBoxInput(r.ref)?r.refs.length>1?r.refs.forEach((e=>(!e.defaultChecked||!e.disabled)&&(e.checked=Array.isArray(a)?!!a.find((t=>t===e.value)):a===e.value))):r.refs[0]&&(r.refs[0].checked=!!a):r.refs.forEach((e=>e.checked=e.value===a));else if(isFileInput(r.ref))r.ref.value=\"\";else{r.ref.value=a;r.ref.type||h.watch.next({name:e})}}}(r.shouldDirty||r.shouldTouch)&&updateTouchAndDirty(e,a,r.shouldTouch,r.shouldDirty,true);r.shouldValidate&&trigger(e)};const setValues=(e,t,r)=>{for(const s in t){const a=t[s];const n=`${e}.${s}`;const i=get(o,n);!f.array.has(e)&&isPrimitive(a)&&(!i||i._f)||isDateObject(a)?setFieldValue(n,a,r):setValues(n,a,r)}};const setValue=(e,t,r={})=>{const s=get(o,e);const n=f.array.has(e);const u=cloneObject(t);set(l,e,u);if(n){h.array.next({name:e,values:l});if((g.isDirty||g.dirtyFields)&&r.shouldDirty){a.dirtyFields=getDirtyFields(i,l);h.state.next({name:e,dirtyFields:a.dirtyFields,isDirty:_getDirty(e,u)})}}else!s||s._f||isNullOrUndefined(u)?setFieldValue(e,u,r):setValues(e,u,r);isWatched(e,f)&&h.state.next({});h.watch.next({name:e})};const onChange=async e=>{const r=e.target;let n=r.name;const i=get(o,n);if(i){let u;let c;const m=r.type?getFieldValue(i._f):getEventValue(e);const _=e.type===t.BLUR||e.type===t.FOCUS_OUT;const F=!hasValidation(i._f)&&!s.resolver&&!get(a.errors,n)&&!i._f.deps||skipValidation(_,get(a.touchedFields,n),a.isSubmitted,v,p);const A=isWatched(n,f,_);set(l,n,m);if(_){i._f.onBlur&&i._f.onBlur(e);d&&d(0)}else i._f.onChange&&i._f.onChange(e);const V=updateTouchAndDirty(n,m,_,false);const x=!isEmptyObject(V)||A;!_&&h.watch.next({name:n,type:e.type});if(F){g.isValid&&_updateValid();return x&&h.state.next({name:n,...A?{}:V})}!_&&A&&h.state.next({});y[n]=y[n]?y[n]+1:1;h.state.next({isValidating:true});if(s.resolver){const{errors:e}=await _executeSchema([n]);const t=schemaErrorLookup(a.errors,o,n);const r=schemaErrorLookup(e,o,t.name||n);u=r.error;n=r.name;c=isEmptyObject(e)}else{u=(await validateField(i,get(l,n),b,s.shouldUseNativeValidation))[n];_updateValid()}i._f.deps&&trigger(i._f.deps);shouldRenderByError(n,c,u,V)}};const trigger=async(e,t={})=>{let r;let n;const i=convertToArrayPayload(e);h.state.next({isValidating:true});if(s.resolver){const t=await executeSchemaAndUpdateState(isUndefined(e)?e:i);r=isEmptyObject(t);n=e?!i.some((e=>get(t,e))):r}else if(e){n=(await Promise.all(i.map((async e=>{const t=get(o,e);return await executeBuiltInValidation(t&&t._f?{[e]:t}:t)})))).every(Boolean);!(!n&&!a.isValid)&&_updateValid()}else n=r=await executeBuiltInValidation(o);h.state.next({...!isString(e)||g.isValid&&r!==a.isValid?{}:{name:e},...s.resolver||!e?{isValid:r}:{},errors:a.errors,isValidating:false});t.shouldFocus&&!n&&focusFieldBy(o,(e=>e&&get(a.errors,e)),e?i:f.mount);return n};const getValues=e=>{const t={...i,...c.mount?l:{}};return isUndefined(e)?t:isString(e)?get(t,e):e.map((e=>get(t,e)))};const getFieldState=(e,t)=>({invalid:!!get((t||a).errors,e),isDirty:!!get((t||a).dirtyFields,e),isTouched:!!get((t||a).touchedFields,e),error:get((t||a).errors,e)});const clearErrors=e=>{e?convertToArrayPayload(e).forEach((e=>unset(a.errors,e))):a.errors={};h.state.next({errors:a.errors})};const setError=(e,t,r)=>{const s=(get(o,e,{_f:{}})._f||{}).ref;set(a.errors,e,{...t,ref:s});h.state.next({name:e,errors:a.errors,isValid:false});r&&r.shouldFocus&&s&&s.focus&&s.focus()};const watch=(e,t)=>isFunction(e)?h.watch.subscribe({next:r=>e(_getWatch(void 0,t),r)}):_getWatch(e,t,true);const unregister=(e,t={})=>{for(const r of e?convertToArrayPayload(e):f.mount){f.mount.delete(r);f.array.delete(r);if(get(o,r)){if(!t.keepValue){unset(o,r);unset(l,r)}!t.keepError&&unset(a.errors,r);!t.keepDirty&&unset(a.dirtyFields,r);!t.keepTouched&&unset(a.touchedFields,r);!s.shouldUnregister&&!t.keepDefaultValue&&unset(i,r)}}h.watch.next({});h.state.next({...a,...t.keepDirty?{isDirty:_getDirty()}:{}});!t.keepIsValid&&_updateValid()};const register=(e,t={})=>{let r=get(o,e);const a=isBoolean(t.disabled);set(o,e,{...r||{},_f:{...r&&r._f?r._f:{ref:{name:e}},name:e,mount:true,...t}});f.mount.add(e);r?a&&set(l,e,t.disabled?void 0:get(l,e,getFieldValue(r._f))):updateValidAndValue(e,true,t.value);return{...a?{disabled:t.disabled}:{},...s.shouldUseNativeValidation?{required:!!t.required,min:getRuleValue(t.min),max:getRuleValue(t.max),minLength:getRuleValue(t.minLength),maxLength:getRuleValue(t.maxLength),pattern:getRuleValue(t.pattern)}:{},name:e,onChange:onChange,onBlur:onChange,ref:a=>{if(a){register(e,t);r=get(o,e);const s=isUndefined(a.value)&&a.querySelectorAll&&a.querySelectorAll(\"input,select,textarea\")[0]||a;const n=isRadioOrCheckbox(s);const l=r._f.refs||[];if(n?l.find((e=>e===s)):s===r._f.ref)return;set(o,e,{_f:{...r._f,...n?{refs:[...l.filter(live),s,...!Array.isArray(get(i,e))?[]:[{}]],ref:{type:s.type,name:e}}:{ref:s}}});updateValidAndValue(e,false,void 0,s)}else{r=get(o,e,{});r._f&&(r._f.mount=false);(s.shouldUnregister||t.shouldUnregister)&&!(isNameInFieldArray(f.array,e)&&c.action)&&f.unMount.add(e)}}}};const _focusError=()=>s.shouldFocusError&&focusFieldBy(o,(e=>e&&get(a.errors,e)),f.mount);const handleSubmit=(e,t)=>async r=>{if(r){r.preventDefault&&r.preventDefault();r.persist&&r.persist()}let n=true;let i=cloneObject(l);h.state.next({isSubmitting:true});try{if(s.resolver){const{errors:e,values:t}=await _executeSchema();a.errors=e;i=t}else await executeBuiltInValidation(o);if(isEmptyObject(a.errors)){h.state.next({errors:{},isSubmitting:true});await e(i,r)}else{t&&await t({...a.errors},r);_focusError()}}catch(e){n=false;throw e}finally{a.isSubmitted=true;h.state.next({isSubmitted:true,isSubmitting:false,isSubmitSuccessful:isEmptyObject(a.errors)&&n,submitCount:a.submitCount+1,errors:a.errors})}};const resetField=(e,t={})=>{if(get(o,e)){if(isUndefined(t.defaultValue))setValue(e,get(i,e));else{setValue(e,t.defaultValue);set(i,e,t.defaultValue)}t.keepTouched||unset(a.touchedFields,e);if(!t.keepDirty){unset(a.dirtyFields,e);a.isDirty=t.defaultValue?_getDirty(e,get(i,e)):_getDirty()}if(!t.keepError){unset(a.errors,e);g.isValid&&_updateValid()}h.state.next({...a})}};const _reset=(t,r={})=>{const s=t||i;const u=cloneObject(s);const d=t&&!isEmptyObject(t)?u:i;r.keepDefaultValues||(i=s);if(!r.keepValues){if(r.keepDirtyValues)for(const e of f.mount)get(a.dirtyFields,e)?set(d,e,get(l,e)):setValue(e,get(d,e));else{if(n&&isUndefined(t))for(const e of f.mount){const t=get(o,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(isHTMLElement(e)){const t=e.closest(\"form\");if(t){t.reset();break}}}}o={}}l=e.shouldUnregister?r.keepDefaultValues?cloneObject(i):{}:u;h.array.next({values:d});h.watch.next({values:d})}f={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:false,focus:\"\"};c.mount=!g.isValid||!!r.keepIsValid;c.watch=!!e.shouldUnregister;h.state.next({submitCount:r.keepSubmitCount?a.submitCount:0,isDirty:r.keepDirty||r.keepDirtyValues?a.isDirty:!!(r.keepDefaultValues&&!deepEqual(t,i)),isSubmitted:!!r.keepIsSubmitted&&a.isSubmitted,dirtyFields:r.keepDirty||r.keepDirtyValues?a.dirtyFields:r.keepDefaultValues&&t?getDirtyFields(i,t):{},touchedFields:r.keepTouched?a.touchedFields:{},errors:r.keepErrors?a.errors:{},isSubmitting:false,isSubmitSuccessful:false})};const reset=(e,t)=>_reset(isFunction(e)?e(l):e,t);const setFocus=(e,t={})=>{const r=get(o,e);const s=r&&r._f;if(s){const e=s.refs?s.refs[0]:s.ref;if(e.focus){e.focus();t.shouldSelect&&e.select()}}};return{control:{register:register,unregister:unregister,getFieldState:getFieldState,_executeSchema:_executeSchema,_focusError:_focusError,_getWatch:_getWatch,_getDirty:_getDirty,_updateValid:_updateValid,_removeUnmounted:_removeUnmounted,_updateFieldArray:_updateFieldArray,_getFieldArray:_getFieldArray,_subjects:h,_proxyFormState:g,get _fields(){return o},get _formValues(){return l},get _stateFlags(){return c},set _stateFlags(e){c=e},get _defaultValues(){return i},get _names(){return f},set _names(e){f=e},get _formState(){return a},set _formState(e){a=e},get _options(){return s},set _options(e){s={...s,...e}}},trigger:trigger,register:register,handleSubmit:handleSubmit,watch:watch,setValue:setValue,getValues:getValues,reset:reset,resetField:resetField,clearErrors:clearErrors,unregister:unregister,setError:setError,setFocus:setFocus,getFieldState:getFieldState}}\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n *   const { register, handleSubmit, watch, formState: { errors } } = useForm();\n *   const onSubmit = data => console.log(data);\n *\n *   console.log(watch(\"example\"));\n *\n *   return (\n *     <form onSubmit={handleSubmit(onSubmit)}>\n *       <input defaultValue=\"test\" {...register(\"example\")} />\n *       <input {...register(\"exampleRequired\", { required: true })} />\n *       {errors.exampleRequired && <span>This field is required</span>}\n *       <input type=\"submit\" />\n *     </form>\n *   );\n * }\n * ```\n */function useForm(t={}){const r=e.useRef();const[s,a]=e.useState({isDirty:false,isValidating:false,isSubmitted:false,isSubmitting:false,isSubmitSuccessful:false,isValid:false,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},defaultValues:t.defaultValues});r.current||(r.current={...createFormControl(t),formState:s});const n=r.current.control;n._options=t;useSubscribe({subject:n._subjects.state,callback:e.useCallback((e=>{if(shouldRenderFormState(e,n._proxyFormState,true)){n._formState={...n._formState,...e};a({...n._formState})}}),[n])});e.useEffect((()=>{if(!n._stateFlags.mount){n._proxyFormState.isValid&&n._updateValid();n._stateFlags.mount=true}if(n._stateFlags.watch){n._stateFlags.watch=false;n._subjects.state.next({})}n._removeUnmounted()}));e.useEffect((()=>{s.submitCount&&n._focusError()}),[n,s.submitCount]);r.current.formState=getProxyFormState(s,n);return r.current}export{Controller,FormProvider,appendErrors,get,set,useController,useFieldArray,useForm,useFormContext,useFormState,useWatch};\n\n//# sourceMappingURL=index.esm.mjs.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{forwardRef,useState,useEffect,useMemo}from\"react\";//@ts-ignore\nimport{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{useForm}from\"react-hook-form\";// Add Google button styles\nconst googleButtonStyles={height:40,padding:\"0 12px\",fontSize:16,fontWeight:500,borderRadius:\"6px\",background:\"#ffffff\",textColor:\"#3c4043\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#dadce0\"},hover:{background:\"#f8f9fa\",scale:.98,opacity:.95}};// Add new SSO button styles after googleButtonStyles\nconst ssoButtonStyles={github:{background:\"#24292e\",textColor:\"#ffffff\",hover:{background:\"#1c2024\",scale:.98,opacity:.95}},twitter:{background:\"#1DA1F2\",textColor:\"#ffffff\",hover:{background:\"#1a91da\",scale:.98,opacity:.95}},microsoft:{background:\"#2F2F2F\",textColor:\"#ffffff\",hover:{background:\"#262626\",scale:.98,opacity:.95}},apple:{background:\"#000000\",textColor:\"#ffffff\",hover:{background:\"#1a1a1a\",scale:.98,opacity:.95}}};const defaultStyles={typography:{fontFamily:\"Inter\",fontSize:14,lineHeight:\"1.5em\",fontWeight:400},colors:{primary:\"#007AFF\",secondary:\"#F5F5F5\",background:\"#FFFFFF\",error:\"#FF3B30\",success:\"#34C759\",text:\"#000000\",textLight:\"#8E8E93\"},form:{padding:\"20px\",borderRadius:\"8px\",background:\"#FFFFFF\",shadow:\"0 4px 8px rgba(0, 0, 0, 0.1)\",spacing:16,buttonSpacing:16},input:{height:40,padding:\"12px\",fontSize:16,borderRadius:\"6px\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#CCCCCC\"},background:\"#FFFFFF\",textColor:\"#000000\",placeholderColor:\"#999999\",focusRing:{color:\"#007AFF\",width:2,offset:0}},button:{height:40,padding:\"12px\",fontSize:16,fontWeight:600,borderRadius:\"6px\",background:\"#007AFF\",textColor:\"#FFFFFF\",border:{borderWidth:0,borderStyle:\"none\",borderColor:\"transparent\"},hover:{background:\"#0056D6\",scale:.98,opacity:.9},loading:{background:\"#E5E5EA\",textColor:\"#8E8E93\"}},message:{fontSize:14,padding:\"12px\",borderRadius:\"6px\",success:{background:\"#F0FFF4\",textColor:\"#34C759\",iconColor:\"#34C759\"},error:{background:\"#FFF5F5\",textColor:\"#FF3B30\"}},link:{color:\"#007AFF\",fontSize:14,textDecoration:\"none\",cursor:\"pointer\"}};const InputElement=/*#__PURE__*/forwardRef(({style,styling,formSpacing,labelText,type,...props},ref)=>{const[showPassword,setShowPassword]=useState(false);const isPassword=type===\"password\";return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",marginBottom:formSpacing||\"16px\"},children:[/*#__PURE__*/_jsx(\"label\",{style:{display:\"block\",marginBottom:\"8px\",fontSize:styling.fontSize,color:styling.textColor},children:labelText}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(\"input\",{ref:ref,...props,type:isPassword?showPassword?\"text\":\"password\":type,style:{width:\"100%\",height:styling.height,padding:styling.padding,fontSize:styling.fontSize,color:styling.textColor,backgroundColor:styling.background,border:`${styling.border.borderWidth}px ${styling.border.borderStyle} ${styling.border.borderColor}`,borderRadius:styling.borderRadius,outline:\"none\",transition:\"all 0.2s ease\",paddingRight:isPassword?\"40px\":styling.padding,...style}}),isPassword&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setShowPassword(!showPassword),style:{position:\"absolute\",right:\"12px\",top:\"50%\",transform:\"translateY(-50%)\",border:\"none\",background:\"none\",cursor:\"pointer\",padding:\"4px\",display:\"flex\",alignItems:\"center\",color:\"#666\"},children:showPassword?/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 256 256\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M53.92,34.62A8,8,0,1,0,42.08,45.38L61.32,66.55C25,88.84,9.38,123.2,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208a127.11,127.11,0,0,0,52.07-10.83l22,24.21a8,8,0,1,0,11.84-10.76Zm89,121.69a32,32,0,0,1-41.67-45.85L143.77,157a8,8,0,0,0,11.84-10.76l-42.51-46.71a32,32,0,0,1,41.67,45.85l42.51,46.71a8,8,0,0,0,11.84-10.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.16,133.16,0,0,1,25,128c4.69-8.79,19.66-33.39,47.35-49.38l18,19.75a48,48,0,0,0,63.66,70l14.73,16.2A112,112,0,0,1,128,192Zm119.31-60.74c-.35-.79-8.82-19.57-27.65-38.4C194.57,68.26,162.88,55,128,55a126.2,126.2,0,0,0-27,2.89,8,8,0,0,0,3.46,15.62A111.3,111.3,0,0,1,128,71c30.78,0,57.67,11.19,79.93,33.25A133.16,133.16,0,0,1,231,135c-8.59,16.16-37.06,57-103,57a109.28,109.28,0,0,1-20.15-1.86,8,8,0,0,0-2.95,15.72A127.31,127.31,0,0,0,128,208c34.88,0,66.57-13.26,91.66-38.34,18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,131.26Z\"})}):/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 256 256\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z\"})})})]})]});});/**@framerDisableUnlink\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */const FramergenieForm=function FramergenieForm({style=defaultStyles,formType=\"login\",onSuccess,buttonText,successMessage,redirectUrl,forgotPasswordUrl,resetPasswordRedirectUrl,showMessage=true,ssoSettings={showGoogleButton:false,showGithubButton:false,showTwitterButton:false,showMicrosoftButton:false,showAppleButton:false,dividerText:\"or\",showDivider:true,buttonSpacing:16}}){const[formState,setFormState]=useState({isSuccess:false,isError:null,isLoading:false,successMessage:null,errors:{}});const supabase=useMemo(()=>{if(typeof window===\"undefined\")return null;const globalSupabase=window.supabase;if(!globalSupabase){console.error(\"Supabase client not found. Make sure you have initialized Supabase correctly.\");return null;}if(!globalSupabase.auth){console.error(\"Supabase auth is not available on the client.\");return null;}return globalSupabase;},[]);useEffect(()=>{if(typeof window!==\"undefined\"&&!supabase){setFormState(prev=>({...prev,isError:\"Supabase setup is required.\"}));}},[supabase]);useEffect(()=>{if(formType===\"updatePassword\"){const urlParams=new URLSearchParams(window.location.search);const token=urlParams.get(\"token\");const type=urlParams.get(\"type\");if(!token||type!==\"recovery\"){setFormState(prev=>({...prev,isError:\"Invalid or missing password reset token. Please use the link from your email.\"}));}}},[formType]);const styles=style;const{register,handleSubmit,getValues,formState:{errors:formErrors}}=useForm({defaultValues:{email:\"\",password:\"\",name:\"\",newPassword:\"\",previousPassword:\"\",organizationName:\"\",inviteEmail:\"\"}});const onSubmit=async data=>{if(!supabase||!supabase.auth){setFormState(prev=>({...prev,isError:\"Authentication is not properly initialized. Please refresh the page or contact support.\",isLoading:false,errors:{}}));return;}setFormState(prev=>({...prev,isLoading:true,successMessage:null,isError:null,errors:{}}));try{switch(formType){case\"signup\":const{error:signUpError}=await supabase.auth.signUp({email:data.email,password:data.password,options:{data:{name:data.name}}});if(signUpError)throw signUpError;setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Account created successfully! Please check your email.\",errors:{}});break;case\"login\":const{error:signInError}=await supabase.auth.signInWithPassword({email:data.email,password:data.password});if(signInError)throw signInError;setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Welcome back!\",errors:{}});break;case\"forgotPassword\":const resetRedirectUrl=resetPasswordRedirectUrl||redirectUrl||`${window.location.origin}/auth/update-password`;const{error:resetError}=await supabase.auth.resetPasswordForEmail(data.email,{redirectTo:resetRedirectUrl});if(resetError)throw resetError;setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Password reset email sent. Please check your inbox.\",errors:{}});break;case\"updatePassword\":const urlParams=new URLSearchParams(window.location.search);const token=urlParams.get(\"token\");const type=urlParams.get(\"type\");if(!token||type!==\"recovery\"){throw new Error(\"Invalid or missing password reset token. Please use the link from your email.\");}try{const{error:verifyError}=await supabase.auth.verifyOtp({token_hash:token,type:\"recovery\"});if(verifyError){if(verifyError.message.includes(\"expired\")){throw new Error(\"The password reset link has expired. Please request a new one.\");}throw verifyError;}const{error:updateError}=await supabase.auth.updateUser({password:data.newPassword});if(updateError)throw updateError;setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Password updated successfully. You can now log in with your new password.\",errors:{}});if(redirectUrl){setTimeout(()=>{window.location.href=redirectUrl;},1500);}}catch(error){throw new Error(error.message||\"Failed to update password. Please request a new reset link.\");}break;case\"inviteUser\":const{error:inviteError}=await supabase.auth.admin.inviteUserByEmail(data.inviteEmail,{data:{organizationName:data.organizationName}});if(inviteError)throw inviteError;setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Invitation sent successfully!\",errors:{}});break;case\"acceptInvite\":const urlParamsInvite=new URLSearchParams(window.location.search);const tokenInvite=urlParamsInvite.get(\"token\");if(!tokenInvite){throw new Error(\"Invalid or missing invite token in URL\");}const{error:acceptError}=await supabase.auth.verifyOtp({token_hash:tokenInvite,type:\"invite\"});if(acceptError)throw acceptError;setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Invite accepted successfully!\",errors:{}});break;case\"magicLink\":const{error:magicLinkError}=await supabase.auth.signInWithOtp({email:data.email,options:{emailRedirectTo:redirectUrl||window.location.origin}});if(magicLinkError)throw magicLinkError;setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Magic link sent! Please check your email.\",errors:{}});break;case\"verifyMagicLink\":const urlParamsMagicLink=new URLSearchParams(window.location.search);const tokenMagicLink=urlParamsMagicLink.get(\"token\")||data.token;if(!tokenMagicLink){throw new Error(\"Magic link token is missing\");}const{error:verifyError}=await supabase.auth.verifyOtp({token_hash:tokenMagicLink,type:\"magiclink\"});if(verifyError)throw verifyError;setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Successfully logged in!\",errors:{}});if(redirectUrl){setTimeout(()=>{window.location.href=redirectUrl;},1500);}break;case\"createPassword\":if(!data.newPassword||!data.previousPassword){throw new Error(\"Both current and new passwords are required\");}// First verify the current password\nconst{error:verifyPasswordError}=await supabase.auth.signInWithPassword({email:data.email||\"\",password:data.previousPassword});if(verifyPasswordError){throw new Error(\"Current password is incorrect\");}const{error:passwordUpdateError}=await supabase.auth.updateUser({password:data.newPassword});if(passwordUpdateError)throw passwordUpdateError;setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Password updated successfully!\",errors:{}});if(redirectUrl){setTimeout(()=>{window.location.href=redirectUrl;},1500);}break;default:throw new Error(\"Invalid form type\");}if(redirectUrl){window.location.href=redirectUrl;}if(showMessage){setFormState(prevState=>({...prevState,successMessage:successMessage||\"Operation successful!\"}));}setTimeout(()=>{onSuccess?.();},1500);}catch(err){const error=err;console.error(\"Auth error:\",error);setFormState({isLoading:false,isSuccess:false,isError:error.message||\"Authentication failed. Please try again.\",successMessage:null,errors:{}});}};const handleGoogleSignIn=async()=>{if(!supabase||!supabase.auth){setFormState(prev=>({...prev,isError:\"Authentication is not properly initialized. Please refresh the page or contact support.\",isLoading:false,errors:{}}));return;}setFormState(prev=>({...prev,isLoading:true,isError:null,errors:{}}));try{const{error}=await supabase.auth.signInWithOAuth({provider:\"google\",options:{redirectTo:redirectUrl||window.location.origin}});if(error)throw error;if(showMessage){setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||\"Signed in with Google successfully!\",errors:{}});}else{setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:null,errors:{}});}setTimeout(()=>{onSuccess?.();},1500);}catch(err){const error=err;console.error(\"Google Sign-in error:\",error);setFormState({isLoading:false,isSuccess:false,isError:error.message||\"Failed to initialize authentication. Please try again.\",successMessage:null,errors:{}});}};const handleSSOSignIn=async provider=>{if(!supabase||!supabase.auth){setFormState(prev=>({...prev,isError:\"Authentication is not properly initialized. Please refresh the page or contact support.\",isLoading:false,errors:{}}));return;}setFormState(prev=>({...prev,isLoading:true,isError:null,errors:{}}));try{const{error}=await supabase.auth.signInWithOAuth({provider,options:{redirectTo:redirectUrl||window.location.origin}});if(error)throw error;if(showMessage){setFormState({isLoading:false,isSuccess:true,isError:null,successMessage:successMessage||`Signed in with ${provider} successfully!`,errors:{}});}setTimeout(()=>{onSuccess?.();},1500);}catch(err){const error=err;console.error(`${provider} Sign-in error:`,error);setFormState({isLoading:false,isSuccess:false,isError:error.message||\"Failed to initialize authentication. Please try again.\",successMessage:null,errors:{}});}};const shouldShowFormFields=()=>{if(formType===\"google\")return false;return true;};const shouldShowSSOButtons=()=>{if(formType===\"google\")return true;if(formType===\"login\"||formType===\"signup\"){return ssoSettings.showGoogleButton||ssoSettings.showGithubButton||ssoSettings.showTwitterButton||ssoSettings.showMicrosoftButton||ssoSettings.showAppleButton;}return false;};const renderError=()=>{if(!formState.isError&&Object.keys(formState.errors).length===0)return null;return /*#__PURE__*/_jsx(\"div\",{style:{padding:styles.form.padding},children:/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"12px 16px\",borderRadius:styles.form.borderRadius,backgroundColor:\"rgba(255, 0, 0, 0.1)\",border:\"1px solid #ff000020\",display:\"flex\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:20,height:20,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:\"⚠️\"}),/*#__PURE__*/_jsxs(\"div\",{style:{margin:0,color:\"#cc0000\",fontSize:styles.typography.fontSize,fontFamily:styles.typography.fontFamily,lineHeight:styles.typography.lineHeight,fontWeight:500},children:[formState.isError&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0},children:formState.isError}),Object.entries(formState.errors).map(([key,value])=>/*#__PURE__*/_jsx(\"p\",{style:{margin:0},children:value},key))]})]})});};const renderSSOButtons=()=>{if(!shouldShowSSOButtons())return null;return /*#__PURE__*/_jsxs(_Fragment,{children:[ssoSettings.showGoogleButton&&/*#__PURE__*/_jsxs(motion.button,{type:\"button\",onClick:handleGoogleSignIn,whileHover:{scale:googleButtonStyles.hover.scale,opacity:googleButtonStyles.hover.opacity,backgroundColor:googleButtonStyles.hover.background},disabled:formState.isLoading,style:{width:\"100%\",height:googleButtonStyles.height,padding:googleButtonStyles.padding,fontSize:googleButtonStyles.fontSize,fontWeight:googleButtonStyles.fontWeight,borderRadius:googleButtonStyles.borderRadius,border:`${googleButtonStyles.border.borderWidth}px ${googleButtonStyles.border.borderStyle} ${googleButtonStyles.border.borderColor}`,cursor:\"pointer\",background:googleButtonStyles.background,color:googleButtonStyles.textColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"10px\",marginTop:ssoSettings.buttonSpacing},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 48 48\",children:[/*#__PURE__*/_jsx(\"path\",{fill:\"#4285F4\",d:\"M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z\"}),/*#__PURE__*/_jsx(\"path\",{fill:\"#34A853\",d:\"M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z\"}),/*#__PURE__*/_jsx(\"path\",{fill:\"#FBBC05\",d:\"M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34C2.85 17.09 2 20.45 2 24c0 3.55.85 6.91 2.34 9.88l7.35-5.7z\"}),/*#__PURE__*/_jsx(\"path\",{fill:\"#EA4335\",d:\"M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z\"})]}),\"Continue with Google\"]}),ssoSettings.showGithubButton&&/*#__PURE__*/_jsxs(motion.button,{type:\"button\",onClick:()=>handleSSOSignIn(\"github\"),whileHover:{scale:googleButtonStyles.hover.scale,opacity:googleButtonStyles.hover.opacity,backgroundColor:ssoButtonStyles.github.hover.background},disabled:formState.isLoading,style:{width:\"100%\",height:googleButtonStyles.height,padding:googleButtonStyles.padding,fontSize:googleButtonStyles.fontSize,fontWeight:googleButtonStyles.fontWeight,borderRadius:googleButtonStyles.borderRadius,border:`${googleButtonStyles.border.borderWidth}px ${googleButtonStyles.border.borderStyle} ${googleButtonStyles.border.borderColor}`,cursor:\"pointer\",background:ssoButtonStyles.github.background,color:ssoButtonStyles.github.textColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"10px\",marginTop:ssoSettings.buttonSpacing},children:[/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z\"})}),\"Continue with GitHub\"]}),ssoSettings.showTwitterButton&&/*#__PURE__*/_jsxs(motion.button,{type:\"button\",onClick:()=>handleSSOSignIn(\"twitter\"),whileHover:{scale:googleButtonStyles.hover.scale,opacity:googleButtonStyles.hover.opacity,backgroundColor:ssoButtonStyles.twitter.hover.background},disabled:formState.isLoading,style:{width:\"100%\",height:googleButtonStyles.height,padding:googleButtonStyles.padding,fontSize:googleButtonStyles.fontSize,fontWeight:googleButtonStyles.fontWeight,borderRadius:googleButtonStyles.borderRadius,border:`${googleButtonStyles.border.borderWidth}px ${googleButtonStyles.border.borderStyle} ${googleButtonStyles.border.borderColor}`,cursor:\"pointer\",background:ssoButtonStyles.twitter.background,color:ssoButtonStyles.twitter.textColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"10px\",marginTop:ssoSettings.buttonSpacing},children:[/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.897-.959-2.178-1.555-3.594-1.555-2.717 0-4.917 2.2-4.917 4.917 0 .39.045.765.127 1.124-4.083-.205-7.702-2.159-10.126-5.134-.422.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.247-2.228-.616v.062c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.415-1.68 1.319-3.809 2.105-6.102 2.105-.395 0-.779-.023-1.158-.067 2.179 1.394 4.768 2.209 7.557 2.209 9.054 0 14.002-7.496 14.002-13.986 0-.209 0-.42-.015-.63.961-.695 1.8-1.562 2.46-2.549z\"})}),\"Continue with Twitter\"]}),ssoSettings.showMicrosoftButton&&/*#__PURE__*/_jsxs(motion.button,{type:\"button\",onClick:()=>handleSSOSignIn(\"azure\"),whileHover:{scale:googleButtonStyles.hover.scale,opacity:googleButtonStyles.hover.opacity,backgroundColor:ssoButtonStyles.microsoft.hover.background},disabled:formState.isLoading,style:{width:\"100%\",height:googleButtonStyles.height,padding:googleButtonStyles.padding,fontSize:googleButtonStyles.fontSize,fontWeight:googleButtonStyles.fontWeight,borderRadius:googleButtonStyles.borderRadius,border:`${googleButtonStyles.border.borderWidth}px ${googleButtonStyles.border.borderStyle} ${googleButtonStyles.border.borderColor}`,cursor:\"pointer\",background:ssoButtonStyles.microsoft.background,color:ssoButtonStyles.microsoft.textColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"10px\",marginTop:ssoSettings.buttonSpacing},children:[/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 2H2v10h10V2zm0 20h10V12H12v10zM22 2h-10v10h10V2zM2 22h10V12H2v10z\"})}),\"Continue with Microsoft\"]}),ssoSettings.showAppleButton&&/*#__PURE__*/_jsxs(motion.button,{type:\"button\",onClick:()=>handleSSOSignIn(\"apple\"),whileHover:{scale:googleButtonStyles.hover.scale,opacity:googleButtonStyles.hover.opacity,backgroundColor:ssoButtonStyles.apple.hover.background},disabled:formState.isLoading,style:{width:\"100%\",height:googleButtonStyles.height,padding:googleButtonStyles.padding,fontSize:googleButtonStyles.fontSize,fontWeight:googleButtonStyles.fontWeight,borderRadius:googleButtonStyles.borderRadius,border:`${googleButtonStyles.border.borderWidth}px ${googleButtonStyles.border.borderStyle} ${googleButtonStyles.border.borderColor}`,cursor:\"pointer\",background:ssoButtonStyles.apple.background,color:ssoButtonStyles.apple.textColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"10px\",marginTop:ssoSettings.buttonSpacing},children:[/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M16.365 1.43c0 1.14-.45 2.28-1.14 3.06-.72.75-1.89 1.35-2.97 1.35-.15-1.14.3-2.28.9-3.06.72-.75 1.89-1.35 2.97-1.35.15 0 .15 0 .24.06zm4.5 16.5c-.45.75-.72 1.35-1.14 2.1-.72 1.14-1.62 2.28-2.7 2.28-.9 0-1.26-.6-2.43-.6-1.17 0-1.62.6-2.43.6-1.08 0-1.89-1.14-2.7-2.28-1.08-1.5-1.89-3.06-1.89-4.5 0-2.1 1.08-3.06 2.16-3.06.9 0 1.62.6 2.43.6.9 0 1.62-.6 2.43-.6 1.08 0 1.89.6 2.43 1.5.45.6.72 1.5.72 2.1 0 1.5-.6 2.7-1.35 3.6.15.15.3.3.45.3.9 0 1.62-.6 2.43-1.5.45-.6.72-1.5.72-2.1 0-.15 0-.15-.15-.15-.9 0-1.62-.6-2.43-1.5-.45-.6-.72-1.5-.72-2.1 0-1.5.6-2.7 1.35-3.6.9-1.14 2.16-1.89 3.33-1.89.9 0 1.62.6 2.43 1.5.45.6.72 1.5.72 2.1 0 1.5-.6 2.7-1.35 3.6-.9 1.14-2.16 1.89-3.33 1.89-.9 0-1.62-.6-2.43-1.5-.45-.6-.72-1.5-.72-2.1 0-.15 0-.15.15-.15.9 0 1.62.6 2.43 1.5.45.6.72 1.5.72 2.1 0 1.5-.6 2.7-1.35 3.6z\"})}),\"Continue with Apple\"]})]});};if(showMessage&&formState.successMessage){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",textAlign:\"center\",minHeight:\"200px\",fontFamily:styles.typography.fontFamily},children:/*#__PURE__*/_jsxs(motion.div,{initial:{scale:.8,opacity:0},animate:{scale:1,opacity:1},style:{padding:styles.message.padding,borderRadius:styles.message.borderRadius,textAlign:\"center\",backgroundColor:styles.message.success.background,fontSize:styles.message.fontSize},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"32px\",color:styles.message.success.iconColor,marginBottom:\"16px\"},children:\"✓\"}),/*#__PURE__*/_jsx(\"p\",{style:{color:styles.message.success.textColor},children:formState.successMessage})]})});}return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",margin:\"0 auto\",padding:styles.form.padding,background:styles.form.background,borderRadius:styles.form.borderRadius,boxShadow:styles.form.shadow,fontFamily:styles.typography.fontFamily,fontSize:styles.typography.fontSize,lineHeight:styles.typography.lineHeight,fontWeight:styles.typography.fontWeight},children:/*#__PURE__*/_jsxs(\"form\",{onSubmit:e=>{e.preventDefault();handleSubmit(data=>{setFormState(prev=>({...prev,errors:{}}));onSubmit(data);},errors=>{const errorMessages=Object.entries(errors).reduce((acc,[key,value])=>{acc[key]=value?.message||\"This field is required\";return acc;},{});setFormState(prev=>({...prev,errors:errorMessages}));})(e);},children:[shouldShowFormFields()&&/*#__PURE__*/_jsxs(_Fragment,{children:[formType===\"signup\"&&/*#__PURE__*/_jsx(InputElement,{type:\"text\",placeholder:\"Your name\",labelText:\"Name\",autoComplete:\"name\",...register(\"name\",{required:\"Name is required\"}),styling:styles.input,formSpacing:styles.form.spacing}),formType!==\"updatePassword\"&&formType!==\"acceptInvite\"&&formType!==\"verifyMagicLink\"&&formType!==\"magicLink\"&&formType!==\"createPassword\"&&/*#__PURE__*/_jsx(InputElement,{type:\"email\",placeholder:\"Email address\",labelText:\"Email\",autoComplete:\"username\",...register(\"email\",{required:\"Email is required\",pattern:{value:/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i,message:\"Invalid email address\"}}),styling:styles.input,formSpacing:styles.form.spacing}),(formType===\"login\"||formType===\"signup\")&&/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(InputElement,{type:\"password\",placeholder:\"Password\",labelText:\"Password\",autoComplete:formType===\"login\"?\"current-password\":\"new-password\",...register(\"password\",{required:\"Password is required\",minLength:{value:6,message:\"Password must be at least 6 characters\"}}),styling:styles.input,formSpacing:formType===\"login\"?8:styles.form.spacing}),formType===\"login\"&&forgotPasswordUrl&&/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"right\",marginBottom:styles.form.spacing},children:/*#__PURE__*/_jsx(\"a\",{href:forgotPasswordUrl,style:{...styles.link,fontSize:styles.link.fontSize},children:\"Forgot Password?\"})})]}),formType===\"updatePassword\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"input\",{type:\"email\",style:{display:\"none\"},\"aria-hidden\":\"true\",autoComplete:\"username\",...register(\"email\")}),/*#__PURE__*/_jsx(InputElement,{type:\"password\",placeholder:\"Enter your new password\",labelText:\"New Password\",autoComplete:\"new-password\",...register(\"newPassword\",{required:\"New password is required\",minLength:{value:6,message:\"Password must be at least 6 characters\"}}),styling:styles.input,formSpacing:styles.form.spacing})]}),formType===\"inviteUser\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(InputElement,{type:\"email\",placeholder:\"Email to invite\",labelText:\"Invite Email\",...register(\"inviteEmail\",{required:\"Email is required\",pattern:{value:/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i,message:\"Invalid email address\"}}),styling:styles.input,formSpacing:styles.form.spacing}),/*#__PURE__*/_jsx(InputElement,{type:\"text\",placeholder:\"Organization name\",labelText:\"Organization\",...register(\"organizationName\",{required:\"Organization name is required\"}),styling:styles.input,formSpacing:styles.form.spacing})]}),formType===\"acceptInvite\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"input\",{type:\"email\",style:{display:\"none\"},\"aria-hidden\":\"true\",autoComplete:\"username\",...register(\"email\")}),/*#__PURE__*/_jsx(InputElement,{type:\"password\",placeholder:\"Set your password\",labelText:\"Password\",autoComplete:\"new-password\",...register(\"password\",{required:\"Password is required\",minLength:{value:6,message:\"Password must be at least 6 characters\"}}),styling:styles.input,formSpacing:styles.form.spacing})]}),formType===\"magicLink\"&&/*#__PURE__*/_jsx(InputElement,{type:\"email\",placeholder:\"Email address\",labelText:\"Email\",autoComplete:\"email\",...register(\"email\",{required:\"Email is required\",pattern:{value:/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i,message:\"Invalid email address\"}}),styling:styles.input,formSpacing:styles.form.spacing}),formType===\"verifyMagicLink\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"input\",{type:\"email\",style:{display:\"none\"},\"aria-hidden\":\"true\",autoComplete:\"username\",...register(\"email\"),defaultValue:new URLSearchParams(window.location.search).get(\"email\")||\"\"}),/*#__PURE__*/_jsx(InputElement,{type:\"text\",placeholder:\"Enter verification token\",labelText:\"Verification Token\",defaultValue:new URLSearchParams(window.location.search).get(\"token\")||\"\",...register(\"token\",{required:\"Token is required\"}),styling:styles.input,formSpacing:styles.form.spacing})]}),formType===\"createPassword\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"input\",{type:\"email\",style:{display:\"none\"},\"aria-hidden\":\"true\",autoComplete:\"username\",...register(\"email\")}),/*#__PURE__*/_jsx(InputElement,{type:\"password\",placeholder:\"Enter your current password\",labelText:\"Current Password\",autoComplete:\"current-password\",...register(\"previousPassword\",{required:\"Current password is required\"}),styling:styles.input,formSpacing:styles.form.spacing}),/*#__PURE__*/_jsx(InputElement,{type:\"password\",placeholder:\"Create your new password\",labelText:\"New Password\",autoComplete:\"new-password\",...register(\"newPassword\",{required:\"New password is required\",minLength:{value:6,message:\"Password must be at least 6 characters\"},validate:value=>value!==getValues(\"previousPassword\")||\"New password must be different from current password\"}),styling:styles.input,formSpacing:styles.form.spacing})]}),/*#__PURE__*/_jsx(motion.button,{type:\"submit\",whileHover:{scale:styles.button.hover.scale,opacity:styles.button.hover.opacity,backgroundColor:styles.button.hover.background},disabled:formState.isLoading,style:{width:\"100%\",height:styles.button.height,padding:styles.button.padding,fontSize:styles.button.fontSize,fontWeight:styles.button.fontWeight,borderRadius:styles.button.borderRadius,border:`${styles.button.border.borderWidth}px ${styles.button.border.borderStyle} ${styles.button.border.borderColor}`,cursor:\"pointer\",background:formState.isLoading?styles.button.loading.background:styles.button.background,color:formState.isLoading?styles.button.loading.textColor:styles.button.textColor,fontFamily:styles.typography.fontFamily,transition:\"all 0.2s ease\"},children:formState.isLoading?\"Loading...\":buttonText||(formType===\"login\"?\"Sign In\":formType===\"signup\"?\"Sign Up\":formType===\"forgotPassword\"?\"Reset Password\":formType===\"updatePassword\"?\"Update Password\":formType===\"inviteUser\"?\"Send Invite\":formType===\"acceptInvite\"?\"Accept Invite\":formType===\"magicLink\"?\"Send Magic Link\":formType===\"verifyMagicLink\"?\"Verify Magic Link\":formType===\"createPassword\"?\"Create Password\":\"Submit\")})]}),renderSSOButtons()]})}),renderError()]});};addPropertyControls(FramergenieForm,{style:{type:ControlType.Object,title:\"Style\",defaultValue:defaultStyles,controls:{typography:{type:ControlType.Object,title:\"Typography\",defaultValue:defaultStyles.typography,controls:{fontFamily:{type:ControlType.String,defaultValue:\"Inter\"},fontSize:{type:ControlType.Number,min:12,max:24,defaultValue:14},lineHeight:{type:ControlType.String,defaultValue:\"1.5em\"},fontWeight:{type:ControlType.Number,min:300,max:900,step:100,defaultValue:400}}},colors:{type:ControlType.Object,title:\"Colors\",defaultValue:defaultStyles.colors,controls:{primary:{type:ControlType.Color,defaultValue:\"#007AFF\"},secondary:{type:ControlType.Color,defaultValue:\"#F5F5F5\"},background:{type:ControlType.Color,defaultValue:\"#FFFFFF\"},error:{type:ControlType.Color,defaultValue:\"#FF3B30\"},success:{type:ControlType.Color,defaultValue:\"#34C759\"},text:{type:ControlType.Color,defaultValue:\"#000000\"},textLight:{type:ControlType.Color,defaultValue:\"#8E8E93\"}}},form:{type:ControlType.Object,title:\"Form\",defaultValue:defaultStyles.form,controls:{padding:{type:ControlType.Padding,defaultValue:\"20px\"},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"8px\"},background:{type:ControlType.Color,defaultValue:\"#FFFFFF\"},shadow:{type:ControlType.BoxShadow,defaultValue:\"0 4px 8px rgba(0, 0, 0, 0.1)\"},spacing:{type:ControlType.Number,min:0,max:48,step:4,defaultValue:16,displayStepper:true,title:\"Form Spacing\"},buttonSpacing:{type:ControlType.Number,min:0,max:48,step:4,defaultValue:16,displayStepper:true,title:\"Button Spacing\"}}},input:{type:ControlType.Object,title:\"Input\",defaultValue:defaultStyles.input,controls:{height:{type:ControlType.Number,min:30,max:100,defaultValue:40},padding:{type:ControlType.Padding,defaultValue:\"12px\"},fontSize:{type:ControlType.Number,min:12,max:24,defaultValue:16},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"6px\"},border:{type:ControlType.Border,defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#CCCCCC\"}},background:{type:ControlType.Color,defaultValue:\"#FFFFFF\"},textColor:{type:ControlType.Color,defaultValue:\"#000000\"},placeholderColor:{type:ControlType.Color,defaultValue:\"#999999\"},focusRing:{type:ControlType.Object,controls:{color:{type:ControlType.Color,defaultValue:\"#007AFF\"},width:{type:ControlType.Number,defaultValue:2},offset:{type:ControlType.Number,defaultValue:0}}}}},button:{type:ControlType.Object,title:\"Button\",defaultValue:defaultStyles.button,controls:{height:{type:ControlType.Number,min:30,max:100,defaultValue:40},padding:{type:ControlType.Padding,defaultValue:\"12px\"},fontSize:{type:ControlType.Number},borderRadius:{type:ControlType.BorderRadius,title:\"Border Radius\",defaultValue:\"6px\"},border:{type:ControlType.Border,defaultValue:{borderWidth:0,borderStyle:\"none\",borderColor:\"transparent\"}},background:{type:ControlType.Color,defaultValue:\"#007AFF\"},textColor:{type:ControlType.Color,defaultValue:\"#FFFFFF\"},hover:{type:ControlType.Object,controls:{background:{type:ControlType.Color},scale:{type:ControlType.Number,min:.9,max:1.1,step:.01,defaultValue:.98},opacity:{type:ControlType.Number,min:0,max:1,step:.1,defaultValue:.9}}},loading:{type:ControlType.Object,controls:{background:{type:ControlType.Color},textColor:{type:ControlType.Color}}}}},message:{type:ControlType.Object,title:\"Messages\",defaultValue:defaultStyles.message,controls:{fontSize:{type:ControlType.Number,min:12,max:24,defaultValue:14},padding:{type:ControlType.Padding,defaultValue:\"12px\"},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"6px\"},success:{type:ControlType.Object,controls:{background:{type:ControlType.Color,defaultValue:\"#F0FFF4\"},textColor:{type:ControlType.Color,defaultValue:\"#34C759\"},iconColor:{type:ControlType.Color,defaultValue:\"#34C759\"}}},error:{type:ControlType.Object,controls:{background:{type:ControlType.Color,defaultValue:\"#FFF5F5\"},textColor:{type:ControlType.Color,defaultValue:\"#FF3B30\"}}}}},link:{type:ControlType.Object,title:\"Link\",defaultValue:defaultStyles.link,controls:{color:{type:ControlType.Color,defaultValue:\"#007AFF\"},fontSize:{type:ControlType.Number,min:12,max:24,defaultValue:14},textDecoration:{type:ControlType.String,defaultValue:\"none\"},cursor:{type:ControlType.String,defaultValue:\"pointer\"}}}}},formType:{type:ControlType.Enum,title:\"Form Type\",options:[\"login\",\"signup\",\"forgotPassword\",\"updatePassword\",\"google\",\"inviteUser\",\"acceptInvite\",\"magicLink\",\"verifyMagicLink\",\"createPassword\"],defaultValue:\"login\",segmentedControlDirection:\"vertical\",displaySegmentedControl:true},onSuccess:{type:ControlType.EventHandler},buttonText:{type:ControlType.String,defaultValue:\"Submit\"},successMessage:{type:ControlType.String,displayTextArea:true,defaultValue:\"Operation successful!\"},redirectUrl:{type:ControlType.Link,title:\"Redirect URL\"},forgotPasswordUrl:{type:ControlType.Link,title:\"Forgot Password URL\"},resetPasswordRedirectUrl:{type:ControlType.Link,title:\"Reset Password Redirect URL\"},showMessage:{type:ControlType.Boolean,defaultValue:true,title:\"Show Messages\"},ssoSettings:{type:ControlType.Object,title:\"SSO Settings\",controls:{showGoogleButton:{type:ControlType.Boolean,title:\"Show Google\",defaultValue:false},showGithubButton:{type:ControlType.Boolean,title:\"Show GitHub\",defaultValue:false},showTwitterButton:{type:ControlType.Boolean,title:\"Show Twitter\",defaultValue:false},showMicrosoftButton:{type:ControlType.Boolean,title:\"Show Microsoft\",defaultValue:false},showAppleButton:{type:ControlType.Boolean,title:\"Show Apple\",defaultValue:false},dividerText:{type:ControlType.String,title:\"Divider Text\",defaultValue:\"or\"},showDivider:{type:ControlType.Boolean,title:\"Show Divider\",defaultValue:true},buttonSpacing:{type:ControlType.Number,title:\"Button Spacing\",defaultValue:16,min:0,max:48,step:4,displayStepper:true}}}});export default FramergenieForm;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramergenieForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AuthForm.map"],"mappings":"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"}