react-f0rm 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import*as e from"react";import t,{useCallback as n,useRef as r,useState as o,useEffect as i,useMemo as u,useContext as s,useReducer as a,createContext as c,createElement as l}from"react";function f(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];(e.get(t)||[]).forEach(function(e){return e.apply(void 0,r)})}function d(e,t,n){var r=function(e,t){var n=e.get(t);if(n)return n;var r=new Set;return e.set(t,r),r}(e,t);return r.add(n),function(){return r.delete(n)}}const m=new Map;function y(e){if(Array.isArray(e))return e;const t=m.get(e);if(t)return t;const n=function(e){const t=[];let n="";const r=()=>{if(h(n)){const r=[...t.map(String),n].join("."),o=t.reduce((e,t)=>e+("number"==typeof t?`[${t}]`:`${e?".":""}${t}`),"");throw new TypeError(`Numeric path segment must use bracket notation: "${r}" → "${o}[${n}]" (path: ${e})`)}t.push(n),n=""};for(let o=0;o<e.length;o++){const i=e[o];if("."===i)""!==n&&r();else if("["===i){""!==n&&r();const i=e[o+1];if('"'===i||"'"===i){const n=e.indexOf(i,o+2);if(-1===n)throw new TypeError(`Unterminated quote in path: ${e}`);if("]"!==e[n+1])throw new TypeError(`Expected "]" after quoted segment in path: ${e}`);t.push(e.slice(o+2,n)),o=n+1}else{const n=e.indexOf("]",o+1);if(-1===n)throw new TypeError(`Unterminated bracket in path: ${e}`);const r=e.slice(o+1,n);t.push(h(r)?Number(r):r),o=n}}else n+=i}""===n&&0!==t.length||r();return t}(e);return m.set(e,n),n}const h=e=>/^-?\d+$/.test(e);function v(e,t){return t.reduce((e,t)=>{if(null!=e)return e[t]},e)}function g(e,t){if(!t.length||null==e)return e;const[n,...r]=t;if(r.length){const t=g(e[n],r);return t===e[n]?e:p(e,[n],t)}if(Array.isArray(e)){if(!(n in e))return e;const t=e.slice();return delete t[n],t}if("object"!=typeof e||!(n in e))return e;const o={...e};return delete o[n],o}function p(e,t,n){if(!t.length)return n;const[r,...o]=t,i="number"==typeof r?r:Array.isArray(e)&&"string"==typeof r&&h(r)?Number(r):void 0;if(void 0!==i){const t=Array.isArray(e)?e.slice():[];return t[i]=p(t[i],o,n),t}return{...e,[r]:p(e&&e[r],o,n)}}function b(e,t,n,r){if(!t.length)return n;let o=e,i=null,u="";for(let s=0;s<t.length;s++){const a=t[s];if(!r.has(o)){let t;t="number"==typeof a||Array.isArray(o)&&"string"==typeof a&&h(a)?Array.isArray(o)?o.slice():[]:{...o},r.add(t),0===s?e=t:i[u]=t,o=t}s===t.length-1?o[a]=n:(i=o,u=a,o=o[a])}return e}function k(e){return e&&"function"==typeof e.then}function w(e,t){if(Object.is(e,t))return!0;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(!e||!t||"object"!=typeof e||"object"!=typeof t)return!1;const n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!w(e[n],t[n]))return!1;return!0}const r=Object.getPrototypeOf(e);if(r!==Object.prototype&&null!==r)return!1;if(Object.getPrototypeOf(t)!==r)return!1;const o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(const n of o)if(!w(e[n],t[n]))return!1;return!0}function S(e,t,n,r){return new Promise((o,i)=>{if(r())return void i();if(n())return void o();const u=d(e,t,()=>{if(r())return u(),void i();n()&&(u(),o())})})}function E(e){const t=y(e);return{value:t,key:JSON.stringify(t)}}const V=Symbol("validation-outcome");function O(e){return{emitter:new Map,...e,mode:e?.mode??"onSubmit",reValidateMode:e?.reValidateMode??"onChange",disabled:e?.disabled??!1,validateDeps:e?.validateDeps?new Set(e.validateDeps.map(e=>E(e).key)):void 0,initialValues:e?.initialValues??{},values:new Map,deleted:new Set,errors:new Map,touched:new Set,validators:new Map,changeHandlers:new Map,validating:new Set,parsedValues:void 0,isSubmitting:!1,submitCount:0,isSubmitSuccessful:void 0}}const A=new WeakMap;function _(e){const t=A.get(e);t&&t.version++}function x(e){let t=A.get(e);return t?t.version>0&&(t.result=T(e),t.version=0):(t={version:0,result:T(e)},A.set(e,t)),t.result}function T(e){const{initialValues:t,parsedValues:n,values:r,deleted:o}=e,i=new Set;let u=n??t;for(const[e,t]of r)u=b(u,JSON.parse(e),t,i);for(const e of o)u=g(u,JSON.parse(e));return u}function C(e,t){return M(e,E(t))}function M({initialValues:e,parsedValues:t,values:n,deleted:r},o){const{key:i,value:u}=o;if(n.has(i))return n.get(i);if(!r.has(i)){for(let e=u.length-1;e>0;e--){const t=JSON.stringify(u.slice(0,e));if(n.has(t))return v(n.get(t),u.slice(e))}return v(t??e,u)}}function j(e,t,n,r){D(e,E(t),n,r)}function D(e,t,n,r){const{emitter:o,values:i,deleted:u}=e;i.set(t.key,n),ge(i,t),pe(u,t),se(e,t),!1===r?.shouldDirty&&ue(e,t,n),le(e),_(e),r?.shouldTouch&&Z(e,t),r?.shouldValidate&&e.validators.get(t.key)?.(),f(o,"change",t)}function L(e,t,n){const{values:r,deleted:o}=e;r.set(t.key,n),ge(r,t),pe(o,t),se(e,t),le(e),_(e)}function N({emitter:e},t){f(e,"change",t)}function $(e,t,n,r){B(e,E(t),n,r)}function B(e,t,n,r){!1===r?.shouldDirty&&ue(e,t,n);const o=e.changeHandlers.get(t.key);o?o(n):D(e,t,n,r)}function P(e,t){return W(e,E(t))}function W({errors:e},t){return e.get(t.key)?.[0]}const I=[];function J(e,t){return q(e,E(t))}function q({errors:e},t){return e.get(t.key)??I}function H({errors:e}){const t=[];for(const[n,r]of e){const e=JSON.parse(n).join(".");for(const{type:n,message:o}of r)t.push({path:e,type:n,message:o})}return t}function R({errors:e}){return e.values().next().value?.[0]?.message}function F(e,t){const n=E(t),{values:r,touched:o,validating:i}=e,u=r.get(n.key);return{value:M(e,n),error:W(e,n),errors:q(e,n),isDirty:r.has(n.key)&&ie(e,n.key,n.value)!==u,isTouched:o.has(n.key),isValidating:i.has(n.key)}}function U({emitter:e,validating:t},n){t.delete(n.key),f(e,"validating",n)}function z({emitter:e,validating:t},n){t.add(n.key),f(e,"validating",n)}function G(e,t,n){K(e,E(t),n)}function K({emitter:e,errors:t},n,r){const o=function(e){if("string"==typeof e)return e?[{type:"custom",message:e}]:void 0;if(Oe(e))return[e];if(!e)return;const t=[];return e.forEach(e=>{"string"==typeof e&&e?t.push({type:"custom",message:e}):Oe(e)&&t.push(e)}),t.length?t:void 0}(r);o?t.set(n.key,o):t.delete(n.key),f(e,"errors",n)}function Y(e,t){const{emitter:n,errors:r}=e;if(void 0===t)return r.clear(),void f(n,"errors");const o="string"==typeof t||Ve(t)?[E(t)]:t.map(e=>E(e));for(const{key:e}of o)r.delete(e);for(const e of o)f(n,"errors",e)}function Q(e,t,n){n?.keepExisting||Y(e);for(const[n,r]of Object.entries(t))G(e,n,(Array.isArray(r)?r:[r]).map(e=>({type:"server",message:e})))}function X(e,t){Z(e,E(t))}function Z({emitter:e,touched:t},n){t.has(n.key)||(t.add(n.key),f(e,"touched",n))}function ee(e,t){return te(e,E(t))}function te({touched:e},t){return e.has(t.key)}function ne(e){let t=!1;return re(e,()=>{t=!0}),t}function re(e,t){for(const[n,r]of e.values){const o=JSON.parse(n);ie(e,n,o)!==r&&t(o.join("."))}}const oe=new WeakMap;function ie(e,t,n){const r=oe.get(e);return r?.has(t)?r.get(t):v(e.initialValues,n)}function ue(e,{key:t},n){let r=oe.get(e);r||(r=new Map,oe.set(e,r)),r.set(t,n)}function se(e,{key:t}){const n=oe.get(e);if(!n?.size)return;const r=`${t.slice(0,-1)},`;for(const e of n.keys())e.startsWith(r)&&n.delete(e)}function ae(e,t){const n=oe.get(e);n&&(void 0===t?n.clear():n.delete(t))}const ce=new WeakMap;function le(e){const t=ce.get(e);t&&t.version++}function fe(e){const t={};return re(e,e=>{t[e]=!0}),t}function de(e){let t=ce.get(e);if(t){if(t.version>0){const n=fe(e);(function(e,t){const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(e=>!0===t[e])})(t.result,n)||(t.result=n),t.version=0}}else t={version:0,result:fe(e)},ce.set(e,t);return t.result}function me({touched:e}){return Array.from(e,e=>JSON.parse(e).join("."))}function ye({touched:e}){return e.size>0}function he(e,t){ve(e,E(t))}function ve(e,t){const{key:n,value:r}=t,{emitter:o,values:i,touched:u,errors:s,validating:a,deleted:c}=e;i.delete(n),u.delete(n),s.delete(n),a.delete(n),ae(e,n),function(e,t){for(let n=1;n<t.length;n++)if(e.has(JSON.stringify(t.slice(0,n))))return!0;const n=`${JSON.stringify(t).slice(0,-1)},`;for(const t of e.keys())if(t.startsWith(n))return!0;return!1}(i,r)||c.add(n),le(e),_(e),f(o,"change",t),f(o,"touched",t),f(o,"errors",t),f(o,"validating",t)}function ge(e,{key:t}){if(!e.size)return;const n=`${t.slice(0,-1)},`;for(const t of e.keys())t.startsWith(n)&&e.delete(t)}function pe(e,{key:t}){if(e.size)for(const n of e)(n===t||n.startsWith(`${t.slice(0,-1)},`)||t.startsWith(`${n.slice(0,-1)},`))&&e.delete(n)}function be(e,t){e.initialValues===t||w(e.initialValues,t)||(e.initialValues=t,e.parsedValues=void 0,e.values.clear(),e.deleted.clear(),ae(e),le(e),_(e),f(e.emitter,"change"))}function ke(e,t,n){const r=[];if(n?.keepDirtyValues)for(const[t,n]of e.values){const o=JSON.parse(t);ie(e,t,o)!==n&&r.push({segments:o,value:n})}e.initialValues=t,e.parsedValues=void 0,n?.keepErrors||Y(e);const{emitter:o,touched:i,values:u,deleted:s,validating:a}=e;u.clear(),s.clear(),ae(e),n?.keepTouched||i.clear(),a.clear(),n?.keepIsSubmitting||(e.isSubmitting=!1),n?.keepSubmitCount||(e.submitCount=0),n?.keepIsSubmitted||(e.isSubmitSuccessful=void 0),le(e),_(e);for(const{segments:t,value:n}of r)D(e,E(t),n);f(o,"change"),f(o,"touched"),f(o,"validating"),f(o,"submitting"),f(o,"submitCount"),f(o,"submitSuccessful"),f(o,"reset")}function we(e,t,n){const r=E(t),{emitter:o,values:i,touched:u,errors:s,deleted:a}=e;if(i.delete(r.key),ae(e,r.key),void 0!==e.parsedValues){e.parsedValues=g(e.parsedValues,r.value);const t=v(e.initialValues,r.value);void 0!==t&&i.set(r.key,t)}n&&"value"in n&&i.set(r.key,n.value),pe(a,r),f(o,"change"),!n?.keepTouched&&u.delete(r.key)&&f(o,"touched",r),!n?.keepErrors&&s.delete(r.key)&&f(o,"errors",r),le(e),_(e)}function Se({errors:e}){return e.size>0}async function Ee(e,t){const n=t=>S(e.emitter,"validating",()=>void 0===t?Me(e):t.every(t=>!e.validating.has(t)),()=>!1);if(void 0===t)return e.validators.forEach(e=>e()),await n(),e.validate&&await Le(e),!Se(e);const r="string"==typeof t||Ve(t)?[E(t).key]:t.map(e=>E(e).key);return r.forEach(t=>e.validators.get(t)?.()),await n(r),r.every(t=>!e.errors.has(t))}function Ve(e){return e.some(e=>"number"==typeof e)}function Oe(e){return!!e&&"object"==typeof e&&"string"==typeof e.type&&"string"==typeof e.message}function Ae(e,t,n=[],r){Object.entries(t).forEach(([t,o])=>{const i=[...n,...h(t)?[t]:y(t)];"string"==typeof o?o&&(G(e,i,o),_e(e,i,r)):Array.isArray(o)||Oe(o)?(G(e,i,o),_e(e,i,r)):o&&"object"==typeof o&&Ae(e,o,i,r)})}function _e(e,t,n){if(!n)return;const r=E(t),o=e.errors.get(r.key);o&&n.set(r.key,o)}function xe(e,t){const n=e.validateDeps?function(e){let t=Te.get(e);t||(t=new Map,Te.set(e,t));return t}(e):void 0;if(n&&(!function(e,t){for(const[n,r]of t){e.errors.get(n)===r&&(e.errors.delete(n),f(e.emitter,"errors",E(JSON.parse(n))))}}(e,n),n.clear()),t){if("object"==typeof t&&V in t){const r=t;return r.errors&&Ae(e,r.errors,[],n),void function(e,t){void 0!==t&&t!==e.parsedValues&&(e.parsedValues=t,_(e),f(e.emitter,"change"))}(e,r.values)}Ae(e,t,[],n)}}const Te=new WeakMap;const Ce="__form_validate__";function Me(e){for(const t of e.validating)if(t!==Ce)return!1;return!0}const je=Symbol("form-validate-settled"),De=new WeakMap;function Le(e){const t=e.validate;if(!t)return Promise.resolve();const n=e.validateDebounce??0;if(n<=0){const n=new AbortController;return Promise.resolve(t(x(e),{form:e,signal:n.signal})).then(t=>{xe(e,t)})}const r=function(e){let t=De.get(e);return t||(t={timer:null,controller:null,round:null,marked:!1,waiters:[]},De.set(e,t)),t}(e);return null!==r.timer?clearTimeout(r.timer):(r.marked=!0,e.validating.add(Ce),f(e.emitter,"validating")),r.timer=setTimeout(()=>{r.timer=null;const t=r.round={};(function(e,t,n){const r=e.validate;if(!r)return Promise.resolve();t.controller?.abort();const o=t.controller=new AbortController;let i;try{i=Promise.resolve(r(x(e),{form:e,signal:o.signal}))}catch(e){i=Promise.reject(e)}return i.then(r=>{t.round===n&&xe(e,r)},e=>{if(t.round===n)throw e})})(e,r,t).then(()=>Ne(e,r,t,je),n=>Ne(e,r,t,n))},n),new Promise((e,t)=>{r.waiters.push({resolve:e,reject:t})})}function Ne(e,t,n,r){if(t.round!==n)return;if(t.round=null,null!==t.timer)return;t.marked&&(t.marked=!1,e.validating.delete(Ce),f(e.emitter,"validating"));const o=t.waiters;t.waiters=[];for(const e of o)r===je?e.resolve():e.reject(r)}function $e(e,t,n){e.validateDeps?.has(t.key)&&e.validate&&("onChange"===n||"all"===n||"onTouched"===n&&te(e,t)||"onChange"===e.reValidateMode&&function(e){const t=Te.get(e);if(!t)return!1;for(const[n,r]of t)if(e.errors.get(n)===r)return!0;return!1}(e))&&Le(e).catch(()=>{})}const Be=new WeakMap;function Pe(e,t,n){let r=Be.get(e);r||(r=new Map,Be.set(e,r));for(const e of n){let n=r.get(e);n||(n=new Set,r.set(e,n)),n.add(t)}}function We(e,t,n){const r=Be.get(e);if(r)for(const e of n){const n=r.get(e);n?.delete(t)&&(n.size||r.delete(e))}}function Ie(e,t,n){const r=Be.get(e)?.get(t.key);if(r?.size)for(const o of r)o!==t.key&&("onChange"===n||"all"===n||"onTouched"===n&&te(e,t)||"onChange"===e.reValidateMode&&e.errors.has(o))&&e.validators.get(o)?.()}function Je(e){const t=new Error(R(e));return t.errors=H(e),t}async function qe(e){if(e.validators.forEach(e=>e()),await S(e.emitter,"validating",()=>Me(e),()=>Se(e)).catch(()=>{throw Je(e)}),e.validate&&(await Le(e),Se(e)))throw Je(e)}async function He(e){return qe(e).catch(e=>e.message)}function Re(e,t){e.isSubmitting=t,f(e.emitter,"submitting")}function Fe(e){e.submitCount++,f(e.emitter,"submitCount")}function Ue(e,t){e.isSubmitSuccessful=t,f(e.emitter,"submitSuccessful")}function ze(e,t){e.disabled=t,f(e.emitter,"disabled")}function Ge(e){if(e.startsWith("["))try{const t=JSON.parse(e);if(Array.isArray(t))return t.join(".")}catch{}return e}function Ke(e,t){const{onSubmit:n,onValidSubmit:r,onInvalidSubmit:o,shouldFocusError:i=!0}=t??{};return async t=>{t&&"function"==typeof t.preventDefault&&t.preventDefault();const u=t?.currentTarget;Re(e,!0),Fe(e);const s=x(e);if(u&&"function"==typeof u.checkValidity&&!1===u.checkValidity()){if(u.reportValidity(),i&&"function"==typeof u.querySelector){const e=u.querySelector(":invalid");e&&"function"==typeof e.focus&&e.focus()}return Re(e,!1),Ue(e,!1),void(o&&o(function(e){const t=[],{elements:n}=e;for(let e=0;e<n.length;e++){const r=n[e];r.name&&"function"==typeof r.checkValidity&&!r.checkValidity()&&t.push({path:Ge(r.name),type:"native",message:r.validationMessage})}return t}(u),s))}if(await He(e)){if(Re(e,!1),Ue(e,!1),i){const t=e.errors.keys().next().value;void 0!==t&&f(e.emitter,"focusError",t)}o&&o(H(e),s)}else try{const o=x(e);n&&await n(o,t),r&&await r(o,t),Ue(e,!0)}catch{Ue(e,!1)}finally{Re(e,!1)}}}function Ye(e,t,n){const{key:r}=E(t);n?f(e.emitter,"focusError",r,n):f(e.emitter,"focusError",r)}function Qe(e,t){switch(e){case"required":return"This field is required";case"min":return`Must be at least ${t}`;case"max":return`Must be at most ${t}`;case"minLength":return`Must be at least ${t} characters`;case"maxLength":return`Must be at most ${t} characters`;case"pattern":return"Invalid format";default:return"Invalid value"}}var Xe,Ze={exports:{}},et={};var tt,nt,rt={};var ot=(nt||(nt=1,"production"===process.env.NODE_ENV?Ze.exports=function(){if(Xe)return et;Xe=1;var e=t,n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=e.useState,o=e.useEffect,i=e.useLayoutEffect,u=e.useDebugValue;function s(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n(e,r)}catch(e){return!0}}var a="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),a=r({inst:{value:n,getSnapshot:t}}),c=a[0].inst,l=a[1];return i(function(){c.value=n,c.getSnapshot=t,s(c)&&l({inst:c})},[e,n,t]),o(function(){return s(c)&&l({inst:c}),e(function(){s(c)&&l({inst:c})})},[e]),u(n),n};return et.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:a,et}():Ze.exports=(tt||(tt=1,"production"!==process.env.NODE_ENV&&function(){function e(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch(e){return!0}}"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=t,r="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useState,i=n.useEffect,u=n.useLayoutEffect,s=n.useDebugValue,a=!1,c=!1,l="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(t,l){a||void 0===n.startTransition||(a=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var f=l();if(!c){var d=l();r(f,d)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),c=!0)}var m=(d=o({inst:{value:f,getSnapshot:l}}))[0].inst,y=d[1];return u(function(){m.value=f,m.getSnapshot=l,e(m)&&y({inst:m})},[t,f,l]),i(function(){return e(m)&&y({inst:m}),t(function(){e(m)&&y({inst:m})})},[t]),s(f),f};rt.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:l,"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),rt)),Ze.exports);function it(e,t){return e.startsWith(`${t.slice(0,-1)},`)}function ut(e,t,n,r,o){const{key:i}=n;return d(e,t,e=>{(void 0===e||e.key===i||it(i,e.key)||"branch"===r&&it(e.key,i))&&o()})}function st(e,t,n,r){return d(e,t,e=>{void 0!==e&&e.key!==n||r()})}function at(e,t){const{name:n,event:r="change",scope:o="branch",callback:i}=t;if(void 0===n)return d(e.emitter,r,i);const u=function(e){return Array.isArray(e)&&e.every(e=>"number"!=typeof e)}(n)?n:[n],s=u.map(t=>{const n=E(t);return"errors"===r||"touched"===r?st(e.emitter,r,n.key,i):ut(e.emitter,r,n,o,i)});return 1===s.length?s[0]:()=>s.forEach(e=>e())}function ct(e){const[t]=o(()=>{const t=O(e);return e&&void 0!==e.values&&be(t,e.values),t}),n=e&&e.initialValues,u=e&&e.values,s=r(null);null===s.current&&(s.current={done:!1,source:void 0}),i(()=>{if(void 0===n)return;const e=s.current;e.done&&(e.source===n||w(e.source,n))||(e.done=!0,e.source=n,be(t,n))},[t,n]);const a=r(null);return null===a.current&&(a.current={done:!1,source:void 0}),i(()=>{if(void 0===u)return;const e=a.current;e.done&&(e.source===u||w(e.source,u))||(e.done=!0,e.source=u,be(t,u))},[t,u]),t}function lt(e,t){const o=r(null);null===o.current&&(o.current={hasValue:!1});const i=o.current,u=r(t);u.current=t;const s=n(()=>(i.hasValue||(i.value=u.current(),i.hasValue=!0),i.value),[i]),a=n(t=>{i.hasValue=!1;return e(()=>{i.hasValue=!1,t()})},[e,i]);return ot.useSyncExternalStore(a,s,s)}function ft(e,t,r){return lt(n(n=>d(e,t,n),[e,t]),r)}function dt(e,t){return mt(e,E(t))}function mt(e,t){const{emitter:r}=e,{key:o}=t;return lt(n(e=>ut(r,"change",t,"leaf",e),[r,o]),M.bind(null,e,t))}function yt(e,t){return ht(e,E(t))}function ht(e,t){const{emitter:r}=e,{key:o}=t;return lt(n(e=>st(r,"touched",o,e),[r,o]),te.bind(null,e,t))}function vt(e,t){return gt(e,E(t))?.message}function gt(e,t){const{emitter:r}=e,{key:o}=t;return lt(n(e=>st(r,"errors",o,e),[r,o]),W.bind(null,e,t))}function pt(e,t){return bt(e,E(t))}function bt(e,t){const{emitter:r}=e,{key:o}=t;return lt(n(e=>st(r,"errors",o,e),[r,o]),q.bind(null,e,t))}function kt(e){return ft(e.emitter,"change",ne.bind(null,e))}function wt(e){return ft(e.emitter,"change",de.bind(null,e))}function St(e){return ft(e.emitter,"touched",me.bind(null,e))}function Et(e){return ft(e.emitter,"errors",Se.bind(null,e))}function Vt(e){return ft(e.emitter,"submitting",()=>e.isSubmitting)}function Ot(e){const{emitter:t}=e;return lt(n(e=>{const n=d(t,"errors",e),r=d(t,"submitting",e);return()=>{n(),r()}},[t]),()=>!e.isSubmitting&&!Se(e))}function At(e){return ft(e.emitter,"submitCount",()=>e.submitCount)}function _t(e){const t=u(()=>E(y(e)),[e]);return u(()=>t,[t.key])}function xt(e){const t=r(e);return t.current=e,t}function Tt(e){const t=xt(e);return n((...e)=>t.current(...e),[t])}function Ct(e,t){if(!e)return t;const n=function(e){return t=>{if(e.required&&(""===t||null==t))return[{type:"required",message:"string"==typeof e.required?e.required:Qe("required")}];const n=[],r=(t,n)=>e.messages?.[t]??Qe(t,n);if(void 0!==e.min){const o=Number(t);!Number.isNaN(o)&&o<e.min&&n.push({type:"min",message:r("min",e.min)})}if(void 0!==e.max){const o=Number(t);!Number.isNaN(o)&&o>e.max&&n.push({type:"max",message:r("max",e.max)})}return void 0!==e.minLength&&"string"==typeof t&&t.length<e.minLength&&n.push({type:"minLength",message:r("minLength",e.minLength)}),void 0!==e.maxLength&&"string"==typeof t&&t.length>e.maxLength&&n.push({type:"maxLength",message:r("maxLength",e.maxLength)}),e.pattern&&!e.pattern.value.test(t)&&n.push({type:"pattern",message:e.messages?.pattern??e.pattern.message??Qe("pattern")}),n.length?n:void 0}}(e);return t?(e,r)=>{const o=n(e,r),i=e=>{const t=[...o??[]];return Array.isArray(e)?t.push(...e):e&&t.push(e),t.length?t:void 0},u=t(e,r);return k(u)?u.then(i):i(u)}:n}function Mt({form:e,name:t,initialValue:n,shouldUnregister:u,validate:a,rules:c,validateDebounce:l,validateDeps:f,delayError:d,disabled:m,mode:y},h){const v=s(h),g=e||v;if(!g)throw new Error("no form provided");const p=_t(t),b=r(!1);void 0!==n&&void 0===M(g,p)&&(L(g,p,n),b.current=!0),i(()=>{b.current&&(b.current=!1,N(g,p))});const w=function(e,t,n,o){const u=s(qt),a=n||u;if(!a)throw new Error("no form provided");const c=r(null),l=r(e);l.current=e;const f=r(o?.debounce??0);return f.current=o?.debounce??0,i(()=>{let e=null,n=null,r=!1;const o=()=>{r||(r=!0,z(a,t))},i=()=>{r&&(r=!1,U(a,t))},u=()=>{e=null;const r=l.current;if(!r)return void i();n?.abort(),n=new AbortController;const u=c.current={};let s;try{s=r(M(a,t),{form:a,path:t,signal:n.signal})}catch(e){throw i(),e}if(!k(s))return K(a,t,s),void i();o(),s.then(e=>{u===c.current&&K(a,t,e)}).catch(()=>{}).finally(()=>{u===c.current&&(i(),c.current=null)})};return a.validators.set(t.key,()=>{const t=f.current;if(t>0)return null!==e?clearTimeout(e):o(),void(e=setTimeout(u,t));u()}),()=>{a.validators.delete(t.key),null!==e&&(clearTimeout(e),e=null),i(),n?.abort()}},[a,t.key]),Tt(()=>a.validators.get(t.key)?.())}(Ct(c,a),p,g,{debounce:l}),S=bt(g,p),V=function(e,t){const[n,r]=o(e);return i(()=>{if(void 0===t)return;if(0===e.length)return void r(e);if(n.length>0)return void r(e);const o=setTimeout(()=>r(e),t);return()=>clearTimeout(o)},[e,t,n]),void 0===t?e:n}(S,d),O=V[0],A=O?.message,_=mt(g,p),x=ft(g.emitter,"disabled",()=>g.disabled),T=y??g.mode,C=Tt(e=>{D(g,p,e),("onChange"===T||"all"===T||"onTouched"===T&&te(g,p)||S.length>0&&"onChange"===g.reValidateMode)&&w(),$e(g,p,T),Ie(g,p,T)});i(()=>(g.changeHandlers.set(p.key,C),()=>{g.changeHandlers.get(p.key)===C&&g.changeHandlers.delete(p.key)}),[g,p.key,C]);const j=f?.length?f.join("\n"):void 0;i(()=>{if(!j)return;const e=f.map(e=>E(e).key);return Pe(g,p.key,e),()=>We(g,p.key,e)},[g,p.key,j]);const $=Tt(()=>{Z(g,p),("onBlur"===T||"onTouched"===T||"all"===T||S.length>0&&"onBlur"===g.reValidateMode)&&w()});return i(()=>()=>{!1!==u&&ve(g,p)},[p,g,u]),{form:g,value:_,error:A,errorObject:O,errors:V,onChange:C,onBlur:$,name:p.key,disabled:x||!!m}}function jt(e){return Mt(e,qt)}const Dt=new WeakMap;function Lt(e){const t=(Dt.get(e)??0)+1;return Dt.set(e,t),`_${t}`}const Nt=new WeakMap;function $t(e,t,n){let r=Nt.get(e);r||(r=new Map,Nt.set(e,r)),r.set(t,n)}function Bt(e){return e+1}function Pt(e,t){const o=s(t),u=e.form||o;if(!u)throw new Error("no form provided");const c=_t(e.name),l=r([]),f=n(()=>M(u,c)||[],[u,c]),d=n(e=>{D(u,c,e)},[u,c]),m=n(()=>{const e=f();for(;l.current.length<e.length;)l.current.push(Lt(u));for(;l.current.length>e.length;)l.current.pop();return l.current.map((e,t)=>({id:e,index:t}))},[f,u]),[y,h]=a(m,void 0,m);i(()=>ut(u.emitter,"change",c,"branch",h),[u.emitter,c]),$t(u,c.key,l.current),i(()=>($t(u,c.key,l.current),()=>{const e=Nt.get(u);e?.get(c.key)===l.current&&e.delete(c.key)}),[u,c.key]);return{fields:y,append:Tt(e=>{const t=f();l.current.push(Lt(u)),d([...t,e])}),prepend:Tt(e=>{const t=f();l.current.unshift(Lt(u)),d([e,...t])}),insert:Tt((e,t)=>{const n=f();l.current.splice(e,0,Lt(u));const r=[...n.slice(0,e),t,...n.slice(e)];d(r)}),remove:Tt(e=>{const t=f();l.current.splice(e,1);const n=t.filter((t,n)=>n!==e);d(n)}),swap:Tt((e,t)=>{const n=f();[l.current[e],l.current[t]]=[l.current[t],l.current[e]];const r=[...n];[r[e],r[t]]=[r[t],r[e]],d(r)}),move:Tt((e,t)=>{const n=f(),[r]=l.current.splice(e,1);l.current.splice(t,0,r);const o=[...n],[i]=o.splice(e,1);o.splice(t,0,i),d(o)}),replace:Tt(e=>{l.current=e.map(()=>Lt(u)),d([...e])}),update:Tt((e,t)=>{const n=f();if(e<0||e>=n.length)return;const r=[...n];r[e]=t,d(r)})}}function Wt(e){return Pt(e,qt)}function It(e,t){const o=s(t),u=e.form||o;if(!u)throw new Error("no form provided");const{id:c}=e,l=_t(e.name),f=n(()=>function(e,t){return Nt.get(e)?.get(t)}(u,l.key)?.indexOf(c)??-1,[u,l.key,c]),d=n(e=>{const t=M(u,l);return Array.isArray(t)?t[e]:void 0},[u,l]),m=f(),y=d(m),h=r({index:m,value:y});h.current={index:m,value:y};const v=xt({computeIndex:f,computeValue:d}),[,g]=a(Bt,0);i(()=>ut(u.emitter,"change",l,"leaf",()=>{const{computeIndex:e,computeValue:t}=v.current,n=e();n===h.current.index&&Object.is(t(n),h.current.value)||g()}),[u.emitter,l,v]);const p=_t([...l.value,m]),b=bt(u,p);return{value:y,setValue:Tt(e=>{if(m<0)return;const t=[...M(u,l)??[]];m>=t.length||(t[m]=e,D(u,l,t))}),errors:b,error:b[0]?.message,name:p.key,index:m,form:u}}function Jt(e){return It(e,qt)}const qt=c(null),Ht=qt.Provider;function Rt(){const e=s(qt);if(!e)throw new Error("no form provided");return e}function Ft(){const e=c(null);return{context:e,FormProvider:function({form:t,children:n}){return l(e.Provider,{value:t},n)},useFormContext:function(){const t=s(e);if(!t)throw new Error("no form provided");return t},useField:function(t){return Mt(t,e)},useFieldArray:function(t){return Pt(t,e)},useFieldArrayItem:function(t){return It(t,e)}}}const Ut=c(null),zt=Ut.Provider;function Gt(){const e=s(Ut);if(!e)throw new Error("no group provided");return e}function Kt({form:t,context:n,initialValues:r,values:o,onSubmit:i,onValidSubmit:u,onInvalidSubmit:s,shouldFocusError:a,...c}){const l=ct({initialValues:r,values:o}),f=t||l,d=Ke(f,{onSubmit:i,onValidSubmit:u,onInvalidSubmit:s,shouldFocusError:a}),{Provider:m}=n??qt;return e.createElement(m,{value:f},e.createElement("form",{...c,noValidate:!0,onSubmit:d}))}function Yt(e){return e.replace(/["'[\],\s]+/g,"-").replace(/^-+|-+$/g,"")||"field"}function Qt(e,t,n){return{"aria-invalid":!!e||n["aria-invalid"],"aria-describedby":e?[n["aria-describedby"],Yt(t)].filter(Boolean).join(" "):n["aria-describedby"]}}function Xt(e){return Yt(E(e).key)}const Zt=e.forwardRef(({validate:t,eventToValue:n,initialValue:r,name:o,asProps:i,renderError:u,as:s,valueToProps:a,form:c,shouldUnregister:l,rules:f,validateDebounce:m,disabled:y,delayError:h,mode:v,...g},p)=>{const b=e.useRef(null),[k,w]=e.useState(0),S=e.useCallback(e=>{b.current=e,function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(p,e)},[p]),{value:E,onChange:V,onBlur:O,error:A,form:_,name:x,disabled:T}=jt({name:o,form:c,initialValue:r,shouldUnregister:l,rules:f,validateDebounce:m,delayError:h,disabled:y,mode:v,validate:(...e)=>{const n=b.current;if(!n||"function"!=typeof n.checkValidity||(n.setCustomValidity(""),!1!==n.checkValidity()))return t?t(...e):void 0;w(e=>e+1)}}),C=s||"input";e.useEffect(()=>{const e=b.current;e&&"function"==typeof e.setCustomValidity&&("string"==typeof A?(e.setCustomValidity(A),e.reportValidity()):e.setCustomValidity(""))},[A]),e.useEffect(()=>{k>0&&b.current?.reportValidity()},[k]),e.useEffect(()=>d(_.emitter,"focusError",(e,t)=>{if(e!==x)return;const n=b.current;n&&"function"==typeof n.focus&&(n.focus(),t?.shouldSelect&&"function"==typeof n.select&&n.select())}),[_,x]);const M=n??(e=>e.target.value),j=Yt(x);return e.createElement(e.Fragment,null,e.createElement(C,{...g,name:x,onBlur:O,...i,...a?a(E):{value:E},...Qt(A,x,g),disabled:T,onChange:e=>V(M(e)),ref:S}),A&&u?e.createElement("span",{id:j,role:"alert"},u(A,j)):null)}),en=e.forwardRef(({name:t,form:n,initialValue:r,shouldUnregister:o,validate:i,rules:u,validateDebounce:s,disabled:a,delayError:c,mode:l,...f},d)=>{const{value:m,onChange:y,onBlur:h,error:v,name:g,disabled:p}=jt({name:t,form:n,initialValue:r,shouldUnregister:o,validate:i,rules:u,validateDebounce:s,delayError:c,disabled:a,mode:l});return e.createElement("input",{...f,name:g,onBlur:h,type:"checkbox",checked:!!m,...Qt(v,g,f),disabled:p,onChange:e=>y(e.target.checked),ref:d})});function tn(e,t){return e?Array.isArray(t)?t:[]:t??""}const nn=e.forwardRef(({name:t,multiple:n,children:r,form:o,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,disabled:l,delayError:f,mode:d,...m},y)=>{const{value:h,onChange:v,onBlur:g,error:p,name:b,disabled:k}=jt({name:t,form:o,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,delayError:f,disabled:l,mode:d});return e.createElement("select",{...m,name:b,onBlur:g,multiple:n,value:tn(n,h),...Qt(p,b,m),disabled:k,onChange:e=>v(n?Array.from(e.target.selectedOptions,e=>e.value):e.target.value),ref:y},r)});export{en as Checkbox,Ut as CheckboxGroupContext,zt as CheckboxGroupProvider,Zt as Field,Kt as Form,qt as FormContext,Ht as FormProvider,nn as Select,V as VALIDATION_OUTCOME,$ as changeValue,B as changeValueByPath,Y as clearErrors,O as createForm,Ft as createFormContext,N as emitChangeByPath,qe as ensureValidate,Xt as fieldErrorId,de as getDirtyFields,P as getError,W as getErrorByPath,H as getErrors,J as getFieldErrors,q as getFieldErrorsByPath,F as getFieldState,R as getFirstError,me as getTouchedFields,C as getValue,M as getValueByPath,x as getValues,Ke as handleSubmit,Se as hasErrors,ee as hasTouched,te as hasTouchedByPath,Fe as incrementSubmitCount,ne as isDirty,ye as isTouched,Pe as registerFieldValidateDeps,he as removeField,ve as removeFieldByPath,ke as reset,we as resetField,Ie as revalidateDependentsOnChange,$e as revalidateFormOnChange,L as seedValueByPath,ze as setDisabled,G as setError,K as setErrorByPath,Ye as setFocus,be as setInitialValues,Re as setIsSubmitting,Q as setServerErrors,Ue as setSubmitSuccessful,X as setTouched,Z as setTouchedByPath,z as setValidatingByPath,j as setValue,D as setValueByPath,at as subscribe,Ee as trigger,We as unregisterFieldValidateDeps,U as unsetValidatingByPath,Ot as useCanSubmit,Gt as useCheckboxGroupContext,wt as useDirtyFields,vt as useError,gt as useErrorByPath,jt as useField,Wt as useFieldArray,Jt as useFieldArrayItem,pt as useFieldErrors,bt as useFieldErrorsByPath,ct as useForm,Rt as useFormContext,Et as useHasErrors,kt as useIsDirty,Vt as useIsSubmitting,At as useSubmitCount,yt as useTouched,ht as useTouchedByPath,St as useTouchedFields,dt as useValue,mt as useValueByPath,ft as useWatch,He as validate};
1
+ import*as e from"react";import t,{useCallback as n,useRef as r,useState as o,useEffect as i,useMemo as u,useContext as s,useReducer as a,createContext as c,createElement as l}from"react";function f(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];(e.get(t)||[]).forEach(function(e){return e.apply(void 0,r)})}function d(e,t,n){var r=function(e,t){var n=e.get(t);if(n)return n;var r=new Set;return e.set(t,r),r}(e,t);return r.add(n),function(){return r.delete(n)}}const m=new Map;function y(e){if(Array.isArray(e))return e;const t=m.get(e);if(t)return t;const n=function(e){const t=[];let n="";const r=()=>{if(v(n)){const r=[...t.map(String),n].join("."),o=t.reduce((e,t)=>e+("number"==typeof t?`[${t}]`:`${e?".":""}${t}`),"");throw new TypeError(`Numeric path segment must use bracket notation: "${r}" → "${o}[${n}]" (path: ${e})`)}t.push(n),n=""};for(let o=0;o<e.length;o++){const i=e[o];if("."===i)""!==n&&r();else if("["===i){""!==n&&r();const i=e[o+1];if('"'===i||"'"===i){const n=e.indexOf(i,o+2);if(-1===n)throw new TypeError(`Unterminated quote in path: ${e}`);if("]"!==e[n+1])throw new TypeError(`Expected "]" after quoted segment in path: ${e}`);t.push(e.slice(o+2,n)),o=n+1}else{const n=e.indexOf("]",o+1);if(-1===n)throw new TypeError(`Unterminated bracket in path: ${e}`);const r=e.slice(o+1,n);t.push(v(r)?Number(r):r),o=n}}else n+=i}""===n&&0!==t.length||r();return t}(e);if(m.size>=1e4){const e=m.keys().next();e.done||m.delete(e.value)}return m.set(e,n),n}const v=e=>/^-?\d+$/.test(e);function h(e,t){return t.reduce((e,t)=>{if(null!=e)return e[t]},e)}function g(e,t){if(!t.length||null==e)return e;const[n,...r]=t;if(r.length){const t=g(e[n],r);return t===e[n]?e:p(e,[n],t)}if(Array.isArray(e)){if(!(n in e))return e;const t=e.slice();return delete t[n],t}if("object"!=typeof e||!(n in e))return e;const o={...e};return delete o[n],o}function p(e,t,n){if(!t.length)return n;const[r,...o]=t,i="number"==typeof r?r:Array.isArray(e)&&"string"==typeof r&&v(r)?Number(r):void 0;if(void 0!==i){const t=Array.isArray(e)?e.slice():[];return t[i]=p(t[i],o,n),t}return{...e,[r]:p(e&&e[r],o,n)}}function b(e,t,n,r){if(!t.length)return n;let o=e,i=null,u="";for(let s=0;s<t.length;s++){const a=t[s];if(!r.has(o)){let t;t="number"==typeof a||Array.isArray(o)&&"string"==typeof a&&v(a)?Array.isArray(o)?o.slice():[]:{...o},r.add(t),0===s?e=t:i[u]=t,o=t}s===t.length-1?o[a]=n:(i=o,u=a,o=o[a])}return e}function k(e){return e&&"function"==typeof e.then}function w(e,t){if(Object.is(e,t))return!0;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(!e||!t||"object"!=typeof e||"object"!=typeof t)return!1;const n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!w(e[n],t[n]))return!1;return!0}const r=Object.getPrototypeOf(e);if(r!==Object.prototype&&null!==r)return!1;if(Object.getPrototypeOf(t)!==r)return!1;const o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(const n of o)if(!w(e[n],t[n]))return!1;return!0}function S(e,t,n,r){return new Promise((o,i)=>{if(r())return void i();if(n())return void o();const u=d(e,t,()=>{if(r())return u(),void i();n()&&(u(),o())})})}function E(e){const t=y(e);return{value:t,key:JSON.stringify(t)}}const V=Symbol("validation-outcome");function O(e){return{emitter:new Map,...e,mode:e?.mode??"onSubmit",reValidateMode:e?.reValidateMode??"onChange",disabled:e?.disabled??!1,validateDeps:e?.validateDeps?new Set(e.validateDeps.map(e=>E(e).key)):void 0,initialValues:e?.initialValues??{},values:new Map,deleted:new Set,errors:new Map,touched:new Set,validators:new Map,changeHandlers:new Map,validating:new Set,parsedValues:void 0,isSubmitting:!1,submitCount:0,isSubmitSuccessful:void 0}}const A=new WeakMap;function _(e){const t=A.get(e);t&&t.version++}function x(e){let t=A.get(e);return t?t.version>0&&(t.result=T(e),t.version=0):(t={version:0,result:T(e)},A.set(e,t)),t.result}function T(e){const{initialValues:t,parsedValues:n,values:r,deleted:o}=e,i=new Set;let u=n??t;for(const[e,t]of r)u=b(u,JSON.parse(e),t,i);for(const e of o)u=g(u,JSON.parse(e));return u}function C(e,t){return M(e,E(t))}function M({initialValues:e,parsedValues:t,values:n,deleted:r},o){const{key:i,value:u}=o;if(n.has(i))return n.get(i);if(!r.has(i)){for(let e=u.length-1;e>0;e--){const t=JSON.stringify(u.slice(0,e));if(n.has(t))return h(n.get(t),u.slice(e))}return h(t??e,u)}}function j(e,t,n,r){D(e,E(t),n,r)}function D(e,t,n,r){const{emitter:o,values:i,deleted:u}=e;i.set(t.key,n),ge(i,t),pe(u,t),se(e,t),!1===r?.shouldDirty&&ue(e,t,n),le(e),_(e),r?.shouldTouch&&Z(e,t),r?.shouldValidate&&e.validators.get(t.key)?.(),f(o,"change",t)}function L(e,t,n){const{values:r,deleted:o}=e;r.set(t.key,n),ge(r,t),pe(o,t),se(e,t),le(e),_(e)}function N({emitter:e},t){f(e,"change",t)}function $(e,t,n,r){B(e,E(t),n,r)}function B(e,t,n,r){!1===r?.shouldDirty&&ue(e,t,n);const o=e.changeHandlers.get(t.key);o?o(n):D(e,t,n,r)}function P(e,t){return W(e,E(t))}function W({errors:e},t){return e.get(t.key)?.[0]}const I=[];function J(e,t){return q(e,E(t))}function q({errors:e},t){return e.get(t.key)??I}function H({errors:e}){const t=[];for(const[n,r]of e){const e=JSON.parse(n).join(".");for(const{type:n,message:o}of r)t.push({path:e,type:n,message:o})}return t}function R({errors:e}){return e.values().next().value?.[0]?.message}function F(e,t){const n=E(t),{values:r,touched:o,validating:i}=e,u=r.get(n.key);return{value:M(e,n),error:W(e,n),errors:q(e,n),isDirty:r.has(n.key)&&ie(e,n.key,n.value)!==u,isTouched:o.has(n.key),isValidating:i.has(n.key)}}function U({emitter:e,validating:t},n){t.delete(n.key),f(e,"validating",n)}function z({emitter:e,validating:t},n){t.add(n.key),f(e,"validating",n)}function G(e,t,n){K(e,E(t),n)}function K({emitter:e,errors:t},n,r){const o=function(e){if("string"==typeof e)return e?[{type:"custom",message:e}]:void 0;if(Oe(e))return[e];if(!e)return;const t=[];return e.forEach(e=>{"string"==typeof e&&e?t.push({type:"custom",message:e}):Oe(e)&&t.push(e)}),t.length?t:void 0}(r);o?t.set(n.key,o):t.delete(n.key),f(e,"errors",n)}function Y(e,t){const{emitter:n,errors:r}=e;if(void 0===t)return r.clear(),void f(n,"errors");const o="string"==typeof t||Ve(t)?[E(t)]:t.map(e=>E(e));for(const{key:e}of o)r.delete(e);for(const e of o)f(n,"errors",e)}function Q(e,t,n){n?.keepExisting||Y(e);for(const[n,r]of Object.entries(t))G(e,n,(Array.isArray(r)?r:[r]).map(e=>({type:"server",message:e})))}function X(e,t){Z(e,E(t))}function Z({emitter:e,touched:t},n){t.has(n.key)||(t.add(n.key),f(e,"touched",n))}function ee(e,t){return te(e,E(t))}function te({touched:e},t){return e.has(t.key)}function ne(e){let t=!1;return re(e,()=>{t=!0}),t}function re(e,t){for(const[n,r]of e.values){const o=JSON.parse(n);ie(e,n,o)!==r&&t(o.join("."))}}const oe=new WeakMap;function ie(e,t,n){const r=oe.get(e);return r?.has(t)?r.get(t):h(e.initialValues,n)}function ue(e,{key:t},n){let r=oe.get(e);r||(r=new Map,oe.set(e,r)),r.set(t,n)}function se(e,{key:t}){const n=oe.get(e);if(!n?.size)return;const r=`${t.slice(0,-1)},`;for(const e of n.keys())e.startsWith(r)&&n.delete(e)}function ae(e,t){const n=oe.get(e);n&&(void 0===t?n.clear():n.delete(t))}const ce=new WeakMap;function le(e){const t=ce.get(e);t&&t.version++}function fe(e){const t={};return re(e,e=>{t[e]=!0}),t}function de(e){let t=ce.get(e);if(t){if(t.version>0){const n=fe(e);(function(e,t){const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(e=>!0===t[e])})(t.result,n)||(t.result=n),t.version=0}}else t={version:0,result:fe(e)},ce.set(e,t);return t.result}function me({touched:e}){return Array.from(e,e=>JSON.parse(e).join("."))}function ye({touched:e}){return e.size>0}function ve(e,t){he(e,E(t))}function he(e,t){const{key:n,value:r}=t,{emitter:o,values:i,touched:u,errors:s,validating:a,deleted:c}=e;i.delete(n),u.delete(n),s.delete(n),a.delete(n),ae(e,n),function(e,t){for(let n=1;n<t.length;n++)if(e.has(JSON.stringify(t.slice(0,n))))return!0;const n=`${JSON.stringify(t).slice(0,-1)},`;for(const t of e.keys())if(t.startsWith(n))return!0;return!1}(i,r)||c.add(n),le(e),_(e),f(o,"change",t),f(o,"touched",t),f(o,"errors",t),f(o,"validating",t)}function ge(e,{key:t}){if(!e.size)return;const n=`${t.slice(0,-1)},`;for(const t of e.keys())t.startsWith(n)&&e.delete(t)}function pe(e,{key:t}){if(e.size)for(const n of e)(n===t||n.startsWith(`${t.slice(0,-1)},`)||t.startsWith(`${n.slice(0,-1)},`))&&e.delete(n)}function be(e,t){e.initialValues===t||w(e.initialValues,t)||(e.initialValues=t,e.parsedValues=void 0,e.values.clear(),e.deleted.clear(),ae(e),le(e),_(e),f(e.emitter,"change"))}function ke(e,t,n){const r=[];if(n?.keepDirtyValues)for(const[t,n]of e.values){const o=JSON.parse(t);ie(e,t,o)!==n&&r.push({segments:o,value:n})}e.initialValues=t,e.parsedValues=void 0,n?.keepErrors||Y(e);const{emitter:o,touched:i,values:u,deleted:s,validating:a}=e;u.clear(),s.clear(),ae(e),n?.keepTouched||i.clear(),a.clear(),n?.keepIsSubmitting||(e.isSubmitting=!1),n?.keepSubmitCount||(e.submitCount=0),n?.keepIsSubmitted||(e.isSubmitSuccessful=void 0),le(e),_(e);for(const{segments:t,value:n}of r)D(e,E(t),n);f(o,"change"),f(o,"touched"),f(o,"validating"),f(o,"submitting"),f(o,"submitCount"),f(o,"submitSuccessful"),f(o,"reset")}function we(e,t,n){const r=E(t),{emitter:o,values:i,touched:u,errors:s,deleted:a}=e;if(i.delete(r.key),ae(e,r.key),void 0!==e.parsedValues){e.parsedValues=g(e.parsedValues,r.value);const t=h(e.initialValues,r.value);void 0!==t&&i.set(r.key,t)}n&&"value"in n&&i.set(r.key,n.value),pe(a,r),f(o,"change"),!n?.keepTouched&&u.delete(r.key)&&f(o,"touched",r),!n?.keepErrors&&s.delete(r.key)&&f(o,"errors",r),le(e),_(e)}function Se({errors:e}){return e.size>0}async function Ee(e,t){const n=t=>S(e.emitter,"validating",()=>void 0===t?Me(e):t.every(t=>!e.validating.has(t)),()=>!1);if(void 0===t)return e.validators.forEach(e=>e()),await n(),e.validate&&await Le(e),!Se(e);const r="string"==typeof t||Ve(t)?[E(t).key]:t.map(e=>E(e).key);return r.forEach(t=>e.validators.get(t)?.()),await n(r),r.every(t=>!e.errors.has(t))}function Ve(e){return e.some(e=>"number"==typeof e)}function Oe(e){return!!e&&"object"==typeof e&&"string"==typeof e.type&&"string"==typeof e.message}function Ae(e,t,n=[],r){Object.entries(t).forEach(([t,o])=>{const i=[...n,...v(t)?[t]:y(t)];"string"==typeof o?o&&(G(e,i,o),_e(e,i,r)):Array.isArray(o)||Oe(o)?(G(e,i,o),_e(e,i,r)):o&&"object"==typeof o&&Ae(e,o,i,r)})}function _e(e,t,n){if(!n)return;const r=E(t),o=e.errors.get(r.key);o&&n.set(r.key,o)}function xe(e,t){const n=e.validateDeps?function(e){let t=Te.get(e);t||(t=new Map,Te.set(e,t));return t}(e):void 0;if(n&&(!function(e,t){for(const[n,r]of t){e.errors.get(n)===r&&(e.errors.delete(n),f(e.emitter,"errors",E(JSON.parse(n))))}}(e,n),n.clear()),t){if("object"==typeof t&&V in t){const r=t;return r.errors&&Ae(e,r.errors,[],n),void function(e,t){void 0!==t&&t!==e.parsedValues&&(e.parsedValues=t,_(e),f(e.emitter,"change"))}(e,r.values)}Ae(e,t,[],n)}}const Te=new WeakMap;const Ce="__form_validate__";function Me(e){for(const t of e.validating)if(t!==Ce)return!1;return!0}const je=Symbol("form-validate-settled"),De=new WeakMap;function Le(e){const t=e.validate;if(!t)return Promise.resolve();const n=e.validateDebounce??0;if(n<=0){const n=new AbortController;return Promise.resolve(t(x(e),{form:e,signal:n.signal})).then(t=>{xe(e,t)})}const r=function(e){let t=De.get(e);return t||(t={timer:null,controller:null,round:null,marked:!1,waiters:[]},De.set(e,t)),t}(e);return null!==r.timer?clearTimeout(r.timer):(r.marked=!0,e.validating.add(Ce),f(e.emitter,"validating")),r.timer=setTimeout(()=>{r.timer=null;const t=r.round={};(function(e,t,n){const r=e.validate;if(!r)return Promise.resolve();t.controller?.abort();const o=t.controller=new AbortController;let i;try{i=Promise.resolve(r(x(e),{form:e,signal:o.signal}))}catch(e){i=Promise.reject(e)}return i.then(r=>{t.round===n&&xe(e,r)},e=>{if(t.round===n)throw e})})(e,r,t).then(()=>Ne(e,r,t,je),n=>Ne(e,r,t,n))},n),new Promise((e,t)=>{r.waiters.push({resolve:e,reject:t})})}function Ne(e,t,n,r){if(t.round!==n)return;if(t.round=null,null!==t.timer)return;t.marked&&(t.marked=!1,e.validating.delete(Ce),f(e.emitter,"validating"));const o=t.waiters;t.waiters=[];for(const e of o)r===je?e.resolve():e.reject(r)}function $e(e,t,n){e.validateDeps?.has(t.key)&&e.validate&&("onChange"===n||"all"===n||"onTouched"===n&&te(e,t)||"onChange"===e.reValidateMode&&function(e){const t=Te.get(e);if(!t)return!1;for(const[n,r]of t)if(e.errors.get(n)===r)return!0;return!1}(e))&&Le(e).catch(()=>{})}const Be=new WeakMap;function Pe(e,t,n){let r=Be.get(e);r||(r=new Map,Be.set(e,r));for(const e of n){let n=r.get(e);n||(n=new Set,r.set(e,n)),n.add(t)}}function We(e,t,n){const r=Be.get(e);if(r)for(const e of n){const n=r.get(e);n?.delete(t)&&(n.size||r.delete(e))}}function Ie(e,t,n){const r=Be.get(e)?.get(t.key);if(r?.size)for(const o of r)o!==t.key&&("onChange"===n||"all"===n||"onTouched"===n&&te(e,t)||"onChange"===e.reValidateMode&&e.errors.has(o))&&e.validators.get(o)?.()}function Je(e){const t=new Error(R(e));return t.errors=H(e),t}async function qe(e){if(e.validators.forEach(e=>e()),await S(e.emitter,"validating",()=>Me(e),()=>Se(e)).catch(()=>{throw Je(e)}),e.validate&&(await Le(e),Se(e)))throw Je(e)}async function He(e){return qe(e).catch(e=>e.message)}function Re(e,t){e.isSubmitting=t,f(e.emitter,"submitting")}function Fe(e){e.submitCount++,f(e.emitter,"submitCount")}function Ue(e,t){e.isSubmitSuccessful=t,f(e.emitter,"submitSuccessful")}function ze(e,t){e.disabled=t,f(e.emitter,"disabled")}function Ge(e){if(e.startsWith("["))try{const t=JSON.parse(e);if(Array.isArray(t))return t.join(".")}catch{}return e}function Ke(e,t){const{onSubmit:n,onValidSubmit:r,onInvalidSubmit:o,shouldFocusError:i=!0}=t??{};return async t=>{t&&"function"==typeof t.preventDefault&&t.preventDefault();const u=t?.currentTarget;Re(e,!0),Fe(e);const s=x(e);if(u&&"function"==typeof u.checkValidity&&!1===u.checkValidity()){if(u.reportValidity(),i&&"function"==typeof u.querySelector){const e=u.querySelector(":invalid");e&&"function"==typeof e.focus&&e.focus()}return Re(e,!1),Ue(e,!1),void(o&&o(function(e){const t=[],{elements:n}=e;for(let e=0;e<n.length;e++){const r=n[e];r.name&&"function"==typeof r.checkValidity&&!r.checkValidity()&&t.push({path:Ge(r.name),type:"native",message:r.validationMessage})}return t}(u),s))}if(await He(e)){if(Re(e,!1),Ue(e,!1),i){const t=e.errors.keys().next().value;void 0!==t&&f(e.emitter,"focusError",t)}o&&o(H(e),s)}else try{const o=x(e);n&&await n(o,t),r&&await r(o,t),Ue(e,!0)}catch{Ue(e,!1)}finally{Re(e,!1)}}}function Ye(e,t,n){const{key:r}=E(t);n?f(e.emitter,"focusError",r,n):f(e.emitter,"focusError",r)}function Qe(e,t){switch(e){case"required":return"This field is required";case"min":return`Must be at least ${t}`;case"max":return`Must be at most ${t}`;case"minLength":return`Must be at least ${t} characters`;case"maxLength":return`Must be at most ${t} characters`;case"pattern":return"Invalid format";default:return"Invalid value"}}var Xe,Ze={exports:{}},et={};var tt,nt,rt={};var ot=(nt||(nt=1,"production"===process.env.NODE_ENV?Ze.exports=function(){if(Xe)return et;Xe=1;var e=t,n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=e.useState,o=e.useEffect,i=e.useLayoutEffect,u=e.useDebugValue;function s(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n(e,r)}catch(e){return!0}}var a="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),a=r({inst:{value:n,getSnapshot:t}}),c=a[0].inst,l=a[1];return i(function(){c.value=n,c.getSnapshot=t,s(c)&&l({inst:c})},[e,n,t]),o(function(){return s(c)&&l({inst:c}),e(function(){s(c)&&l({inst:c})})},[e]),u(n),n};return et.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:a,et}():Ze.exports=(tt||(tt=1,"production"!==process.env.NODE_ENV&&function(){function e(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch(e){return!0}}"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=t,r="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useState,i=n.useEffect,u=n.useLayoutEffect,s=n.useDebugValue,a=!1,c=!1,l="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(t,l){a||void 0===n.startTransition||(a=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var f=l();if(!c){var d=l();r(f,d)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),c=!0)}var m=(d=o({inst:{value:f,getSnapshot:l}}))[0].inst,y=d[1];return u(function(){m.value=f,m.getSnapshot=l,e(m)&&y({inst:m})},[t,f,l]),i(function(){return e(m)&&y({inst:m}),t(function(){e(m)&&y({inst:m})})},[t]),s(f),f};rt.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:l,"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),rt)),Ze.exports);function it(e,t){return e.startsWith(`${t.slice(0,-1)},`)}function ut(e,t,n,r,o){const{key:i}=n;return d(e,t,e=>{(void 0===e||e.key===i||it(i,e.key)||"branch"===r&&it(e.key,i))&&o()})}function st(e,t,n,r){return d(e,t,e=>{void 0!==e&&e.key!==n||r()})}function at(e,t){const{name:n,event:r="change",scope:o="branch",callback:i}=t;if(void 0===n)return d(e.emitter,r,i);const u=function(e){return Array.isArray(e)&&e.every(e=>"number"!=typeof e)}(n)?n:[n],s=u.map(t=>{const n=E(t);return"errors"===r||"touched"===r?st(e.emitter,r,n.key,i):ut(e.emitter,r,n,o,i)});return 1===s.length?s[0]:()=>s.forEach(e=>e())}function ct(e){const[t]=o(()=>{const t=O(e);return e&&void 0!==e.values&&be(t,e.values),t}),n=e&&e.initialValues,u=e&&e.values,s=r(null);null===s.current&&(s.current={done:!1,source:void 0}),i(()=>{if(void 0===n)return;const e=s.current;e.done&&(e.source===n||w(e.source,n))||(e.done=!0,e.source=n,be(t,n))},[t,n]);const a=r(null);return null===a.current&&(a.current={done:!1,source:void 0}),i(()=>{if(void 0===u)return;const e=a.current;e.done&&(e.source===u||w(e.source,u))||(e.done=!0,e.source=u,be(t,u))},[t,u]),t}function lt(e,t){const o=r(null);null===o.current&&(o.current={hasValue:!1});const i=o.current,u=r(t);u.current=t;const s=n(()=>(i.hasValue||(i.value=u.current(),i.hasValue=!0),i.value),[i]),a=n(t=>{i.hasValue=!1;return e(()=>{i.hasValue=!1,t()})},[e,i]);return ot.useSyncExternalStore(a,s,s)}function ft(e,t,r){return lt(n(n=>d(e,t,n),[e,t]),r)}function dt(e,t){return mt(e,E(t))}function mt(e,t){const{emitter:r}=e,{key:o}=t;return lt(n(e=>ut(r,"change",t,"leaf",e),[r,o]),M.bind(null,e,t))}function yt(e,t){return vt(e,E(t))}function vt(e,t){const{emitter:r}=e,{key:o}=t;return lt(n(e=>st(r,"touched",o,e),[r,o]),te.bind(null,e,t))}function ht(e,t){return gt(e,E(t))?.message}function gt(e,t){const{emitter:r}=e,{key:o}=t;return lt(n(e=>st(r,"errors",o,e),[r,o]),W.bind(null,e,t))}function pt(e,t){return bt(e,E(t))}function bt(e,t){const{emitter:r}=e,{key:o}=t;return lt(n(e=>st(r,"errors",o,e),[r,o]),q.bind(null,e,t))}function kt(e){return ft(e.emitter,"change",ne.bind(null,e))}function wt(e){return ft(e.emitter,"change",de.bind(null,e))}function St(e){return ft(e.emitter,"touched",me.bind(null,e))}function Et(e){return ft(e.emitter,"errors",Se.bind(null,e))}function Vt(e){return ft(e.emitter,"submitting",()=>e.isSubmitting)}function Ot(e){const{emitter:t}=e;return lt(n(e=>{const n=d(t,"errors",e),r=d(t,"submitting",e);return()=>{n(),r()}},[t]),()=>!e.isSubmitting&&!Se(e))}function At(e){return ft(e.emitter,"submitCount",()=>e.submitCount)}function _t(e){const t=u(()=>E(y(e)),[e]);return u(()=>t,[t.key])}function xt(e){const t=r(e);return t.current=e,t}function Tt(e){const t=xt(e);return n((...e)=>t.current(...e),[t])}function Ct(e,t){if(!e)return t;const n=function(e){return t=>{if(e.required&&(""===t||null==t))return[{type:"required",message:"string"==typeof e.required?e.required:Qe("required")}];const n=[],r=(t,n)=>e.messages?.[t]??Qe(t,n);if(void 0!==e.min){const o=Number(t);!Number.isNaN(o)&&o<e.min&&n.push({type:"min",message:r("min",e.min)})}if(void 0!==e.max){const o=Number(t);!Number.isNaN(o)&&o>e.max&&n.push({type:"max",message:r("max",e.max)})}return void 0!==e.minLength&&"string"==typeof t&&t.length<e.minLength&&n.push({type:"minLength",message:r("minLength",e.minLength)}),void 0!==e.maxLength&&"string"==typeof t&&t.length>e.maxLength&&n.push({type:"maxLength",message:r("maxLength",e.maxLength)}),e.pattern&&!e.pattern.value.test(t)&&n.push({type:"pattern",message:e.messages?.pattern??e.pattern.message??Qe("pattern")}),n.length?n:void 0}}(e);return t?(e,r)=>{const o=n(e,r),i=e=>{const t=[...o??[]];return Array.isArray(e)?t.push(...e):e&&t.push(e),t.length?t:void 0},u=t(e,r);return k(u)?u.then(i):i(u)}:n}function Mt({form:e,name:t,initialValue:n,shouldUnregister:u,validate:a,rules:c,validateDebounce:l,validateDeps:f,delayError:d,disabled:m,mode:y},v){const h=s(v),g=e||h;if(!g)throw new Error("no form provided");const p=_t(t),b=r(!1);void 0!==n&&void 0===M(g,p)&&(L(g,p,n),b.current=!0),i(()=>{b.current&&(b.current=!1,N(g,p))});const w=function(e,t,n,o){const u=s(qt),a=n||u;if(!a)throw new Error("no form provided");const c=r(null),l=r(e);l.current=e;const f=r(o?.debounce??0);return f.current=o?.debounce??0,i(()=>{let e=null,n=null,r=!1;const o=()=>{r||(r=!0,z(a,t))},i=()=>{r&&(r=!1,U(a,t))},u=()=>{e=null;const r=l.current;if(!r)return void i();n?.abort(),n=new AbortController;const u=c.current={};let s;try{s=r(M(a,t),{form:a,path:t,signal:n.signal})}catch(e){throw i(),e}if(!k(s))return K(a,t,s),void i();o(),s.then(e=>{u===c.current&&K(a,t,e)}).catch(()=>{}).finally(()=>{u===c.current&&(i(),c.current=null)})};return a.validators.set(t.key,()=>{const t=f.current;if(t>0)return null!==e?clearTimeout(e):o(),void(e=setTimeout(u,t));u()}),()=>{a.validators.delete(t.key),null!==e&&(clearTimeout(e),e=null),i(),n?.abort()}},[a,t.key]),Tt(()=>a.validators.get(t.key)?.())}(Ct(c,a),p,g,{debounce:l}),S=bt(g,p),V=function(e,t){const[n,r]=o(e);return i(()=>{if(void 0===t)return;if(0===e.length)return void r(e);if(n.length>0)return void r(e);const o=setTimeout(()=>r(e),t);return()=>clearTimeout(o)},[e,t,n]),void 0===t?e:n}(S,d),O=V[0],A=O?.message,_=mt(g,p),x=ft(g.emitter,"disabled",()=>g.disabled),T=y??g.mode,C=Tt(e=>{D(g,p,e),("onChange"===T||"all"===T||"onTouched"===T&&te(g,p)||S.length>0&&"onChange"===g.reValidateMode)&&w(),$e(g,p,T),Ie(g,p,T)});i(()=>(g.changeHandlers.set(p.key,C),()=>{g.changeHandlers.get(p.key)===C&&g.changeHandlers.delete(p.key)}),[g,p.key,C]);const j=f?.length?f.join("\n"):void 0;i(()=>{if(!j)return;const e=f.map(e=>E(e).key);return Pe(g,p.key,e),()=>We(g,p.key,e)},[g,p.key,j]);const $=Tt(()=>{Z(g,p),("onBlur"===T||"onTouched"===T||"all"===T||S.length>0&&"onBlur"===g.reValidateMode)&&w()});return i(()=>()=>{!1!==u&&he(g,p)},[p,g,u]),{form:g,value:_,error:A,errorObject:O,errors:V,onChange:C,onBlur:$,name:p.key,disabled:x||!!m}}function jt(e){return Mt(e,qt)}const Dt=new WeakMap;function Lt(e){const t=(Dt.get(e)??0)+1;return Dt.set(e,t),`_${t}`}const Nt=new WeakMap;function $t(e,t,n){let r=Nt.get(e);r||(r=new Map,Nt.set(e,r)),r.set(t,n)}function Bt(e){return e+1}function Pt(e,t){const o=s(t),u=e.form||o;if(!u)throw new Error("no form provided");const c=_t(e.name),l=r([]),f=n(()=>M(u,c)||[],[u,c]),d=n(e=>{D(u,c,e)},[u,c]),m=n(()=>{const e=f();for(;l.current.length<e.length;)l.current.push(Lt(u));for(;l.current.length>e.length;)l.current.pop();return l.current.map((e,t)=>({id:e,index:t}))},[f,u]),[y,v]=a(m,void 0,m);i(()=>ut(u.emitter,"change",c,"branch",v),[u.emitter,c]),$t(u,c.key,l.current),i(()=>($t(u,c.key,l.current),()=>{const e=Nt.get(u);e?.get(c.key)===l.current&&e.delete(c.key)}),[u,c.key]);return{fields:y,append:Tt(e=>{const t=f();l.current.push(Lt(u)),d([...t,e])}),prepend:Tt(e=>{const t=f();l.current.unshift(Lt(u)),d([e,...t])}),insert:Tt((e,t)=>{const n=f();l.current.splice(e,0,Lt(u));const r=[...n.slice(0,e),t,...n.slice(e)];d(r)}),remove:Tt(e=>{const t=f();l.current.splice(e,1);const n=t.filter((t,n)=>n!==e);d(n)}),swap:Tt((e,t)=>{const n=f();[l.current[e],l.current[t]]=[l.current[t],l.current[e]];const r=[...n];[r[e],r[t]]=[r[t],r[e]],d(r)}),move:Tt((e,t)=>{const n=f(),[r]=l.current.splice(e,1);l.current.splice(t,0,r);const o=[...n],[i]=o.splice(e,1);o.splice(t,0,i),d(o)}),replace:Tt(e=>{l.current=e.map(()=>Lt(u)),d([...e])}),update:Tt((e,t)=>{const n=f();if(e<0||e>=n.length)return;const r=[...n];r[e]=t,d(r)})}}function Wt(e){return Pt(e,qt)}function It(e,t){const o=s(t),u=e.form||o;if(!u)throw new Error("no form provided");const{id:c}=e,l=_t(e.name),f=n(()=>function(e,t){return Nt.get(e)?.get(t)}(u,l.key)?.indexOf(c)??-1,[u,l.key,c]),d=n(e=>{const t=M(u,l);return Array.isArray(t)?t[e]:void 0},[u,l]),m=f(),y=d(m),v=r({index:m,value:y});v.current={index:m,value:y};const h=xt({computeIndex:f,computeValue:d}),[,g]=a(Bt,0);i(()=>ut(u.emitter,"change",l,"leaf",()=>{const{computeIndex:e,computeValue:t}=h.current,n=e();n===v.current.index&&Object.is(t(n),v.current.value)||g()}),[u.emitter,l,h]);const p=_t([...l.value,m]),b=bt(u,p);return{value:y,setValue:Tt(e=>{if(m<0)return;const t=[...M(u,l)??[]];m>=t.length||(t[m]=e,D(u,l,t))}),errors:b,error:b[0]?.message,name:p.key,index:m,form:u}}function Jt(e){return It(e,qt)}const qt=c(null),Ht=qt.Provider;function Rt(){const e=s(qt);if(!e)throw new Error("no form provided");return e}function Ft(){const e=c(null);return{context:e,FormProvider:function({form:t,children:n}){return l(e.Provider,{value:t},n)},useFormContext:function(){const t=s(e);if(!t)throw new Error("no form provided");return t},useField:function(t){return Mt(t,e)},useFieldArray:function(t){return Pt(t,e)},useFieldArrayItem:function(t){return It(t,e)}}}const Ut=c(null),zt=Ut.Provider;function Gt(){const e=s(Ut);if(!e)throw new Error("no group provided");return e}function Kt({form:t,context:n,initialValues:r,values:o,onSubmit:i,onValidSubmit:u,onInvalidSubmit:s,shouldFocusError:a,...c}){const l=ct({initialValues:r,values:o}),f=t||l,d=Ke(f,{onSubmit:i,onValidSubmit:u,onInvalidSubmit:s,shouldFocusError:a}),{Provider:m}=n??qt;return e.createElement(m,{value:f},e.createElement("form",{...c,noValidate:!0,onSubmit:d}))}function Yt(e){return e.replace(/["'[\],\s]+/g,"-").replace(/^-+|-+$/g,"")||"field"}function Qt(e,t,n){return{"aria-invalid":!!e||n["aria-invalid"],"aria-describedby":e?[n["aria-describedby"],Yt(t)].filter(Boolean).join(" "):n["aria-describedby"]}}function Xt(e){return Yt(E(e).key)}const Zt=e.forwardRef(({validate:t,eventToValue:n,initialValue:r,name:o,asProps:i,renderError:u,as:s,valueToProps:a,form:c,shouldUnregister:l,rules:f,validateDebounce:m,disabled:y,delayError:v,mode:h,...g},p)=>{const b=e.useRef(null),[k,w]=e.useState(0),S=e.useCallback(e=>{b.current=e,function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(p,e)},[p]),{value:E,onChange:V,onBlur:O,error:A,form:_,name:x,disabled:T}=jt({name:o,form:c,initialValue:r,shouldUnregister:l,rules:f,validateDebounce:m,delayError:v,disabled:y,mode:h,validate:(...e)=>{const n=b.current;if(!n||"function"!=typeof n.checkValidity||(n.setCustomValidity(""),!1!==n.checkValidity()))return t?t(...e):void 0;w(e=>e+1)}}),C=s||"input";e.useEffect(()=>{const e=b.current;e&&"function"==typeof e.setCustomValidity&&("string"==typeof A?(e.setCustomValidity(A),e.reportValidity()):e.setCustomValidity(""))},[A]),e.useEffect(()=>{k>0&&b.current?.reportValidity()},[k]),e.useEffect(()=>d(_.emitter,"focusError",(e,t)=>{if(e!==x)return;const n=b.current;n&&"function"==typeof n.focus&&(n.focus(),t?.shouldSelect&&"function"==typeof n.select&&n.select())}),[_,x]);const M=n??(e=>e.target.value),j=Yt(x);return e.createElement(e.Fragment,null,e.createElement(C,{...g,name:x,onBlur:O,...i,...a?a(E):{value:E},...Qt(A,x,g),disabled:T,onChange:e=>V(M(e)),ref:S}),A&&u?e.createElement("span",{id:j,role:"alert"},u(A,j)):null)}),en=e.forwardRef(({name:t,form:n,initialValue:r,shouldUnregister:o,validate:i,rules:u,validateDebounce:s,disabled:a,delayError:c,mode:l,...f},d)=>{const{value:m,onChange:y,onBlur:v,error:h,name:g,disabled:p}=jt({name:t,form:n,initialValue:r,shouldUnregister:o,validate:i,rules:u,validateDebounce:s,delayError:c,disabled:a,mode:l});return e.createElement("input",{...f,name:g,onBlur:v,type:"checkbox",checked:!!m,...Qt(h,g,f),disabled:p,onChange:e=>y(e.target.checked),ref:d})});function tn(e,t){return e?Array.isArray(t)?t:[]:t??""}const nn=e.forwardRef(({name:t,multiple:n,children:r,form:o,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,disabled:l,delayError:f,mode:d,...m},y)=>{const{value:v,onChange:h,onBlur:g,error:p,name:b,disabled:k}=jt({name:t,form:o,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,delayError:f,disabled:l,mode:d});return e.createElement("select",{...m,name:b,onBlur:g,multiple:n,value:tn(n,v),...Qt(p,b,m),disabled:k,onChange:e=>h(n?Array.from(e.target.selectedOptions,e=>e.value):e.target.value),ref:y},r)});export{en as Checkbox,Ut as CheckboxGroupContext,zt as CheckboxGroupProvider,Zt as Field,Kt as Form,qt as FormContext,Ht as FormProvider,nn as Select,V as VALIDATION_OUTCOME,$ as changeValue,B as changeValueByPath,Y as clearErrors,O as createForm,Ft as createFormContext,N as emitChangeByPath,qe as ensureValidate,Xt as fieldErrorId,de as getDirtyFields,P as getError,W as getErrorByPath,H as getErrors,J as getFieldErrors,q as getFieldErrorsByPath,F as getFieldState,R as getFirstError,me as getTouchedFields,C as getValue,M as getValueByPath,x as getValues,Ke as handleSubmit,Se as hasErrors,ee as hasTouched,te as hasTouchedByPath,Fe as incrementSubmitCount,ne as isDirty,ye as isTouched,Pe as registerFieldValidateDeps,ve as removeField,he as removeFieldByPath,ke as reset,we as resetField,Ie as revalidateDependentsOnChange,$e as revalidateFormOnChange,L as seedValueByPath,ze as setDisabled,G as setError,K as setErrorByPath,Ye as setFocus,be as setInitialValues,Re as setIsSubmitting,Q as setServerErrors,Ue as setSubmitSuccessful,X as setTouched,Z as setTouchedByPath,z as setValidatingByPath,j as setValue,D as setValueByPath,at as subscribe,Ee as trigger,We as unregisterFieldValidateDeps,U as unsetValidatingByPath,Ot as useCanSubmit,Gt as useCheckboxGroupContext,wt as useDirtyFields,ht as useError,gt as useErrorByPath,jt as useField,Wt as useFieldArray,Jt as useFieldArrayItem,pt as useFieldErrors,bt as useFieldErrorsByPath,ct as useForm,Rt as useFormContext,Et as useHasErrors,kt as useIsDirty,Vt as useIsSubmitting,At as useSubmitCount,yt as useTouched,vt as useTouchedByPath,St as useTouchedFields,dt as useValue,mt as useValueByPath,ft as useWatch,He as validate};
2
2
  //# sourceMappingURL=index.mjs.map