Build 594031stable
Module 248725
2,420 characters · in 25868.bd058c114912c1de.jsDependencies
Source Raw
function(e,t,r){"use strict";r.d(t,{KZ:()=>u,Lf:()=>l,YD:()=>a,cX:()=>p,oE:()=>i});var n=r(582128);let i={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1,valid:!0},o={...i,customError:!0,valid:!1},a={isInvalid:!1,validationDetails:i,validationErrors:[]},s=(0,n.createContext)({}),l="__formValidationState"+Date.now();function u(e){if(e[l]){let{realtimeValidation:t,displayValidation:r,updateValidation:n,resetValidation:i,commitValidation:o}=e[l];return{realtimeValidation:t,displayValidation:r,updateValidation:n,resetValidation:i,commitValidation:o}}return function(e){let{isInvalid:t,validationState:r,name:i,value:l,builtinValidation:u,validate:p,validationBehavior:h="aria"}=e;r&&(t||(t="invalid"===r));let m=void 0!==t?{isInvalid:t,validationErrors:[],validationDetails:o}:null,g=(0,n.useMemo)(()=>p&&null!=l?d(function(e,t){if("function"==typeof e){let r=e(t);if(r&&"boolean"!=typeof r)return c(r)}return[]}(p,l)):null,[p,l]);(null==u?void 0:u.validationDetails.valid)&&(u=void 0);let v=(0,n.useContext)(s),y=(0,n.useMemo)(()=>i?Array.isArray(i)?i.flatMap(e=>c(v[e])):c(v[i]):[],[v,i]),[b,_]=(0,n.useState)(v),[w,x]=(0,n.useState)(!1);v!==b&&(_(v),x(!1));let E=(0,n.useMemo)(()=>d(w?[]:y),[w,y]),S=(0,n.useRef)(a),[k,T]=(0,n.useState)(a),C=(0,n.useRef)(a),[A,P]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{if(!A)return;P(!1);let e=g||u||S.current;f(e,C.current)||(C.current=e,T(e))}),{realtimeValidation:m||E||g||u||a,displayValidation:"native"===h?m||E||k:m||E||g||u||k,updateValidation(e){"aria"!==h||f(k,e)?S.current=e:T(e)},resetValidation(){f(a,C.current)||(C.current=a,T(a)),"native"===h&&P(!1),x(!0)},commitValidation(){"native"===h&&P(!0),x(!0)}}}(e)}function c(e){return e?Array.isArray(e)?e:[e]:[]}function d(e){return e.length?{isInvalid:!0,validationErrors:e,validationDetails:o}:null}function f(e,t){return e===t||!!e&&!!t&&e.isInvalid===t.isInvalid&&e.validationErrors.length===t.validationErrors.length&&e.validationErrors.every((e,r)=>e===t.validationErrors[r])&&Object.entries(e.validationDetails).every(([e,r])=>t.validationDetails[e]===r)}function p(...e){let t=new Set,r=!1,n={...i};for(let i of e){for(let e of i.validationErrors)t.add(e);for(let e in r||(r=i.isInvalid),n)n[e]||(n[e]=i.validationDetails[e])}return n.valid=!r,{isInvalid:r,validationErrors:[...t],validationDetails:n}}}