react-f0rm 1.4.0 → 1.5.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.
Files changed (84) hide show
  1. package/README.md +17 -4
  2. package/dist/array-Bu7W8BSz.d.ts +54 -0
  3. package/dist/devtools/index.cjs.js +1 -1
  4. package/dist/devtools/index.cjs.js.map +1 -1
  5. package/dist/devtools/index.d.cts +8 -18
  6. package/dist/devtools/index.d.mts +8 -18
  7. package/dist/devtools/index.d.ts +8 -18
  8. package/dist/devtools/index.mjs +1 -1
  9. package/dist/devtools/index.mjs.map +1 -1
  10. package/dist/errors-DA4ReEd9.mjs +2 -0
  11. package/dist/errors-DA4ReEd9.mjs.map +1 -0
  12. package/dist/errors-TzyWwBfw.cjs.js +2 -0
  13. package/dist/errors-TzyWwBfw.cjs.js.map +1 -0
  14. package/dist/index.cjs.js +1 -1
  15. package/dist/index.cjs.js.map +1 -1
  16. package/dist/index.d.cts +347 -927
  17. package/dist/index.d.mts +347 -927
  18. package/dist/index.d.ts +347 -927
  19. package/dist/index.mjs +1 -1
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/index.umd.js +538 -451
  22. package/dist/index.umd.js.map +1 -1
  23. package/dist/index.umd.min.js +2 -2
  24. package/dist/index.umd.min.js.map +1 -1
  25. package/dist/persist.cjs.js +1 -1
  26. package/dist/persist.cjs.js.map +1 -1
  27. package/dist/persist.d.cts +9 -30
  28. package/dist/persist.d.mts +9 -30
  29. package/dist/persist.d.ts +9 -30
  30. package/dist/persist.mjs +1 -1
  31. package/dist/persist.mjs.map +1 -1
  32. package/dist/resolvers/standard-schema.cjs.js +1 -1
  33. package/dist/resolvers/standard-schema.d.cts +1 -1
  34. package/dist/resolvers/standard-schema.d.mts +1 -1
  35. package/dist/resolvers/standard-schema.d.ts +1 -1
  36. package/dist/resolvers/standard-schema.mjs +1 -1
  37. package/dist/resolvers/yup.cjs.js +1 -1
  38. package/dist/resolvers/yup.mjs +1 -1
  39. package/dist/resolvers/zod.cjs.js +1 -1
  40. package/dist/resolvers/zod.cjs.js.map +1 -1
  41. package/dist/resolvers/zod.d.cts +30 -2
  42. package/dist/resolvers/zod.d.mts +30 -2
  43. package/dist/resolvers/zod.d.ts +30 -2
  44. package/dist/resolvers/zod.mjs +1 -1
  45. package/dist/resolvers/zod.mjs.map +1 -1
  46. package/dist/server/index.cjs.js +1 -1
  47. package/dist/server/index.cjs.js.map +1 -1
  48. package/dist/server/index.d.cts +24 -92
  49. package/dist/server/index.d.mts +24 -92
  50. package/dist/server/index.d.ts +24 -92
  51. package/dist/server/index.mjs +1 -1
  52. package/dist/server/index.mjs.map +1 -1
  53. package/dist/standard-schema-BAaTmAHh.d.ts +682 -0
  54. package/dist/standardSchema-5WezjHlp.mjs +2 -0
  55. package/dist/standardSchema-5WezjHlp.mjs.map +1 -0
  56. package/dist/standardSchema-DINHlsYR.cjs.js +2 -0
  57. package/dist/standardSchema-DINHlsYR.cjs.js.map +1 -0
  58. package/dist/validate-2pX-N1O6.cjs.js +2 -0
  59. package/dist/validate-2pX-N1O6.cjs.js.map +1 -0
  60. package/dist/validate-C0HOsP9v.mjs +2 -0
  61. package/dist/validate-C0HOsP9v.mjs.map +1 -0
  62. package/dist/values-BbPnLByD.cjs.js +2 -0
  63. package/dist/values-BbPnLByD.cjs.js.map +1 -0
  64. package/dist/values-CHsmcZk4.mjs +2 -0
  65. package/dist/values-CHsmcZk4.mjs.map +1 -0
  66. package/package.json +6 -4
  67. package/dist/array-3hAjl6Bz.d.ts +0 -160
  68. package/dist/errors-8oPux7GR.cjs.js +0 -2
  69. package/dist/errors-8oPux7GR.cjs.js.map +0 -1
  70. package/dist/errors-ClH3eV1R.mjs +0 -2
  71. package/dist/errors-ClH3eV1R.mjs.map +0 -1
  72. package/dist/standard-schema-CYbnugL7.d.ts +0 -1184
  73. package/dist/standardSchema-BpZvg0tZ.mjs +0 -2
  74. package/dist/standardSchema-BpZvg0tZ.mjs.map +0 -1
  75. package/dist/standardSchema-CxV_DhBO.cjs.js +0 -2
  76. package/dist/standardSchema-CxV_DhBO.cjs.js.map +0 -1
  77. package/dist/validate-BEjNsNvd.mjs +0 -2
  78. package/dist/validate-BEjNsNvd.mjs.map +0 -1
  79. package/dist/validate-BvN6hiEG.cjs.js +0 -2
  80. package/dist/validate-BvN6hiEG.cjs.js.map +0 -1
  81. package/dist/values-Bod74Kzu.mjs +0 -2
  82. package/dist/values-Bod74Kzu.mjs.map +0 -1
  83. package/dist/values-DKpOCD5J.cjs.js +0 -2
  84. package/dist/values-DKpOCD5J.cjs.js.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{on as e,emit as t,create as n,setMaxListeners as r}from"@for-fun/event-emitter";import*as o from"react";import{useRef as i,useCallback as u,useSyncExternalStore as s,useState as a,useEffect as c,useMemo as l,useContext as d,useReducer as f,createContext as y,createElement as m}from"react";const v=new Map;function h(e){if(Array.isArray(e))return e;const t=v.get(e);if(t)return t;const n=function(e){const t=[];let n="";const r=()=>{if(g(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(g(r)?Number(r):r),o=n}}else n+=i}""===n&&0!==t.length||r();return t}(e);if(v.size>=1e4){const e=v.keys().next();e.done||v.delete(e.value)}return v.set(e,n),n}const g=e=>/^-?\d+$/.test(e);function p(e,t){return t.reduce((e,t)=>{if(null!=e)return e[t]},e)}function b(e,t){if(!t.length||null==e)return e;const[n,...r]=t;if(r.length){const t=b(e[n],r);return t===e[n]?e:k(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 k(e,t,n){if(!t.length)return n;const[r,...o]=t,i="number"==typeof r?r:Array.isArray(e)&&"string"==typeof r&&g(r)?Number(r):void 0;if(void 0!==i){const t=Array.isArray(e)?e.slice():[];return t[i]=k(t[i],o,n),t}return{...e,[r]:k(e&&e[r],o,n)}}function S(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&&g(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 w(e){return e&&"function"==typeof e.then}function A(e,t){const n=e?.target;return n?"file"===n.type?n.files:"checkbox"===n.type?n.checked:t?.valueAsNumber?n.valueAsNumber:t?.valueAsDate?n.valueAsDate:n.value:e}function V(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(!V(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(!V(e[n],t[n]))return!1;return!0}function O(t,n,r,o){return new Promise((i,u)=>{if(o())return void u();if(r())return void i();const s=e(t,n,()=>{if(o())return s(),void u();r()&&(s(),i())})})}function E(e){const t=h(e);return{value:t,key:JSON.stringify(t)}}const M=new WeakMap;function N(e){const t=M.get(e);t&&t.version++}const x=new WeakMap;function j(e){const t=x.get(e);t&&t.version++}const D=new WeakMap;function C(e,t,n){const r=D.get(e);return r?.has(t)?r.get(t):p(e.initialValues,n)}function T(e,{key:t},n){let r=D.get(e);r||(r=new Map,D.set(e,r)),r.set(t,n)}function L(e,{key:t}){const n=D.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 q(e,t){const n=D.get(e);n&&(void 0===t?n.clear():n.delete(t))}const J=new WeakMap;function $(e){const t=J.get(e);t&&t.version++}function F(e){return e.some(e=>"number"==typeof e)}function U(e){return!!e&&"object"==typeof e&&"string"==typeof e.type&&"string"==typeof e.message}const W="_form",P=Symbol("validation-outcome");function B(e,t){return z(e,E(t))}function z({errors:e},t){return e.get(t.key)?.[0]}const I=[];function _(e,t){return R(e,E(t))}function R({errors:e},t){return e.get(t.key)??I}function G({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 H(e){const t=x.get(e);if(t&&0===t.version)return;const n={},r={};for(const[t,o]of e.errors){const e=JSON.parse(t);n[e.join(".")]=o;let i=r;for(let t=0;t<e.length-1;t++){const n=e[t],r=i[n],o=!r||Array.isArray(r)&&r.length>0&&U(r[0])?"number"==typeof e[t+1]?[]:{}:r;i[n]=o,i=o}i[e[e.length-1]]=o}t?(t.result=n,t.tree=r,t.version=0):x.set(e,{version:0,result:n,tree:r})}function K(e){return H(e),x.get(e).result}function Q(e){return H(e),x.get(e).tree}function X(e){return E(e).value.join(".")}function Y(e){const t=e.split(".");return t.map((e,t)=>t>0&&(e=>/^(0|[1-9]\d*)$/.test(e))(e)?`[${e}]`:`${t>0?".":""}${e}`).join("")}function Z({errors:e}){return e.values().next().value?.[0]?.message}function ee(e,t,n,r){te(e,E(t),n,r)}function te(e,n,r,o){const{emitter:i,errors:u}=e,s=function(e){if("string"==typeof e)return e?[{type:"custom",message:e}]:void 0;if(U(e))return[e];if(!e)return;const t=[];return e.forEach(e=>{"string"==typeof e&&e?t.push({type:"custom",message:e}):U(e)&&t.push(e)}),t.length?t:void 0}(r);s?u.set(n.key,s):u.delete(n.key),j(e),t(i,"errors",n),o?.shouldFocus&&t(i,"focusError",n.key)}function ne(e,n){const{emitter:r,errors:o}=e;if(void 0===n)return o.clear(),j(e),void t(r,"errors");const i="string"==typeof n||F(n)?[E(n)]:n.map(e=>E(e));for(const{key:e}of i)o.delete(e);j(e);for(const e of i)t(r,"errors",e)}function re(e,t,n){n?.keepExisting||ne(e);for(const[n,r]of Object.entries(t))ee(e,n,(Array.isArray(r)?r:[r]).map(e=>({type:"server",message:e})))}function oe(e){let n=!1;for(const[t,r]of e.errors){const o=r.filter(e=>"server"!==e.type);0===o.length?(e.errors.delete(t),n=!0):o.length!==r.length&&(e.errors.set(t,o),n=!0)}n&&(j(e),t(e.emitter,"errors"))}function ie({errors:e}){return e.size>0}function ue(e){return!!e&&"object"==typeof e&&"function"==typeof e["~standard"]?.validate}function se(e){return{type:"standard",message:e?.message||"Validation failed"}}function ae(e){return async t=>{const n=await e["~standard"].validate(t);if(n.issues?.length)return n.issues.map(se)}}function ce(e){const t=e.path||[],n=[];for(const e of t){const t="object"==typeof e&&null!==e?e.key:e;n.push(String(t))}return n}function le(e,t,n){let r=e;for(let e=0;e<t.length-1;e++){const n=t[e];let o=r[n];if(void 0===o&&(o=r[n]={}),!de(o))return;r=o}const o=t[t.length-1],i=r[o];void 0===i?r[o]=[n]:Array.isArray(i)&&i.push(n)}function de(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function fe(e){let t=!1;const n={};return Object.entries(e).forEach(([e,r])=>{if(de(r)){const o=fe(r);o&&(n[e]=o,t=!0)}else n[e]=r,t=!0}),t?n:void 0}function ye(e,t){const n=e.values.get(t.key);return e.values.has(t.key)&&C(e,t.key,t.value)!==n}function me(e){let t=!1;return ve(e,()=>{t=!0}),t}function ve(e,t){for(const[n,r]of e.values){const o=JSON.parse(n);C(e,n,o)!==r&&t(o.join("."))}}function he(e){const t={};return ve(e,e=>{t[e]=!0}),t}function ge(e){let t=J.get(e);if(t){if(t.version>0){const n=he(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:he(e)},J.set(e,t);return t.result}function pe(e,t){be(e,E(t))}function be({emitter:e,touched:n},r){n.has(r.key)||(n.add(r.key),t(e,"touched",r))}function ke(e,t){return Se(e,E(t))}function Se({touched:e},t){return e.has(t.key)}function we({touched:e}){return Array.from(e,e=>JSON.parse(e).join("."))}function Ae({touched:e}){return e.size>0}function Ve(e){let t=M.get(e);return t?t.version>0&&(t.result=Oe(e),t.version=0):(t={version:0,result:Oe(e)},M.set(e,t)),t.result}function Oe(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=S(u,JSON.parse(e),t,i);for(const e of o)u=b(u,JSON.parse(e));return u}function Ee(e,t){return Me(e,E(t))}function Me({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 p(n.get(t),u.slice(e))}return p(t??e,u)}}function Ne(e,t,n,r){xe(e,E(t),n,r)}function xe(e,n,r,o){const{emitter:i,values:u,deleted:s}=e,a="function"==typeof r?r(Me(e,n)):r;u.set(n.key,a),qe(u,n),Je(s,n),L(e,n),!1===o?.shouldDirty&&T(e,n,a),$(e),N(e),o?.shouldTouch&&be(e,n),o?.shouldValidate&&e.validators.get(n.key)?.(),t(i,"change",n)}function je(e,t,n){const{values:r,deleted:o}=e;r.set(t.key,n),qe(r,t),Je(o,t),L(e,t),$(e),N(e)}function De({emitter:e},n){t(e,"change",n)}function Ce(e,t){const n=E(t),{touched:r,validating:o}=e;return{value:Me(e,n),error:z(e,n),errors:R(e,n),isDirty:ye(e,n),isTouched:r.has(n.key),isValidating:o.has(n.key)}}function Te(e,t,n){Le(e,E(t),n)}function Le(e,n,r){const{key:o,value:i}=n,{emitter:u,values:s,touched:a,errors:c,validating:l,deleted:d}=e;r?.keepValue||r?.keepDirty||(s.delete(o),q(e,o),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}(s,i)||d.add(o)),r?.keepTouched||a.delete(o),!r?.keepError&&c.delete(o)&&j(e),l.delete(o),$(e),N(e),t(u,"change",n),t(u,"touched",n),t(u,"errors",n),t(u,"validating",n)}function qe(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 Je(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 $e(e,n){e.initialValues===n||V(e.initialValues,n)||(e.initialValues=n,e.parsedValues=void 0,e.values.clear(),e.deleted.clear(),q(e),$(e),N(e),t(e.emitter,"change"))}function Fe(e,t,n){if(null!==e&&"object"==typeof e){if(Array.isArray(e)){for(let r=0;r<e.length;r++)Fe(e[r],[...t,r],n);return}const r=Object.keys(e);if(r.length>0){for(const o of r)Fe(e[o],[...t,o],n);return}}n.push({segments:t,value:e})}function Ue(e,n,r){const o=[];if(r?.keepValues)Fe(Ve(e),[],o);else if(r?.keepDirtyValues)for(const[t,n]of e.values){const r=JSON.parse(t);C(e,t,r)!==n&&o.push({segments:r,value:n})}e.initialValues=r?.keepDefaultValues?e.initialValues:n??e.initialValues,e.parsedValues=void 0,r?.keepErrors||ne(e);const{emitter:i,touched:u,values:s,deleted:a,validating:c}=e;s.clear(),a.clear(),q(e),r?.keepTouched||u.clear(),c.clear(),r?.keepIsSubmitting||(e.isSubmitting=!1),r?.keepSubmitCount||(e.submitCount=0),r?.keepIsSubmitted||(e.isSubmitted=!1),r?.keepIsSubmitSuccessful||(e.isSubmitSuccessful=void 0),$(e),N(e);for(const{segments:t,value:n}of o)xe(e,E(t),n);t(i,"change"),t(i,"touched"),t(i,"validating"),t(i,"submitting"),t(i,"submitCount"),t(i,"submitSuccessful"),t(i,"reset")}function We(e,n,r){const o=E(n),{emitter:i,values:u,touched:s,errors:a,deleted:c}=e;if(u.delete(o.key),q(e,o.key),void 0!==e.parsedValues){e.parsedValues=b(e.parsedValues,o.value);const t=p(e.initialValues,o.value);void 0!==t&&u.set(o.key,t)}r&&"value"in r&&u.set(o.key,r.value),Je(c,o),t(i,"change"),!r?.keepTouched&&s.delete(o.key)&&t(i,"touched",o),!r?.keepErrors&&a.delete(o.key)&&(j(e),t(i,"errors",o)),$(e),N(e)}function Pe({emitter:e,validating:n},r){n.delete(r.key),t(e,"validating",r)}function Be({emitter:e,validating:n},r){n.add(r.key),t(e,"validating",r)}function ze(e,t,n){let r=null,o=null,i=!1,u=null,s=null;const a=e=>void 0!==e&&!(Array.isArray(e)&&0===e.length),c=()=>{i||(i=!0,Be(e,t))},l=()=>{i&&(i=!1,Pe(e,t))},d=()=>{const r=n.sync();if(!r)return!1;const o=r(Me(e,t),{form:e,path:t});return a(o)?(te(e,t,o),s="sync",!0):(n.validate()&&"sync"!==s||(te(e,t,void 0),s=null),!1)},f=r=>{if(n.asyncAlways?.()){const o=(()=>{const r=n.sync();if(!r)return null;const o=r(Me(e,t),{form:e,path:t});if(void 0===o)return null;const i=Array.isArray(o)?o:[o];return i.length?i:null})(),i=void 0===r?[]:Array.isArray(r)?r:[r];te(e,t,[...o??[],...i]),s=a(r)?"validator":o?"sync":null}else te(e,t,r),s=a(r)?"validator":null},y=()=>{null!==r&&(clearTimeout(r),r=null),o?.abort(),u={}},m=()=>{const r=n.validate();if(!r)return void l();o?.abort(),o=new AbortController;const i=u={};let s;try{s=r(Me(e,t),{form:e,path:t,signal:o.signal})}catch(e){throw l(),e}if(!w(s))return f(s),void l();c(),s.then(e=>{u===i&&f(e)}).catch(()=>{}).finally(()=>{u===i&&(l(),u=null)})},v=()=>{if(r=null,d()&&!n.asyncAlways?.())return y(),void l();m()};return e.validators.set(t.key,()=>{if(d()&&!n.asyncAlways?.())return y(),void l();if(!n.validate())return;const e=n.debounce();if(e>0)return null!==r?clearTimeout(r):c(),void(r=setTimeout(v,e));m()}),()=>{e.validators.delete(t.key),null!==r&&(clearTimeout(r),r=null),l(),o?.abort()}}async function Ie(e,n,r){const o=t=>O(e.emitter,"validating",()=>void 0===t?Xe(e):t.every(t=>!e.validating.has(t)),()=>!1);if(void 0===n){if(e.validators.forEach(e=>e()),await o(),e.validate&&await et(e),r?.shouldTouch&&_e(e,[...e.validators.keys()]),r?.shouldFocus){const n=e.errors.keys().next().value;void 0!==n&&t(e.emitter,"focusError",n)}return!ie(e)}const i="string"==typeof n||F(n)?[E(n).key]:n.map(e=>E(e).key);if(i.forEach(t=>e.validators.get(t)?.()),await o(i),r?.shouldTouch&&_e(e,i),r?.shouldFocus){const n=i.find(t=>e.errors.has(t));void 0!==n&&t(e.emitter,"focusError",n)}return i.every(t=>!e.errors.has(t))}function _e(e,t){t.forEach(t=>be(e,E(JSON.parse(t))))}function Re(e,t,n=[],r){Object.entries(t).forEach(([t,o])=>{const i=[...n,...g(t)?[t]:h(t)];"string"==typeof o?o&&(ee(e,i,o),Ge(e,i,r)):Array.isArray(o)||U(o)?(ee(e,i,o),Ge(e,i,r)):o&&"object"==typeof o&&Re(e,o,i,r)})}function Ge(e,t,n){if(!n)return;const r=E(t),o=e.errors.get(r.key);o&&n.set(r.key,o)}function He(e,n){const r=e.validateDeps||"onSubmit"!==e.validateMode?function(e){let t=Ke.get(e);t||(t=new Map,Ke.set(e,t));return t}(e):void 0;if(r&&(!function(e,n){for(const[r,o]of n){e.errors.get(r)===o&&(e.errors.delete(r),j(e),t(e.emitter,"errors",E(JSON.parse(r))))}}(e,r),r.clear()),n){if("object"==typeof n&&P in n){const o=n;return o.errors&&Re(e,o.errors,[],r),void function(e,n){void 0!==n&&n!==e.parsedValues&&(e.parsedValues=n,N(e),t(e.emitter,"change"))}(e,o.values)}Re(e,n,[],r)}}const Ke=new WeakMap;const Qe="__form_validate__";function Xe(e){for(const t of e.validating)if(t!==Qe)return!1;return!0}const Ye=Symbol("form-validate-settled"),Ze=new WeakMap;function et(e){const n=e.validate;if(!n)return Promise.resolve();const r=e.validateDebounce??0;if(r<=0){const t=new AbortController;return Promise.resolve(n(Ve(e),{form:e,signal:t.signal})).then(t=>{He(e,t)})}const o=function(e){let t=Ze.get(e);return t||(t={timer:null,controller:null,round:null,marked:!1,waiters:[]},Ze.set(e,t)),t}(e);return null!==o.timer?clearTimeout(o.timer):(o.marked=!0,e.validating.add(Qe),t(e.emitter,"validating")),o.timer=setTimeout(()=>{o.timer=null;const t=o.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(Ve(e),{form:e,signal:o.signal}))}catch(e){i=Promise.reject(e)}return i.then(r=>{t.round===n&&He(e,r)},e=>{if(t.round===n)throw e})})(e,o,t).then(()=>tt(e,o,t,Ye),n=>tt(e,o,t,n))},r),new Promise((e,t)=>{o.waiters.push({resolve:e,reject:t})})}function tt(e,n,r,o){if(n.round!==r)return;if(n.round=null,null!==n.timer)return;n.marked&&(n.marked=!1,e.validating.delete(Qe),t(e.emitter,"validating"));const i=n.waiters;n.waiters=[];for(const e of i)o===Ye?e.resolve():e.reject(o)}function nt(e,t,n){e.validateDeps?.has(t.key)&&e.validate&&("onChange"===n||"all"===n||"onTouched"===n&&Se(e,t)||"onChange"===e.reValidateMode&&function(e){const t=Ke.get(e);if(!t)return!1;for(const[n,r]of t)if(e.errors.get(n)===r)return!0;return!1}(e))&&et(e).catch(()=>{})}const rt=new WeakMap;function ot(e,t,n){let r=rt.get(e);r||(r=new Map,rt.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 it(e,t,n){const r=rt.get(e);if(r)for(const e of n){const n=r.get(e);n?.delete(t)&&(n.size||r.delete(e))}}function ut(e,t,n){const r=rt.get(e)?.get(t.key);if(r?.size)for(const o of r)o!==t.key&&("onChange"===n||"all"===n||"onTouched"===n&&Se(e,t)||"onChange"===e.reValidateMode&&e.errors.has(o))&&e.validators.get(o)?.()}function st(e){const t=new Error(Z(e));return t.errors=G(e),t}async function at(e){if(e.validators.forEach(e=>e()),await O(e.emitter,"validating",()=>Xe(e),()=>ie(e)).catch(()=>{throw st(e)}),e.validate&&(await et(e),ie(e)))throw st(e)}async function ct(e){return at(e).catch(e=>e.message)}const lt=new WeakMap;function dt(e,t,n,r){ft(e,E(t),n,r)}function ft(e,t,n,r){!1===r?.shouldDirty&&T(e,t,n),lt.get(e)?.get(t.key)?vt(e,t,n):xe(e,t,n,r)}function yt(e,t,n){let r=lt.get(e);r||(r=new Map,lt.set(e,r));const o=r.has(t.key),i={};return r.set(t.key,{mode:n,token:i}),{token:i,displaced:o}}function mt(e,t,n){const r=lt.get(e),o=r?.get(t.key);r&&o&&o.token===n&&r.delete(t.key)}function vt(e,t,n){xe(e,t,n);const r=lt.get(e)?.get(t.key);r&&function(e,t,n){("onChange"===n||"all"===n||"onTouched"===n&&Se(e,t)||R(e,t).length>0&&"onChange"===e.reValidateMode)&&e.validators.get(t.key)?.(),nt(e,t,n),"onChange"===e.validateMode&&e.validate&&et(e).catch(()=>{}),ut(e,t,n)}(e,t,r.mode??e.mode)}function ht(e,t){be(e,t);const n=lt.get(e)?.get(t.key);if(!n)return;const r=n.mode??e.mode;("onBlur"===r||"onTouched"===r||"all"===r||R(e,t).length>0&&"onBlur"===e.reValidateMode)&&e.validators.get(t.key)?.(),"onBlur"===e.validateMode&&e.validate&&et(e).catch(()=>{})}function gt(e,t){const{key:n}=t,r={present:e.values.has(n),value:e.values.get(n),touched:e.touched.has(n),errors:e.errors.get(n)};return Le(e,t),r}function pt(e,n,r){const{key:o}=n;r.present?xe(e,n,r.value,{shouldDirty:!1}):(e.deleted.delete(o),N(e),t(e.emitter,"change",n)),r.touched&&be(e,n),r.errors&&te(e,n,r.errors)}function bt(e){return void 0!==e.required||void 0!==e.min||void 0!==e.max||void 0!==e.minLength||void 0!==e.maxLength||void 0!==e.pattern||void 0!==e.validate}function kt(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"}}function St(e){return(t,n)=>{if(e.required&&(""===t||null==t||Array.isArray(t)&&0===t.length))return[{type:"required",message:"string"==typeof e.required?e.required:kt("required")}];const r=[],o=(t,n)=>e.messages?.[t]??kt(t,n);if(void 0!==e.min){const n=Number(t);!Number.isNaN(n)&&n<e.min&&r.push({type:"min",message:o("min",e.min)})}if(void 0!==e.max){const n=Number(t);!Number.isNaN(n)&&n>e.max&&r.push({type:"max",message:o("max",e.max)})}const i="string"==typeof t||Array.isArray(t);if(void 0!==e.minLength&&i&&t.length<e.minLength&&r.push({type:"minLength",message:o("minLength",e.minLength)}),void 0!==e.maxLength&&i&&t.length>e.maxLength&&r.push({type:"maxLength",message:o("maxLength",e.maxLength)}),e.pattern&&!e.pattern.value.test(t)&&r.push({type:"pattern",message:e.messages?.pattern??e.pattern.message??kt("pattern")}),void 0!==e.validate){const o="function"==typeof e.validate?{validate:e.validate}:e.validate;for(const[e,i]of Object.entries(o)){const o=i(t,n);if(void 0!==o)for(const t of Array.isArray(o)?o:[o])r.push("string"==typeof t?{type:e,message:t}:{...t,type:e})}}return r.length?r:void 0}}function wt(e){const t={};return e.required&&(t.required=!0),void 0!==e.min&&(t.min=e.min),void 0!==e.max&&(t.max=e.max),void 0!==e.minLength&&(t.minLength=e.minLength),void 0!==e.maxLength&&(t.maxLength=e.maxLength),e.pattern&&(t.pattern=e.pattern.value.source),t}function At(t,n,r){const o=E(n),{mode:i,shouldUnregister:u,eventToValue:s,valueAsNumber:a,valueAsDate:c,rules:l}=r??{},d=s??(e=>{const t=e?.target;return t?"file"===t.type?t.files:"checkbox"===t.type?t.checked:a?t.valueAsNumber:c?t.valueAsDate:t.value:e});let f=null,y=null,m=null,v=null,h=null,g=null;const p=n=>{if(v&&(pt(t,o,v),v=null),f=n,"file"!==n.type&&void 0===Me(t,o)&&(je(t,o,"checkbox"===n.type?n.checked:n.value),De(t,o)),y=yt(t,o,i).token,l&&bt(l)){const e=void 0!==l.required?St({required:l.required}):void 0,n=void 0!==l.required?{...l,required:void 0}:l;m=ze(t,o,{validate:()=>bt(n)?St(n):void 0,debounce:()=>0,sync:()=>e})}h=e(t.emitter,"focusError",(e,t)=>{e===o.key&&f&&"function"==typeof f.focus&&(f.focus(),t?.shouldSelect&&"function"==typeof f.select&&f.select())}),g=e(t.emitter,"change",e=>{e||(()=>{if(!f||"file"===f.type)return;const e=Me(t,o),n=null==e?"":String(e);f.value!==n&&(f.value=n)})()})};return{name:o.key,onChange:e=>ft(t,o,d(e)),onBlur:()=>ht(t,o),ref:e=>{e?p(e):(y&&(mt(t,o,y),y=null),m&&(m(),m=null),h&&(h(),h=null),g&&(g(),g=null),f=null,!1!==(u??t.shouldUnregister)&&(v=gt(t,o)))}}}function Vt(e,t){const n=Me(e,t);return Array.isArray(n)?n:[]}function Ot(e,t,n){xe(e,t,[...Vt(e,t),n])}function Et(e,t,n){xe(e,t,[n,...Vt(e,t)])}function Mt(e,t,n,r){const o=Vt(e,t);return!(n<0||n>o.length)&&(xe(e,t,[...o.slice(0,n),r,...o.slice(n)]),!0)}function Nt(e,t,n){const r=Vt(e,t),o=new Set;for(const e of Array.isArray(n)?n:[n])e>=0&&e<r.length&&o.add(e);if(0===o.size)return[];const i=[...o].sort((e,t)=>t-e);return xe(e,t,r.filter((e,t)=>!o.has(t))),i}function xt(e,t,n,r){const o=Vt(e,t);if(n<0||n>=o.length||r<0||r>=o.length)return!1;if(n===r)return!1;const i=[...o],[u]=i.splice(n,1);return i.splice(r,0,u),xe(e,t,i),!0}function jt(e,t,n,r){const o=Vt(e,t);if(n<0||n>=o.length||r<0||r>=o.length)return!1;if(n===r)return!1;const i=[...o];return[i[n],i[r]]=[i[r],i[n]],xe(e,t,i),!0}function Dt(e,t,n){xe(e,t,[...n])}function Ct(e,t,n,r){const o=Vt(e,t);if(n<0||n>=o.length)return!1;const i=[...o];return i[n]=r,xe(e,t,i),!0}function Tt(e,t,n){Ot(e,E(t),n)}function Lt(e,t,n){Et(e,E(t),n)}function qt(e,t,n,r){return Mt(e,E(t),n,r)}function Jt(e,t,n){return Nt(e,E(t),n)}function $t(e,t,n,r){return xt(e,E(t),n,r)}function Ft(e,t,n,r){return jt(e,E(t),n,r)}function Ut(e,t,n){Dt(e,E(t),n)}function Wt(e,t,n,r){return Ct(e,E(t),n,r)}function Pt(e,n){e.isSubmitting=n,t(e.emitter,"submitting")}function Bt(e){e.submitCount++,t(e.emitter,"submitCount")}function zt(e,n){e.isSubmitSuccessful=n,t(e.emitter,"submitSuccessful")}function It(e,n){e.disabled=n,t(e.emitter,"disabled")}function _t(e,n){e.status=n,t(e.emitter,"status")}function Rt(e){if(e.startsWith("["))try{const t=JSON.parse(e);if(Array.isArray(t))return t.join(".")}catch{}return e}function Gt(e,n){const{onSubmit:r,onValidSubmit:o,onInvalidSubmit:i,onAction:u,shouldFocusError:s=!0,shouldUseNativeValidation:a=e.shouldUseNativeValidation}=n??{};return async n=>{n&&"function"==typeof n.preventDefault&&n.preventDefault();const c=n?.currentTarget;oe(e),e.isSubmitted=!0,Pt(e,!0),Bt(e);const l=Ve(e);if(a&&c&&"function"==typeof c.checkValidity&&!1===c.checkValidity()){if(c.reportValidity(),s&&"function"==typeof c.querySelector){const e=c.querySelector(":invalid");e&&"function"==typeof e.focus&&e.focus()}return Pt(e,!1),zt(e,!1),void(i&&i(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:Rt(r.name),type:"native",message:r.validationMessage})}return t}(c),l))}if(await ct(e)){if(Pt(e,!1),zt(e,!1),s){const n=e.errors.keys().next().value;void 0!==n&&t(e.emitter,"focusError",n)}i&&i(G(e),l)}else try{const t=Ve(e);if(r&&await r(t,n),o&&await o(t,n),u){const r=await u(t,n);if(r&&"object"==typeof r&&void 0!==r.errors&&"object"==typeof r.errors)return re(e,r.errors),void zt(e,!1)}zt(e,!0)}catch{zt(e,!1)}finally{Pt(e,!1)}}}function Ht(e,n,r){const{key:o}=E(n);r?t(e.emitter,"focusError",o,r):t(e.emitter,"focusError",o)}function Kt(e){const o=n();r(o,0);let i=e?.initialValues??{};"function"==typeof i&&(i=i());const u=e?.validate,s=u&&ue(u)?(a=u,async e=>{const t=await a["~standard"].validate(e),{issues:n}=t;if(!n?.length)return{[P]:!0,values:"value"in t?t.value:void 0};const r={};for(const e of n){const t=ce(e);if(t.length)le(r,t,se(e));else{const t=r[W]??=[];Array.isArray(t)&&t.push(se(e))}}return{[P]:!0,errors:fe(r)||{}}}):u;var a;const c={emitter:o,...e,validate:s,mode:e?.mode??"onSubmit",reValidateMode:e?.reValidateMode??"onChange",validateMode:e?.validateMode??"onSubmit",disabled:e?.disabled??!1,validateOnMount:e?.validateOnMount??!1,asyncAlways:e?.asyncAlways??!1,shouldUseNativeValidation:e?.shouldUseNativeValidation??!0,validateDeps:e?.validateDeps?new Set(e.validateDeps.map(e=>E(e).key)):void 0,initialValues:{},values:new Map,deleted:new Set,errors:new Map,touched:new Set,validators:new Map,validating:new Set,parsedValues:void 0,isSubmitting:!1,isSubmitted:!1,submitCount:0,isSubmitSuccessful:void 0,isLoading:!1,status:void 0,register:(e,t)=>At(c,e,t)};return w(i)?(c.isLoading=!0,t(o,"loading"),Promise.resolve(i).then(e=>{$e(c,e??{}),c.isLoading=!1,t(o,"loading")},e=>{c.isLoading=!1,t(o,"loading")})):c.initialValues=i,c}function Qt(e){return e.replace(/["'[\],\s]+/g,"-").replace(/^-+|-+$/g,"")||"field"}function Xt(e){return Qt(E(e).key)}const Yt=new WeakMap;function Zt(e,t){return e.startsWith(`${t.slice(0,-1)},`)}function en(t,n,r,o,i){const{key:u}=r;return e(t,n,e=>{(void 0===e||e.key===u||Zt(u,e.key)||"branch"===o&&Zt(e.key,u))&&i()})}function tn(t,n,r,o){return e(t,n,e=>{void 0!==e&&e.key!==r||o()})}function nn(t,n){const{name:r,event:o="change",scope:i="branch",callback:u}=n;if(void 0===r)return e(t.emitter,o,u);const s=function(e){return Array.isArray(e)&&e.every(e=>"number"!=typeof e)}(r)?r:[r],a=s.map(e=>{const n=E(e);return"errors"===o||"touched"===o?tn(t.emitter,o,n.key,u):en(t.emitter,o,n,i,u)});return 1===a.length?a[0]:()=>a.forEach(e=>e())}function rn(t,n,r,o){const i={hasValue:!1},u=new Set,s=e(t.emitter,n,()=>{if(o&&i.hasValue){const e=r();if(o(i.value,e))return;i.value=e}else i.value=r(),i.hasValue=!0;u.forEach(e=>e())});return{getSnapshot:()=>(i.hasValue||(i.value=r(),i.hasValue=!0),i.value),subscribe:e=>(u.add(e),()=>{u.delete(e)}),dispose:()=>{s(),u.clear()}}}function on(t){const[n]=a(()=>{const e=Kt(t);return t&&void 0!==t.values&&$e(e,t.values),e}),r=t&&t.initialValues,o=t&&t.values,u=i(null);null===u.current&&(u.current={done:!1,source:void 0}),c(()=>{if(void 0===r)return;if("function"==typeof r||w(r))return;const e=u.current;e.done&&(e.source===r||V(e.source,r))||(e.done=!0,e.source=r,$e(n,r))},[n,r]);const s=i(null);return null===s.current&&(s.current={done:!1,source:void 0}),c(()=>{if(void 0===o)return;const e=s.current;e.done&&(e.source===o||V(e.source,o))||(e.done=!0,e.source=o,$e(n,o))},[n,o]),c(()=>{if(!n.validateOnMount||!n.validate)return;const t=()=>{et(n).catch(()=>{})};if(n.isLoading)return e(n.emitter,"loading",()=>{t()});t()},[n]),n}function un(e,t,n){const r=i(null);null===r.current&&(r.current={hasValue:!1});const o=r.current,a=i(t);a.current=t;const c=i(n);c.current=n;const l=u(()=>(o.hasValue||(o.value=a.current(),o.hasValue=!0),o.value),[o]),d=u(t=>{o.hasValue=!1;return e(()=>{const e=c.current;if(e&&o.hasValue){const n=a.current();if(e(o.value,n))return;return o.value=n,void t()}o.hasValue=!1,t()})},[e,o]);return s(d,l,l)}function sn(t,n,r,o){const i="emitter"in t?t.emitter:t;return un(u(t=>e(i,n,t),[i,n]),r,o)}function an(e,t,n){return cn(e,E(t),n)}function cn(e,t,n){const{emitter:r}=e,{key:o}=t,i=!1===n?.exact?"branch":"leaf";return un(u(e=>en(r,"change",E(JSON.parse(o)),i,e),[r,o,i]),()=>{if(!1===n?.exact)return p(Ve(e),t.value);const r=Me(e,t);return void 0===r?n?.defaultValue:r})}function ln(e){return sn(e,"change",()=>Ve(e))}function dn(e,t){return fn(e,E(t))}function fn(e,t){const{emitter:n}=e,{key:r}=t;return un(u(e=>tn(n,"touched",r,e),[n,r]),Se.bind(null,e,t))}function yn(e,t){return mn(e,E(t))?.message}function mn(e,t){const{emitter:n}=e,{key:r}=t;return un(u(e=>tn(n,"errors",r,e),[n,r]),z.bind(null,e,t))}function vn(e,t){return hn(e,E(t))}function hn(e,t){const{emitter:n}=e,{key:r}=t;return un(u(e=>tn(n,"errors",r,e),[n,r]),R.bind(null,e,t))}function gn(e){return sn(e,"change",me.bind(null,e))}function pn(e,t){return bn(e,E(t))}function bn(e,t){const{emitter:n}=e,{key:r}=t;return un(u(e=>en(n,"change",E(JSON.parse(r)),"leaf",e),[n,r]),()=>ye(e,t))}function kn(e){return sn(e,"change",ge.bind(null,e))}function Sn(e){return sn(e,"touched",we.bind(null,e))}const wn=["change","errors","touched","validating","submitting","submitCount","submitSuccessful","disabled","loading"];function An(e,t){const n=e.touchedFields.length===t.touchedFields.length&&e.touchedFields.every((e,n)=>e===t.touchedFields[n]);return e.isDirty===t.isDirty&&e.dirtyFields===t.dirtyFields&&e.isTouched===t.isTouched&&n&&e.hasErrors===t.hasErrors&&e.isValid===t.isValid&&e.errors===t.errors&&e.isSubmitting===t.isSubmitting&&e.isSubmitted===t.isSubmitted&&e.isValidating===t.isValidating&&e.isSubmitSuccessful===t.isSubmitSuccessful&&e.submitCount===t.submitCount&&e.isLoading===t.isLoading&&e.disabled===t.disabled}function Vn(t){const n=u(()=>function(e){return{isDirty:me(e),dirtyFields:ge(e),isTouched:e.touched.size>0,touchedFields:we(e),hasErrors:ie(e),isValid:!ie(e),errors:K(e),isSubmitting:e.isSubmitting,isSubmitted:e.isSubmitted,isValidating:e.validating.size>0,isSubmitSuccessful:e.isSubmitSuccessful,submitCount:e.submitCount,isLoading:e.isLoading,disabled:e.disabled}}(t),[t]);return un(u(n=>{const r=wn.map(r=>e(t.emitter,r,n));return()=>{for(const e of r)e()}},[t.emitter]),n,An)}function On(t,n,r){return un(u(n=>{const r=wn.map(r=>e(t.emitter,r,n));return()=>{for(const e of r)e()}},[t.emitter]),n,r)}function En(e){return sn(e,"errors",ie.bind(null,e))}function Mn(e){return sn(e,"errors",()=>K(e))}function Nn(e){return sn(e,"errors",()=>Q(e))}function xn(e){return sn(e,"errors",()=>!ie(e))}function jn(e){return sn(e,"submitting",()=>e.isSubmitting)}function Dn(e){return sn(e,"loading",()=>e.isLoading)}function Cn(e){return sn(e,"status",()=>e.status)}function Tn(t){const{emitter:n}=t;return un(u(t=>{const r=e(n,"errors",t),o=e(n,"submitting",t);return()=>{r(),o()}},[n]),()=>!t.isSubmitting&&!ie(t))}function Ln(e){return sn(e,"submitCount",()=>e.submitCount)}function qn(e){return sn(e,"validating",()=>e.validating.size>0)}function Jn(e){return sn(e.emitter,"submitSuccessful",()=>!!e.isSubmitSuccessful)}function $n(e){return mn(e,E(W))?.message}function Fn(e){return hn(e,E(W))}function Un(e){const t=l(()=>E(h(e)).key,[e]);return l(()=>E(JSON.parse(t)),[t])}function Wn(e){const t=i(e);return t.current=e,t}function Pn(e){const t=Wn(e);return u((...e)=>t.current(...e),[t])}function Bn(e,t){const n=i(!1),r=Wn(e),o=Wn(t);c(()=>{const e=r.current,t=o.current;return n.current&&(n.current=!1,t()),()=>{n.current=!0,e()}},[n,r,o])}function zn(t,n,r,o){const u=d(or),s=r||u;if(!s)throw new Error("no form provided");const a=t,l=i(void 0);l.current=a&&ue(a)?ae(a):a;const f=i(o?.debounce??0);f.current=o?.debounce??0;const y=i(o?.sync);y.current=o?.sync;const m=i(o?.asyncAlways??!1);m.current=o?.asyncAlways??!1;const v=i(o?.validateOnMount);return v.current=o?.validateOnMount,c(()=>{const t=E(JSON.parse(n.key)),r=ze(s,t,{validate:()=>l.current,debounce:()=>f.current,sync:()=>y.current,asyncAlways:()=>m.current});if(!(v.current??s.validateOnMount)||!l.current&&!y.current)return r;let o=!1;const i=()=>{o||s.validators.get(n.key)?.()};if(s.isLoading){const t=e(s.emitter,"loading",()=>{t(),i()})}else i();return()=>{o=!0,r()}},[s,n.key]),Pn(()=>s.validators.get(n.key)?.())}const In=new WeakMap;const _n=[];function Rn(e,t,n){const r=i(!1),o=i(!1),s=i(null);return un(u(i=>{const u=E(JSON.parse(t.key)),a=()=>{null!==s.current&&(clearTimeout(s.current),s.current=null)};r.current=!1,o.current=!1,a();const c=tn(e.emitter,"errors",u.key,()=>{const t=R(e,u).length>0,c=o.current;o.current=t,void 0!==n&&(t?c&&!r.current||(a(),r.current=!0,s.current=setTimeout(()=>{s.current=null,r.current=!1,i()},n)):r.current&&(a(),r.current=!1)),i()});return()=>{c(),a()}},[e,t.key,n]),()=>void 0!==n&&r.current?_n:R(e,t))}function Gn({form:n,name:r,initialValue:o,shouldUnregister:s,validate:a,rules:l,validateDebounce:f,validateDeps:y,validateOnMount:m,delayError:v,disabled:h,uncontrolled:g,asyncAlways:p,mode:b,eventToValue:k,valueAsNumber:S,valueAsDate:V,type:O},M){const N=d(M),x=n||N;if(!x)throw new Error("no form provided");const j=Un(r),D=i(!1);void 0!==o&&void 0===Me(x,j)&&(je(x,j,o),D.current=!0),c(()=>{D.current&&(D.current=!1,De(x,j))});const C=a;zn(function(e,t){if(!e||!bt(e))return t;const n=St(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 w(u)?u.then(i):i(u)}:n}(l?{...l,required:void 0}:void 0,C&&ue(C)?ae(C):C),j,x,{debounce:f,validateOnMount:m,asyncAlways:p??x.asyncAlways,sync:l&&void 0!==l.required?St({required:l.required}):void 0});const T=Rn(x,j,v),L=T[0],q=L?.message,J=function(e,t,n){const r=i({has:!1,value:void 0}),o=u(()=>n?(r.current.has||(r.current={has:!0,value:Me(e,t)}),r.current.value):Me(e,t),[n,e,t]);return un(u(r=>n?()=>{}:en(e.emitter,"change",t,"leaf",r),[n,e.emitter,t]),o)}(x,j,!!g),$=un(u(e=>g?()=>{}:en(x.emitter,"change",E(JSON.parse(j.key)),"leaf",e),[x.emitter,j.key,g]),()=>ye(x,j)),F=un(u(e=>tn(x.emitter,"validating",j.key,e),[x.emitter,j.key]),()=>x.validating.has(j.key)),U=un(u(e=>en(x.emitter,"disabled",E(JSON.parse(j.key)),"branch",e),[x.emitter,j.key]),()=>x.disabled||!0===h||!1!==h&&function(e,t){const n=Yt.get(e);if(!n?.size)return!1;const r=t.value;for(let e=1;e<r.length;e++){const t=JSON.stringify(r.slice(0,e));if(n.get(t)?.disabled)return!0}return!1}(x,j)),W=i(null);c(()=>{const e=E(JSON.parse(j.key)),n=function(e,n,r){if(void 0===r)return null;let o=Yt.get(e);o||(o=new Map,Yt.set(e,o));const i={};return o.set(n.key,{disabled:r,token:i}),t(e.emitter,"disabled",n),{token:i}}(x,e,h);return n&&(W.current=n.token),()=>{null!==W.current&&(!function(e,n,r){const o=Yt.get(e),i=o?.get(n.key);o&&i&&i.token===r&&(o.delete(n.key),t(e.emitter,"disabled",n))}(x,e,W.current),W.current=null)}},[x,j.key,h]);const P=Pn(e=>vt(x,j,e)),B=Pn(()=>ht(x,j));c(()=>{const e=E(JSON.parse(j.key)),{token:t,displaced:n}=yt(x,e,b);return()=>mt(x,e,t)},[x,j.key,b]);const z=y?.length?y.join("\n"):void 0,I=Wn(y);c(()=>{if(!z)return;const e=I.current.map(e=>E(e).key);return ot(x,j.key,e),()=>it(x,j.key,e)},[x,j.key,z,I]);const _=i(null),R=u(e=>{_.current=e},[]);c(()=>e(x.emitter,"focusError",(e,t)=>{if(e!==j.key)return;const n=_.current;n&&"function"==typeof n.focus&&(n.focus(),t?.shouldSelect&&"function"==typeof n.select&&n.select())}),[x,j.key]),c(()=>{const t=E(JSON.parse(j.key));let n=In.get(x);if(!n){const t=new Map,r=e(x.emitter,"change",e=>{if(!e)for(const e of t.values()){const{el:t,path:n}=e();if(!t||"file"===t.type)continue;const r=Me(x,n),o=null==r?"":String(r);t.value!==o&&(t.value=o)}});n={cells:t,off:r},In.set(x,n)}return n.cells.set(j.key,()=>({el:_.current,path:t})),()=>{n.cells.delete(j.key),0===n.cells.size&&(n.off(),In.delete(x))}},[x,j.key,g]);const G=i(null);Bn(Pn(()=>{!1!==(s??x.shouldUnregister)&&(G.current=gt(x,j))}),Pn(()=>{const e=G.current;G.current=null,e&&pt(x,j,e)}));const H=k??(e=>A(e,{valueAsNumber:S,valueAsDate:V})),K={name:j.key,ref:R,onChange:e=>P(H(e)),onBlur:B,disabled:U,..."checkbox"===O?{checked:!!J}:"file"===O?{}:g?{defaultValue:J}:{value:J??""},...q?{"aria-invalid":!0,"aria-describedby":Qt(j.key)}:{}};return{form:x,value:J,error:q,errorObject:L,errors:T,isDirty:$,validating:F,onChange:P,onBlur:B,name:j.key,disabled:U,focusRef:R,inputProps:K}}function Hn(e){return Gn(e,or)}const Kn=new WeakMap;function Qn(e){const t=(Kn.get(e)??0)+1;return Kn.set(e,t),`_${t}`}const Xn=new WeakMap;function Yn(e,t,n){let r=Xn.get(e);r||(r=new Map,Xn.set(e,r)),r.set(t,n)}function Zn(e){return e+1}function er(e,t){const n=d(t),r=e.form||n;if(!r)throw new Error("no form provided");const o=e.keyName??"id",{rules:s,shouldUnregister:a}=e,l=Un(e.name),y=i([]),m=u(()=>Me(r,l)||[],[r,l]),v=u(()=>{const e=m();for(;y.current.length<e.length;)y.current.push(Qn(r));for(;y.current.length>e.length;)y.current.pop();return y.current.map((e,t)=>({id:e,index:t,[o]:e}))},[m,r,o]),[h,g]=f(v,void 0,v);c(()=>en(r.emitter,"change",l,"branch",g),[r.emitter,l]),Yn(r,l.key,y.current),c(()=>(Yn(r,l.key,y.current),()=>{const e=Xn.get(r);e?.get(l.key)===y.current&&e.delete(l.key)}),[r,l.key]);const p=i(null);Bn(Pn(()=>{!1!==(a??r.shouldUnregister)&&(p.current=gt(r,l))}),Pn(()=>{const e=p.current;p.current=null,e&&pt(r,l,e)})),zn(s?St({...s,required:void 0}):void 0,l,r,{sync:s&&void 0!==s.required?St({required:s.required}):void 0});return{fields:h,append:Pn(e=>{y.current.push(Qn(r)),Ot(r,l,e)}),prepend:Pn(e=>{y.current.unshift(Qn(r)),Et(r,l,e)}),insert:Pn((e,t)=>{Mt(r,l,e,t)&&y.current.splice(e,0,Qn(r))}),remove:Pn(e=>{const t=Nt(r,l,e);for(const e of t)y.current.splice(e,1)}),swap:Pn((e,t)=>{jt(r,l,e,t)&&([y.current[e],y.current[t]]=[y.current[t],y.current[e]])}),move:Pn((e,t)=>{if(!xt(r,l,e,t))return;const[n]=y.current.splice(e,1);y.current.splice(t,0,n)}),replace:Pn(e=>{y.current=e.map(()=>Qn(r)),Dt(r,l,e)}),update:Pn((e,t)=>{Ct(r,l,e,t)})}}function tr(e){return er(e,or)}function nr(e,t){const n=d(t),r=e.form||n;if(!r)throw new Error("no form provided");const{id:o}=e,s=Un(e.name),a=u(()=>function(e,t){return Xn.get(e)?.get(t)}(r,s.key)?.indexOf(o)??-1,[r,s.key,o]),l=u(e=>{const t=Me(r,s);return Array.isArray(t)?t[e]:void 0},[r,s]),y=a(),m=l(y),v=i({index:y,value:m});v.current={index:y,value:m};const h=Wn({computeIndex:a,computeValue:l}),[,g]=f(Zn,0);c(()=>en(r.emitter,"change",s,"leaf",()=>{const{computeIndex:e,computeValue:t}=h.current,n=e();n===v.current.index&&Object.is(t(n),v.current.value)||g()}),[r.emitter,s,h]);const p=Un([...s.value,y]),b=hn(r,p);return{value:m,setValue:Pn(e=>{if(y<0)return;const t=[...Me(r,s)??[]];y>=t.length||(t[y]=e,xe(r,s,t))}),errors:b,error:b[0]?.message,name:p.key,index:y,form:r}}function rr(e){return nr(e,or)}const or=y(null),ir=or.Provider;function ur(){const e=d(or);if(!e)throw new Error("no form provided");return e}function sr(){const e=y(null);return{context:e,FormProvider:function({form:t,children:n}){return m(e.Provider,{value:t},n)},useFormContext:function(){const t=d(e);if(!t)throw new Error("no form provided");return t},useField:function(t){return Gn(t,e)},useFieldArray:function(t){return er(t,e)},useFieldArrayItem:function(t){return nr(t,e)}}}const ar=y(null),cr=ar.Provider;function lr(){const e=d(ar);if(!e)throw new Error("no group provided");return e}function dr(e,t,n={}){const r=Un(t),{toDisplay:o,fromDisplay:s,asyncDebounceMs:a}=n,l=un(u(t=>en(e.emitter,"change",E(JSON.parse(r.key)),"leaf",t),[e.emitter,r.key]),()=>Me(e,r)),d=o?o(l):l,f=i(null),y=i(0),m=i(s);m.current=s;const v=i(a??0);v.current=a??0,c(()=>()=>{null!==f.current&&clearTimeout(f.current)},[]);return{value:d,onChange:u(t=>{const n=()=>{const n=++y.current,o=m.current,i=t=>vt(e,r,t);if(!o)return void i(t);const u=o(t);w(u)?u.then(e=>{y.current===n&&i(e)}):y.current===n&&i(u)};null!==f.current&&clearTimeout(f.current),f.current=null,v.current>0?f.current=setTimeout(n,v.current):n()},[e,r])}}function fr(e,t,n){if(null!=n)if(Array.isArray(n))for(const r of n)fr(e,t,r);else if("undefined"!=typeof FileList&&n instanceof FileList)for(let r=0;r<n.length;r++)e.append(t,n.item(r));else"undefined"!=typeof File&&n instanceof File?e.append(t,n,n.name):"undefined"!=typeof Blob&&n instanceof Blob?e.append(t,n):n instanceof Date?e.append(t,n.toISOString()):e.append(t,"object"==typeof n?JSON.stringify(n):String(n))}function yr({form:e,context:t,initialValues:n,values:r,shouldUnregister:i,validateOnMount:u,disabled:s,asyncAlways:a,onSubmit:c,onValidSubmit:l,onInvalidSubmit:d,action:f,shouldFocusError:y,shouldUseNativeValidation:m,...v}){const h=on({initialValues:n,values:r,shouldUnregister:i,validateOnMount:u,disabled:s,asyncAlways:a,shouldUseNativeValidation:m}),g=e||h;o.useEffect(()=>{void 0!==s&&It(g,s)},[g,s]);const p=Gt(g,{onSubmit:c,onValidSubmit:l,onInvalidSubmit:d,shouldFocusError:y,shouldUseNativeValidation:m,onAction:"function"==typeof f?e=>f(function(e){const t=new FormData;for(const n of Object.keys(e))fr(t,n,e[n]);return t}(e)):void 0}),{Provider:b}=t??or,k="string"==typeof f?f:void 0;return o.createElement(b,{value:g},o.createElement("form",{...v,action:k,noValidate:!0,onSubmit:p}))}function mr({children:e,...t}){return e(Hn(t))}function vr(e,t,n){return{"aria-invalid":!!e||n["aria-invalid"],"aria-describedby":e?[n["aria-describedby"],Qt(t)].filter(Boolean).join(" "):n["aria-describedby"]}}const hr=o.forwardRef(({validate:e,eventToValue:t,initialValue:n,name:r,asProps:i,renderError:u,as:s,valueToProps:a,form:c,shouldUnregister:l,rules:d,validateDebounce:f,validateOnMount:y,valueAsNumber:m,valueAsDate:v,asyncAlways:h,disabled:g,delayError:p,mode:b,uncontrolled:k,...S},w)=>{const V=o.useRef(null),[O,E]=o.useState(0),M=o.useContext(or),N=c??M,x=e,j=x&&ue(x)?ae(x):x,{value:D,onChange:C,onBlur:T,error:L,name:q,disabled:J,focusRef:$}=Hn({name:r,form:c,initialValue:n,shouldUnregister:l,rules:d,validateDebounce:f,validateOnMount:y,delayError:p,disabled:g,asyncAlways:h,mode:b,uncontrolled:k||"file"===S.type,validate:(...e)=>{if(!1!==N?.shouldUseNativeValidation){const e=V.current;if(e&&"function"==typeof e.checkValidity&&(e.setCustomValidity(""),!1===e.checkValidity()))return void E(e=>e+1)}if(j)return j(...e)}}),F=o.useCallback(e=>{V.current=e,$(e),function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(w,e)},[w,$]),U=s||"input";o.useEffect(()=>{const e=V.current;e&&"function"==typeof e.setCustomValidity&&("string"==typeof L?(e.setCustomValidity(L),e.reportValidity()):e.setCustomValidity(""))},[L]),o.useEffect(()=>{O>0&&V.current?.reportValidity()},[O]);const W="file"===S.type,P=t??(e=>A(e,{valueAsNumber:m,valueAsDate:v})),B=a?a(D):W?{}:k?{defaultValue:D}:{value:D},z=Qt(q),I=d?wt(d):void 0;return o.createElement(o.Fragment,null,o.createElement(U,{...I,...S,name:q,onBlur:T,...i,...B,...vr(L,q,S),disabled:J,onChange:e=>C(P(e)),ref:F}),L&&u?o.createElement("span",{id:z,role:"alert"},u(L,z)):null)}),gr=o.forwardRef(({name:e,form:t,initialValue:n,shouldUnregister:r,validate:i,rules:u,validateDebounce:s,validateOnMount:a,asyncAlways:c,disabled:l,delayError:d,mode:f,...y},m)=>{const{value:v,onChange:h,onBlur:g,error:p,name:b,disabled:k}=Hn({name:e,form:t,initialValue:n,shouldUnregister:r,validate:i,rules:u,validateDebounce:s,validateOnMount:a,asyncAlways:c,delayError:d,disabled:l,mode:f}),S=u?wt(u):void 0;return o.createElement("input",{...S,...y,name:b,onBlur:g,type:"checkbox",checked:!!v,...vr(p,b,y),disabled:k,onChange:e=>h(e.target.checked),ref:m})});function pr(e,t){return e?Array.isArray(t)?t:[]:t??""}const br=o.forwardRef(({name:e,multiple:t,children:n,form:r,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,validateOnMount:l,asyncAlways:d,disabled:f,delayError:y,mode:m,...v},h)=>{const{value:g,onChange:p,onBlur:b,error:k,name:S,disabled:w}=Hn({name:e,form:r,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,validateOnMount:l,asyncAlways:d,delayError:y,disabled:f,mode:m}),A=a?wt(a):void 0;return o.createElement("select",{...A,...v,name:S,onBlur:b,multiple:t,value:pr(t,g),...vr(k,S,v),disabled:w,onChange:e=>p(t?Array.from(e.target.selectedOptions,e=>e.value):e.target.value),ref:h},n)});export{gr as Checkbox,ar as CheckboxGroupContext,cr as CheckboxGroupProvider,W as FORM_ERROR,hr as Field,yr as Form,or as FormContext,mr as FormField,ir as FormProvider,br as Select,P as VALIDATION_OUTCOME,Tt as appendValue,Ot as appendValueByPath,dt as changeValue,ft as changeValueByPath,ne as clearErrors,oe as clearServerErrors,Kt as createForm,sr as createFormContext,Y as dottedKeyToFieldPath,De as emitChangeByPath,at as ensureValidate,Xt as fieldErrorId,X as fieldPathToDottedKey,ge as getDirtyFields,B as getError,z as getErrorByPath,G as getErrors,K as getErrorsRecord,Q as getErrorsTree,_ as getFieldErrors,R as getFieldErrorsByPath,Ce as getFieldState,Z as getFirstError,we as getTouchedFields,Ee as getValue,Me as getValueByPath,Ve as getValues,Gt as handleSubmit,ie as hasErrors,ke as hasTouched,Se as hasTouchedByPath,Bt as incrementSubmitCount,qt as insertValue,Mt as insertValueByPath,me as isDirty,ye as isFieldDirtyByPath,Ae as isTouched,$t as moveValue,xt as moveValueByPath,Lt as prependValue,Et as prependValueByPath,At as registerField,yt as registerFieldMode,ot as registerFieldValidateDeps,ze as registerValidatorByPath,Te as removeField,Le as removeFieldByPath,Jt as removeValue,Nt as removeValueByPath,Ut as replaceValues,Dt as replaceValuesByPath,Ue as reset,We as resetField,ut as revalidateDependentsOnChange,nt as revalidateFormOnChange,et as runFormValidate,je as seedValueByPath,It as setDisabled,ee as setError,te as setErrorByPath,Ht as setFocus,$e as setInitialValues,Pt as setIsSubmitting,re as setServerErrors,_t as setStatus,zt as setSubmitSuccessful,pe as setTouched,be as setTouchedByPath,Be as setValidatingByPath,Ne as setValue,xe as setValueByPath,nn as subscribe,Ft as swapValues,jt as swapValuesByPath,Ie as trigger,mt as unregisterFieldMode,it as unregisterFieldValidateDeps,Pe as unsetValidatingByPath,Wt as updateValue,Ct as updateValueByPath,Tn as useCanSubmit,lr as useCheckboxGroupContext,kn as useDirtyFields,yn as useError,mn as useErrorByPath,Mn as useErrors,Nn as useErrorsTree,Hn as useField,tr as useFieldArray,rr as useFieldArrayItem,vn as useFieldErrors,hn as useFieldErrorsByPath,on as useForm,ur as useFormContext,$n as useFormError,Fn as useFormErrors,Vn as useFormState,En as useHasErrors,gn as useIsDirty,pn as useIsFieldDirty,bn as useIsFieldDirtyByPath,Dn as useIsLoading,Jn as useIsSubmitSuccessful,jn as useIsSubmitting,xn as useIsValid,qn as useIsValidating,Cn as useStatus,On as useStore,Ln as useSubmitCount,dn as useTouched,fn as useTouchedByPath,Sn as useTouchedFields,dr as useTransform,an as useValue,cn as useValueByPath,ln as useValues,sn as useWatch,un as useWatchCore,ht as userBlur,vt as userChangeByPath,ct as validate,rn as watch};
1
+ import{on as e,emit as t,create as n,setMaxListeners as r}from"@for-fun/event-emitter";import*as o from"react";import{useMemo as i,useRef as u,useCallback as s,useSyncExternalStore as a,useState as c,useEffect as l,useContext as f,useReducer as d,createContext as y,createElement as v}from"react";const m=new Map;function h(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(g(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(g(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 g=e=>/^-?\d+$/.test(e);function p(e,t){return t.reduce((e,t)=>{if(null!=e)return e[t]},e)}function b(e,t){if(!t.length||null==e)return e;const[n,...r]=t;if(r.length){const t=b(e[n],r);return t===e[n]?e:A(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 k(e,t){return"number"==typeof t?t:Array.isArray(e)&&"string"==typeof t&&g(t)?Number(t):void 0}function w(e,t){return void 0!==k(e,t)?Array.isArray(e)?e.slice():[]:{...e}}function V(e,t,n){if(n.has(e))return e;const r=w(e,t);return n.add(r),r}function A(e,t,n){if(!t.length)return n;const[r,...o]=t,i=k(e,r);if(void 0!==i){const t=w(e,r);return t[i]=A(t[i],o,n),t}return{...e,[r]:A(e&&e[r],o,n)}}function S(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],c=V(o,a,r);c!==o&&(0===s?e=c:i[u]=c,o=c),s===t.length-1?o[a]=n:(i=o,u=a,o=o[a])}return e}function E(e){return e&&"function"==typeof e.then}function M(e,t){return e??(e=>function(e,t){const n=e?.target;return n?"file"===n.type?n.files:"checkbox"===n.type?n.checked:t?.valueAsNumber?n.valueAsNumber:t?.valueAsDate?n.valueAsDate:n.value:e}(e,t))}function O(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(!O(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(!O(e[n],t[n]))return!1;return!0}function j(t,n,r,o){return new Promise((i,u)=>{if(o())return void u();if(r())return void i();const s=e(t,n,()=>{if(o())return s(),void u();r()&&(s(),i())})})}function D(e){const t=h(e);return{value:t,key:JSON.stringify(t)}}function C(e){return JSON.parse(e)}function x(e,t,n){if(e.has(t))return e.get(t);const r=n();return e.set(t,r),r}const T=new WeakMap;function N(e,t){const n=e.get(t);n&&n.version++}function $(e){N(T,e)}const F=new WeakMap;function q(e){N(F,e)}const U=new WeakMap;function L(e,t,n){const r=U.get(e);return r?.has(t)?r.get(t):p(e.initialValues,n)}function W(e,{key:t},n){x(U,e,()=>new Map).set(t,n)}function P(e,{key:t}){const n=U.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 z(e,t){const n=U.get(e);n&&(void 0===t?n.clear():n.delete(t))}const B=new WeakMap;function I(e){N(B,e)}function J(e){return e.some(e=>"number"==typeof e)}function R(e){return!!e&&"object"==typeof e&&"string"==typeof e.type&&"string"==typeof e.message}const _="_form",G=Symbol("validation-outcome");function H(e,t){return K(e,D(t))}function K({errors:e},t){return e.get(t.key)?.[0]}const Q=[];function X(e,t){return Y(e,D(t))}function Y({errors:e},t){return e.get(t.key)??Q}function Z({errors:e}){const t=[];for(const[n,r]of e){const e=C(n).join(".");for(const{type:n,message:o}of r)t.push({path:e,type:n,message:o})}return t}function ee(e){const t=F.get(e);if(0===t?.version)return;const n={},r={};for(const[t,o]of e.errors){const e=C(t);n[e.join(".")]=o;let i=r;for(let t=0;t<e.length-1;t++){const n=e[t],r=i[n],o=!r||Array.isArray(r)&&r.length>0&&R(r[0])?"number"==typeof e[t+1]?[]:{}:r;i[n]=o,i=o}i[e[e.length-1]]=o}t?(t.result=n,t.tree=r,t.version=0):F.set(e,{version:0,result:n,tree:r})}function te(e){return ee(e),F.get(e).result}function ne(e){return ee(e),F.get(e).tree}function re(e){return D(e).value.join(".")}function oe(e){const t=e.split(".");return t.map((e,t)=>t>0&&(e=>/^(0|[1-9]\d*)$/.test(e))(e)?`[${e}]`:`${t>0?".":""}${e}`).join("")}function ie({errors:e}){return e.values().next().value?.[0]?.message}function ue(e,t,n,r){se(e,D(t),n,r)}function se(e,n,r,o){const{emitter:i,errors:u}=e,s=function(e){if("string"==typeof e)return e?[{type:"custom",message:e}]:void 0;if(R(e))return[e];if(!e)return;const t=[];return e.forEach(e=>{"string"==typeof e&&e?t.push({type:"custom",message:e}):R(e)&&t.push(e)}),t.length?t:void 0}(r);s?u.set(n.key,s):u.delete(n.key),q(e),t(i,"errors",n),o?.shouldFocus&&t(i,"focusError",n.key)}function ae(e,n){const{emitter:r,errors:o}=e;if(void 0===n)return o.clear(),q(e),void t(r,"errors");const i="string"==typeof n||J(n)?[D(n)]:n.map(e=>D(e));for(const{key:e}of i)o.delete(e);q(e);for(const e of i)t(r,"errors",e)}function ce(e,t,n){n?.keepExisting||ae(e);for(const[n,r]of Object.entries(t))ue(e,n,(Array.isArray(r)?r:[r]).map(e=>({type:"server",message:e})))}function le(e){const n=Array.from(e.errors).filter(([,e])=>e.some(e=>"server"===e.type));if(0!==n.length){for(const[t,r]of n){const n=r.filter(e=>"server"!==e.type);n.length?e.errors.set(t,n):e.errors.delete(t)}q(e),t(e.emitter,"errors")}}function fe({errors:e}){return e.size>0}function de(e){return!!e&&"object"==typeof e&&"function"==typeof e["~standard"]?.validate}function ye(e){return{type:"standard",message:e?.message||"Validation failed"}}function ve(e){return async t=>{const n=await e["~standard"].validate(t);if(n.issues?.length)return n.issues.map(ye)}}function me(e){return(e.path||[]).map(e=>String("object"==typeof e&&null!==e?e.key:e))}function he(e,t,n){let r=e;for(let e=0;e<t.length-1;e++){const n=t[e];void 0===r[n]&&(r[n]={});const o=r[n];if(!ge(o))return;r=o}const o=t[t.length-1],i=r[o];void 0===i?r[o]=[n]:Array.isArray(i)&&i.push(n)}function ge(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function pe(e){const t={};for(const[n,r]of Object.entries(e))if(ge(r)){const e=pe(r);e&&(t[n]=e)}else t[n]=r;return Object.keys(t).length?t:void 0}function be(e,t){const n=e.values.get(t.key);return e.values.has(t.key)&&L(e,t.key,t.value)!==n}function ke(e){for(const[t,n]of e.values){if(L(e,t,C(t))!==n)return!0}return!1}function we(e){const t={};return function(e,t){for(const[n,r]of e.values){const o=C(n);L(e,n,o)!==r&&t(o.join("."))}}(e,e=>{t[e]=!0}),t}function Ve(e){const t=x(B,e,()=>({version:0,result:we(e)}));if(t.version>0){const n=we(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}return t.result}function Ae(e,t){Se(e,D(t))}function Se({emitter:e,touched:n},r){n.has(r.key)||(n.add(r.key),t(e,"touched",r))}function Ee(e,t){return Me(e,D(t))}function Me({touched:e},t){return e.has(t.key)}function Oe({touched:e}){return Array.from(e,e=>C(e).join("."))}function je({touched:e}){return e.size>0}function De(e){const t=x(T,e,()=>({version:0,result:Ce(e)}));return t.version>0&&(t.result=Ce(e),t.version=0),t.result}function Ce(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=S(u,C(e),t,i);for(const e of o)u=b(u,C(e));return u}function xe(e,t){return Te(e,D(t))}function Te({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 p(n.get(t),u.slice(e))}return p(t??e,u)}}function Ne(e,t,n,r){$e(e,D(t),n,r)}function $e(e,n,r,o){const{emitter:i,values:u,deleted:s}=e,a="function"==typeof r?r(Te(e,n)):r;u.set(n.key,a),Pe(u,n),ze(s,n),P(e,n),!1===o?.shouldDirty&&W(e,n,a),I(e),$(e),o?.shouldTouch&&Se(e,n),o?.shouldValidate&&e.validators.get(n.key)?.(),t(i,"change",n)}function Fe(e,t,n){const{values:r,deleted:o}=e;r.set(t.key,n),Pe(r,t),ze(o,t),P(e,t),I(e),$(e)}function qe({emitter:e},n){t(e,"change",n)}function Ue(e,t){const n=D(t),{touched:r,validating:o}=e;return{value:Te(e,n),error:K(e,n),errors:Y(e,n),isDirty:be(e,n),isTouched:r.has(n.key),isValidating:o.has(n.key)}}function Le(e,t,n){We(e,D(t),n)}function We(e,n,r){const{key:o,value:i}=n,{emitter:u,values:s,touched:a,errors:c,validating:l,deleted:f}=e;r?.keepValue||r?.keepDirty||(s.delete(o),z(e,o),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}(s,i)||f.add(o)),r?.keepTouched||a.delete(o),!r?.keepError&&c.delete(o)&&q(e),l.delete(o),I(e),$(e),t(u,"change",n),t(u,"touched",n),t(u,"errors",n),t(u,"validating",n)}function Pe(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 ze(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,n){e.initialValues===n||O(e.initialValues,n)||(e.initialValues=n,e.parsedValues=void 0,e.values.clear(),e.deleted.clear(),z(e),I(e),$(e),t(e.emitter,"change"))}function Ie(e,t,n){if(null!==e&&"object"==typeof e){if(Array.isArray(e))return void e.forEach((e,r)=>Ie(e,[...t,r],n));const r=Object.keys(e);if(r.length>0){for(const o of r)Ie(e[o],[...t,o],n);return}}n.push({segments:t,value:e})}function Je(e,t){const n=[];if(t?.keepValues)Ie(De(e),[],n);else if(t?.keepDirtyValues)for(const[t,r]of e.values){const o=C(t);L(e,t,o)!==r&&n.push({segments:o,value:r})}return n}function Re(e,n,r){const o=Je(e,r);e.initialValues=r?.keepDefaultValues?e.initialValues:n??e.initialValues,e.parsedValues=void 0,r?.keepErrors||ae(e);const{emitter:i,touched:u,values:s,deleted:a,validating:c}=e;s.clear(),a.clear(),z(e),r?.keepTouched||u.clear(),c.clear(),r?.keepIsSubmitting||(e.isSubmitting=!1),r?.keepSubmitCount||(e.submitCount=0),r?.keepIsSubmitted||(e.isSubmitted=!1),r?.keepIsSubmitSuccessful||(e.isSubmitSuccessful=void 0),I(e),$(e);for(const{segments:t,value:n}of o)$e(e,D(t),n);t(i,"change"),t(i,"touched"),t(i,"validating"),t(i,"submitting"),t(i,"submitCount"),t(i,"submitSuccessful"),t(i,"reset")}function _e(e,n,r){const o=D(n),{emitter:i,values:u,touched:s,errors:a,deleted:c}=e;if(u.delete(o.key),z(e,o.key),void 0!==e.parsedValues){e.parsedValues=b(e.parsedValues,o.value);const t=p(e.initialValues,o.value);void 0!==t&&u.set(o.key,t)}r&&"value"in r&&u.set(o.key,r.value),ze(c,o),t(i,"change"),!r?.keepTouched&&s.delete(o.key)&&t(i,"touched",o),!r?.keepErrors&&a.delete(o.key)&&(q(e),t(i,"errors",o)),I(e),$(e)}function Ge({emitter:e,validating:n},r){n.delete(r.key),t(e,"validating",r)}function He({emitter:e,validating:n},r){n.add(r.key),t(e,"validating",r)}function Ke(e){if(void 0===e)return null;const t=Array.isArray(e)?e:[e];return t.length?t:null}function Qe(e,t,n){let r=null,o=null,i=!1,u=null,s=null;const a=()=>{i||(i=!0,He(e,t))},c=()=>{i&&(i=!1,Ge(e,t))},l=r=>{if(n.asyncAlways?.()){const o=(()=>{const r=n.sync();return r?Ke(r(Te(e,t),{form:e,path:t})):null})(),i=Ke(r)??[];se(e,t,[...o??[],...i]),s=i.length?"validator":o?"sync":null}else se(e,t,r),s=Ke(r)?"validator":null},f=()=>{null!==r&&(clearTimeout(r),r=null),o?.abort(),u={},c()},d=()=>{const r=n.validate();if(!r)return void c();o?.abort(),o=new AbortController;const i=u={};let s;try{s=r(Te(e,t),{form:e,path:t,signal:o.signal})}catch(e){throw c(),e}if(!E(s))return l(s),void c();a(),s.then(e=>{u===i&&l(e)}).catch(()=>{}).finally(()=>{u===i&&(c(),u=null)})},y=()=>!(!(()=>{const r=n.sync();if(!r)return!1;const o=Ke(r(Te(e,t),{form:e,path:t}));return o?(se(e,t,o),s="sync",!0):(n.validate()&&"sync"!==s||(se(e,t,void 0),s=null),!1)})()||n.asyncAlways?.())&&(f(),!0),v=()=>{r=null,y()||d()};return e.validators.set(t.key,()=>{if(y())return;if(!n.validate())return;const e=n.debounce();if(e>0)return null!==r?clearTimeout(r):a(),void(r=setTimeout(v,e));d()}),()=>{e.validators.delete(t.key),f()}}async function Xe(e,n,r){const o=t=>j(e.emitter,"validating",()=>void 0===t?ot(e):t.every(t=>!e.validating.has(t)),()=>!1),i=n=>{const r=void 0===n?e.errors.keys().next().value:n.find(t=>e.errors.has(t));void 0!==r&&t(e.emitter,"focusError",r)};if(void 0===n)return e.validators.forEach(e=>e()),await o(),e.validate&&await st(e),r?.shouldTouch&&Ye(e,[...e.validators.keys()]),r?.shouldFocus&&i(),!fe(e);const u="string"==typeof n||J(n)?[D(n).key]:n.map(e=>D(e).key);return u.forEach(t=>e.validators.get(t)?.()),await o(u),r?.shouldTouch&&Ye(e,u),r?.shouldFocus&&i(u),u.every(t=>!e.errors.has(t))}function Ye(e,t){t.forEach(t=>Se(e,D(C(t))))}function Ze(e,t,n=[],r){Object.entries(t).forEach(([t,o])=>{const i=[...n,...g(t)?[t]:h(t)];"string"==typeof o?o&&et(e,i,o,r):Array.isArray(o)||R(o)?et(e,i,o,r):o&&"object"==typeof o&&Ze(e,o,i,r)})}function et(e,t,n,r){ue(e,t,n),function(e,t,n){if(!n)return;const r=D(t),o=e.errors.get(r.key);o&&n.set(r.key,o)}(e,t,r)}function tt(e,n){const r=e.validateDeps||"onSubmit"!==e.validateMode?function(e){return x(nt,e,()=>new Map)}(e):void 0;if(r&&(!function(e,n){for(const[r,o]of n){e.errors.get(r)===o&&(e.errors.delete(r),q(e),t(e.emitter,"errors",D(C(r))))}}(e,r),r.clear()),n){if("object"==typeof n&&G in n){const o=n;return o.errors&&Ze(e,o.errors,[],r),void function(e,n){void 0!==n&&n!==e.parsedValues&&(e.parsedValues=n,$(e),t(e.emitter,"change"))}(e,o.values)}Ze(e,n,[],r)}}const nt=new WeakMap;const rt="__form_validate__";function ot(e){for(const t of e.validating)if(t!==rt)return!1;return!0}const it=Symbol("form-validate-settled"),ut=new WeakMap;function st(e){const n=e.validate;if(!n)return Promise.resolve();const r=e.validateDebounce??0;if(r<=0){const t=new AbortController;return Promise.resolve(n(De(e),{form:e,signal:t.signal})).then(t=>{tt(e,t)})}const o=function(e){return x(ut,e,()=>({timer:null,controller:null,round:null,marked:!1,waiters:[]}))}(e);return null!==o.timer?clearTimeout(o.timer):(o.marked=!0,e.validating.add(rt),t(e.emitter,"validating")),o.timer=setTimeout(()=>{o.timer=null;const t=o.round={};(function(e,t,n){const r=e.validate;if(!r)return Promise.resolve();t.controller?.abort();const o=t.controller=new AbortController,i=new Promise(t=>t(r(De(e),{form:e,signal:o.signal})));return i.then(r=>{t.round===n&&tt(e,r)},e=>{if(t.round===n)throw e})})(e,o,t).then(()=>at(e,o,t,it),n=>at(e,o,t,n))},r),new Promise((e,t)=>{o.waiters.push({resolve:e,reject:t})})}function at(e,n,r,o){if(n.round!==r)return;if(n.round=null,null!==n.timer)return;n.marked&&(n.marked=!1,e.validating.delete(rt),t(e.emitter,"validating"));const i=n.waiters;n.waiters=[];for(const e of i)o===it?e.resolve():e.reject(o)}function ct(e,t,n,r,o){return e===t||"all"===e||"onTouched"===e&&n||o===t&&r()}function lt(e,t,n){e.validateDeps?.has(t.key)&&e.validate&&ct(n,"onChange",Me(e,t),()=>function(e){const t=nt.get(e);if(!t)return!1;for(const[n,r]of t)if(e.errors.get(n)===r)return!0;return!1}(e),e.reValidateMode)&&st(e).catch(()=>{})}const ft=new WeakMap;function dt(e,t,n){const r=x(ft,e,()=>new Map);for(const e of n){const n=r.get(e)??new Set;n.add(t),r.set(e,n)}}function yt(e,t,n){const r=ft.get(e);if(r)for(const e of n){const n=r.get(e);n?.delete(t)&&(n.size||r.delete(e))}}function vt(e,t,n){const r=ft.get(e)?.get(t.key);if(r?.size)for(const o of r)o!==t.key&&ct(n,"onChange",Me(e,t),()=>e.errors.has(o),e.reValidateMode)&&e.validators.get(o)?.()}function mt(e){const t=new Error(ie(e));return t.errors=Z(e),t}async function ht(e){if(e.validators.forEach(e=>e()),await j(e.emitter,"validating",()=>ot(e),()=>fe(e)).catch(()=>{throw mt(e)}),e.validate&&(await st(e),fe(e)))throw mt(e)}async function gt(e){return ht(e).catch(e=>e.message)}const pt=new WeakMap;function bt(e,t,n,r){kt(e,D(t),n,r)}function kt(e,t,n,r){!1===r?.shouldDirty&&W(e,t,n),pt.get(e)?.get(t.key)?Mt(e,t,n):$e(e,t,n,r)}function wt(e,t,n){const r=x(pt,e,()=>new Map),o=r.has(t.key),i={};return r.set(t.key,{mode:n,token:i}),{token:i,displaced:o}}function Vt(e,t,n){const r=pt.get(e),o=r?.get(t.key);r&&o&&o.token===n&&r.delete(t.key)}function At(e,t){const n=`${t.key.slice(0,-1)},`;for(const t of pt.get(e)?.keys()??[])if(t.startsWith(n))return t}function St(e,t){e.validateMode===t&&e.validate&&st(e).catch(()=>{})}function Et(e,t,n,r,o){ct(n,r,o,()=>Y(e,t).length>0,e.reValidateMode)&&e.validators.get(t.key)?.()}function Mt(e,t,n){$e(e,t,n);const r=pt.get(e)?.get(t.key);r&&function(e,t,n){Et(e,t,n,"onChange",Me(e,t)),lt(e,t,n),St(e,"onChange"),vt(e,t,n)}(e,t,r.mode??e.mode)}function Ot(e,t){Se(e,t);const n=pt.get(e)?.get(t.key);n&&(Et(e,t,n.mode??e.mode,"onBlur",!0),St(e,"onBlur"))}function jt(e,t){const{key:n}=t,r={present:e.values.has(n),value:e.values.get(n),touched:e.touched.has(n),errors:e.errors.get(n)};return We(e,t),r}function Dt(e,n,r){const{key:o}=n;r.present?$e(e,n,r.value,{shouldDirty:!1}):(e.deleted.delete(o),$(e),t(e.emitter,"change",n)),r.touched&&Se(e,n),r.errors&&se(e,n,r.errors)}function Ct(e){return void 0!==e.required||void 0!==e.min||void 0!==e.max||void 0!==e.minLength||void 0!==e.maxLength||void 0!==e.pattern||void 0!==e.validate}function xt(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"}}function Tt(e,t){return"function"==typeof e?e(t):e?.replace("{bound}",String(t))}function Nt(e){const t=Number(e);return Number.isNaN(t)?void 0:t}function $t(e){return"string"==typeof e||Array.isArray(e)?e.length:void 0}const Ft=[["min",Nt,(e,t)=>e<t],["max",Nt,(e,t)=>e>t],["minLength",$t,(e,t)=>e<t],["maxLength",$t,(e,t)=>e>t]];function qt(e,t){return(n,r)=>{if(e.required&&(""===n||null==n||Array.isArray(n)&&0===n.length))return[{type:"required",message:"string"==typeof e.required?e.required:Tt(t?.required)??xt("required")}];const o=[],i=(n,r)=>e.messages?.[n]??Tt(t?.[n],r)??xt(n,r);for(const[t,r,u]of Ft){const s=e[t];if(void 0===s)continue;const a=r(n);void 0!==a&&u(a,s)&&o.push({type:t,message:i(t,s)})}if(e.pattern&&!e.pattern.value.test(n)&&o.push({type:"pattern",message:e.messages?.pattern??e.pattern.message??Tt(t?.pattern)??xt("pattern")}),void 0!==e.validate){const t="function"==typeof e.validate?{validate:e.validate}:e.validate;for(const[e,i]of Object.entries(t)){const t=i(n,r);if(void 0!==t)for(const n of Array.isArray(t)?t:[t])o.push("string"==typeof n?{type:e,message:n}:{...n,type:e})}}return o.length?o:void 0}}function Ut(t,n,r){const o=D(n),{mode:i,shouldUnregister:u,eventToValue:s,valueAsNumber:a,valueAsDate:c,rules:l}=r??{},f=s??(e=>{const t=e?.target;return t?"file"===t.type?t.files:"checkbox"===t.type?t.checked:a?t.valueAsNumber:c?t.valueAsDate:t.value:e});let d=null,y=null,v=null,m=null,h=null,g=null;const p=n=>{if(m&&(Dt(t,o,m),m=null),d=n,"file"!==n.type&&void 0===Te(t,o)&&(Fe(t,o,"checkbox"===n.type?n.checked:n.value),qe(t,o)),y=wt(t,o,i).token,l&&Ct(l)){const{required:e,...n}=l,r=void 0!==e?qt({required:e},t.messages):void 0;v=Qe(t,o,{validate:()=>Ct(n)?qt(n,t.messages):void 0,debounce:()=>0,sync:()=>r})}h=e(t.emitter,"focusError",(e,t)=>{e===o.key&&d&&"function"==typeof d.focus&&(d.focus(),t?.shouldSelect&&"function"==typeof d.select&&d.select())}),g=e(t.emitter,"change",e=>{e||(()=>{if(!d||"file"===d.type)return;const e=Te(t,o),n=null==e?"":String(e);d.value!==n&&(d.value=n)})()})};return{name:o.key,onChange:e=>kt(t,o,f(e)),onBlur:()=>Ot(t,o),ref:e=>{e?p(e):(y&&(Vt(t,o,y),y=null),v&&(v(),v=null),h&&(h(),h=null),g&&(g(),g=null),d=null,!1!==(u??t.shouldUnregister)&&(m=jt(t,o)))}}}function Lt(e,t){const n=Te(e,t);return Array.isArray(n)?n:[]}function Wt(e,t,n){$e(e,t,[...Lt(e,t),n])}function Pt(e,t,n){$e(e,t,[n,...Lt(e,t)])}function zt(e,t,n,r){const o=Lt(e,t);return!(n<0||n>o.length)&&($e(e,t,[...o.slice(0,n),r,...o.slice(n)]),!0)}function Bt(e,t,n){const r=Lt(e,t),o=new Set;for(const e of Array.isArray(n)?n:[n])e>=0&&e<r.length&&o.add(e);if(0===o.size)return[];const i=[...o].sort((e,t)=>t-e);return $e(e,t,r.filter((e,t)=>!o.has(t))),i}function It(e,t,n,r){const o=Lt(e,t);if(n<0||n>=o.length||r<0||r>=o.length)return!1;if(n===r)return!1;const i=[...o],[u]=i.splice(n,1);return i.splice(r,0,u),$e(e,t,i),!0}function Jt(e,t,n,r){const o=Lt(e,t);if(n<0||n>=o.length||r<0||r>=o.length)return!1;if(n===r)return!1;const i=[...o];return[i[n],i[r]]=[i[r],i[n]],$e(e,t,i),!0}function Rt(e,t,n){$e(e,t,[...n])}function _t(e,t,n,r){const o=Lt(e,t);if(n<0||n>=o.length)return!1;const i=[...o];return i[n]=r,$e(e,t,i),!0}function Gt(e,t,n){Wt(e,D(t),n)}function Ht(e,t,n){Pt(e,D(t),n)}function Kt(e,t,n,r){return zt(e,D(t),n,r)}function Qt(e,t,n){return Bt(e,D(t),n)}function Xt(e,t,n,r){return It(e,D(t),n,r)}function Yt(e,t,n,r){return Jt(e,D(t),n,r)}function Zt(e,t,n){Rt(e,D(t),n)}function en(e,t,n,r){return _t(e,D(t),n,r)}function tn(e,n){e.isSubmitting=n,t(e.emitter,"submitting")}function nn(e){e.submitCount++,t(e.emitter,"submitCount")}function rn(e,n){e.isSubmitSuccessful=n,t(e.emitter,"submitSuccessful")}function on(e,n){e.disabled=n,t(e.emitter,"disabled")}function un(e,n){e.status=n,t(e.emitter,"status")}function sn(e){if(e.startsWith("["))try{const t=JSON.parse(e);if(Array.isArray(t))return t.join(".")}catch{}return e}function an(e,n){const{onSubmit:r,onValidSubmit:o,onInvalidSubmit:i,onAction:u,shouldFocusError:s=!0,shouldUseNativeValidation:a=e.shouldUseNativeValidation}=n??{};return async n=>{n&&"function"==typeof n.preventDefault&&n.preventDefault();const c=n?.currentTarget;if(e.isSubmitting)return;le(e),e.isSubmitted=!0,tn(e,!0),nn(e);const l=De(e);if(a&&c&&"function"==typeof c.checkValidity&&!1===c.checkValidity()){if(c.reportValidity(),s&&"function"==typeof c.querySelector){const e=c.querySelector(":invalid");e&&"function"==typeof e.focus&&e.focus()}return tn(e,!1),rn(e,!1),void(i&&i(function(e){const t=[];for(const n of e.elements)n.name&&"function"==typeof n.checkValidity&&!n.checkValidity()&&t.push({path:sn(n.name),type:"native",message:n.validationMessage});return t}(c),l))}if(await gt(e)){if(tn(e,!1),rn(e,!1),s){const n=e.errors.keys().next().value;void 0!==n&&t(e.emitter,"focusError",n)}i&&i(Z(e),l)}else try{const t=De(e);if(r&&await r(t,n),o&&await o(t,n),u){const r=await u(t,n);if(r&&"object"==typeof r&&void 0!==r.errors&&"object"==typeof r.errors)return ce(e,r.errors),void rn(e,!1)}rn(e,!0)}catch{rn(e,!1)}finally{tn(e,!1)}}}function cn(e,n,r){const{key:o}=D(n);r?t(e.emitter,"focusError",o,r):t(e.emitter,"focusError",o)}function ln(e){const o=n();r(o,0);const i=e?.initialValues??{},u="function"==typeof i?i():i,s=e?.validate,a=s&&de(s)?(c=s,async e=>{const t=await c["~standard"].validate(e),{issues:n}=t;if(!n?.length)return{[G]:!0,values:"value"in t?t.value:void 0};const r={};for(const e of n){const t=me(e);if(t.length)he(r,t,ye(e));else{const t=r[_]??=[];Array.isArray(t)&&t.push(ye(e))}}return{[G]:!0,errors:pe(r)||{}}}):s;var c;const l={emitter:o,...e,validate:a,mode:e?.mode??"onSubmit",reValidateMode:e?.reValidateMode??"onChange",validateMode:e?.validateMode??"onSubmit",disabled:e?.disabled??!1,validateOnMount:e?.validateOnMount??!1,asyncAlways:e?.asyncAlways??!1,shouldUseNativeValidation:e?.shouldUseNativeValidation??!0,validateDeps:e?.validateDeps?new Set(e.validateDeps.map(e=>D(e).key)):void 0,initialValues:{},values:new Map,deleted:new Set,errors:new Map,touched:new Set,validators:new Map,validating:new Set,parsedValues:void 0,isSubmitting:!1,isSubmitted:!1,submitCount:0,isSubmitSuccessful:void 0,isLoading:!1,status:void 0,register:(e,t)=>Ut(l,e,t)};return function(e,n,r){E(r)?(e.isLoading=!0,t(n,"loading"),Promise.resolve(r).then(r=>{Be(e,r??{}),e.isLoading=!1,t(n,"loading")},r=>{e.isLoading=!1,t(n,"loading")})):e.initialValues=r}(l,o,u),l}function fn(e){return e.replace(/["'[\],\s]+/g,"-").replace(/^-+|-+$/g,"")||"field"}function dn(e){return fn(D(e).key)}const yn=new WeakMap;function vn(e,t){return e.startsWith(`${t.slice(0,-1)},`)}function mn(t,n,r,o,i){const{key:u}=r;return e(t,n,e=>{(void 0===e||e.key===u||vn(u,e.key)||"branch"===o&&vn(e.key,u))&&i()})}function hn(t,n,r,o){return e(t,n,e=>{void 0!==e&&e.key!==r||o()})}function gn(t,n){const{name:r,event:o="change",scope:i="branch",callback:u}=n;if(void 0===r)return e(t.emitter,o,u);const s=function(e){return Array.isArray(e)&&e.every(e=>"number"!=typeof e)}(r)?r:[r],a=s.map(e=>{const n=D(e);return"errors"===o||"touched"===o?hn(t.emitter,o,n.key,u):mn(t.emitter,o,n,i,u)});return 1===a.length?a[0]:()=>a.forEach(e=>e())}function pn(t,n,r,o){const i={hasValue:!1},u=new Set,s=e(t.emitter,n,()=>{if(o&&i.hasValue){const e=r();if(o(i.value,e))return;i.value=e}else i.value=r(),i.hasValue=!0;u.forEach(e=>e())});return{getSnapshot:()=>(i.hasValue||(i.value=r(),i.hasValue=!0),i.value),subscribe:e=>(u.add(e),()=>{u.delete(e)}),dispose:()=>{s(),u.clear()}}}function bn(e){return D(C(e))}function kn(e){const t=i(()=>D(h(e)).key,[e]);return i(()=>bn(t),[t])}function wn(e,t,n,r){t.done&&(t.source===n||O(t.source,n))||(t.done=!0,t.source=n,void 0!==r?Re(e,n,r):Be(e,n))}function Vn(t){const[n]=c(()=>{const e=ln(t);return t&&void 0!==t.values&&Be(e,t.values),e}),r=t&&t.initialValues,o=t&&t.values,i=t&&t.resetOptions,s=u(null);null===s.current&&(s.current={done:!1,source:void 0}),l(()=>{void 0!==r&&("function"==typeof r||E(r)||wn(n,s.current,r))},[n,r]);const a=u(null);return null===a.current&&(a.current={done:!1,source:void 0}),l(()=>{void 0!==o&&wn(n,a.current,o,i)},[n,o,i]),l(()=>{if(!n.validateOnMount||!n.validate)return;const t=()=>{st(n).catch(()=>{})};if(n.isLoading)return e(n.emitter,"loading",()=>{t()});t()},[n]),n}function An(e,t,n){const r=u(null);null===r.current&&(r.current={hasValue:!1});const o=r.current,i=u(t);i.current=t;const c=u(n);c.current=n;const l=s(()=>(o.hasValue||(o.value=i.current(),o.hasValue=!0),o.value),[o]),f=s(t=>{o.hasValue=!1;return e(()=>{const e=c.current;if(e&&o.hasValue){const n=i.current();if(e(o.value,n))return;return o.value=n,void t()}o.hasValue=!1,t()})},[e,o]);return a(f,l,l)}function Sn(t,n,r,o){const i="emitter"in t?t.emitter:t;return An(s(t=>e(i,n,t),[i,n]),r,o)}function En(e,t,n){return Mn(e,D(t),n)}function Mn(e,t,n){const{emitter:r}=e,{key:o}=t,i=!1===n?.exact?"branch":"leaf";return An(s(e=>mn(r,"change",bn(o),i,e),[r,o,i]),()=>{if(!1===n?.exact)return p(De(e),t.value);const r=Te(e,t);return void 0===r?n?.defaultValue:r})}function On(e){return Sn(e,"change",()=>De(e))}function jn(e,t){return Cn(e,D(t))}function Dn(e,t,n,r){const{emitter:o}=e,{key:i}=t;return An(s(e=>hn(o,n,i,e),[o,n,i]),r)}function Cn(e,t){return Dn(e,t,"touched",Me.bind(null,e,t))}function xn(e,t){return Tn(e,D(t))?.message}function Tn(e,t){return Dn(e,t,"errors",K.bind(null,e,t))}function Nn(e,t){return $n(e,D(t))}function $n(e,t){return Dn(e,t,"errors",Y.bind(null,e,t))}function Fn(e){return Sn(e,"change",ke.bind(null,e))}function qn(e,t){return Un(e,D(t))}function Un(e,t){const{emitter:n}=e,{key:r}=t;return An(s(e=>mn(n,"change",bn(r),"leaf",e),[n,r]),()=>be(e,t))}function Ln(e){return Sn(e,"change",Ve.bind(null,e))}function Wn(e){return Sn(e,"touched",Oe.bind(null,e))}const Pn=["change","errors","touched","validating","submitting","submitCount","submitSuccessful","disabled","loading"];function zn(t,n){const r=Pn.map(r=>e(t,r,n));return()=>{for(const e of r)e()}}function Bn(e,t){const n=e.touchedFields.length===t.touchedFields.length&&e.touchedFields.every((e,n)=>e===t.touchedFields[n]);return e.isDirty===t.isDirty&&e.dirtyFields===t.dirtyFields&&e.isTouched===t.isTouched&&n&&e.hasErrors===t.hasErrors&&e.isValid===t.isValid&&e.errors===t.errors&&e.isSubmitting===t.isSubmitting&&e.isSubmitted===t.isSubmitted&&e.isValidating===t.isValidating&&e.isSubmitSuccessful===t.isSubmitSuccessful&&e.submitCount===t.submitCount&&e.isLoading===t.isLoading&&e.disabled===t.disabled}function In(e){const t=s(()=>function(e){const t=fe(e);return{isDirty:ke(e),dirtyFields:Ve(e),isTouched:e.touched.size>0,touchedFields:Oe(e),hasErrors:t,isValid:!t,errors:te(e),isSubmitting:e.isSubmitting,isSubmitted:e.isSubmitted,isValidating:e.validating.size>0,isSubmitSuccessful:e.isSubmitSuccessful,submitCount:e.submitCount,isLoading:e.isLoading,disabled:e.disabled}}(e),[e]);return An(s(t=>zn(e.emitter,t),[e.emitter]),t,Bn)}function Jn(e,t,n){return An(s(t=>zn(e.emitter,t),[e.emitter]),t,n)}function Rn(e){return Sn(e,"errors",fe.bind(null,e))}function _n(e){return Sn(e,"errors",()=>te(e))}function Gn(e){return Sn(e,"errors",()=>ne(e))}function Hn(e){return Sn(e,"errors",()=>!fe(e))}function Kn(e){return Sn(e,"submitting",()=>e.isSubmitting)}function Qn(e){return Sn(e,"loading",()=>e.isLoading)}function Xn(e){return Sn(e,"status",()=>e.status)}function Yn(t){const{emitter:n}=t;return An(s(t=>{const r=e(n,"errors",t),o=e(n,"submitting",t);return()=>{r(),o()}},[n]),()=>!t.isSubmitting&&!fe(t))}function Zn(e){return Sn(e,"submitCount",()=>e.submitCount)}function er(e){return Sn(e,"validating",()=>e.validating.size>0)}function tr(e){return Sn(e.emitter,"submitSuccessful",()=>!!e.isSubmitSuccessful)}function nr(e){return Tn(e,D(_))?.message}function rr(e){return $n(e,D(_))}function or(e){const t=u(e);return t.current=e,t}function ir(e){const t=or(e);return s((...e)=>t.current(...e),[t])}function ur(e,t,n){const r=u(null);!function(e,t){const n=u(!1),r=or(e),o=or(t);l(()=>{const e=r.current,t=o.current;return n.current&&(n.current=!1,t()),()=>{n.current=!0,e()}},[n,r,o])}(ir(()=>{!1!==(n??e.shouldUnregister)&&(r.current=jt(e,t))}),ir(()=>{const n=r.current;r.current=null,n&&Dt(e,t,n)}))}function sr(e){return e&&de(e)?ve(e):e}function ar(t,n,r,o){const i=f(Sr),u=r||i;if(!u)throw new Error("no form provided");const s=or(sr(t)),a=or(o?.debounce??0),c=or(o?.sync),d=or(o?.asyncAlways??!1),y=or(o?.validateOnMount);return l(()=>{const t=bn(n.key),r=Qe(u,t,{validate:()=>s.current,debounce:()=>a.current,sync:()=>c.current,asyncAlways:()=>d.current});if(!(y.current??u.validateOnMount)||!s.current&&!c.current)return r;let o=!1;const i=()=>{o||u.validators.get(n.key)?.()};if(u.isLoading){const t=e(u.emitter,"loading",()=>{t(),i()})}else i();return()=>{o=!0,r()}},[u,n.key,a,c,d,s,y]),ir(()=>u.validators.get(n.key)?.())}const cr=new WeakMap;const lr=[];function fr(e,t,n){const r=u(!1),o=u(!1),i=u(null);return An(s(u=>{const s=bn(t.key),a=()=>{null!==i.current&&(clearTimeout(i.current),i.current=null)};r.current=!1,o.current=!1,a();const c=hn(e.emitter,"errors",s.key,()=>{const t=Y(e,s).length>0,c=o.current;o.current=t,void 0!==n&&(t?c&&!r.current||(a(),r.current=!0,i.current=setTimeout(()=>{i.current=null,r.current=!1,u()},n)):r.current&&(a(),r.current=!1)),u()});return()=>{c(),a()}},[e,t.key,n]),()=>void 0!==n&&r.current?lr:Y(e,t))}function dr({form:n,name:r,initialValue:o,shouldUnregister:i,validate:a,rules:c,validateDebounce:d,validateDeps:y,validateOnMount:v,delayError:m,disabled:h,uncontrolled:g,asyncAlways:p,mode:b,eventToValue:k,valueAsNumber:w,valueAsDate:V,type:A},S){const O=f(S),j=n||O;if(!j)throw new Error("no form provided");const C=kn(r),T=u(!1);void 0!==o&&void 0===Te(j,C)&&(Fe(j,C,o),T.current=!0),l(()=>{T.current&&(T.current=!1,qe(j,C))});ar(function(e,t,n){if(!e||!Ct(e))return t;const r=qt(e,n);return t?(e,n)=>{const o=r(e,n),i=e=>{const t=[...o??[]];return Array.isArray(e)?t.push(...e):e&&t.push(e),t.length?t:void 0},u=t(e,n);return E(u)?u.then(i):i(u)}:r}(c?{...c,required:void 0}:void 0,sr(a),j.messages),C,j,{debounce:d,validateOnMount:v,asyncAlways:p??j.asyncAlways,sync:c&&void 0!==c.required?qt({required:c.required},j.messages):void 0});const N=fr(j,C,m),$=N[0],F=$?.message,q=function(e,t,n){const r=u({has:!1,value:void 0}),o=s(()=>n?(r.current.has||(r.current={has:!0,value:Te(e,t)}),r.current.value):Te(e,t),[n,e,t]);return An(s(r=>n?()=>{}:mn(e.emitter,"change",t,"leaf",r),[n,e.emitter,t]),o)}(j,C,!!g),U=An(s(e=>g?()=>{}:mn(j.emitter,"change",bn(C.key),"leaf",e),[j.emitter,C.key,g]),()=>be(j,C)),L=An(s(e=>hn(j.emitter,"validating",C.key,e),[j.emitter,C.key]),()=>j.validating.has(C.key)),W=An(s(e=>mn(j.emitter,"disabled",bn(C.key),"branch",e),[j.emitter,C.key]),()=>j.disabled||!0===h||!1!==h&&function(e,t){const n=yn.get(e);if(!n?.size)return!1;const r=t.value;for(let e=1;e<r.length;e++){const t=JSON.stringify(r.slice(0,e));if(n.get(t)?.disabled)return!0}return!1}(j,C)),P=u(null);l(()=>{const e=bn(C.key),n=function(e,n,r){if(void 0===r)return null;const o={};return x(yn,e,()=>new Map).set(n.key,{disabled:r,token:o}),t(e.emitter,"disabled",n),{token:o}}(j,e,h);return n&&(P.current=n.token),()=>{null!==P.current&&(!function(e,n,r){const o=yn.get(e),i=o?.get(n.key);o&&i&&i.token===r&&(o.delete(n.key),t(e.emitter,"disabled",n))}(j,e,P.current),P.current=null)}},[j,C.key,h]);const z=ir(e=>Mt(j,C,e)),B=ir(()=>Ot(j,C));l(()=>{const e=bn(C.key),{token:t,displaced:n}=wt(j,e,b);return()=>Vt(j,e,t)},[j,C.key,b]);const I=y?.length?y.join("\n"):void 0,J=or(y);l(()=>{if(!I)return;const e=J.current.map(e=>D(e).key);return dt(j,C.key,e),()=>yt(j,C.key,e)},[j,C.key,I,J]);const R=u(null),_=s(e=>{R.current=e},[]);l(()=>e(j.emitter,"focusError",(e,t)=>{if(e!==C.key)return;const n=R.current;n&&"function"==typeof n.focus&&(n.focus(),t?.shouldSelect&&"function"==typeof n.select&&n.select())}),[j,C.key]),l(()=>{const t=bn(C.key),n=function(t){const n=cr.get(t);if(n)return n;const r=new Map,o=e(t.emitter,"change",e=>{if(!e)for(const e of r.values()){const{el:n,path:r}=e();if(!n||"file"===n.type)continue;const o=Te(t,r),i=null==o?"":String(o);n.value!==i&&(n.value=i)}}),i={cells:r,off:o};return cr.set(t,i),i}(j);return n.cells.set(C.key,()=>({el:R.current,path:t})),()=>{n.cells.delete(C.key),0===n.cells.size&&(n.off(),cr.delete(j))}},[j,C.key,g]),ur(j,C,i);const G=M(k,{valueAsNumber:w,valueAsDate:V}),H={name:C.key,ref:_,onChange:e=>z(G(e)),onBlur:B,disabled:W};return"checkbox"===A?H.checked=!!q:"file"!==A&&(g?H.defaultValue=q:H.value=q??""),F&&(H["aria-invalid"]=!0,H["aria-describedby"]=fn(C.key)),{form:j,value:q,error:F,errorObject:$,errors:N,isDirty:U,validating:L,onChange:z,onBlur:B,name:C.key,disabled:W,focusRef:_,inputProps:H}}function yr(e){return dr(e,Sr)}const vr=new WeakMap;function mr(e){const t=(vr.get(e)??0)+1;return vr.set(e,t),`_${t}`}const hr=new WeakMap;function gr(e,t,n){const r=hr.get(e)??new Map;r.set(t,n),hr.set(e,r)}function pr(e,n,r,o){const{focus:i}=o??{};void 0!==i&&setTimeout(()=>{const o=[...n.value,r],u="string"==typeof i?D([...o,i]).key:At(e,D(o));void 0!==u&&t(e.emitter,"focusError",u)},0)}function br(e){return e+1}function kr(e,t){const n=f(t),r=e.form||n;if(!r)throw new Error("no form provided");const o=e.keyName??"id",{rules:i,shouldUnregister:a}=e,c=kn(e.name),y=u([]),v=s(()=>{const e=Te(r,c)||[];for(;y.current.length<e.length;)y.current.push(mr(r));for(;y.current.length>e.length;)y.current.pop();return y.current.map((e,t)=>({id:e,index:t,[o]:e}))},[r,c,o]),[m,h]=d(v,void 0,v);l(()=>mn(r.emitter,"change",c,"branch",h),[r.emitter,c]),gr(r,c.key,y.current),l(()=>{const e=y.current;return gr(r,c.key,e),()=>{const t=hr.get(r);t?.get(c.key)===e&&t.delete(c.key)}},[r,c.key]),ur(r,c,a),ar(i?qt({...i,required:void 0},r.messages):void 0,c,r,{sync:void 0!==i?.required?qt({required:i.required},r.messages):void 0});return{fields:m,append:ir((e,t)=>{y.current.push(mr(r)),Wt(r,c,e),pr(r,c,y.current.length-1,t)}),prepend:ir((e,t)=>{y.current.unshift(mr(r)),Pt(r,c,e),pr(r,c,0,t)}),insert:ir((e,t,n)=>{zt(r,c,e,t)&&(y.current.splice(e,0,mr(r)),pr(r,c,e,n))}),remove:ir(e=>{const t=Bt(r,c,e);for(const e of t)y.current.splice(e,1)}),swap:ir((e,t)=>{Jt(r,c,e,t)&&([y.current[e],y.current[t]]=[y.current[t],y.current[e]])}),move:ir((e,t)=>{if(!It(r,c,e,t))return;const[n]=y.current.splice(e,1);y.current.splice(t,0,n)}),replace:ir(e=>{y.current=e.map(()=>mr(r)),Rt(r,c,e)}),update:ir((e,t)=>{_t(r,c,e,t)})}}function wr(e){return kr(e,Sr)}function Vr(e,t){const n=f(t),r=e.form||n;if(!r)throw new Error("no form provided");const{id:o}=e,i=kn(e.name),a=s(()=>function(e,t){return hr.get(e)?.get(t)}(r,i.key)?.indexOf(o)??-1,[r,i.key,o]),c=s(e=>{const t=Te(r,i);return Array.isArray(t)?t[e]:void 0},[r,i]),y=a(),v=c(y),m=u({index:y,value:v});m.current={index:y,value:v};const h=or({computeIndex:a,computeValue:c}),[,g]=d(br,0);l(()=>mn(r.emitter,"change",i,"leaf",()=>{const{computeIndex:e,computeValue:t}=h.current,n=e();n===m.current.index&&Object.is(t(n),m.current.value)||g()}),[r.emitter,i,h]);const p=kn([...i.value,y]),b=$n(r,p);return{value:v,setValue:ir(e=>{if(y<0)return;const t=[...Te(r,i)??[]];y>=t.length||(t[y]=e,$e(r,i,t))}),errors:b,error:b[0]?.message,name:p.key,index:y,form:r}}function Ar(e){return Vr(e,Sr)}const Sr=y(null),Er=Sr.Provider;function Mr(){const e=f(Sr);if(!e)throw new Error("no form provided");return e}function Or(){const e=y(null);return{context:e,FormProvider:function({form:t,children:n}){return v(e.Provider,{value:t},n)},useFormContext:function(){const t=f(e);if(!t)throw new Error("no form provided");return t},useField:function(t){return dr(t,e)},useFieldArray:function(t){return kr(t,e)},useFieldArrayItem:function(t){return Vr(t,e)}}}const jr=y(null),Dr=jr.Provider;function Cr(){const e=f(jr);if(!e)throw new Error("no group provided");return e}function xr(e,t,n={}){const r=kn(t),{toDisplay:o,fromDisplay:i,asyncDebounceMs:a}=n,c=An(s(t=>mn(e.emitter,"change",bn(r.key),"leaf",t),[e.emitter,r.key]),()=>Te(e,r)),f=o?o(c):c,d=u(null),y=u(0),v=or(i),m=or(a??0);l(()=>()=>{null!==d.current&&clearTimeout(d.current)},[]);return{value:f,onChange:s(t=>{const n=()=>{const n=++y.current,o=v.current,i=t=>Mt(e,r,t);if(!o)return void i(t);const u=o(t);E(u)?u.then(e=>{y.current===n&&i(e)}):y.current===n&&i(u)};null!==d.current&&clearTimeout(d.current),d.current=null,m.current>0?d.current=setTimeout(n,m.current):n()},[e,r,v,m])}}function Tr(e,t,n){if(null!=n)if(Array.isArray(n))for(const r of n)Tr(e,t,r);else if("undefined"!=typeof FileList&&n instanceof FileList)for(let r=0;r<n.length;r++)e.append(t,n.item(r));else"undefined"!=typeof File&&n instanceof File?e.append(t,n,n.name):"undefined"!=typeof Blob&&n instanceof Blob?e.append(t,n):n instanceof Date?e.append(t,n.toISOString()):e.append(t,"object"==typeof n?JSON.stringify(n):String(n))}function Nr({form:e,context:t,initialValues:n,values:r,shouldUnregister:i,validateOnMount:u,disabled:s,asyncAlways:a,onSubmit:c,onValidSubmit:l,onInvalidSubmit:f,action:d,shouldFocusError:y,shouldUseNativeValidation:v,...m}){const h=Vn({initialValues:n,values:r,shouldUnregister:i,validateOnMount:u,disabled:s,asyncAlways:a,shouldUseNativeValidation:v}),g=e||h;o.useEffect(()=>{void 0!==s&&on(g,s)},[g,s]);const p=an(g,{onSubmit:c,onValidSubmit:l,onInvalidSubmit:f,shouldFocusError:y,shouldUseNativeValidation:v,onAction:"function"==typeof d?e=>d(function(e){const t=new FormData;for(const n of Object.keys(e))Tr(t,n,e[n]);return t}(e)):void 0}),{Provider:b}=t??Sr,k="string"==typeof d?d:void 0;return o.createElement(b,{value:g},o.createElement("form",{...m,action:k,noValidate:!0,onSubmit:p}))}function $r({children:e,...t}){return e(yr(t))}function Fr(e,t,n){return{"aria-invalid":!!e||n["aria-invalid"],"aria-describedby":e?[n["aria-describedby"],fn(t)].filter(Boolean).join(" "):n["aria-describedby"]}}function qr(e){return e?function(e){const t={};e.required&&(t.required=!0);for(const n of["min","max","minLength","maxLength"])void 0!==e[n]&&(t[n]=e[n]);return e.pattern&&(t.pattern=e.pattern.value.source),t}(e):void 0}const Ur=o.forwardRef(({validate:e,eventToValue:t,initialValue:n,name:r,asProps:i,renderError:u,as:s,valueToProps:a,form:c,shouldUnregister:l,rules:f,validateDebounce:d,validateOnMount:y,valueAsNumber:v,valueAsDate:m,asyncAlways:h,disabled:g,delayError:p,mode:b,uncontrolled:k,...w},V)=>{const A=o.useRef(null),[S,E]=o.useState(0),O=o.useContext(Sr),j=c??O,D="file"===w.type,C=e&&de(e)?ve(e):e,{value:x,onChange:T,onBlur:N,error:$,name:F,disabled:q,focusRef:U,validating:L}=yr({name:r,form:c,initialValue:n,shouldUnregister:l,rules:f,validateDebounce:d,validateOnMount:y,delayError:p,disabled:g,asyncAlways:h,mode:b,uncontrolled:k||D,validate:(...e)=>{if(!1!==j?.shouldUseNativeValidation){const e=A.current;if(e&&"function"==typeof e.checkValidity&&(e.setCustomValidity(""),!1===e.checkValidity()))return void E(e=>e+1)}if(C)return C(...e)}}),W=o.useCallback(e=>{A.current=e,U(e),function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(V,e)},[V,U]);o.useEffect(()=>{const e=A.current;e&&"function"==typeof e.setCustomValidity&&("string"==typeof $?(e.setCustomValidity($),e.reportValidity()):e.setCustomValidity(""))},[$]),o.useEffect(()=>{S>0&&A.current?.reportValidity()},[S]);const P=s||"input",z=M(t,{valueAsNumber:v,valueAsDate:m}),B=a?a(x):D?{}:k?{defaultValue:x}:{value:x},I=fn(F),J=qr(f);return o.createElement(o.Fragment,null,o.createElement(P,{...J,...w,name:F,onBlur:N,...i,...B,...Fr($,F,w),disabled:q,"aria-busy":L||void 0,onChange:e=>T(z(e)),ref:W}),$&&u?o.createElement("span",{id:I,role:"alert"},u($,I)):null)}),Lr=o.forwardRef(({name:e,form:t,initialValue:n,shouldUnregister:r,validate:i,rules:u,validateDebounce:s,validateOnMount:a,asyncAlways:c,disabled:l,delayError:f,mode:d,...y},v)=>{const{value:m,onChange:h,onBlur:g,error:p,name:b,disabled:k,validating:w}=yr({name:e,form:t,initialValue:n,shouldUnregister:r,validate:i,rules:u,validateDebounce:s,validateOnMount:a,asyncAlways:c,delayError:f,disabled:l,mode:d}),V=qr(u);return o.createElement("input",{...V,...y,name:b,onBlur:g,type:"checkbox",checked:!!m,...Fr(p,b,y),disabled:k,"aria-busy":w||void 0,onChange:e=>h(e.target.checked),ref:v})});function Wr(e,t){return e?Array.isArray(t)?t:[]:t??""}const Pr=o.forwardRef(({name:e,multiple:t,children:n,form:r,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,validateOnMount:l,asyncAlways:f,disabled:d,delayError:y,mode:v,...m},h)=>{const{value:g,onChange:p,onBlur:b,error:k,name:w,disabled:V,validating:A}=yr({name:e,form:r,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,validateOnMount:l,asyncAlways:f,delayError:y,disabled:d,mode:v}),S=qr(a);return o.createElement("select",{...S,...m,name:w,onBlur:b,multiple:t,value:Wr(t,g),...Fr(k,w,m),disabled:V,"aria-busy":A||void 0,onChange:e=>p(t?Array.from(e.target.selectedOptions,e=>e.value):e.target.value),ref:h},n)});function zr({form:t,context:n,heading:r}){const i=o.useContext(n??Sr),u=t??i;if(!u)throw new Error("no form provided");const s=o.useRef(null),a=o.useRef(!1),c=o.useId(),l=_n(u);An(o.useCallback(t=>{const n=()=>{const e=a.current;a.current=u.isSubmitting,e&&!u.isSubmitting&&fe(u)&&s.current?.focus(),t()},r=e(u.emitter,"errors",n),o=e(u.emitter,"submitting",n);return()=>{r(),o()}},[u]),()=>null);const f=Object.entries(l);return 0===f.length?null:o.createElement("div",{role:"alert",tabIndex:-1,ref:s,"aria-labelledby":c},o.createElement("h2",{id:c},r??"There is a problem"),o.createElement("ul",null,f.map(([e,t])=>{const n=t[0]?.message;if(e===_)return o.createElement("li",{key:e},o.createElement("p",null,n));const r=oe(e);return o.createElement("li",{key:e},o.createElement("a",{href:`#${dn(r)}`,onClick:e=>{e.preventDefault(),cn(u,r)}},n))})))}export{Lr as Checkbox,jr as CheckboxGroupContext,Dr as CheckboxGroupProvider,zr as ErrorSummary,_ as FORM_ERROR,Ur as Field,Nr as Form,Sr as FormContext,$r as FormField,Er as FormProvider,Pr as Select,G as VALIDATION_OUTCOME,Gt as appendValue,Wt as appendValueByPath,bt as changeValue,kt as changeValueByPath,ae as clearErrors,le as clearServerErrors,ln as createForm,Or as createFormContext,oe as dottedKeyToFieldPath,qe as emitChangeByPath,ht as ensureValidate,dn as fieldErrorId,re as fieldPathToDottedKey,At as firstMountedDescendantKey,Ve as getDirtyFields,H as getError,K as getErrorByPath,Z as getErrors,te as getErrorsRecord,ne as getErrorsTree,X as getFieldErrors,Y as getFieldErrorsByPath,Ue as getFieldState,ie as getFirstError,Oe as getTouchedFields,xe as getValue,Te as getValueByPath,De as getValues,an as handleSubmit,fe as hasErrors,Ee as hasTouched,Me as hasTouchedByPath,nn as incrementSubmitCount,Kt as insertValue,zt as insertValueByPath,ke as isDirty,be as isFieldDirtyByPath,je as isTouched,Xt as moveValue,It as moveValueByPath,Ht as prependValue,Pt as prependValueByPath,Ut as registerField,wt as registerFieldMode,dt as registerFieldValidateDeps,Qe as registerValidatorByPath,Le as removeField,We as removeFieldByPath,Qt as removeValue,Bt as removeValueByPath,Zt as replaceValues,Rt as replaceValuesByPath,Re as reset,_e as resetField,vt as revalidateDependentsOnChange,lt as revalidateFormOnChange,st as runFormValidate,Fe as seedValueByPath,on as setDisabled,ue as setError,se as setErrorByPath,cn as setFocus,Be as setInitialValues,tn as setIsSubmitting,ce as setServerErrors,un as setStatus,rn as setSubmitSuccessful,Ae as setTouched,Se as setTouchedByPath,He as setValidatingByPath,Ne as setValue,$e as setValueByPath,ct as shouldKick,gn as subscribe,Yt as swapValues,Jt as swapValuesByPath,Xe as trigger,Vt as unregisterFieldMode,yt as unregisterFieldValidateDeps,Ge as unsetValidatingByPath,en as updateValue,_t as updateValueByPath,Yn as useCanSubmit,Cr as useCheckboxGroupContext,Ln as useDirtyFields,xn as useError,Tn as useErrorByPath,_n as useErrors,Gn as useErrorsTree,yr as useField,wr as useFieldArray,Ar as useFieldArrayItem,Nn as useFieldErrors,$n as useFieldErrorsByPath,Vn as useForm,Mr as useFormContext,nr as useFormError,rr as useFormErrors,In as useFormState,Rn as useHasErrors,Fn as useIsDirty,qn as useIsFieldDirty,Un as useIsFieldDirtyByPath,Qn as useIsLoading,tr as useIsSubmitSuccessful,Kn as useIsSubmitting,Hn as useIsValid,er as useIsValidating,Xn as useStatus,Jn as useStore,Zn as useSubmitCount,jn as useTouched,Cn as useTouchedByPath,Wn as useTouchedFields,xr as useTransform,En as useValue,Mn as useValueByPath,On as useValues,Sn as useWatch,An as useWatchCore,Ot as userBlur,Mt as userChangeByPath,gt as validate,pn as watch};
2
2
  //# sourceMappingURL=index.mjs.map