import{a as F,b as E,c as T}from"/wp-web-assets/build/_shared/chunk-4YZV2DVG.js";import{a as i}from"/wp-web-assets/build/_shared/chunk-WHKYWHKR.js";import{c as w,e as c}from"/wp-web-assets/build/_shared/chunk-6OSFCK5A.js";var f=w((W,x)=>{x.exports={}});var D=w((ir,b)=>{b.exports={}});var v=c(f());async function q(r,t,e){return r?r.length<6||r.length>20?t("Your username must be at 6-20 characters long."):F(r)?E(r)?!i&&e&&(await(0,v.validateApi)({type:"username",value:r,request:e})).errorType==="InvalidValue"?t("The username you have chosen is invalid. Please try another name."):null:t("Your username must contain at least one letter."):t("Your username may only contain letters and numbers."):t("Username is required.")}var m=q;var P=c(f());async function N(r,t,e){if(r)if(T(r))if(!i&&e){let n=await(0,P.validateApi)({type:"email",value:r,request:e});return n.errorType==="InvalidValue"?n.message:null}else return null;else return t("That is not a valid email address.");else return t("Email is required.")}var d=N;async function U(r,t,e,n){return!r||!t||!e||r==="month"||t==="day"||e==="year"?n("The date provided is invalid."):null}var p=U;async function S(r,t){return!r||r==="day"?t("Day is required."):null}var g=S;async function Y(r,t){return!r||r==="month"?t("Month is required."):null}var y=Y;async function A(r,t){return!r||r==="year"?t("Year is required."):null}var h=A;var M=c(D());var H=r=>{let t="";return r instanceof Error?r!=null&&r.message?t=JSON.stringify(r==null?void 0:r.message):t=JSON.stringify(r,Object.getOwnPropertyNames(r)):t=JSON.stringify(r),t},I=({functionName:r,action:t,formattedError:e})=>{console.error(`${r}: Something went wrong trying to ${t}`,e)};async function V(r,t,e,n){try{let a={method:"POST",body:JSON.stringify({password:e,requester:{username:t}})},o;return n&&!i?o=await(0,M.default)("/v5/password-strength/check",n,a,!0):o=await fetch(`${r}/v5/password-strength/check`,a),await o.json()}catch(a){let o=H(a);I({functionName:"checkPassword",action:"check password strength",formattedError:o});return}}async function L(r,t,e,n,a,o){if(e){if(e.length<6||e.length>20)return a("Your password must be at 6-20 characters long.");{let s=await V(r,t,e,o);return s?s.strength==="INVALID"?s.displayText:s.strength!=="INVALID"?n.password=s.displayText:null:null}}else return a("Password is required.")}var C=L;async function J(r,t,e,n){return t?t!==r?n("Passwords do not match."):e.confirmPassword=n("Great, passwords match!"):n("Re-enter password is required.")}var $=J;var j=async r=>i?fetch(`${r}/v5/password-strength/policies`).then(async t=>{if(t.ok)return await t.json()}).catch(t=>{throw Error("Unable to fetch password strength policies")}):null,B=j;var G=async(r,t,e,n)=>{let{name:a,value:o}=r.target;switch(a){case"email":let l=await d(o,t);return e({...n,[a]:l});case"month":let s=await y(o,t);return e({...n,date:s});case"day":let u=await g(o,t);return e({...n,date:u});case"year":let O=await h(o,t);return e({...n,date:O});case"policy":let R=r.target.checkValidity();return e({...n,policy:!R});case"username":let k=await m(o,t);return e({...n,[a]:k})}},z=G;var K=async(r,t,e,n,a)=>{let{name:o}=r.target,l=new FormData(t);if(["month","day","year"].includes(o)){let u=await p(l.get("month"),l.get("day"),l.get("year"),e);return n({...a,date:u})}if(o==="policy"){let u=r.target.checkValidity();return n({...a,policy:!u})}},Q=K;export{f as a,m as b,d as c,p as d,g as e,y as f,h as g,C as h,$ as i,B as j,z as k,Q as l};