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