react-f0rm 0.11.0 → 1.0.0

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.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { a as FieldPath, N as Name, F as Form$1, V as ValidationMode, P as PathValueOf, b as FieldError, c as Path, O as Options } from './form-DSwruZIg.js';
2
- export { d as FieldErrorEntry, e as FieldState, f as FormValidateFn, g as FormValidateMeta, H as HandleSubmitOptions, h as PathValue, R as ReValidateMode, i as ResetFieldOptions, j as ResetOptions, S as SetFieldOptions, k as SetFocusOptions, l as SetServerErrorsOptions, m as VALIDATION_OUTCOME, n as ValidateResult, o as ValidationOutcome, p as changeValue, q as changeValueByPath, r as clearErrors, s as createForm, t as ensureValidate, u as getDirtyFields, v as getError, w as getErrorByPath, x as getErrors, y as getFieldErrors, z as getFieldErrorsByPath, A as getFieldState, B as getFirstError, C as getTouchedFields, D as getValue, E as getValueByPath, G as getValues, I as handleSubmit, J as hasErrors, K as hasTouched, L as hasTouchedByPath, M as incrementSubmitCount, Q as isDirty, T as isTouched, U as removeField, W as removeFieldByPath, X as reset, Y as resetField, Z as revalidateFormOnChange, _ as setDisabled, $ as setError, a0 as setErrorByPath, a1 as setFocus, a2 as setInitialValues, a3 as setIsSubmitting, a4 as setServerErrors, a5 as setSubmitSuccessful, a6 as setTouched, a7 as setTouchedByPath, a8 as setValidatingByPath, a9 as setValue, aa as setValueByPath, ab as trigger, ac as unsetValidatingByPath, ad as validate } from './form-DSwruZIg.js';
3
- import { V as Validator } from './validate-CqRu0f-o.js';
1
+ import { a as FieldPath, N as Name, F as Form$1, V as ValidationMode, P as PathValueOf, b as FieldError, c as Path, O as Options } from './form-D-A2NoKo.js';
2
+ export { d as FieldErrorEntry, e as FieldState, f as FormValidateFn, g as FormValidateMeta, H as HandleSubmitOptions, h as PathValue, R as ReValidateMode, i as ResetFieldOptions, j as ResetOptions, S as SetFieldOptions, k as SetFocusOptions, l as SetServerErrorsOptions, m as VALIDATION_OUTCOME, n as ValidateResult, o as ValidationOutcome, p as changeValue, q as changeValueByPath, r as clearErrors, s as createForm, t as ensureValidate, u as getDirtyFields, v as getError, w as getErrorByPath, x as getErrors, y as getFieldErrors, z as getFieldErrorsByPath, A as getFieldState, B as getFirstError, C as getTouchedFields, D as getValue, E as getValueByPath, G as getValues, I as handleSubmit, J as hasErrors, K as hasTouched, L as hasTouchedByPath, M as incrementSubmitCount, Q as isDirty, T as isTouched, U as removeField, W as removeFieldByPath, X as reset, Y as resetField, Z as revalidateFormOnChange, _ as setDisabled, $ as setError, a0 as setErrorByPath, a1 as setFocus, a2 as setInitialValues, a3 as setIsSubmitting, a4 as setServerErrors, a5 as setSubmitSuccessful, a6 as setTouched, a7 as setTouchedByPath, a8 as setValidatingByPath, a9 as setValue, aa as setValueByPath, ab as trigger, ac as unsetValidatingByPath, ad as validate } from './form-D-A2NoKo.js';
3
+ import { V as Validator } from './validate-Bj2oVj82.js';
4
4
  import * as React from 'react';
5
5
  import { ReactNode } from 'react';
6
6
  import { EventEmitter } from '@for-fun/event-emitter';
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=()=>{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(/^-?\d+$/.test(r)?Number(r):r),o=n}}else n+=i}""===n&&0!==t.length||r();return t}(e);return m.set(e,n),n}function h(e,t){return t.reduce((e,t)=>{if(null!=e)return e[t]},e)}function v(e,t){if(!t.length||null==e)return e;const[n,...r]=t;if(r.length){const t=v(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;if("number"==typeof r){const t=Array.isArray(e)?e.slice():[];return t[r]=p(t[r],o,n),t}return{...e,[r]:p(e&&e[r],o,n)}}function g(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)?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 b(e){return e&&"function"==typeof e.then}function k(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(!k(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(!k(e[n],t[n]))return!1;return!0}function w(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 S(e){const t=y(e);return{value:t,key:JSON.stringify(t)}}const E=Symbol("validation-outcome");function V(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=>S(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}}function O(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=g(u,JSON.parse(e),t,i);for(const e of o)u=v(u,JSON.parse(e));return u}function _(e,t){return A(e,S(t))}function A({initialValues:e,parsedValues:t,values:n,deleted:r},o){return n.has(o.key)?n.get(o.key):r.has(o.key)?void 0:h(t??e,o.value)}function x(e,t,n,r){T(e,S(t),n,r)}function T(e,t,n,r){const{emitter:o,values:i,deleted:u}=e;i.set(t.key,n),le(u,t),function(e,{key:t}){const n=X.get(e);if(!n?.size)return;const r=`${t.slice(0,-1)},`;for(const e of n.keys())e.startsWith(r)&&n.delete(e)}(e,t),!1===r?.shouldDirty&&ee(e,t,n),re(e),r?.shouldTouch&&G(e,t),r?.shouldValidate&&e.validators.get(t.key)?.(),f(o,"change",t)}function C(e,t,n,r){L(e,S(t),n,r)}function L(e,t,n,r){!1===r?.shouldDirty&&ee(e,t,n);const o=e.changeHandlers.get(t.key);o?o(n):T(e,t,n,r)}function j(e,t){return D(e,S(t))}function D({errors:e},t){return e.get(t.key)?.[0]}const M=[];function N(e,t){return B(e,S(t))}function B({errors:e},t){return e.get(t.key)??M}function P({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 I({errors:e}){return e.values().next().value?.[0]?.message}function $(e,t){const n=S(t),{values:r,touched:o,validating:i}=e,u=r.get(n.key);return{value:A(e,n),error:D(e,n),errors:B(e,n),isDirty:r.has(n.key)&&Z(e,n.key,n.value)!==u,isTouched:o.has(n.key),isValidating:i.has(n.key)}}function q({emitter:e,validating:t},n){t.delete(n.key),f(e,"validating",n)}function H({emitter:e,validating:t},n){t.add(n.key),f(e,"validating",n)}function R(e,t,n){W(e,S(t),n)}function W({emitter:e,errors:t},n,r){const o=function(e){if("string"==typeof e)return e?[{type:"custom",message:e}]:void 0;if(pe(e))return[e];if(!e)return;const t=[];return e.forEach(e=>{"string"==typeof e&&e?t.push({type:"custom",message:e}):pe(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 F(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)?[S(t)]:t.map(e=>S(e));for(const{key:e}of o)r.delete(e);for(const e of o)f(n,"errors",e)}function J(e,t,n){n?.keepExisting||F(e);for(const[n,r]of Object.entries(t))R(e,n,(Array.isArray(r)?r:[r]).map(e=>({type:"server",message:e})))}function U(e,t){G(e,S(t))}function G({emitter:e,touched:t},n){t.has(n.key)||(t.add(n.key),f(e,"touched",n))}function K(e,t){return z(e,S(t))}function z({touched:e},t){return e.has(t.key)}function Y(e){let t=!1;return Q(e,()=>{t=!0}),t}function Q(e,t){for(const[n,r]of e.values){const o=JSON.parse(n);Z(e,n,o)!==r&&t(o.join("."))}}const X=new WeakMap;function Z(e,t,n){const r=X.get(e);return r?.has(t)?r.get(t):h(e.initialValues,n)}function ee(e,{key:t},n){let r=X.get(e);r||(r=new Map,X.set(e,r)),r.set(t,n)}function te(e,t){const n=X.get(e);n&&(void 0===t?n.clear():n.delete(t))}const ne=new WeakMap;function re(e){const t=ne.get(e);t&&t.version++}function oe(e){const t={};return Q(e,e=>{t[e]=!0}),t}function ie(e){let t=ne.get(e);if(t){if(t.version>0){const n=oe(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:oe(e)},ne.set(e,t);return t.result}function ue({touched:e}){return Array.from(e,e=>JSON.parse(e).join("."))}function se({touched:e}){return e.size>0}function ae(e,t){ce(e,S(t))}function ce(e,{key:t,value:n}){const{emitter:r,values:o,touched:i,errors:u,validating:s,deleted:a}=e;o.delete(t),i.delete(t),u.delete(t),s.delete(t),te(e,t),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}(o,n)||a.add(t),re(e),f(r,"change"),f(r,"touched"),f(r,"errors"),f(r,"validating")}function le(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 fe(e,t){e.initialValues===t||k(e.initialValues,t)||(e.initialValues=t,e.parsedValues=void 0,e.values.clear(),e.deleted.clear(),te(e),re(e),f(e.emitter,"change"))}function de(e,t,n){const r=n?.keepDirtyValues?Object.keys(ie(e)).map(t=>({key:t,value:_(e,t)})):[];e.initialValues=t,e.parsedValues=void 0,n?.keepErrors||F(e);const{emitter:o,touched:i,values:u,deleted:s,validating:a}=e;u.clear(),s.clear(),te(e),n?.keepTouched||i.clear(),a.clear(),n?.keepIsSubmitting||(e.isSubmitting=!1),n?.keepSubmitCount||(e.submitCount=0),n?.keepIsSubmitted||(e.isSubmitSuccessful=void 0),re(e);for(const{key:t,value:n}of r)T(e,S(t),n);f(o,"change"),f(o,"touched"),f(o,"validating"),f(o,"submitting"),f(o,"submitCount"),f(o,"submitSuccessful"),f(o,"reset")}function me(e,t,n){const r=S(t),{emitter:o,values:i,touched:u,errors:s,deleted:a}=e;if(i.delete(r.key),te(e,r.key),void 0!==e.parsedValues){e.parsedValues=v(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),le(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),re(e)}function ye({errors:e}){return e.size>0}async function he(e,t){const n=()=>w(e.emitter,"validating",()=>Ee(e),()=>!1);if(void 0===t)return e.validators.forEach(e=>e()),await n(),e.validate&&await _e(e),!ye(e);const r="string"==typeof t||ve(t)?[S(t).key]:t.map(e=>S(e).key);return r.forEach(t=>e.validators.get(t)?.()),await n(),r.every(t=>!e.errors.has(t))}function ve(e){return e.some(e=>"number"==typeof e)}function pe(e){return!!e&&"object"==typeof e&&"string"==typeof e.type&&"string"==typeof e.message}function ge(e,t,n=[],r){Object.entries(t).forEach(([t,o])=>{const i=[...n,...y(t)];"string"==typeof o?o&&(R(e,i,o),be(e,i,r)):Array.isArray(o)||pe(o)?(R(e,i,o),be(e,i,r)):o&&"object"==typeof o&&ge(e,o,i,r)})}function be(e,t,n){if(!n)return;const r=S(t),o=e.errors.get(r.key);o&&n.set(r.key,o)}function ke(e,t){const n=e.validateDeps?function(e){let t=we.get(e);t||(t=new Map,we.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",S(JSON.parse(n))))}}(e,n),n.clear()),t){if("object"==typeof t&&E in t){const r=t;return r.errors&&ge(e,r.errors,[],n),void function(e,t){void 0!==t&&t!==e.parsedValues&&(e.parsedValues=t,f(e.emitter,"change"))}(e,r.values)}ge(e,t,[],n)}}const we=new WeakMap;const Se="__form_validate__";function Ee(e){for(const t of e.validating)if(t!==Se)return!1;return!0}const Ve=Symbol("form-validate-settled"),Oe=new WeakMap;function _e(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(O(e),{form:e,signal:n.signal})).then(t=>{ke(e,t)})}const r=function(e){let t=Oe.get(e);return t||(t={timer:null,controller:null,round:null,marked:!1,waiters:[]},Oe.set(e,t)),t}(e);return null!==r.timer?clearTimeout(r.timer):(r.marked=!0,e.validating.add(Se),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(O(e),{form:e,signal:o.signal}))}catch(e){i=Promise.reject(e)}return i.then(r=>{t.round===n&&ke(e,r)},e=>{if(t.round===n)throw e})})(e,r,t).then(()=>Ae(e,r,t,Ve),n=>Ae(e,r,t,n))},n),new Promise((e,t)=>{r.waiters.push({resolve:e,reject:t})})}function Ae(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(Se),f(e.emitter,"validating"));const o=t.waiters;t.waiters=[];for(const e of o)r===Ve?e.resolve():e.reject(r)}function xe(e,t,n){e.validateDeps?.has(t.key)&&e.validate&&("onChange"===n||"all"===n||"onTouched"===n&&z(e,t)||"onChange"===e.reValidateMode&&function(e){const t=we.get(e);if(!t)return!1;for(const[n,r]of t)if(e.errors.get(n)===r)return!0;return!1}(e))&&_e(e).catch(()=>{})}async function Te(e){if(e.validators.forEach(e=>e()),await w(e.emitter,"validating",()=>Ee(e),()=>ye(e)).catch(()=>{throw new Error(I(e))}),e.validate&&(await _e(e),ye(e)))throw new Error(I(e))}async function Ce(e){return Te(e).catch(e=>e.message)}function Le(e,t){e.isSubmitting=t,f(e.emitter,"submitting")}function je(e){e.submitCount++,f(e.emitter,"submitCount")}function De(e,t){e.isSubmitSuccessful=t,f(e.emitter,"submitSuccessful")}function Me(e,t){e.disabled=t,f(e.emitter,"disabled")}function Ne(e){if(e.startsWith("["))try{const t=JSON.parse(e);if(Array.isArray(t))return t.join(".")}catch{}return e}function Be(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;Le(e,!0),je(e);const s=O(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 Le(e,!1),De(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:Ne(r.name),type:"native",message:r.validationMessage})}return t}(u),s))}if(await Ce(e)){if(Le(e,!1),De(e,!1),i){const t=e.errors.keys().next().value;void 0!==t&&f(e.emitter,"focusError",t)}o&&o(P(e),s)}else try{const o=O(e);n&&await n(o,t),r&&await r(o,t),De(e,!0)}catch{De(e,!1)}finally{Le(e,!1)}}}function Pe(e,t,n){const{key:r}=S(t);n?f(e.emitter,"focusError",r,n):f(e.emitter,"focusError",r)}function Ie(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 $e,qe={exports:{}},He={};var Re,We,Fe={};var Je=(We||(We=1,"production"===process.env.NODE_ENV?qe.exports=function(){if($e)return He;$e=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 He.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:a,He}():qe.exports=(Re||(Re=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};Fe.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())}()),Fe)),qe.exports);function Ue(e,t){return e.startsWith(`${t.slice(0,-1)},`)}function Ge(e,t,n,r,o){const{key:i}=n;return d(e,t,e=>{(void 0===e||e.key===i||Ue(i,e.key)||"branch"===r&&Ue(e.key,i))&&o()})}function Ke(e,t,n,r){return d(e,t,e=>{void 0!==e&&e.key!==n||r()})}function ze(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=S(t);return"errors"===r||"touched"===r?Ke(e.emitter,r,n.key,i):Ge(e.emitter,r,n,o,i)});return 1===s.length?s[0]:()=>s.forEach(e=>e())}function Ye(e){const[t]=o(()=>{const t=V(e);return e&&void 0!==e.values&&fe(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(()=>{const e=s.current;e.done&&(e.source===n||k(e.source,n))||(e.done=!0,e.source=n,fe(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||k(e.source,u))||(e.done=!0,e.source=u,fe(t,u))},[t,u]),t}function Qe(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 Je.useSyncExternalStore(a,s,s)}function Xe(e,t,r){return Qe(n(n=>d(e,t,n),[e,t]),r)}function Ze(e,t){return et(e,S(t))}function et(e,t){const{emitter:r}=e,{key:o}=t;return Qe(n(e=>Ge(r,"change",t,"leaf",e),[r,o]),A.bind(null,e,t))}function tt(e,t){return nt(e,S(t))}function nt(e,t){const{emitter:r}=e,{key:o}=t;return Qe(n(e=>Ke(r,"touched",o,e),[r,o]),z.bind(null,e,t))}function rt(e,t){return ot(e,S(t))?.message}function ot(e,t){const{emitter:r}=e,{key:o}=t;return Qe(n(e=>Ke(r,"errors",o,e),[r,o]),D.bind(null,e,t))}function it(e,t){return ut(e,S(t))}function ut(e,t){const{emitter:r}=e,{key:o}=t;return Qe(n(e=>Ke(r,"errors",o,e),[r,o]),B.bind(null,e,t))}function st(e){return Xe(e.emitter,"change",Y.bind(null,e))}function at(e){return Xe(e.emitter,"change",ie.bind(null,e))}function ct(e){return Xe(e.emitter,"touched",ue.bind(null,e))}function lt(e){return Xe(e.emitter,"errors",ye.bind(null,e))}function ft(e){return Xe(e.emitter,"submitting",()=>e.isSubmitting)}function dt(e){const{emitter:t}=e;return Qe(n(e=>{const n=d(t,"errors",e),r=d(t,"submitting",e);return()=>{n(),r()}},[t]),()=>!e.isSubmitting&&!ye(e))}function mt(e){return Xe(e.emitter,"submitCount",()=>e.submitCount)}function yt(e){const t=u(()=>S(y(e)),[e]);return u(()=>t,[t.key])}function ht(e){const t=r(e);return t.current=e,t}function vt(e){const t=ht(e);return n((...e)=>t.current(...e),[t])}function pt(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:Ie("required")}];const n=[],r=(t,n)=>e.messages?.[t]??Ie(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??Ie("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 b(u)?u.then(i):i(u)}:n}function gt({form:e,name:t,initialValue:n,shouldUnregister:u,validate:a,rules:c,validateDebounce:l,delayError:f,disabled:d,mode:m},y){const h=s(y),v=e||h;if(!v)throw new Error("no form provided");const p=yt(t),g=function(e,t,n,o){const u=s(Tt),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,H(a,t))},i=()=>{r&&(r=!1,q(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(A(a,t),{form:a,path:t,signal:n.signal})}catch(e){throw i(),e}if(!b(s))return W(a,t,s),void i();o(),s.then(e=>{u===c.current&&W(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]),vt(()=>a.validators.get(t.key)?.())}(pt(c,a),p,v,{debounce:l}),k=ut(v,p),w=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}(k,f),S=w[0],E=S?.message,V=et(v,p),O=Xe(v.emitter,"disabled",()=>v.disabled),_=m??v.mode;i(()=>{void 0!==n&&void 0===A(v,p)&&T(v,p,n)},[v,p,n]);const x=vt(e=>{T(v,p,e),("onChange"===_||"all"===_||"onTouched"===_&&z(v,p)||k.length>0&&"onChange"===v.reValidateMode)&&g(),xe(v,p,_)});i(()=>(v.changeHandlers.set(p.key,x),()=>{v.changeHandlers.get(p.key)===x&&v.changeHandlers.delete(p.key)}),[v,p.key,x]);const C=vt(()=>{G(v,p),("onBlur"===_||"onTouched"===_||"all"===_||k.length>0&&"onBlur"===v.reValidateMode)&&g()});return i(()=>()=>{!1!==u&&ce(v,p)},[p,v,u]),{form:v,value:V,error:E,errorObject:S,errors:w,onChange:x,onBlur:C,name:p.key,disabled:O||!!d}}function bt(e){return gt(e,Tt)}let kt=0;function wt(){return"_"+ ++kt}const St=new WeakMap;function Et(e,t,n){let r=St.get(e);r||(r=new Map,St.set(e,r)),r.set(t,n)}function Vt(e){return e+1}function Ot(e,t){const o=s(t),u=e.form||o;if(!u)throw new Error("no form provided");const c=yt(e.name),l=r([]),f=n(()=>A(u,c)||[],[u,c]),d=n(e=>{T(u,c,e)},[u,c]),m=n(()=>{const e=f();for(;l.current.length<e.length;)l.current.push(wt());for(;l.current.length>e.length;)l.current.pop();return l.current.map((e,t)=>({id:e,index:t}))},[f]),[y,h]=a(m,void 0,m);i(()=>Ge(u.emitter,"change",c,"branch",h),[u.emitter,c]),Et(u,c.key,l.current),i(()=>(Et(u,c.key,l.current),()=>{const e=St.get(u);e?.get(c.key)===l.current&&e.delete(c.key)}),[u,c.key]);return{fields:y,append:vt(e=>{const t=f();l.current.push(wt()),d([...t,e])}),prepend:vt(e=>{const t=f();l.current.unshift(wt()),d([e,...t])}),insert:vt((e,t)=>{const n=f();l.current.splice(e,0,wt());const r=[...n.slice(0,e),t,...n.slice(e)];d(r)}),remove:vt(e=>{const t=f();l.current.splice(e,1);const n=t.filter((t,n)=>n!==e);d(n)}),swap:vt((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:vt((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:vt(e=>{l.current=e.map(()=>wt()),d([...e])}),update:vt((e,t)=>{const n=f();if(e<0||e>=n.length)return;const r=[...n];r[e]=t,d(r)})}}function _t(e){return Ot(e,Tt)}function At(e,t){const o=s(t),u=e.form||o;if(!u)throw new Error("no form provided");const{id:c}=e,l=yt(e.name),f=n(()=>function(e,t){return St.get(e)?.get(t)}(u,l.key)?.indexOf(c)??-1,[u,l.key,c]),d=n(e=>{const t=A(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=ht({computeIndex:f,computeValue:d}),[,p]=a(Vt,0);i(()=>Ge(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)||p()}),[u.emitter,l,v]);const g=yt([...l.value,m]),b=ut(u,g);return{value:y,setValue:vt(e=>{if(m<0)return;const t=[...A(u,l)??[]];m>=t.length||(t[m]=e,T(u,l,t))}),errors:b,error:b[0]?.message,name:g.key,index:m,form:u}}function xt(e){return At(e,Tt)}const Tt=c(null),Ct=Tt.Provider;function Lt(){const e=s(Tt);if(!e)throw new Error("no form provided");return e}function jt(){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 gt(t,e)},useFieldArray:function(t){return Ot(t,e)},useFieldArrayItem:function(t){return At(t,e)}}}const Dt=c(null),Mt=Dt.Provider;function Nt(){const e=s(Dt);if(!e)throw new Error("no group provided");return e}function Bt({form:t,context:n,initialValues:r,values:o,onSubmit:i,onValidSubmit:u,onInvalidSubmit:s,shouldFocusError:a,...c}){const l=Ye({initialValues:r,values:o}),f=t||l,d=Be(f,{onSubmit:i,onValidSubmit:u,onInvalidSubmit:s,shouldFocusError:a}),{Provider:m}=n??Tt;return e.createElement(m,{value:f},e.createElement("form",{...c,noValidate:!0,onSubmit:d}))}function Pt(e){return e.replace(/["'[\],\s]+/g,"-").replace(/^-+|-+$/g,"")||"field"}function It(e,t,n){return{"aria-invalid":!!e||n["aria-invalid"],"aria-describedby":e?[n["aria-describedby"],Pt(t)].filter(Boolean).join(" "):n["aria-describedby"]}}function $t(e){return Pt(S(e).key)}const qt=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,...p},g)=>{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)}(g,e)},[g]),{value:E,onChange:V,onBlur:O,error:_,form:A,name:x,disabled:T}=bt({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 _?(e.setCustomValidity(_),e.reportValidity()):e.setCustomValidity(""))},[_]),e.useEffect(()=>{k>0&&b.current?.reportValidity()},[k]),e.useEffect(()=>d(A.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())}),[A,x]);const L=n??(e=>e.target.value),j=Pt(x);return e.createElement(e.Fragment,null,e.createElement(C,{...p,name:x,onBlur:O,...i,...a?a(E):{value:E},...It(_,x,p),disabled:T,onChange:e=>V(L(e)),ref:S}),_&&u?e.createElement("span",{id:j,role:"alert"},u(_,j)):null)}),Ht=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:p,disabled:g}=bt({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:p,onBlur:h,type:"checkbox",checked:!!m,...It(v,p,f),disabled:g,onChange:e=>y(e.target.checked),ref:d})});function Rt(e,t){return e?Array.isArray(t)?t:[]:t??""}const Wt=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:p,error:g,name:b,disabled:k}=bt({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:p,multiple:n,value:Rt(n,h),...It(g,b,m),disabled:k,onChange:e=>v(n?Array.from(e.target.selectedOptions,e=>e.value):e.target.value),ref:y},r)});export{Ht as Checkbox,Dt as CheckboxGroupContext,Mt as CheckboxGroupProvider,qt as Field,Bt as Form,Tt as FormContext,Ct as FormProvider,Wt as Select,E as VALIDATION_OUTCOME,C as changeValue,L as changeValueByPath,F as clearErrors,V as createForm,jt as createFormContext,Te as ensureValidate,$t as fieldErrorId,ie as getDirtyFields,j as getError,D as getErrorByPath,P as getErrors,N as getFieldErrors,B as getFieldErrorsByPath,$ as getFieldState,I as getFirstError,ue as getTouchedFields,_ as getValue,A as getValueByPath,O as getValues,Be as handleSubmit,ye as hasErrors,K as hasTouched,z as hasTouchedByPath,je as incrementSubmitCount,Y as isDirty,se as isTouched,ae as removeField,ce as removeFieldByPath,de as reset,me as resetField,xe as revalidateFormOnChange,Me as setDisabled,R as setError,W as setErrorByPath,Pe as setFocus,fe as setInitialValues,Le as setIsSubmitting,J as setServerErrors,De as setSubmitSuccessful,U as setTouched,G as setTouchedByPath,H as setValidatingByPath,x as setValue,T as setValueByPath,ze as subscribe,he as trigger,q as unsetValidatingByPath,dt as useCanSubmit,Nt as useCheckboxGroupContext,at as useDirtyFields,rt as useError,ot as useErrorByPath,bt as useField,_t as useFieldArray,xt as useFieldArrayItem,it as useFieldErrors,ut as useFieldErrorsByPath,Ye as useForm,Lt as useFormContext,lt as useHasErrors,st as useIsDirty,ft as useIsSubmitting,mt as useSubmitCount,tt as useTouched,nt as useTouchedByPath,ct as useTouchedFields,Ze as useValue,et as useValueByPath,Xe as useWatch,Ce 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(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 p(e,t){if(!t.length||null==e)return e;const[n,...r]=t;if(r.length){const t=p(e[n],r);return t===e[n]?e:g(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 g(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]=g(t[i],o,n),t}return{...e,[r]:g(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}}function A(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=p(u,JSON.parse(e));return u}function _(e,t){return x(e,E(t))}function x({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 T(e,t,n,r){C(e,E(t),n,r)}function C(e,t,n,r){const{emitter:o,values:i,deleted:u}=e;i.set(t.key,n),function(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)}(i,t),fe(u,t),function(e,{key:t}){const n=Z.get(e);if(!n?.size)return;const r=`${t.slice(0,-1)},`;for(const e of n.keys())e.startsWith(r)&&n.delete(e)}(e,t),!1===r?.shouldDirty&&te(e,t,n),oe(e),r?.shouldTouch&&K(e,t),r?.shouldValidate&&e.validators.get(t.key)?.(),f(o,"change",t)}function j(e,t,n,r){L(e,E(t),n,r)}function L(e,t,n,r){!1===r?.shouldDirty&&te(e,t,n);const o=e.changeHandlers.get(t.key);o?o(n):C(e,t,n,r)}function D(e,t){return M(e,E(t))}function M({errors:e},t){return e.get(t.key)?.[0]}const N=[];function $(e,t){return B(e,E(t))}function B({errors:e},t){return e.get(t.key)??N}function P({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 I({errors:e}){return e.values().next().value?.[0]?.message}function W(e,t){const n=E(t),{values:r,touched:o,validating:i}=e,u=r.get(n.key);return{value:x(e,n),error:M(e,n),errors:B(e,n),isDirty:r.has(n.key)&&ee(e,n.key,n.value)!==u,isTouched:o.has(n.key),isValidating:i.has(n.key)}}function q({emitter:e,validating:t},n){t.delete(n.key),f(e,"validating",n)}function H({emitter:e,validating:t},n){t.add(n.key),f(e,"validating",n)}function J(e,t,n){R(e,E(t),n)}function R({emitter:e,errors:t},n,r){const o=function(e){if("string"==typeof e)return e?[{type:"custom",message:e}]:void 0;if(ge(e))return[e];if(!e)return;const t=[];return e.forEach(e=>{"string"==typeof e&&e?t.push({type:"custom",message:e}):ge(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 F(e,t){const{emitter:n,errors:r}=e;if(void 0===t)return r.clear(),void f(n,"errors");const o="string"==typeof t||pe(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 U(e,t,n){n?.keepExisting||F(e);for(const[n,r]of Object.entries(t))J(e,n,(Array.isArray(r)?r:[r]).map(e=>({type:"server",message:e})))}function G(e,t){K(e,E(t))}function K({emitter:e,touched:t},n){t.has(n.key)||(t.add(n.key),f(e,"touched",n))}function z(e,t){return Y(e,E(t))}function Y({touched:e},t){return e.has(t.key)}function Q(e){let t=!1;return X(e,()=>{t=!0}),t}function X(e,t){for(const[n,r]of e.values){const o=JSON.parse(n);ee(e,n,o)!==r&&t(o.join("."))}}const Z=new WeakMap;function ee(e,t,n){const r=Z.get(e);return r?.has(t)?r.get(t):v(e.initialValues,n)}function te(e,{key:t},n){let r=Z.get(e);r||(r=new Map,Z.set(e,r)),r.set(t,n)}function ne(e,t){const n=Z.get(e);n&&(void 0===t?n.clear():n.delete(t))}const re=new WeakMap;function oe(e){const t=re.get(e);t&&t.version++}function ie(e){const t={};return X(e,e=>{t[e]=!0}),t}function ue(e){let t=re.get(e);if(t){if(t.version>0){const n=ie(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:ie(e)},re.set(e,t);return t.result}function se({touched:e}){return Array.from(e,e=>JSON.parse(e).join("."))}function ae({touched:e}){return e.size>0}function ce(e,t){le(e,E(t))}function le(e,{key:t,value:n}){const{emitter:r,values:o,touched:i,errors:u,validating:s,deleted:a}=e;o.delete(t),i.delete(t),u.delete(t),s.delete(t),ne(e,t),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}(o,n)||a.add(t),oe(e),f(r,"change"),f(r,"touched"),f(r,"errors"),f(r,"validating")}function fe(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 de(e,t){e.initialValues===t||w(e.initialValues,t)||(e.initialValues=t,e.parsedValues=void 0,e.values.clear(),e.deleted.clear(),ne(e),oe(e),f(e.emitter,"change"))}function me(e,t,n){const r=n?.keepDirtyValues?Object.keys(ue(e)).map(t=>({key:t,value:_(e,t)})):[];e.initialValues=t,e.parsedValues=void 0,n?.keepErrors||F(e);const{emitter:o,touched:i,values:u,deleted:s,validating:a}=e;u.clear(),s.clear(),ne(e),n?.keepTouched||i.clear(),a.clear(),n?.keepIsSubmitting||(e.isSubmitting=!1),n?.keepSubmitCount||(e.submitCount=0),n?.keepIsSubmitted||(e.isSubmitSuccessful=void 0),oe(e);for(const{key:t,value:n}of r)C(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 ye(e,t,n){const r=E(t),{emitter:o,values:i,touched:u,errors:s,deleted:a}=e;if(i.delete(r.key),ne(e,r.key),void 0!==e.parsedValues){e.parsedValues=p(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),fe(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),oe(e)}function he({errors:e}){return e.size>0}async function ve(e,t){const n=()=>S(e.emitter,"validating",()=>Ve(e),()=>!1);if(void 0===t)return e.validators.forEach(e=>e()),await n(),e.validate&&await _e(e),!he(e);const r="string"==typeof t||pe(t)?[E(t).key]:t.map(e=>E(e).key);return r.forEach(t=>e.validators.get(t)?.()),await n(),r.every(t=>!e.errors.has(t))}function pe(e){return e.some(e=>"number"==typeof e)}function ge(e){return!!e&&"object"==typeof e&&"string"==typeof e.type&&"string"==typeof e.message}function be(e,t,n=[],r){Object.entries(t).forEach(([t,o])=>{const i=[...n,...h(t)?[t]:y(t)];"string"==typeof o?o&&(J(e,i,o),ke(e,i,r)):Array.isArray(o)||ge(o)?(J(e,i,o),ke(e,i,r)):o&&"object"==typeof o&&be(e,o,i,r)})}function ke(e,t,n){if(!n)return;const r=E(t),o=e.errors.get(r.key);o&&n.set(r.key,o)}function we(e,t){const n=e.validateDeps?function(e){let t=Se.get(e);t||(t=new Map,Se.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&&be(e,r.errors,[],n),void function(e,t){void 0!==t&&t!==e.parsedValues&&(e.parsedValues=t,f(e.emitter,"change"))}(e,r.values)}be(e,t,[],n)}}const Se=new WeakMap;const Ee="__form_validate__";function Ve(e){for(const t of e.validating)if(t!==Ee)return!1;return!0}const Oe=Symbol("form-validate-settled"),Ae=new WeakMap;function _e(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(A(e),{form:e,signal:n.signal})).then(t=>{we(e,t)})}const r=function(e){let t=Ae.get(e);return t||(t={timer:null,controller:null,round:null,marked:!1,waiters:[]},Ae.set(e,t)),t}(e);return null!==r.timer?clearTimeout(r.timer):(r.marked=!0,e.validating.add(Ee),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(A(e),{form:e,signal:o.signal}))}catch(e){i=Promise.reject(e)}return i.then(r=>{t.round===n&&we(e,r)},e=>{if(t.round===n)throw e})})(e,r,t).then(()=>xe(e,r,t,Oe),n=>xe(e,r,t,n))},n),new Promise((e,t)=>{r.waiters.push({resolve:e,reject:t})})}function xe(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(Ee),f(e.emitter,"validating"));const o=t.waiters;t.waiters=[];for(const e of o)r===Oe?e.resolve():e.reject(r)}function Te(e,t,n){e.validateDeps?.has(t.key)&&e.validate&&("onChange"===n||"all"===n||"onTouched"===n&&Y(e,t)||"onChange"===e.reValidateMode&&function(e){const t=Se.get(e);if(!t)return!1;for(const[n,r]of t)if(e.errors.get(n)===r)return!0;return!1}(e))&&_e(e).catch(()=>{})}async function Ce(e){if(e.validators.forEach(e=>e()),await S(e.emitter,"validating",()=>Ve(e),()=>he(e)).catch(()=>{throw new Error(I(e))}),e.validate&&(await _e(e),he(e)))throw new Error(I(e))}async function je(e){return Ce(e).catch(e=>e.message)}function Le(e,t){e.isSubmitting=t,f(e.emitter,"submitting")}function De(e){e.submitCount++,f(e.emitter,"submitCount")}function Me(e,t){e.isSubmitSuccessful=t,f(e.emitter,"submitSuccessful")}function Ne(e,t){e.disabled=t,f(e.emitter,"disabled")}function $e(e){if(e.startsWith("["))try{const t=JSON.parse(e);if(Array.isArray(t))return t.join(".")}catch{}return e}function Be(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;Le(e,!0),De(e);const s=A(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 Le(e,!1),Me(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:$e(r.name),type:"native",message:r.validationMessage})}return t}(u),s))}if(await je(e)){if(Le(e,!1),Me(e,!1),i){const t=e.errors.keys().next().value;void 0!==t&&f(e.emitter,"focusError",t)}o&&o(P(e),s)}else try{const o=A(e);n&&await n(o,t),r&&await r(o,t),Me(e,!0)}catch{Me(e,!1)}finally{Le(e,!1)}}}function Pe(e,t,n){const{key:r}=E(t);n?f(e.emitter,"focusError",r,n):f(e.emitter,"focusError",r)}function Ie(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 We,qe={exports:{}},He={};var Je,Re,Fe={};var Ue=(Re||(Re=1,"production"===process.env.NODE_ENV?qe.exports=function(){if(We)return He;We=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 He.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:a,He}():qe.exports=(Je||(Je=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};Fe.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())}()),Fe)),qe.exports);function Ge(e,t){return e.startsWith(`${t.slice(0,-1)},`)}function Ke(e,t,n,r,o){const{key:i}=n;return d(e,t,e=>{(void 0===e||e.key===i||Ge(i,e.key)||"branch"===r&&Ge(e.key,i))&&o()})}function ze(e,t,n,r){return d(e,t,e=>{void 0!==e&&e.key!==n||r()})}function Ye(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?ze(e.emitter,r,n.key,i):Ke(e.emitter,r,n,o,i)});return 1===s.length?s[0]:()=>s.forEach(e=>e())}function Qe(e){const[t]=o(()=>{const t=O(e);return e&&void 0!==e.values&&de(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(()=>{const e=s.current;e.done&&(e.source===n||w(e.source,n))||(e.done=!0,e.source=n,de(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,de(t,u))},[t,u]),t}function Xe(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 Ue.useSyncExternalStore(a,s,s)}function Ze(e,t,r){return Xe(n(n=>d(e,t,n),[e,t]),r)}function et(e,t){return tt(e,E(t))}function tt(e,t){const{emitter:r}=e,{key:o}=t;return Xe(n(e=>Ke(r,"change",t,"leaf",e),[r,o]),x.bind(null,e,t))}function nt(e,t){return rt(e,E(t))}function rt(e,t){const{emitter:r}=e,{key:o}=t;return Xe(n(e=>ze(r,"touched",o,e),[r,o]),Y.bind(null,e,t))}function ot(e,t){return it(e,E(t))?.message}function it(e,t){const{emitter:r}=e,{key:o}=t;return Xe(n(e=>ze(r,"errors",o,e),[r,o]),M.bind(null,e,t))}function ut(e,t){return st(e,E(t))}function st(e,t){const{emitter:r}=e,{key:o}=t;return Xe(n(e=>ze(r,"errors",o,e),[r,o]),B.bind(null,e,t))}function at(e){return Ze(e.emitter,"change",Q.bind(null,e))}function ct(e){return Ze(e.emitter,"change",ue.bind(null,e))}function lt(e){return Ze(e.emitter,"touched",se.bind(null,e))}function ft(e){return Ze(e.emitter,"errors",he.bind(null,e))}function dt(e){return Ze(e.emitter,"submitting",()=>e.isSubmitting)}function mt(e){const{emitter:t}=e;return Xe(n(e=>{const n=d(t,"errors",e),r=d(t,"submitting",e);return()=>{n(),r()}},[t]),()=>!e.isSubmitting&&!he(e))}function yt(e){return Ze(e.emitter,"submitCount",()=>e.submitCount)}function ht(e){const t=u(()=>E(y(e)),[e]);return u(()=>t,[t.key])}function vt(e){const t=r(e);return t.current=e,t}function pt(e){const t=vt(e);return n((...e)=>t.current(...e),[t])}function gt(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:Ie("required")}];const n=[],r=(t,n)=>e.messages?.[t]??Ie(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??Ie("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 bt({form:e,name:t,initialValue:n,shouldUnregister:u,validate:a,rules:c,validateDebounce:l,delayError:f,disabled:d,mode:m},y){const h=s(y),v=e||h;if(!v)throw new Error("no form provided");const p=ht(t),g=function(e,t,n,o){const u=s(Ct),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,H(a,t))},i=()=>{r&&(r=!1,q(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(x(a,t),{form:a,path:t,signal:n.signal})}catch(e){throw i(),e}if(!k(s))return R(a,t,s),void i();o(),s.then(e=>{u===c.current&&R(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]),pt(()=>a.validators.get(t.key)?.())}(gt(c,a),p,v,{debounce:l}),b=st(v,p),w=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}(b,f),S=w[0],E=S?.message,V=tt(v,p),O=Ze(v.emitter,"disabled",()=>v.disabled),A=m??v.mode;i(()=>{void 0!==n&&void 0===x(v,p)&&C(v,p,n)},[v,p,n]);const _=pt(e=>{C(v,p,e),("onChange"===A||"all"===A||"onTouched"===A&&Y(v,p)||b.length>0&&"onChange"===v.reValidateMode)&&g(),Te(v,p,A)});i(()=>(v.changeHandlers.set(p.key,_),()=>{v.changeHandlers.get(p.key)===_&&v.changeHandlers.delete(p.key)}),[v,p.key,_]);const T=pt(()=>{K(v,p),("onBlur"===A||"onTouched"===A||"all"===A||b.length>0&&"onBlur"===v.reValidateMode)&&g()});return i(()=>()=>{!1!==u&&le(v,p)},[p,v,u]),{form:v,value:V,error:E,errorObject:S,errors:w,onChange:_,onBlur:T,name:p.key,disabled:O||!!d}}function kt(e){return bt(e,Ct)}let wt=0;function St(){return"_"+ ++wt}const Et=new WeakMap;function Vt(e,t,n){let r=Et.get(e);r||(r=new Map,Et.set(e,r)),r.set(t,n)}function Ot(e){return e+1}function At(e,t){const o=s(t),u=e.form||o;if(!u)throw new Error("no form provided");const c=ht(e.name),l=r([]),f=n(()=>x(u,c)||[],[u,c]),d=n(e=>{C(u,c,e)},[u,c]),m=n(()=>{const e=f();for(;l.current.length<e.length;)l.current.push(St());for(;l.current.length>e.length;)l.current.pop();return l.current.map((e,t)=>({id:e,index:t}))},[f]),[y,h]=a(m,void 0,m);i(()=>Ke(u.emitter,"change",c,"branch",h),[u.emitter,c]),Vt(u,c.key,l.current),i(()=>(Vt(u,c.key,l.current),()=>{const e=Et.get(u);e?.get(c.key)===l.current&&e.delete(c.key)}),[u,c.key]);return{fields:y,append:pt(e=>{const t=f();l.current.push(St()),d([...t,e])}),prepend:pt(e=>{const t=f();l.current.unshift(St()),d([e,...t])}),insert:pt((e,t)=>{const n=f();l.current.splice(e,0,St());const r=[...n.slice(0,e),t,...n.slice(e)];d(r)}),remove:pt(e=>{const t=f();l.current.splice(e,1);const n=t.filter((t,n)=>n!==e);d(n)}),swap:pt((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:pt((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:pt(e=>{l.current=e.map(()=>St()),d([...e])}),update:pt((e,t)=>{const n=f();if(e<0||e>=n.length)return;const r=[...n];r[e]=t,d(r)})}}function _t(e){return At(e,Ct)}function xt(e,t){const o=s(t),u=e.form||o;if(!u)throw new Error("no form provided");const{id:c}=e,l=ht(e.name),f=n(()=>function(e,t){return Et.get(e)?.get(t)}(u,l.key)?.indexOf(c)??-1,[u,l.key,c]),d=n(e=>{const t=x(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=vt({computeIndex:f,computeValue:d}),[,p]=a(Ot,0);i(()=>Ke(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)||p()}),[u.emitter,l,v]);const g=ht([...l.value,m]),b=st(u,g);return{value:y,setValue:pt(e=>{if(m<0)return;const t=[...x(u,l)??[]];m>=t.length||(t[m]=e,C(u,l,t))}),errors:b,error:b[0]?.message,name:g.key,index:m,form:u}}function Tt(e){return xt(e,Ct)}const Ct=c(null),jt=Ct.Provider;function Lt(){const e=s(Ct);if(!e)throw new Error("no form provided");return e}function Dt(){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 bt(t,e)},useFieldArray:function(t){return At(t,e)},useFieldArrayItem:function(t){return xt(t,e)}}}const Mt=c(null),Nt=Mt.Provider;function $t(){const e=s(Mt);if(!e)throw new Error("no group provided");return e}function Bt({form:t,context:n,initialValues:r,values:o,onSubmit:i,onValidSubmit:u,onInvalidSubmit:s,shouldFocusError:a,...c}){const l=Qe({initialValues:r,values:o}),f=t||l,d=Be(f,{onSubmit:i,onValidSubmit:u,onInvalidSubmit:s,shouldFocusError:a}),{Provider:m}=n??Ct;return e.createElement(m,{value:f},e.createElement("form",{...c,noValidate:!0,onSubmit:d}))}function Pt(e){return e.replace(/["'[\],\s]+/g,"-").replace(/^-+|-+$/g,"")||"field"}function It(e,t,n){return{"aria-invalid":!!e||n["aria-invalid"],"aria-describedby":e?[n["aria-describedby"],Pt(t)].filter(Boolean).join(" "):n["aria-describedby"]}}function Wt(e){return Pt(E(e).key)}const qt=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,...p},g)=>{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)}(g,e)},[g]),{value:E,onChange:V,onBlur:O,error:A,form:_,name:x,disabled:T}=kt({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 j=n??(e=>e.target.value),L=Pt(x);return e.createElement(e.Fragment,null,e.createElement(C,{...p,name:x,onBlur:O,...i,...a?a(E):{value:E},...It(A,x,p),disabled:T,onChange:e=>V(j(e)),ref:S}),A&&u?e.createElement("span",{id:L,role:"alert"},u(A,L)):null)}),Ht=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:p,disabled:g}=kt({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:p,onBlur:h,type:"checkbox",checked:!!m,...It(v,p,f),disabled:g,onChange:e=>y(e.target.checked),ref:d})});function Jt(e,t){return e?Array.isArray(t)?t:[]:t??""}const Rt=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:p,error:g,name:b,disabled:k}=kt({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:p,multiple:n,value:Jt(n,h),...It(g,b,m),disabled:k,onChange:e=>v(n?Array.from(e.target.selectedOptions,e=>e.value):e.target.value),ref:y},r)});export{Ht as Checkbox,Mt as CheckboxGroupContext,Nt as CheckboxGroupProvider,qt as Field,Bt as Form,Ct as FormContext,jt as FormProvider,Rt as Select,V as VALIDATION_OUTCOME,j as changeValue,L as changeValueByPath,F as clearErrors,O as createForm,Dt as createFormContext,Ce as ensureValidate,Wt as fieldErrorId,ue as getDirtyFields,D as getError,M as getErrorByPath,P as getErrors,$ as getFieldErrors,B as getFieldErrorsByPath,W as getFieldState,I as getFirstError,se as getTouchedFields,_ as getValue,x as getValueByPath,A as getValues,Be as handleSubmit,he as hasErrors,z as hasTouched,Y as hasTouchedByPath,De as incrementSubmitCount,Q as isDirty,ae as isTouched,ce as removeField,le as removeFieldByPath,me as reset,ye as resetField,Te as revalidateFormOnChange,Ne as setDisabled,J as setError,R as setErrorByPath,Pe as setFocus,de as setInitialValues,Le as setIsSubmitting,U as setServerErrors,Me as setSubmitSuccessful,G as setTouched,K as setTouchedByPath,H as setValidatingByPath,T as setValue,C as setValueByPath,Ye as subscribe,ve as trigger,q as unsetValidatingByPath,mt as useCanSubmit,$t as useCheckboxGroupContext,ct as useDirtyFields,ot as useError,it as useErrorByPath,kt as useField,_t as useFieldArray,Tt as useFieldArrayItem,ut as useFieldErrors,st as useFieldErrorsByPath,Qe as useForm,Lt as useFormContext,ft as useHasErrors,at as useIsDirty,dt as useIsSubmitting,yt as useSubmitCount,nt as useTouched,rt as useTouchedByPath,lt as useTouchedFields,et as useValue,tt as useValueByPath,Ze as useWatch,je as validate};
2
2
  //# sourceMappingURL=index.mjs.map