const e=(e,s="Name",t=!0,r=2,a=50)=>{const i=e.trim();if(t&&!i)return{isValid:!1,error:`${s} is required`};if(!t&&!i)return{isValid:!0};if(i.length<r)return{isValid:!1,error:`${s} must be at least ${r} characters`};if(i.length>a)return{isValid:!1,error:`${s} must be less than ${a} characters`};return/^[\p{L}\s'-]+$/u.test(i)?/\d/.test(i)?{isValid:!1,error:`${s} cannot contain numbers`}:new RegExp("\\p{L}","u").test(i)?{isValid:!0}:{isValid:!1,error:`${s} must contain at least one letter`}:{isValid:!1,error:`${s} can only contain letters, spaces, hyphens, and apostrophes`}},s=s=>e(s,"First name",!0,2,50),t=s=>e(s,"Last name",!1,2,50),r=e=>e.trim().split(/\s+/).map(e=>0===e.length?e:e.includes("-")?e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join("-"):e.includes("'")?e.split("'").map((e,s)=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join("'"):e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ");export{s as a,t as b,r as f,e as v};