Build 576754stable
Module 339241
2,419 characters · in 68925.4de164704c201108.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(64700);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?f(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,w]=(0,n.useState)(v),[_,x]=(0,n.useState)(!1);v!==b&&(w(v),x(!1));let E=(0,n.useMemo)(()=>f(_?[]:y),[_,y]),S=(0,n.useRef)(a),[k,T]=(0,n.useState)(a),C=(0,n.useRef)(a),[P,A]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{if(!P)return;A(!1);let e=g||u||S.current;d(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||d(k,e)?S.current=e:T(e)},resetValidation(){d(a,C.current)||(C.current=a,T(a)),"native"===h&&A(!1),x(!0)},commitValidation(){"native"===h&&A(!0),x(!0)}}}(e)}function c(e){return e?Array.isArray(e)?e:[e]:[]}function f(e){return e.length?{isInvalid:!0,validationErrors:e,validationDetails:o}:null}function d(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}}}