react-f0rm 1.3.0 → 1.4.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 (98) hide show
  1. package/README.md +88 -1143
  2. package/devtools.d.ts +1 -0
  3. package/devtools.js +1 -0
  4. package/dist/array-3hAjl6Bz.d.ts +160 -0
  5. package/dist/devtools/index.cjs.js +1 -1
  6. package/dist/devtools/index.cjs.js.map +1 -1
  7. package/dist/devtools/index.d.cts +34 -0
  8. package/dist/devtools/index.d.mts +34 -0
  9. package/dist/devtools/index.d.ts +3 -2
  10. package/dist/devtools/index.mjs +1 -1
  11. package/dist/devtools/index.mjs.map +1 -1
  12. package/dist/errors-8oPux7GR.cjs.js +2 -0
  13. package/dist/errors-8oPux7GR.cjs.js.map +1 -0
  14. package/dist/errors-ClH3eV1R.mjs +2 -0
  15. package/dist/errors-ClH3eV1R.mjs.map +1 -0
  16. package/dist/index.cjs.js +1 -1
  17. package/dist/index.cjs.js.map +1 -1
  18. package/dist/index.d.cts +1833 -0
  19. package/dist/index.d.mts +1833 -0
  20. package/dist/index.d.ts +372 -117
  21. package/dist/index.mjs +1 -1
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/index.umd.js +859 -225
  24. package/dist/index.umd.js.map +1 -1
  25. package/dist/index.umd.min.js +2 -2
  26. package/dist/index.umd.min.js.map +1 -1
  27. package/dist/persist.cjs.js +1 -1
  28. package/dist/persist.cjs.js.map +1 -1
  29. package/dist/persist.d.cts +49 -0
  30. package/dist/persist.d.mts +49 -0
  31. package/dist/persist.mjs +1 -1
  32. package/dist/persist.mjs.map +1 -1
  33. package/dist/resolvers/standard-schema.cjs.js +1 -1
  34. package/dist/resolvers/standard-schema.cjs.js.map +1 -1
  35. package/dist/resolvers/standard-schema.d.cts +2 -0
  36. package/dist/resolvers/standard-schema.d.mts +2 -0
  37. package/dist/resolvers/standard-schema.d.ts +1 -67
  38. package/dist/resolvers/standard-schema.mjs +1 -1
  39. package/dist/resolvers/standard-schema.mjs.map +1 -1
  40. package/dist/resolvers/yup.cjs.js +1 -1
  41. package/dist/resolvers/yup.cjs.js.map +1 -1
  42. package/dist/resolvers/yup.d.cts +6 -0
  43. package/dist/resolvers/yup.d.mts +6 -0
  44. package/dist/resolvers/yup.d.ts +0 -1
  45. package/dist/resolvers/yup.mjs +1 -1
  46. package/dist/resolvers/yup.mjs.map +1 -1
  47. package/dist/resolvers/zod.cjs.js +1 -1
  48. package/dist/resolvers/zod.cjs.js.map +1 -1
  49. package/dist/resolvers/zod.d.cts +6 -0
  50. package/dist/resolvers/zod.d.mts +6 -0
  51. package/dist/resolvers/zod.d.ts +0 -1
  52. package/dist/resolvers/zod.mjs +1 -1
  53. package/dist/resolvers/zod.mjs.map +1 -1
  54. package/dist/server/index.cjs.js +1 -1
  55. package/dist/server/index.cjs.js.map +1 -1
  56. package/dist/server/index.d.cts +106 -0
  57. package/dist/server/index.d.mts +106 -0
  58. package/dist/server/index.d.ts +31 -2
  59. package/dist/server/index.mjs +1 -1
  60. package/dist/server/index.mjs.map +1 -1
  61. package/dist/standard-schema-CYbnugL7.d.ts +1184 -0
  62. package/dist/standardSchema-BpZvg0tZ.mjs +2 -0
  63. package/dist/standardSchema-BpZvg0tZ.mjs.map +1 -0
  64. package/dist/standardSchema-CxV_DhBO.cjs.js +2 -0
  65. package/dist/standardSchema-CxV_DhBO.cjs.js.map +1 -0
  66. package/dist/validate-BEjNsNvd.mjs +2 -0
  67. package/dist/validate-BEjNsNvd.mjs.map +1 -0
  68. package/dist/validate-BvN6hiEG.cjs.js +2 -0
  69. package/dist/validate-BvN6hiEG.cjs.js.map +1 -0
  70. package/dist/values-Bod74Kzu.mjs +2 -0
  71. package/dist/values-Bod74Kzu.mjs.map +1 -0
  72. package/dist/values-DKpOCD5J.cjs.js +2 -0
  73. package/dist/values-DKpOCD5J.cjs.js.map +1 -0
  74. package/package.json +72 -27
  75. package/persist.d.ts +1 -0
  76. package/persist.js +1 -0
  77. package/resolvers/standard-schema.d.ts +1 -0
  78. package/resolvers/standard-schema.js +1 -0
  79. package/resolvers/yup.d.ts +1 -0
  80. package/resolvers/yup.js +1 -0
  81. package/resolvers/zod.d.ts +1 -0
  82. package/resolvers/zod.js +1 -0
  83. package/server.d.ts +1 -0
  84. package/server.js +1 -0
  85. package/dist/errors-BKrUdpfI.cjs.js +0 -2
  86. package/dist/errors-BKrUdpfI.cjs.js.map +0 -1
  87. package/dist/errors-CrQBddrJ.mjs +0 -2
  88. package/dist/errors-CrQBddrJ.mjs.map +0 -1
  89. package/dist/form-CeKSBs31.d.ts +0 -486
  90. package/dist/validate-CNtuUhmk.mjs +0 -2
  91. package/dist/validate-CNtuUhmk.mjs.map +0 -1
  92. package/dist/validate-Cl4ksNFu.cjs.js +0 -2
  93. package/dist/validate-Cl4ksNFu.cjs.js.map +0 -1
  94. package/dist/validate-nksgv1pR.d.ts +0 -272
  95. package/dist/values-Cu6awQOJ.cjs.js +0 -2
  96. package/dist/values-Cu6awQOJ.cjs.js.map +0 -1
  97. package/dist/values-DRY-a32G.mjs +0 -2
  98. package/dist/values-DRY-a32G.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * react-f0rm v1.3.0
2
+ * react-f0rm v1.4.0
3
3
  * Copyright (c) 2021-present wmzy <1256573276@qq.com>
4
4
  */
5
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define("react-f0rm",["exports","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["react-f0rm"]={},e.React)}(this,function(e,t){"use strict";function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var r=n(t);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function o(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))||t){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,u=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){a=!0,s=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw s}}}}var s="undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV,u=new WeakMap,a=new WeakMap;var c=Symbol("error");function l(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];var s,u=e.get(t);if(u&&u.size&&(u.forEach(function(e){try{e.apply(void 0,r)}catch(e){s?s.push(e):s=[e]}}),s)){var a,c=o(s);try{for(c.s();!(a=c.n()).done;){var l;d(e,a.value)}}catch(l){c.e(l)}finally{c.f()}}}function d(e,t){var n=e.get(c);if(!n||!n.size)throw t;n.forEach(function(e){return e(t)})}function f(e,t,n){var r=function(e,t){var n=e.get(t);if(n)return n;var r=new Set;return e.set(t,r),r}(e,t);return r.add(n),s&&function(e,t,n){var r=u.get(e);if(void 0===r&&(r=10),!(r<=0||n<=r)){var i=a.get(e);i||(i=new Set,a.set(e,i)),i.has(t)||(i.add(t),console.warn("Possible event-emitter memory leak: ".concat(n,' "').concat(String(t),'" listeners added. ')+"Use setMaxListeners(ee, n) to raise the limit, or 0 to disable this warning."))}}(e,t,r.size),function(){return r.delete(n)}}const y=new Map;function m(e){if(Array.isArray(e))return e;const t=y.get(e);if(t)return t;const n=function(e){const t=[];let n="";const r=()=>{if(h(n)){const r=[...t.map(String),n].join("."),i=t.reduce((e,t)=>e+("number"==typeof t?`[${t}]`:`${e?".":""}${t}`),"");throw new TypeError(`Numeric path segment must use bracket notation: "${r}" → "${i}[${n}]" (path: ${e})`)}t.push(n),n=""};for(let i=0;i<e.length;i++){const o=e[i];if("."===o)""!==n&&r();else if("["===o){""!==n&&r();const o=e[i+1];if('"'===o||"'"===o){const n=e.indexOf(o,i+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(i+2,n)),i=n+1}else{const n=e.indexOf("]",i+1);if(-1===n)throw new TypeError(`Unterminated bracket in path: ${e}`);const r=e.slice(i+1,n);t.push(h(r)?Number(r):r),i=n}}else n+=o}""===n&&0!==t.length||r();return t}(e);if(y.size>=1e4){const e=y.keys().next();e.done||y.delete(e.value)}return y.set(e,n),n}const h=e=>/^-?\d+$/.test(e);function v(e,t){return t.reduce((e,t)=>{if(null!=e)return e[t]},e)}function g(e,t){if(!t.length||null==e)return e;const[n,...r]=t;if(r.length){const t=g(e[n],r);return t===e[n]?e:p(e,[n],t)}if(Array.isArray(e)){if(!(n in e))return e;const t=e.slice();return delete t[n],t}if("object"!=typeof e||!(n in e))return e;const i={...e};return delete i[n],i}function p(e,t,n){if(!t.length)return n;const[r,...i]=t,o="number"==typeof r?r:Array.isArray(e)&&"string"==typeof r&&h(r)?Number(r):void 0;if(void 0!==o){const t=Array.isArray(e)?e.slice():[];return t[o]=p(t[o],i,n),t}return{...e,[r]:p(e&&e[r],i,n)}}function b(e,t,n,r){if(!t.length)return n;let i=e,o=null,s="";for(let u=0;u<t.length;u++){const a=t[u];if(!r.has(i)){let t;t="number"==typeof a||Array.isArray(i)&&"string"==typeof a&&h(a)?Array.isArray(i)?i.slice():[]:{...i},r.add(t),0===u?e=t:o[s]=t,i=t}u===t.length-1?i[a]=n:(o=i,s=a,i=i[a])}return e}function k(e){return e&&"function"==typeof e.then}function S(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(!S(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 i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(const n of i)if(!S(e[n],t[n]))return!1;return!0}function w(e,t,n,r){return new Promise((i,o)=>{if(r())return void o();if(n())return void i();const s=f(e,t,()=>{if(r())return s(),void o();n()&&(s(),i())})})}function V(e){const t=m(e);return{value:t,key:JSON.stringify(t)}}const E=new WeakMap;function C(e){const t=E.get(e);t&&t.version++}const A=new WeakMap;function x(e,t,n){const r=A.get(e);return r?.has(t)?r.get(t):v(e.initialValues,n)}function O(e,{key:t},n){let r=A.get(e);r||(r=new Map,A.set(e,r)),r.set(t,n)}function F(e,{key:t}){const n=A.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 M(e,t){const n=A.get(e);n&&(void 0===t?n.clear():n.delete(t))}const D=new WeakMap;function T(e){const t=D.get(e);t&&t.version++}function P(e){return e.some(e=>"number"==typeof e)}function j(e){return!!e&&"object"==typeof e&&"string"==typeof e.type&&"string"==typeof e.message}const L="_form",B=Symbol("validation-outcome");function N({errors:e},t){return e.get(t.key)?.[0]}const R=[];function I({errors:e},t){return e.get(t.key)??R}function $({errors:e}){const t=[];for(const[n,r]of e){const e=JSON.parse(n).join(".");for(const{type:n,message:i}of r)t.push({path:e,type:n,message:i})}return t}function q({errors:e}){return e.values().next().value?.[0]?.message}function W(e,t,n,r){U(e,V(t),n,r)}function U(e,t,n,r){const{emitter:i,errors:o}=e,s=function(e){if("string"==typeof e)return e?[{type:"custom",message:e}]:void 0;if(j(e))return[e];if(!e)return;const t=[];return e.forEach(e=>{"string"==typeof e&&e?t.push({type:"custom",message:e}):j(e)&&t.push(e)}),t.length?t:void 0}(n);s?o.set(t.key,s):o.delete(t.key),l(i,"errors",t),r?.shouldFocus&&l(i,"focusError",t.key)}function z(e,t){const{emitter:n,errors:r}=e;if(void 0===t)return r.clear(),void l(n,"errors");const i="string"==typeof t||P(t)?[V(t)]:t.map(e=>V(e));for(const{key:e}of i)r.delete(e);for(const e of i)l(n,"errors",e)}function J({errors:e}){return e.size>0}function _(e,t){const n=e.values.get(t.key);return e.values.has(t.key)&&x(e,t.key,t.value)!==n}function G(e){let t=!1;return H(e,()=>{t=!0}),t}function H(e,t){for(const[n,r]of e.values){const i=JSON.parse(n);x(e,n,i)!==r&&t(i.join("."))}}function K(e){const t={};return H(e,e=>{t[e]=!0}),t}function Q(e){let t=D.get(e);if(t){if(t.version>0){const n=K(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:K(e)},D.set(e,t);return t.result}function X({emitter:e,touched:t},n){t.has(n.key)||(t.add(n.key),l(e,"touched",n))}function Y({touched:e},t){return e.has(t.key)}function Z({touched:e}){return Array.from(e,e=>JSON.parse(e).join("."))}function ee(e){let t=E.get(e);return t?t.version>0&&(t.result=te(e),t.version=0):(t={version:0,result:te(e)},E.set(e,t)),t.result}function te(e){const{initialValues:t,parsedValues:n,values:r,deleted:i}=e,o=new Set;let s=n??t;for(const[e,t]of r)s=b(s,JSON.parse(e),t,o);for(const e of i)s=g(s,JSON.parse(e));return s}function ne({initialValues:e,parsedValues:t,values:n,deleted:r},i){const{key:o,value:s}=i;if(n.has(o))return n.get(o);if(!r.has(o)){for(let e=s.length-1;e>0;e--){const t=JSON.stringify(s.slice(0,e));if(n.has(t))return v(n.get(t),s.slice(e))}return v(t??e,s)}}function re(e,t,n,r){const{emitter:i,values:o,deleted:s}=e,u="function"==typeof n?n(ne(e,t)):n;o.set(t.key,u),ue(o,t),ae(s,t),F(e,t),!1===r?.shouldDirty&&O(e,t,u),T(e),C(e),r?.shouldTouch&&X(e,t),r?.shouldValidate&&e.validators.get(t.key)?.(),l(i,"change",t)}function ie(e,t,n){const{values:r,deleted:i}=e;r.set(t.key,n),ue(r,t),ae(i,t),F(e,t),T(e),C(e)}function oe({emitter:e},t){l(e,"change",t)}function se(e,t,n){const{key:r,value:i}=t,{emitter:o,values:s,touched:u,errors:a,validating:c,deleted:d}=e;n?.keepValue||n?.keepDirty||(s.delete(r),M(e,r),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(r)),n?.keepTouched||u.delete(r),n?.keepError||a.delete(r),c.delete(r),T(e),C(e),l(o,"change",t),l(o,"touched",t),l(o,"errors",t),l(o,"validating",t)}function ue(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 ae(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 ce(e,t){e.initialValues===t||S(e.initialValues,t)||(e.initialValues=t,e.parsedValues=void 0,e.values.clear(),e.deleted.clear(),M(e),T(e),C(e),l(e.emitter,"change"))}function le(e,t,n){if(null!==e&&"object"==typeof e){if(Array.isArray(e)){for(let r=0;r<e.length;r++)le(e[r],[...t,r],n);return}const r=Object.keys(e);if(r.length>0){for(const i of r)le(e[i],[...t,i],n);return}}n.push({segments:t,value:e})}function de({emitter:e,validating:t},n){t.delete(n.key),l(e,"validating",n)}function fe({emitter:e,validating:t},n){t.add(n.key),l(e,"validating",n)}function ye(e,t,n){let r=null,i=null,o=!1,s=null,u=null;const a=e=>void 0!==e&&!(Array.isArray(e)&&0===e.length),c=()=>{o||(o=!0,fe(e,t))},l=()=>{o&&(o=!1,de(e,t))},d=()=>{const r=n.sync();if(!r)return!1;const i=r(ne(e,t),{form:e,path:t});return a(i)?(U(e,t,i),u="sync",!0):(n.validate()&&"sync"!==u||(U(e,t,void 0),u=null),!1)},f=r=>{if(n.asyncAlways?.()){const i=(()=>{const r=n.sync();if(!r)return null;const i=r(ne(e,t),{form:e,path:t});if(void 0===i)return null;const o=Array.isArray(i)?i:[i];return o.length?o:null})(),o=void 0===r?[]:Array.isArray(r)?r:[r];U(e,t,[...i??[],...o]),u=a(r)?"validator":i?"sync":null}else U(e,t,r),u=a(r)?"validator":null},y=()=>{null!==r&&(clearTimeout(r),r=null),i?.abort(),s={}},m=()=>{const r=n.validate();if(!r)return void l();i?.abort(),i=new AbortController;const o=s={};let u;try{u=r(ne(e,t),{form:e,path:t,signal:i.signal})}catch(e){throw l(),e}if(!k(u))return f(u),void l();c(),u.then(e=>{s===o&&f(e)}).catch(()=>{}).finally(()=>{s===o&&(l(),s=null)})},h=()=>{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(h,e));m()}),()=>{e.validators.delete(t.key),null!==r&&(clearTimeout(r),r=null),l(),i?.abort()}}function me(e,t){t.forEach(t=>X(e,V(JSON.parse(t))))}function he(e,t,n=[],r){Object.entries(t).forEach(([t,i])=>{const o=[...n,...h(t)?[t]:m(t)];"string"==typeof i?i&&(W(e,o,i),ve(e,o,r)):Array.isArray(i)||j(i)?(W(e,o,i),ve(e,o,r)):i&&"object"==typeof i&&he(e,i,o,r)})}function ve(e,t,n){if(!n)return;const r=V(t),i=e.errors.get(r.key);i&&n.set(r.key,i)}function ge(e,t){const n=e.validateDeps?function(e){let t=pe.get(e);t||(t=new Map,pe.set(e,t));return t}(e):void 0;if(n&&(!function(e,t){for(const[n,r]of t){e.errors.get(n)===r&&(e.errors.delete(n),l(e.emitter,"errors",V(JSON.parse(n))))}}(e,n),n.clear()),t){if("object"==typeof t&&B in t){const r=t;return r.errors&&he(e,r.errors,[],n),void function(e,t){void 0!==t&&t!==e.parsedValues&&(e.parsedValues=t,C(e),l(e.emitter,"change"))}(e,r.values)}he(e,t,[],n)}}const pe=new WeakMap;const be="__form_validate__";function ke(e){for(const t of e.validating)if(t!==be)return!1;return!0}const Se=Symbol("form-validate-settled"),we=new WeakMap;function Ve(e){const t=e.validate;if(!t)return Promise.resolve();const n=e.validateDebounce??0;if(n<=0){const n=new AbortController;return Promise.resolve(t(ee(e),{form:e,signal:n.signal})).then(t=>{ge(e,t)})}const r=function(e){let t=we.get(e);return t||(t={timer:null,controller:null,round:null,marked:!1,waiters:[]},we.set(e,t)),t}(e);return null!==r.timer?clearTimeout(r.timer):(r.marked=!0,e.validating.add(be),l(e.emitter,"validating")),r.timer=setTimeout(()=>{r.timer=null;const t=r.round={};(function(e,t,n){const r=e.validate;if(!r)return Promise.resolve();t.controller?.abort();const i=t.controller=new AbortController;let o;try{o=Promise.resolve(r(ee(e),{form:e,signal:i.signal}))}catch(e){o=Promise.reject(e)}return o.then(r=>{t.round===n&&ge(e,r)},e=>{if(t.round===n)throw e})})(e,r,t).then(()=>Ee(e,r,t,Se),n=>Ee(e,r,t,n))},n),new Promise((e,t)=>{r.waiters.push({resolve:e,reject:t})})}function Ee(e,t,n,r){if(t.round!==n)return;if(t.round=null,null!==t.timer)return;t.marked&&(t.marked=!1,e.validating.delete(be),l(e.emitter,"validating"));const i=t.waiters;t.waiters=[];for(const e of i)r===Se?e.resolve():e.reject(r)}function Ce(e,t,n){e.validateDeps?.has(t.key)&&e.validate&&("onChange"===n||"all"===n||"onTouched"===n&&Y(e,t)||"onChange"===e.reValidateMode&&function(e){const t=pe.get(e);if(!t)return!1;for(const[n,r]of t)if(e.errors.get(n)===r)return!0;return!1}(e))&&Ve(e).catch(()=>{})}const Ae=new WeakMap;function xe(e,t,n){let r=Ae.get(e);r||(r=new Map,Ae.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 Oe(e,t,n){const r=Ae.get(e);if(r)for(const e of n){const n=r.get(e);n?.delete(t)&&(n.size||r.delete(e))}}function Fe(e,t,n){const r=Ae.get(e)?.get(t.key);if(r?.size)for(const i of r)i!==t.key&&("onChange"===n||"all"===n||"onTouched"===n&&Y(e,t)||"onChange"===e.reValidateMode&&e.errors.has(i))&&e.validators.get(i)?.()}function Me(e){const t=new Error(q(e));return t.errors=$(e),t}async function De(e){if(e.validators.forEach(e=>e()),await w(e.emitter,"validating",()=>ke(e),()=>J(e)).catch(()=>{throw Me(e)}),e.validate&&(await Ve(e),J(e)))throw Me(e)}async function Te(e){return De(e).catch(e=>e.message)}const Pe=new WeakMap;function je(e,t,n,r){!1===r?.shouldDirty&&O(e,t,n),Pe.get(e)?.get(t.key)?Ne(e,t,n):re(e,t,n,r)}function Le(e,t,n){let r=Pe.get(e);r||(r=new Map,Pe.set(e,r));const i=r.has(t.key),o={};return r.set(t.key,{mode:n,token:o}),{token:o,displaced:i}}function Be(e,t,n){const r=Pe.get(e),i=r?.get(t.key);r&&i&&i.token===n&&r.delete(t.key)}function Ne(e,t,n){re(e,t,n);const r=Pe.get(e)?.get(t.key);r&&function(e,t,n){("onChange"===n||"all"===n||"onTouched"===n&&Y(e,t)||I(e,t).length>0&&"onChange"===e.reValidateMode)&&e.validators.get(t.key)?.(),Ce(e,t,n),Fe(e,t,n)}(e,t,r.mode??e.mode)}function Re(e,t){X(e,t);const n=Pe.get(e)?.get(t.key);if(!n)return;const r=n.mode??e.mode;("onBlur"===r||"onTouched"===r||"all"===r||I(e,t).length>0&&"onBlur"===e.reValidateMode)&&e.validators.get(t.key)?.()}function Ie(e,t){e.isSubmitting=t,l(e.emitter,"submitting")}function $e(e){e.submitCount++,l(e.emitter,"submitCount")}function qe(e,t){e.isSubmitSuccessful=t,l(e.emitter,"submitSuccessful")}function We(e,t){e.disabled=t,l(e.emitter,"disabled")}function Ue(e){if(e.startsWith("["))try{const t=JSON.parse(e);if(Array.isArray(t))return t.join(".")}catch{}return e}function ze(e,t){const{onSubmit:n,onValidSubmit:r,onInvalidSubmit:i,onAction:o,shouldFocusError:s=!0}=t??{};return async t=>{t&&"function"==typeof t.preventDefault&&t.preventDefault();const u=t?.currentTarget;e.isSubmitted=!0,Ie(e,!0),$e(e);const a=ee(e);if(u&&"function"==typeof u.checkValidity&&!1===u.checkValidity()){if(u.reportValidity(),s&&"function"==typeof u.querySelector){const e=u.querySelector(":invalid");e&&"function"==typeof e.focus&&e.focus()}return Ie(e,!1),qe(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:Ue(r.name),type:"native",message:r.validationMessage})}return t}(u),a))}if(await Te(e)){if(Ie(e,!1),qe(e,!1),s){const t=e.errors.keys().next().value;void 0!==t&&l(e.emitter,"focusError",t)}i&&i($(e),a)}else try{const i=ee(e);n&&await n(i,t),r&&await r(i,t),o&&await o(i,t),qe(e,!0)}catch{qe(e,!1)}finally{Ie(e,!1)}}}function Je(e){const t=new Map;var n,r;n=t,r=0,u.set(n,r);let i=e?.initialValues??{};"function"==typeof i&&(i=i());const o={emitter:t,...e,mode:e?.mode??"onSubmit",reValidateMode:e?.reValidateMode??"onChange",disabled:e?.disabled??!1,validateOnMount:e?.validateOnMount??!1,asyncAlways:e?.asyncAlways??!1,validateDeps:e?.validateDeps?new Set(e.validateDeps.map(e=>V(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};return k(i)?(o.isLoading=!0,l(t,"loading"),Promise.resolve(i).then(e=>{ce(o,e??{}),o.isLoading=!1,l(t,"loading")},e=>{o.isLoading=!1,l(t,"loading")})):o.initialValues=i,o}function _e(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 Ge(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:_e("required")}];const r=[],i=(t,n)=>e.messages?.[t]??_e(t,n);if(void 0!==e.min){const n=Number(t);!Number.isNaN(n)&&n<e.min&&r.push({type:"min",message:i("min",e.min)})}if(void 0!==e.max){const n=Number(t);!Number.isNaN(n)&&n>e.max&&r.push({type:"max",message:i("max",e.max)})}const o="string"==typeof t||Array.isArray(t);if(void 0!==e.minLength&&o&&t.length<e.minLength&&r.push({type:"minLength",message:i("minLength",e.minLength)}),void 0!==e.maxLength&&o&&t.length>e.maxLength&&r.push({type:"maxLength",message:i("maxLength",e.maxLength)}),e.pattern&&!e.pattern.value.test(t)&&r.push({type:"pattern",message:e.messages?.pattern??e.pattern.message??_e("pattern")}),void 0!==e.validate){const i="function"==typeof e.validate?{validate:e.validate}:e.validate;for(const[e,o]of Object.entries(i)){const i=o(t,n);if(void 0!==i)for(const t of Array.isArray(i)?i:[i])r.push("string"==typeof t?{type:e,message:t}:{...t,type:e})}}return r.length?r:void 0}}function He(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 Ke(e,t){return e.startsWith(`${t.slice(0,-1)},`)}function Qe(e,t,n,r,i){const{key:o}=n;return f(e,t,e=>{(void 0===e||e.key===o||Ke(o,e.key)||"branch"===r&&Ke(e.key,o))&&i()})}function Xe(e,t,n,r){return f(e,t,e=>{void 0!==e&&e.key!==n||r()})}function Ye(e){const[n]=t.useState(()=>{const t=Je(e);return e&&void 0!==e.values&&ce(t,e.values),t}),r=e&&e.initialValues,i=e&&e.values,o=t.useRef(null);null===o.current&&(o.current={done:!1,source:void 0}),t.useEffect(()=>{if(void 0===r)return;if("function"==typeof r||k(r))return;const e=o.current;e.done&&(e.source===r||S(e.source,r))||(e.done=!0,e.source=r,ce(n,r))},[n,r]);const s=t.useRef(null);return null===s.current&&(s.current={done:!1,source:void 0}),t.useEffect(()=>{if(void 0===i)return;const e=s.current;e.done&&(e.source===i||S(e.source,i))||(e.done=!0,e.source=i,ce(n,i))},[n,i]),t.useEffect(()=>{if(!n.validateOnMount||!n.validate)return;const e=()=>{Ve(n).catch(()=>{})};if(n.isLoading)return f(n.emitter,"loading",()=>{e()});e()},[n]),n}function Ze(e,n,r){const i=t.useRef(null);null===i.current&&(i.current={hasValue:!1});const o=i.current,s=t.useRef(n);s.current=n;const u=t.useRef(r);u.current=r;const a=t.useCallback(()=>(o.hasValue||(o.value=s.current(),o.hasValue=!0),o.value),[o]),c=t.useCallback(t=>{o.hasValue=!1;return e(()=>{const e=u.current;if(e&&o.hasValue){const n=s.current();if(e(o.value,n))return;return o.value=n,void t()}o.hasValue=!1,t()})},[e,o]);return t.useSyncExternalStore(c,a,a)}function et(e,n,r,i){const o="emitter"in e?e.emitter:e;return Ze(t.useCallback(e=>f(o,n,e),[o,n]),r,i)}function tt(e,n,r){const{emitter:i}=e,{key:o}=n,s=!1===r?.exact?"branch":"leaf";return Ze(t.useCallback(e=>Qe(i,"change",n,s,e),[i,o,s]),()=>{if(!1===r?.exact)return v(ee(e),n.value);const t=ne(e,n);return void 0===t?r?.defaultValue:t})}function nt(e,n){const{emitter:r}=e,{key:i}=n;return Ze(t.useCallback(e=>Xe(r,"touched",i,e),[r,i]),Y.bind(null,e,n))}function rt(e,n){const{emitter:r}=e,{key:i}=n;return Ze(t.useCallback(e=>Xe(r,"errors",i,e),[r,i]),N.bind(null,e,n))}function it(e,n){const{emitter:r}=e,{key:i}=n;return Ze(t.useCallback(e=>Xe(r,"errors",i,e),[r,i]),I.bind(null,e,n))}function ot(e,n){const{emitter:r}=e,{key:i}=n;return Ze(t.useCallback(e=>Qe(r,"change",n,"leaf",e),[r,i]),()=>_(e,n))}const st=["change","errors","touched","validating","submitting","submitCount","submitSuccessful","disabled","loading"];function ut(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.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 at(e){const n=t.useMemo(()=>V(m(e)),[e]);return t.useMemo(()=>n,[n.key])}function ct(e){const n=t.useRef(e);return n.current=e,n}function lt(e){const n=ct(e);return t.useCallback((...e)=>n.current(...e),[n])}function dt(e,n){const r=t.useRef(!1);t.useEffect(()=>(r.current&&(r.current=!1,n()),()=>{r.current=!0,e()}),[])}function ft(e,n,r,i){const o=t.useContext(Ct),s=r||o;if(!s)throw new Error("no form provided");const u=t.useRef(e);u.current=e;const a=t.useRef(i?.debounce??0);a.current=i?.debounce??0;const c=t.useRef(i?.sync);c.current=i?.sync;const l=t.useRef(i?.asyncAlways??!1);return l.current=i?.asyncAlways??!1,t.useEffect(()=>{const e=ye(s,n,{validate:()=>u.current,debounce:()=>a.current,sync:()=>c.current,asyncAlways:()=>l.current});if(!(i?.validateOnMount??s.validateOnMount)||!u.current&&!c.current)return e;let t=!1;const r=()=>{t||s.validators.get(n.key)?.()};if(s.isLoading){const e=f(s.emitter,"loading",()=>{e(),r()})}else r();return()=>{t=!0,e()}},[s,n.key]),lt(()=>s.validators.get(n.key)?.())}function yt(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 se(e,t),r}function mt(e,t,n){const{key:r}=t;n.present?re(e,t,n.value,{shouldDirty:!1}):(e.deleted.delete(r),C(e),l(e.emitter,"change",t)),n.touched&&X(e,t),n.errors&&U(e,t,n.errors)}const ht=new WeakMap;function vt({form:e,name:n,initialValue:r,shouldUnregister:i,validate:o,rules:s,validateDebounce:u,validateDeps:a,validateOnMount:c,delayError:l,disabled:d,uncontrolled:y,asyncAlways:m,mode:h},v){const g=t.useContext(v),p=e||g;if(!p)throw new Error("no form provided");const b=at(n),S=t.useRef(!1);void 0!==r&&void 0===ne(p,b)&&(ie(p,b,r),S.current=!0),t.useEffect(()=>{S.current&&(S.current=!1,oe(p,b))});ft(function(e,t){if(!e||!function(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}(e))return t;const n=Ge(e);return t?(e,r)=>{const i=n(e,r),o=e=>{const t=[...i??[]];return Array.isArray(e)?t.push(...e):e&&t.push(e),t.length?t:void 0},s=t(e,r);return k(s)?s.then(o):o(s)}:n}(s?{...s,required:void 0}:void 0,o),b,p,{debounce:u,validateOnMount:c,asyncAlways:m??p.asyncAlways,sync:s&&void 0!==s.required?Ge({required:s.required}):void 0});const w=function(e,n){const[r,i]=t.useState(e);return t.useEffect(()=>{if(void 0===n)return;if(0===e.length)return void i(e);if(r.length>0)return void i(e);const t=setTimeout(()=>i(e),n);return()=>clearTimeout(t)},[e,n,r]),void 0===n?e:r}(it(p,b),l),E=w[0],C=E?.message,A=function(e,n,r){const i=t.useRef({has:!1,value:void 0}),o=t.useCallback(()=>r?(i.current.has||(i.current={has:!0,value:ne(e,n)}),i.current.value):ne(e,n),[r,e,n]);return Ze(t.useCallback(t=>r?()=>{}:Qe(e.emitter,"change",n,"leaf",t),[r,e.emitter,n]),o)}(p,b,!!y),x=Ze(t.useCallback(e=>y?()=>{}:Qe(p.emitter,"change",b,"leaf",e),[p.emitter,b.key,y]),()=>_(p,b)),O=Ze(t.useCallback(e=>Xe(p.emitter,"validating",b.key,e),[p.emitter,b.key]),()=>p.validating.has(b.key)),F=et(p,"disabled",()=>p.disabled),M=lt(e=>Ne(p,b,e)),D=lt(()=>Re(p,b));t.useEffect(()=>{const{token:e,displaced:t}=Le(p,b,h);return()=>Be(p,b,e)},[p,b.key,h]);const T=a?.length?a.join("\n"):void 0;t.useEffect(()=>{if(!T)return;const e=a.map(e=>V(e).key);return xe(p,b.key,e),()=>Oe(p,b.key,e)},[p,b.key,T]);const P=t.useRef(null),j=t.useCallback(e=>{P.current=e},[]);t.useEffect(()=>f(p.emitter,"focusError",(e,t)=>{if(e!==b.key)return;const n=P.current;n&&"function"==typeof n.focus&&(n.focus(),t?.shouldSelect&&"function"==typeof n.select&&n.select())}),[p,b.key]),t.useEffect(()=>{if(!y)return;let e=ht.get(p);if(!e){const t=new Map,n=f(p.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=ne(p,n),i=null==r?"":String(r);t.value!==i&&(t.value=i)}});e={cells:t,off:n},ht.set(p,e)}return e.cells.set(b.key,()=>({el:P.current,path:b})),()=>{e.cells.delete(b.key),0===e.cells.size&&(e.off(),ht.delete(p))}},[p,b.key,y]);const L=t.useRef(null);return dt(lt(()=>{!1!==(i??p.shouldUnregister)&&(L.current=yt(p,b))}),lt(()=>{const e=L.current;L.current=null,e&&mt(p,b,e)})),{form:p,value:A,error:C,errorObject:E,errors:w,isDirty:x,validating:O,onChange:M,onBlur:D,name:b.key,disabled:F||!!d,focusRef:j}}function gt(e){return vt(e,Ct)}const pt=new WeakMap;function bt(e){const t=(pt.get(e)??0)+1;return pt.set(e,t),`_${t}`}const kt=new WeakMap;function St(e,t,n){let r=kt.get(e);r||(r=new Map,kt.set(e,r)),r.set(t,n)}function wt(e){return e+1}function Vt(e,n){const r=t.useContext(n),i=e.form||r;if(!i)throw new Error("no form provided");const o=e.keyName??"id",{rules:s,shouldUnregister:u}=e,a=at(e.name),c=t.useRef([]),l=t.useCallback(()=>ne(i,a)||[],[i,a]),d=t.useCallback(e=>{re(i,a,e)},[i,a]),f=t.useCallback(()=>{const e=l();for(;c.current.length<e.length;)c.current.push(bt(i));for(;c.current.length>e.length;)c.current.pop();return c.current.map((e,t)=>({id:e,index:t,[o]:e}))},[l,i,o]),[y,m]=t.useReducer(f,void 0,f);t.useEffect(()=>Qe(i.emitter,"change",a,"branch",m),[i.emitter,a]),St(i,a.key,c.current),t.useEffect(()=>(St(i,a.key,c.current),()=>{const e=kt.get(i);e?.get(a.key)===c.current&&e.delete(a.key)}),[i,a.key]);const h=t.useRef(null);dt(lt(()=>{!1!==(u??i.shouldUnregister)&&(h.current=yt(i,a))}),lt(()=>{const e=h.current;h.current=null,e&&mt(i,a,e)})),ft(s?Ge({...s,required:void 0}):void 0,a,i,{sync:s&&void 0!==s.required?Ge({required:s.required}):void 0});return{fields:y,append:lt(e=>{const t=l();c.current.push(bt(i)),d([...t,e])}),prepend:lt(e=>{const t=l();c.current.unshift(bt(i)),d([e,...t])}),insert:lt((e,t)=>{const n=l();c.current.splice(e,0,bt(i));const r=[...n.slice(0,e),t,...n.slice(e)];d(r)}),remove:lt(e=>{const t=l();c.current.splice(e,1);const n=t.filter((t,n)=>n!==e);d(n)}),swap:lt((e,t)=>{const n=l();[c.current[e],c.current[t]]=[c.current[t],c.current[e]];const r=[...n];[r[e],r[t]]=[r[t],r[e]],d(r)}),move:lt((e,t)=>{const n=l(),[r]=c.current.splice(e,1);c.current.splice(t,0,r);const i=[...n],[o]=i.splice(e,1);i.splice(t,0,o),d(i)}),replace:lt(e=>{c.current=e.map(()=>bt(i)),d([...e])}),update:lt((e,t)=>{const n=l();if(e<0||e>=n.length)return;const r=[...n];r[e]=t,d(r)})}}function Et(e,n){const r=t.useContext(n),i=e.form||r;if(!i)throw new Error("no form provided");const{id:o}=e,s=at(e.name),u=t.useCallback(()=>function(e,t){return kt.get(e)?.get(t)}(i,s.key)?.indexOf(o)??-1,[i,s.key,o]),a=t.useCallback(e=>{const t=ne(i,s);return Array.isArray(t)?t[e]:void 0},[i,s]),c=u(),l=a(c),d=t.useRef({index:c,value:l});d.current={index:c,value:l};const f=ct({computeIndex:u,computeValue:a}),[,y]=t.useReducer(wt,0);t.useEffect(()=>Qe(i.emitter,"change",s,"leaf",()=>{const{computeIndex:e,computeValue:t}=f.current,n=e();n===d.current.index&&Object.is(t(n),d.current.value)||y()}),[i.emitter,s,f]);const m=at([...s.value,c]),h=it(i,m);return{value:l,setValue:lt(e=>{if(c<0)return;const t=[...ne(i,s)??[]];c>=t.length||(t[c]=e,re(i,s,t))}),errors:h,error:h[0]?.message,name:m.key,index:c,form:i}}const Ct=t.createContext(null),At=Ct.Provider;const xt=t.createContext(null),Ot=xt.Provider;function Ft(e,t,n){if(null!=n)if(Array.isArray(n))for(const r of n)Ft(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 Mt(e){return e.replace(/["'[\],\s]+/g,"-").replace(/^-+|-+$/g,"")||"field"}function Dt(e,t,n){return{"aria-invalid":!!e||n["aria-invalid"],"aria-describedby":e?[n["aria-describedby"],Mt(t)].filter(Boolean).join(" "):n["aria-describedby"]}}const Tt=r.forwardRef(({validate:e,eventToValue:t,initialValue:n,name:i,asProps:o,renderError:s,as:u,valueToProps:a,form:c,shouldUnregister:l,rules:d,validateDebounce:f,validateOnMount:y,valueAsNumber:m,valueAsDate:h,asyncAlways:v,disabled:g,delayError:p,mode:b,uncontrolled:k,...S},w)=>{const V=r.useRef(null),[E,C]=r.useState(0),{value:A,onChange:x,onBlur:O,error:F,name:M,disabled:D,focusRef:T}=gt({name:i,form:c,initialValue:n,shouldUnregister:l,rules:d,validateDebounce:f,validateOnMount:y,delayError:p,disabled:g,asyncAlways:v,mode:b,uncontrolled:k||"file"===S.type,validate:(...t)=>{const n=V.current;if(!n||"function"!=typeof n.checkValidity||(n.setCustomValidity(""),!1!==n.checkValidity()))return e?e(...t):void 0;C(e=>e+1)}}),P=r.useCallback(e=>{V.current=e,T(e),function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(w,e)},[w,T]),j=u||"input";r.useEffect(()=>{const e=V.current;e&&"function"==typeof e.setCustomValidity&&("string"==typeof F?(e.setCustomValidity(F),e.reportValidity()):e.setCustomValidity(""))},[F]),r.useEffect(()=>{E>0&&V.current?.reportValidity()},[E]);const L="file"===S.type,B=t??(L?e=>e.target.files:m?e=>e.target.valueAsNumber:h?e=>e.target.valueAsDate:e=>e.target.value),N=a?a(A):L?{}:k?{defaultValue:A}:{value:A},R=Mt(M),I=d?He(d):void 0;return r.createElement(r.Fragment,null,r.createElement(j,{...I,...S,name:M,onBlur:O,...o,...N,...Dt(F,M,S),disabled:D,onChange:e=>x(B(e)),ref:P}),F&&s?r.createElement("span",{id:R,role:"alert"},s(F,R)):null)}),Pt=r.forwardRef(({name:e,form:t,initialValue:n,shouldUnregister:i,validate:o,rules:s,validateDebounce:u,validateOnMount:a,asyncAlways:c,disabled:l,delayError:d,mode:f,...y},m)=>{const{value:h,onChange:v,onBlur:g,error:p,name:b,disabled:k}=gt({name:e,form:t,initialValue:n,shouldUnregister:i,validate:o,rules:s,validateDebounce:u,validateOnMount:a,asyncAlways:c,delayError:d,disabled:l,mode:f}),S=s?He(s):void 0;return r.createElement("input",{...S,...y,name:b,onBlur:g,type:"checkbox",checked:!!h,...Dt(p,b,y),disabled:k,onChange:e=>v(e.target.checked),ref:m})});function jt(e,t){return e?Array.isArray(t)?t:[]:t??""}const Lt=r.forwardRef(({name:e,multiple:t,children:n,form:i,initialValue:o,shouldUnregister:s,validate:u,rules:a,validateDebounce:c,validateOnMount:l,asyncAlways:d,disabled:f,delayError:y,mode:m,...h},v)=>{const{value:g,onChange:p,onBlur:b,error:k,name:S,disabled:w}=gt({name:e,form:i,initialValue:o,shouldUnregister:s,validate:u,rules:a,validateDebounce:c,validateOnMount:l,asyncAlways:d,delayError:y,disabled:f,mode:m}),V=a?He(a):void 0;return r.createElement("select",{...V,...h,name:S,onBlur:b,multiple:t,value:jt(t,g),...Dt(k,S,h),disabled:w,onChange:e=>p(t?Array.from(e.target.selectedOptions,e=>e.value):e.target.value),ref:v},n)});e.Checkbox=Pt,e.CheckboxGroupContext=xt,e.CheckboxGroupProvider=Ot,e.FORM_ERROR=L,e.Field=Tt,e.Form=function({form:e,context:t,initialValues:n,values:i,shouldUnregister:o,validateOnMount:s,disabled:u,asyncAlways:a,onSubmit:c,onValidSubmit:l,onInvalidSubmit:d,action:f,shouldFocusError:y,...m}){const h=Ye({initialValues:n,values:i,shouldUnregister:o,validateOnMount:s,disabled:u,asyncAlways:a}),v=e||h;r.useEffect(()=>{void 0!==u&&We(v,u)},[v,u]);const g=ze(v,{onSubmit:c,onValidSubmit:l,onInvalidSubmit:d,shouldFocusError:y,onAction:f?e=>f(function(e){const t=new FormData;for(const n of Object.keys(e))Ft(t,n,e[n]);return t}(e)):void 0}),{Provider:p}=t??Ct;return r.createElement(p,{value:v},r.createElement("form",{...m,noValidate:!0,onSubmit:g}))},e.FormContext=Ct,e.FormField=function({children:e,...t}){return e(gt(t))},e.FormProvider=At,e.Select=Lt,e.VALIDATION_OUTCOME=B,e.changeValue=function(e,t,n,r){je(e,V(t),n,r)},e.changeValueByPath=je,e.clearErrors=z,e.createForm=Je,e.createFormContext=function(){const e=t.createContext(null);return{context:e,FormProvider:function({form:n,children:r}){return t.createElement(e.Provider,{value:n},r)},useFormContext:function(){const n=t.useContext(e);if(!n)throw new Error("no form provided");return n},useField:function(t){return vt(t,e)},useFieldArray:function(t){return Vt(t,e)},useFieldArrayItem:function(t){return Et(t,e)}}},e.emitChangeByPath=oe,e.ensureValidate=De,e.fieldErrorId=function(e){return Mt(V(e).key)},e.getDirtyFields=Q,e.getError=function(e,t){return N(e,V(t))},e.getErrorByPath=N,e.getErrors=$,e.getFieldErrors=function(e,t){return I(e,V(t))},e.getFieldErrorsByPath=I,e.getFieldState=function(e,t){const n=V(t),{touched:r,validating:i}=e;return{value:ne(e,n),error:N(e,n),errors:I(e,n),isDirty:_(e,n),isTouched:r.has(n.key),isValidating:i.has(n.key)}},e.getFirstError=q,e.getTouchedFields=Z,e.getValue=function(e,t){return ne(e,V(t))},e.getValueByPath=ne,e.getValues=ee,e.handleSubmit=ze,e.hasErrors=J,e.hasTouched=function(e,t){return Y(e,V(t))},e.hasTouchedByPath=Y,e.incrementSubmitCount=$e,e.isDirty=G,e.isFieldDirtyByPath=_,e.isTouched=function({touched:e}){return e.size>0},e.registerFieldMode=Le,e.registerFieldValidateDeps=xe,e.registerValidatorByPath=ye,e.removeField=function(e,t,n){se(e,V(t),n)},e.removeFieldByPath=se,e.reset=function(e,t,n){const r=[];if(n?.keepValues)le(ee(e),[],r);else if(n?.keepDirtyValues)for(const[t,n]of e.values){const i=JSON.parse(t);x(e,t,i)!==n&&r.push({segments:i,value:n})}e.initialValues=n?.keepDefaultValues?e.initialValues:t??e.initialValues,e.parsedValues=void 0,n?.keepErrors||z(e);const{emitter:i,touched:o,values:s,deleted:u,validating:a}=e;s.clear(),u.clear(),M(e),n?.keepTouched||o.clear(),a.clear(),n?.keepIsSubmitting||(e.isSubmitting=!1),n?.keepSubmitCount||(e.submitCount=0),n?.keepIsSubmitted||(e.isSubmitted=!1),n?.keepIsSubmitSuccessful||(e.isSubmitSuccessful=void 0),T(e),C(e);for(const{segments:t,value:n}of r)re(e,V(t),n);l(i,"change"),l(i,"touched"),l(i,"validating"),l(i,"submitting"),l(i,"submitCount"),l(i,"submitSuccessful"),l(i,"reset")},e.resetField=function(e,t,n){const r=V(t),{emitter:i,values:o,touched:s,errors:u,deleted:a}=e;if(o.delete(r.key),M(e,r.key),void 0!==e.parsedValues){e.parsedValues=g(e.parsedValues,r.value);const t=v(e.initialValues,r.value);void 0!==t&&o.set(r.key,t)}n&&"value"in n&&o.set(r.key,n.value),ae(a,r),l(i,"change"),!n?.keepTouched&&s.delete(r.key)&&l(i,"touched",r),!n?.keepErrors&&u.delete(r.key)&&l(i,"errors",r),T(e),C(e)},e.revalidateDependentsOnChange=Fe,e.revalidateFormOnChange=Ce,e.runFormValidate=Ve,e.seedValueByPath=ie,e.setDisabled=We,e.setError=W,e.setErrorByPath=U,e.setFocus=function(e,t,n){const{key:r}=V(t);n?l(e.emitter,"focusError",r,n):l(e.emitter,"focusError",r)},e.setInitialValues=ce,e.setIsSubmitting=Ie,e.setServerErrors=function(e,t,n){n?.keepExisting||z(e);for(const[n,r]of Object.entries(t))W(e,n,(Array.isArray(r)?r:[r]).map(e=>({type:"server",message:e})))},e.setStatus=function(e,t){e.status=t,l(e.emitter,"status")},e.setSubmitSuccessful=qe,e.setTouched=function(e,t){X(e,V(t))},e.setTouchedByPath=X,e.setValidatingByPath=fe,e.setValue=function(e,t,n,r){re(e,V(t),n,r)},e.setValueByPath=re,e.subscribe=function(e,t){const{name:n,event:r="change",scope:i="branch",callback:o}=t;if(void 0===n)return f(e.emitter,r,o);const s=(function(e){return Array.isArray(e)&&e.every(e=>"number"!=typeof e)}(n)?n:[n]).map(t=>{const n=V(t);return"errors"===r||"touched"===r?Xe(e.emitter,r,n.key,o):Qe(e.emitter,r,n,i,o)});return 1===s.length?s[0]:()=>s.forEach(e=>e())},e.trigger=async function(e,t,n){const r=t=>w(e.emitter,"validating",()=>void 0===t?ke(e):t.every(t=>!e.validating.has(t)),()=>!1);if(void 0===t){if(e.validators.forEach(e=>e()),await r(),e.validate&&await Ve(e),n?.shouldTouch&&me(e,[...e.validators.keys()]),n?.shouldFocus){const t=e.errors.keys().next().value;void 0!==t&&l(e.emitter,"focusError",t)}return!J(e)}const i="string"==typeof t||P(t)?[V(t).key]:t.map(e=>V(e).key);if(i.forEach(t=>e.validators.get(t)?.()),await r(i),n?.shouldTouch&&me(e,i),n?.shouldFocus){const t=i.find(t=>e.errors.has(t));void 0!==t&&l(e.emitter,"focusError",t)}return i.every(t=>!e.errors.has(t))},e.unregisterFieldMode=Be,e.unregisterFieldValidateDeps=Oe,e.unsetValidatingByPath=de,e.useCanSubmit=function(e){const{emitter:n}=e;return Ze(t.useCallback(e=>{const t=f(n,"errors",e),r=f(n,"submitting",e);return()=>{t(),r()}},[n]),()=>!e.isSubmitting&&!J(e))},e.useCheckboxGroupContext=function(){const e=t.useContext(xt);if(!e)throw new Error("no group provided");return e},e.useDirtyFields=function(e){return et(e,"change",Q.bind(null,e))},e.useError=function(e,t){return rt(e,V(t))?.message},e.useErrorByPath=rt,e.useField=gt,e.useFieldArray=function(e){return Vt(e,Ct)},e.useFieldArrayItem=function(e){return Et(e,Ct)},e.useFieldErrors=function(e,t){return it(e,V(t))},e.useFieldErrorsByPath=it,e.useForm=Ye,e.useFormContext=function(){const e=t.useContext(Ct);if(!e)throw new Error("no form provided");return e},e.useFormError=function(e){return rt(e,V(L))?.message},e.useFormErrors=function(e){return it(e,V(L))},e.useFormState=function(e){const n=t.useCallback(()=>function(e){return{isDirty:G(e),dirtyFields:Q(e),isTouched:e.touched.size>0,touchedFields:Z(e),hasErrors:J(e),isValid:!J(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 Ze(t.useCallback(t=>{const n=st.map(n=>f(e.emitter,n,t));return()=>{for(const e of n)e()}},[e.emitter]),n,ut)},e.useHasErrors=function(e){return et(e,"errors",J.bind(null,e))},e.useIsDirty=function(e){return et(e,"change",G.bind(null,e))},e.useIsFieldDirty=function(e,t){return ot(e,V(t))},e.useIsFieldDirtyByPath=ot,e.useIsLoading=function(e){return et(e,"loading",()=>e.isLoading)},e.useIsSubmitSuccessful=function(e){return et(e.emitter,"submitSuccessful",()=>!!e.isSubmitSuccessful)},e.useIsSubmitting=function(e){return et(e,"submitting",()=>e.isSubmitting)},e.useIsValid=function(e){return et(e,"errors",()=>!J(e))},e.useIsValidating=function(e){return et(e,"validating",()=>e.validating.size>0)},e.useStatus=function(e){return et(e,"status",()=>e.status)},e.useSubmitCount=function(e){return et(e,"submitCount",()=>e.submitCount)},e.useTouched=function(e,t){return nt(e,V(t))},e.useTouchedByPath=nt,e.useTouchedFields=function(e){return et(e,"touched",Z.bind(null,e))},e.useTransform=function(e,n,r={}){const i=at(n),{toDisplay:o,fromDisplay:s}=r,u=Ze(t.useCallback(t=>Qe(e.emitter,"change",i,"leaf",t),[e.emitter,i.key]),()=>ne(e,i));return{value:o?o(u):u,onChange:t.useCallback(t=>{Ne(e,i,s?s(t):t)},[e,i,s])}},e.useValue=function(e,t,n){return tt(e,V(t),n)},e.useValueByPath=tt,e.useWatch=et,e.useWatchCore=Ze,e.userBlur=Re,e.userChangeByPath=Ne,e.validate=Te});
5
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define("react-f0rm",["exports","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["react-f0rm"]={},e.React)}(this,function(e,t){"use strict";function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var r=n(t);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e))||t){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,u=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw u}}}}var u="undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV,s=new WeakMap,a=new WeakMap;var c=Symbol("error");function l(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var u,s=e.get(t);if(s&&s.size&&(s.forEach(function(e){try{e.apply(void 0,r)}catch(e){u?u.push(e):u=[e]}}),u)){var a,c=i(u);try{for(c.s();!(a=c.n()).done;){var l;d(e,a.value)}}catch(l){c.e(l)}finally{c.f()}}}function d(e,t){var n=e.get(c);if(!n||!n.size)throw t;n.forEach(function(e){return e(t)})}function f(e,t,n){var r=function(e,t){var n=e.get(t);if(n)return n;var r=new Set;return e.set(t,r),r}(e,t);return r.add(n),u&&function(e,t,n){var r=s.get(e);if(void 0===r&&(r=10),!(r<=0||n<=r)){var o=a.get(e);o||(o=new Set,a.set(e,o)),o.has(t)||(o.add(t),console.warn("Possible event-emitter memory leak: ".concat(n,' "').concat(String(t),'" listeners added. ')+"Use setMaxListeners(ee, n) to raise the limit, or 0 to disable this warning."))}}(e,t,r.size),function(){return r.delete(n)}}const y=new Map;function h(e){if(Array.isArray(e))return e;const t=y.get(e);if(t)return t;const n=function(e){const t=[];let n="";const r=()=>{if(m(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(m(r)?Number(r):r),o=n}}else n+=i}""===n&&0!==t.length||r();return t}(e);if(y.size>=1e4){const e=y.keys().next();e.done||y.delete(e.value)}return y.set(e,n),n}const m=e=>/^-?\d+$/.test(e);function v(e,t){return t.reduce((e,t)=>{if(null!=e)return e[t]},e)}function g(e,t){if(!t.length||null==e)return e;const[n,...r]=t;if(r.length){const t=g(e[n],r);return t===e[n]?e:p(e,[n],t)}if(Array.isArray(e)){if(!(n in e))return e;const t=e.slice();return delete t[n],t}if("object"!=typeof e||!(n in e))return e;const o={...e};return delete o[n],o}function p(e,t,n){if(!t.length)return n;const[r,...o]=t,i="number"==typeof r?r:Array.isArray(e)&&"string"==typeof r&&m(r)?Number(r):void 0;if(void 0!==i){const t=Array.isArray(e)?e.slice():[];return t[i]=p(t[i],o,n),t}return{...e,[r]:p(e&&e[r],o,n)}}function b(e,t,n,r){if(!t.length)return n;let o=e,i=null,u="";for(let s=0;s<t.length;s++){const a=t[s];if(!r.has(o)){let t;t="number"==typeof a||Array.isArray(o)&&"string"==typeof a&&m(a)?Array.isArray(o)?o.slice():[]:{...o},r.add(t),0===s?e=t:i[u]=t,o=t}s===t.length-1?o[a]=n:(i=o,u=a,o=o[a])}return e}function k(e){return e&&"function"==typeof e.then}function V(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 S(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(!S(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(!S(e[n],t[n]))return!1;return!0}function w(e,t,n,r){return new Promise((o,i)=>{if(r())return void i();if(n())return void o();const u=f(e,t,()=>{if(r())return u(),void i();n()&&(u(),o())})})}function A(e){const t=h(e);return{value:t,key:JSON.stringify(t)}}const E=new WeakMap;function C(e){const t=E.get(e);t&&t.version++}const O=new WeakMap;function x(e){const t=O.get(e);t&&t.version++}const F=new WeakMap;function M(e,t,n){const r=F.get(e);return r?.has(t)?r.get(t):v(e.initialValues,n)}function N(e,{key:t},n){let r=F.get(e);r||(r=new Map,F.set(e,r)),r.set(t,n)}function D(e,{key:t}){const n=F.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 T(e,t){const n=F.get(e);n&&(void 0===t?n.clear():n.delete(t))}const P=new WeakMap;function j(e){const t=P.get(e);t&&t.version++}function B(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 L="_form",I=Symbol("validation-outcome");function q({errors:e},t){return e.get(t.key)?.[0]}const $=[];function J({errors:e},t){return e.get(t.key)??$}function U({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 W(e){const t=O.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&&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):O.set(e,{version:0,result:n,tree:r})}function z(e){return W(e),O.get(e).result}function _(e){return W(e),O.get(e).tree}function G({errors:e}){return e.values().next().value?.[0]?.message}function K(e,t,n,r){H(e,A(t),n,r)}function H(e,t,n,r){const{emitter:o,errors:i}=e,u=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}(n);u?i.set(t.key,u):i.delete(t.key),x(e),l(o,"errors",t),r?.shouldFocus&&l(o,"focusError",t.key)}function Q(e,t){const{emitter:n,errors:r}=e;if(void 0===t)return r.clear(),x(e),void l(n,"errors");const o="string"==typeof t||B(t)?[A(t)]:t.map(e=>A(e));for(const{key:e}of o)r.delete(e);x(e);for(const e of o)l(n,"errors",e)}function X(e,t,n){n?.keepExisting||Q(e);for(const[n,r]of Object.entries(t))K(e,n,(Array.isArray(r)?r:[r]).map(e=>({type:"server",message:e})))}function Y(e){let t=!1;for(const[n,r]of e.errors){const o=r.filter(e=>"server"!==e.type);0===o.length?(e.errors.delete(n),t=!0):o.length!==r.length&&(e.errors.set(n,o),t=!0)}t&&(x(e),l(e.emitter,"errors"))}function Z({errors:e}){return e.size>0}function ee(e){return!!e&&"object"==typeof e&&"function"==typeof e["~standard"]?.validate}function te(e){return{type:"standard",message:e?.message||"Validation failed"}}function ne(e){return async t=>{const n=await e["~standard"].validate(t);if(n.issues?.length)return n.issues.map(te)}}function re(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 oe(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]={}),!ie(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 ie(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function ue(e){let t=!1;const n={};return Object.entries(e).forEach(([e,r])=>{if(ie(r)){const o=ue(r);o&&(n[e]=o,t=!0)}else n[e]=r,t=!0}),t?n:void 0}function se(e,t){const n=e.values.get(t.key);return e.values.has(t.key)&&M(e,t.key,t.value)!==n}function ae(e){let t=!1;return ce(e,()=>{t=!0}),t}function ce(e,t){for(const[n,r]of e.values){const o=JSON.parse(n);M(e,n,o)!==r&&t(o.join("."))}}function le(e){const t={};return ce(e,e=>{t[e]=!0}),t}function de(e){let t=P.get(e);if(t){if(t.version>0){const n=le(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:le(e)},P.set(e,t);return t.result}function fe({emitter:e,touched:t},n){t.has(n.key)||(t.add(n.key),l(e,"touched",n))}function ye({touched:e},t){return e.has(t.key)}function he({touched:e}){return Array.from(e,e=>JSON.parse(e).join("."))}function me(e){let t=E.get(e);return t?t.version>0&&(t.result=ve(e),t.version=0):(t={version:0,result:ve(e)},E.set(e,t)),t.result}function ve(e){const{initialValues:t,parsedValues:n,values:r,deleted:o}=e,i=new Set;let u=n??t;for(const[e,t]of r)u=b(u,JSON.parse(e),t,i);for(const e of o)u=g(u,JSON.parse(e));return u}function ge({initialValues:e,parsedValues:t,values:n,deleted:r},o){const{key:i,value:u}=o;if(n.has(i))return n.get(i);if(!r.has(i)){for(let e=u.length-1;e>0;e--){const t=JSON.stringify(u.slice(0,e));if(n.has(t))return v(n.get(t),u.slice(e))}return v(t??e,u)}}function pe(e,t,n,r){const{emitter:o,values:i,deleted:u}=e,s="function"==typeof n?n(ge(e,t)):n;i.set(t.key,s),Se(i,t),we(u,t),D(e,t),!1===r?.shouldDirty&&N(e,t,s),j(e),C(e),r?.shouldTouch&&fe(e,t),r?.shouldValidate&&e.validators.get(t.key)?.(),l(o,"change",t)}function be(e,t,n){const{values:r,deleted:o}=e;r.set(t.key,n),Se(r,t),we(o,t),D(e,t),j(e),C(e)}function ke({emitter:e},t){l(e,"change",t)}function Ve(e,t,n){const{key:r,value:o}=t,{emitter:i,values:u,touched:s,errors:a,validating:c,deleted:d}=e;n?.keepValue||n?.keepDirty||(u.delete(r),T(e,r),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}(u,o)||d.add(r)),n?.keepTouched||s.delete(r),!n?.keepError&&a.delete(r)&&x(e),c.delete(r),j(e),C(e),l(i,"change",t),l(i,"touched",t),l(i,"errors",t),l(i,"validating",t)}function Se(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 we(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 Ae(e,t){e.initialValues===t||S(e.initialValues,t)||(e.initialValues=t,e.parsedValues=void 0,e.values.clear(),e.deleted.clear(),T(e),j(e),C(e),l(e.emitter,"change"))}function Ee(e,t,n){if(null!==e&&"object"==typeof e){if(Array.isArray(e)){for(let r=0;r<e.length;r++)Ee(e[r],[...t,r],n);return}const r=Object.keys(e);if(r.length>0){for(const o of r)Ee(e[o],[...t,o],n);return}}n.push({segments:t,value:e})}function Ce({emitter:e,validating:t},n){t.delete(n.key),l(e,"validating",n)}function Oe({emitter:e,validating:t},n){t.add(n.key),l(e,"validating",n)}function xe(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,Oe(e,t))},l=()=>{i&&(i=!1,Ce(e,t))},d=()=>{const r=n.sync();if(!r)return!1;const o=r(ge(e,t),{form:e,path:t});return a(o)?(H(e,t,o),s="sync",!0):(n.validate()&&"sync"!==s||(H(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(ge(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];H(e,t,[...o??[],...i]),s=a(r)?"validator":o?"sync":null}else H(e,t,r),s=a(r)?"validator":null},y=()=>{null!==r&&(clearTimeout(r),r=null),o?.abort(),u={}},h=()=>{const r=n.validate();if(!r)return void l();o?.abort(),o=new AbortController;const i=u={};let s;try{s=r(ge(e,t),{form:e,path:t,signal:o.signal})}catch(e){throw l(),e}if(!k(s))return f(s),void l();c(),s.then(e=>{u===i&&f(e)}).catch(()=>{}).finally(()=>{u===i&&(l(),u=null)})},m=()=>{if(r=null,d()&&!n.asyncAlways?.())return y(),void l();h()};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(m,e));h()}),()=>{e.validators.delete(t.key),null!==r&&(clearTimeout(r),r=null),l(),o?.abort()}}function Fe(e,t){t.forEach(t=>fe(e,A(JSON.parse(t))))}function Me(e,t,n=[],r){Object.entries(t).forEach(([t,o])=>{const i=[...n,...m(t)?[t]:h(t)];"string"==typeof o?o&&(K(e,i,o),Ne(e,i,r)):Array.isArray(o)||R(o)?(K(e,i,o),Ne(e,i,r)):o&&"object"==typeof o&&Me(e,o,i,r)})}function Ne(e,t,n){if(!n)return;const r=A(t),o=e.errors.get(r.key);o&&n.set(r.key,o)}function De(e,t){const n=e.validateDeps||"onSubmit"!==e.validateMode?function(e){let t=Te.get(e);t||(t=new Map,Te.set(e,t));return t}(e):void 0;if(n&&(!function(e,t){for(const[n,r]of t){e.errors.get(n)===r&&(e.errors.delete(n),x(e),l(e.emitter,"errors",A(JSON.parse(n))))}}(e,n),n.clear()),t){if("object"==typeof t&&I in t){const r=t;return r.errors&&Me(e,r.errors,[],n),void function(e,t){void 0!==t&&t!==e.parsedValues&&(e.parsedValues=t,C(e),l(e.emitter,"change"))}(e,r.values)}Me(e,t,[],n)}}const Te=new WeakMap;const Pe="__form_validate__";function je(e){for(const t of e.validating)if(t!==Pe)return!1;return!0}const Be=Symbol("form-validate-settled"),Re=new WeakMap;function Le(e){const t=e.validate;if(!t)return Promise.resolve();const n=e.validateDebounce??0;if(n<=0){const n=new AbortController;return Promise.resolve(t(me(e),{form:e,signal:n.signal})).then(t=>{De(e,t)})}const r=function(e){let t=Re.get(e);return t||(t={timer:null,controller:null,round:null,marked:!1,waiters:[]},Re.set(e,t)),t}(e);return null!==r.timer?clearTimeout(r.timer):(r.marked=!0,e.validating.add(Pe),l(e.emitter,"validating")),r.timer=setTimeout(()=>{r.timer=null;const t=r.round={};(function(e,t,n){const r=e.validate;if(!r)return Promise.resolve();t.controller?.abort();const o=t.controller=new AbortController;let i;try{i=Promise.resolve(r(me(e),{form:e,signal:o.signal}))}catch(e){i=Promise.reject(e)}return i.then(r=>{t.round===n&&De(e,r)},e=>{if(t.round===n)throw e})})(e,r,t).then(()=>Ie(e,r,t,Be),n=>Ie(e,r,t,n))},n),new Promise((e,t)=>{r.waiters.push({resolve:e,reject:t})})}function Ie(e,t,n,r){if(t.round!==n)return;if(t.round=null,null!==t.timer)return;t.marked&&(t.marked=!1,e.validating.delete(Pe),l(e.emitter,"validating"));const o=t.waiters;t.waiters=[];for(const e of o)r===Be?e.resolve():e.reject(r)}function qe(e,t,n){e.validateDeps?.has(t.key)&&e.validate&&("onChange"===n||"all"===n||"onTouched"===n&&ye(e,t)||"onChange"===e.reValidateMode&&function(e){const t=Te.get(e);if(!t)return!1;for(const[n,r]of t)if(e.errors.get(n)===r)return!0;return!1}(e))&&Le(e).catch(()=>{})}const $e=new WeakMap;function Je(e,t,n){let r=$e.get(e);r||(r=new Map,$e.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 Ue(e,t,n){const r=$e.get(e);if(r)for(const e of n){const n=r.get(e);n?.delete(t)&&(n.size||r.delete(e))}}function We(e,t,n){const r=$e.get(e)?.get(t.key);if(r?.size)for(const o of r)o!==t.key&&("onChange"===n||"all"===n||"onTouched"===n&&ye(e,t)||"onChange"===e.reValidateMode&&e.errors.has(o))&&e.validators.get(o)?.()}function ze(e){const t=new Error(G(e));return t.errors=U(e),t}async function _e(e){if(e.validators.forEach(e=>e()),await w(e.emitter,"validating",()=>je(e),()=>Z(e)).catch(()=>{throw ze(e)}),e.validate&&(await Le(e),Z(e)))throw ze(e)}async function Ge(e){return _e(e).catch(e=>e.message)}const Ke=new WeakMap;function He(e,t,n,r){!1===r?.shouldDirty&&N(e,t,n),Ke.get(e)?.get(t.key)?Ye(e,t,n):pe(e,t,n,r)}function Qe(e,t,n){let r=Ke.get(e);r||(r=new Map,Ke.set(e,r));const o=r.has(t.key),i={};return r.set(t.key,{mode:n,token:i}),{token:i,displaced:o}}function Xe(e,t,n){const r=Ke.get(e),o=r?.get(t.key);r&&o&&o.token===n&&r.delete(t.key)}function Ye(e,t,n){pe(e,t,n);const r=Ke.get(e)?.get(t.key);r&&function(e,t,n){("onChange"===n||"all"===n||"onTouched"===n&&ye(e,t)||J(e,t).length>0&&"onChange"===e.reValidateMode)&&e.validators.get(t.key)?.(),qe(e,t,n),"onChange"===e.validateMode&&e.validate&&Le(e).catch(()=>{}),We(e,t,n)}(e,t,r.mode??e.mode)}function Ze(e,t){fe(e,t);const n=Ke.get(e)?.get(t.key);if(!n)return;const r=n.mode??e.mode;("onBlur"===r||"onTouched"===r||"all"===r||J(e,t).length>0&&"onBlur"===e.reValidateMode)&&e.validators.get(t.key)?.(),"onBlur"===e.validateMode&&e.validate&&Le(e).catch(()=>{})}function et(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 Ve(e,t),r}function tt(e,t,n){const{key:r}=t;n.present?pe(e,t,n.value,{shouldDirty:!1}):(e.deleted.delete(r),C(e),l(e.emitter,"change",t)),n.touched&&fe(e,t),n.errors&&H(e,t,n.errors)}function nt(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 rt(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 ot(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:rt("required")}];const r=[],o=(t,n)=>e.messages?.[t]??rt(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??rt("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 it(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 ut(e,t,n){const r=A(t),{mode:o,shouldUnregister:i,eventToValue:u,valueAsNumber:s,valueAsDate:a,rules:c}=n??{},l=u??(e=>{const t=e?.target;return t?"file"===t.type?t.files:"checkbox"===t.type?t.checked:s?t.valueAsNumber:a?t.valueAsDate:t.value:e});let d=null,y=null,h=null,m=null,v=null,g=null;const p=t=>{if(m&&(tt(e,r,m),m=null),d=t,"file"!==t.type&&void 0===ge(e,r)&&(be(e,r,"checkbox"===t.type?t.checked:t.value),ke(e,r)),y=Qe(e,r,o).token,c&&nt(c)){const t=void 0!==c.required?ot({required:c.required}):void 0,n=void 0!==c.required?{...c,required:void 0}:c;h=xe(e,r,{validate:()=>nt(n)?ot(n):void 0,debounce:()=>0,sync:()=>t})}v=f(e.emitter,"focusError",(e,t)=>{e===r.key&&d&&"function"==typeof d.focus&&(d.focus(),t?.shouldSelect&&"function"==typeof d.select&&d.select())}),g=f(e.emitter,"change",t=>{t||(()=>{if(!d||"file"===d.type)return;const t=ge(e,r),n=null==t?"":String(t);d.value!==n&&(d.value=n)})()})};return{name:r.key,onChange:t=>He(e,r,l(t)),onBlur:()=>Ze(e,r),ref:t=>{t?p(t):(y&&(Xe(e,r,y),y=null),h&&(h(),h=null),v&&(v(),v=null),g&&(g(),g=null),d=null,!1!==(i??e.shouldUnregister)&&(m=et(e,r)))}}}function st(e,t){const n=ge(e,t);return Array.isArray(n)?n:[]}function at(e,t,n){pe(e,t,[...st(e,t),n])}function ct(e,t,n){pe(e,t,[n,...st(e,t)])}function lt(e,t,n,r){const o=st(e,t);return!(n<0||n>o.length)&&(pe(e,t,[...o.slice(0,n),r,...o.slice(n)]),!0)}function dt(e,t,n){const r=st(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 pe(e,t,r.filter((e,t)=>!o.has(t))),i}function ft(e,t,n,r){const o=st(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),pe(e,t,i),!0}function yt(e,t,n,r){const o=st(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]],pe(e,t,i),!0}function ht(e,t,n){pe(e,t,[...n])}function mt(e,t,n,r){const o=st(e,t);if(n<0||n>=o.length)return!1;const i=[...o];return i[n]=r,pe(e,t,i),!0}function vt(e,t){e.isSubmitting=t,l(e.emitter,"submitting")}function gt(e){e.submitCount++,l(e.emitter,"submitCount")}function pt(e,t){e.isSubmitSuccessful=t,l(e.emitter,"submitSuccessful")}function bt(e,t){e.disabled=t,l(e.emitter,"disabled")}function kt(e){if(e.startsWith("["))try{const t=JSON.parse(e);if(Array.isArray(t))return t.join(".")}catch{}return e}function Vt(e,t){const{onSubmit:n,onValidSubmit:r,onInvalidSubmit:o,onAction:i,shouldFocusError:u=!0,shouldUseNativeValidation:s=e.shouldUseNativeValidation}=t??{};return async t=>{t&&"function"==typeof t.preventDefault&&t.preventDefault();const a=t?.currentTarget;Y(e),e.isSubmitted=!0,vt(e,!0),gt(e);const c=me(e);if(s&&a&&"function"==typeof a.checkValidity&&!1===a.checkValidity()){if(a.reportValidity(),u&&"function"==typeof a.querySelector){const e=a.querySelector(":invalid");e&&"function"==typeof e.focus&&e.focus()}return vt(e,!1),pt(e,!1),void(o&&o(function(e){const t=[],{elements:n}=e;for(let e=0;e<n.length;e++){const r=n[e];r.name&&"function"==typeof r.checkValidity&&!r.checkValidity()&&t.push({path:kt(r.name),type:"native",message:r.validationMessage})}return t}(a),c))}if(await Ge(e)){if(vt(e,!1),pt(e,!1),u){const t=e.errors.keys().next().value;void 0!==t&&l(e.emitter,"focusError",t)}o&&o(U(e),c)}else try{const o=me(e);if(n&&await n(o,t),r&&await r(o,t),i){const n=await i(o,t);if(n&&"object"==typeof n&&void 0!==n.errors&&"object"==typeof n.errors)return X(e,n.errors),void pt(e,!1)}pt(e,!0)}catch{pt(e,!1)}finally{vt(e,!1)}}}function St(e){const t=new Map;var n,r;n=t,r=0,s.set(n,r);let o=e?.initialValues??{};"function"==typeof o&&(o=o());const i=e?.validate,u=i&&ee(i)?(a=i,async e=>{const t=await a["~standard"].validate(e),{issues:n}=t;if(!n?.length)return{[I]:!0,values:"value"in t?t.value:void 0};const r={};for(const e of n){const t=re(e);if(t.length)oe(r,t,te(e));else{const t=r[L]??=[];Array.isArray(t)&&t.push(te(e))}}return{[I]:!0,errors:ue(r)||{}}}):i;var a;const c={emitter:t,...e,validate:u,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=>A(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(c,e,t)};return k(o)?(c.isLoading=!0,l(t,"loading"),Promise.resolve(o).then(e=>{Ae(c,e??{}),c.isLoading=!1,l(t,"loading")},e=>{c.isLoading=!1,l(t,"loading")})):c.initialValues=o,c}function wt(e){return e.replace(/["'[\],\s]+/g,"-").replace(/^-+|-+$/g,"")||"field"}const At=new WeakMap;function Et(e,t){return e.startsWith(`${t.slice(0,-1)},`)}function Ct(e,t,n,r,o){const{key:i}=n;return f(e,t,e=>{(void 0===e||e.key===i||Et(i,e.key)||"branch"===r&&Et(e.key,i))&&o()})}function Ot(e,t,n,r){return f(e,t,e=>{void 0!==e&&e.key!==n||r()})}function xt(e){const[n]=t.useState(()=>{const t=St(e);return e&&void 0!==e.values&&Ae(t,e.values),t}),r=e&&e.initialValues,o=e&&e.values,i=t.useRef(null);null===i.current&&(i.current={done:!1,source:void 0}),t.useEffect(()=>{if(void 0===r)return;if("function"==typeof r||k(r))return;const e=i.current;e.done&&(e.source===r||S(e.source,r))||(e.done=!0,e.source=r,Ae(n,r))},[n,r]);const u=t.useRef(null);return null===u.current&&(u.current={done:!1,source:void 0}),t.useEffect(()=>{if(void 0===o)return;const e=u.current;e.done&&(e.source===o||S(e.source,o))||(e.done=!0,e.source=o,Ae(n,o))},[n,o]),t.useEffect(()=>{if(!n.validateOnMount||!n.validate)return;const e=()=>{Le(n).catch(()=>{})};if(n.isLoading)return f(n.emitter,"loading",()=>{e()});e()},[n]),n}function Ft(e,n,r){const o=t.useRef(null);null===o.current&&(o.current={hasValue:!1});const i=o.current,u=t.useRef(n);u.current=n;const s=t.useRef(r);s.current=r;const a=t.useCallback(()=>(i.hasValue||(i.value=u.current(),i.hasValue=!0),i.value),[i]),c=t.useCallback(t=>{i.hasValue=!1;return e(()=>{const e=s.current;if(e&&i.hasValue){const n=u.current();if(e(i.value,n))return;return i.value=n,void t()}i.hasValue=!1,t()})},[e,i]);return t.useSyncExternalStore(c,a,a)}function Mt(e,n,r,o){const i="emitter"in e?e.emitter:e;return Ft(t.useCallback(e=>f(i,n,e),[i,n]),r,o)}function Nt(e,n,r){const{emitter:o}=e,{key:i}=n,u=!1===r?.exact?"branch":"leaf";return Ft(t.useCallback(e=>Ct(o,"change",A(JSON.parse(i)),u,e),[o,i,u]),()=>{if(!1===r?.exact)return v(me(e),n.value);const t=ge(e,n);return void 0===t?r?.defaultValue:t})}function Dt(e,n){const{emitter:r}=e,{key:o}=n;return Ft(t.useCallback(e=>Ot(r,"touched",o,e),[r,o]),ye.bind(null,e,n))}function Tt(e,n){const{emitter:r}=e,{key:o}=n;return Ft(t.useCallback(e=>Ot(r,"errors",o,e),[r,o]),q.bind(null,e,n))}function Pt(e,n){const{emitter:r}=e,{key:o}=n;return Ft(t.useCallback(e=>Ot(r,"errors",o,e),[r,o]),J.bind(null,e,n))}function jt(e,n){const{emitter:r}=e,{key:o}=n;return Ft(t.useCallback(e=>Ct(r,"change",A(JSON.parse(o)),"leaf",e),[r,o]),()=>se(e,n))}const Bt=["change","errors","touched","validating","submitting","submitCount","submitSuccessful","disabled","loading"];function Rt(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 Lt(e){const n=t.useMemo(()=>A(h(e)).key,[e]);return t.useMemo(()=>A(JSON.parse(n)),[n])}function It(e){const n=t.useRef(e);return n.current=e,n}function qt(e){const n=It(e);return t.useCallback((...e)=>n.current(...e),[n])}function $t(e,n){const r=t.useRef(!1),o=It(e),i=It(n);t.useEffect(()=>{const e=o.current,t=i.current;return r.current&&(r.current=!1,t()),()=>{r.current=!0,e()}},[r,o,i])}function Jt(e,n,r,o){const i=t.useContext(tn),u=r||i;if(!u)throw new Error("no form provided");const s=e,a=t.useRef(void 0);a.current=s&&ee(s)?ne(s):s;const c=t.useRef(o?.debounce??0);c.current=o?.debounce??0;const l=t.useRef(o?.sync);l.current=o?.sync;const d=t.useRef(o?.asyncAlways??!1);d.current=o?.asyncAlways??!1;const y=t.useRef(o?.validateOnMount);return y.current=o?.validateOnMount,t.useEffect(()=>{const e=A(JSON.parse(n.key)),t=xe(u,e,{validate:()=>a.current,debounce:()=>c.current,sync:()=>l.current,asyncAlways:()=>d.current});if(!(y.current??u.validateOnMount)||!a.current&&!l.current)return t;let r=!1;const o=()=>{r||u.validators.get(n.key)?.()};if(u.isLoading){const e=f(u.emitter,"loading",()=>{e(),o()})}else o();return()=>{r=!0,t()}},[u,n.key]),qt(()=>u.validators.get(n.key)?.())}const Ut=new WeakMap;const Wt=[];function zt(e,n,r){const o=t.useRef(!1),i=t.useRef(!1),u=t.useRef(null);return Ft(t.useCallback(t=>{const s=A(JSON.parse(n.key)),a=()=>{null!==u.current&&(clearTimeout(u.current),u.current=null)};o.current=!1,i.current=!1,a();const c=Ot(e.emitter,"errors",s.key,()=>{const n=J(e,s).length>0,c=i.current;i.current=n,void 0!==r&&(n?c&&!o.current||(a(),o.current=!0,u.current=setTimeout(()=>{u.current=null,o.current=!1,t()},r)):o.current&&(a(),o.current=!1)),t()});return()=>{c(),a()}},[e,n.key,r]),()=>void 0!==r&&o.current?Wt:J(e,n))}function _t({form:e,name:n,initialValue:r,shouldUnregister:o,validate:i,rules:u,validateDebounce:s,validateDeps:a,validateOnMount:c,delayError:d,disabled:y,uncontrolled:h,asyncAlways:m,mode:v,eventToValue:g,valueAsNumber:p,valueAsDate:b,type:S},w){const E=t.useContext(w),C=e||E;if(!C)throw new Error("no form provided");const O=Lt(n),x=t.useRef(!1);void 0!==r&&void 0===ge(C,O)&&(be(C,O,r),x.current=!0),t.useEffect(()=>{x.current&&(x.current=!1,ke(C,O))});const F=i;Jt(function(e,t){if(!e||!nt(e))return t;const n=ot(e);return t?(e,r)=>{const o=n(e,r),i=e=>{const t=[...o??[]];return Array.isArray(e)?t.push(...e):e&&t.push(e),t.length?t:void 0},u=t(e,r);return k(u)?u.then(i):i(u)}:n}(u?{...u,required:void 0}:void 0,F&&ee(F)?ne(F):F),O,C,{debounce:s,validateOnMount:c,asyncAlways:m??C.asyncAlways,sync:u&&void 0!==u.required?ot({required:u.required}):void 0});const M=zt(C,O,d),N=M[0],D=N?.message,T=function(e,n,r){const o=t.useRef({has:!1,value:void 0}),i=t.useCallback(()=>r?(o.current.has||(o.current={has:!0,value:ge(e,n)}),o.current.value):ge(e,n),[r,e,n]);return Ft(t.useCallback(t=>r?()=>{}:Ct(e.emitter,"change",n,"leaf",t),[r,e.emitter,n]),i)}(C,O,!!h),P=Ft(t.useCallback(e=>h?()=>{}:Ct(C.emitter,"change",A(JSON.parse(O.key)),"leaf",e),[C.emitter,O.key,h]),()=>se(C,O)),j=Ft(t.useCallback(e=>Ot(C.emitter,"validating",O.key,e),[C.emitter,O.key]),()=>C.validating.has(O.key)),B=Ft(t.useCallback(e=>Ct(C.emitter,"disabled",A(JSON.parse(O.key)),"branch",e),[C.emitter,O.key]),()=>C.disabled||!0===y||!1!==y&&function(e,t){const n=At.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}(C,O)),R=t.useRef(null);t.useEffect(()=>{const e=A(JSON.parse(O.key)),t=function(e,t,n){if(void 0===n)return null;let r=At.get(e);r||(r=new Map,At.set(e,r));const o={};return r.set(t.key,{disabled:n,token:o}),l(e.emitter,"disabled",t),{token:o}}(C,e,y);return t&&(R.current=t.token),()=>{null!==R.current&&(!function(e,t,n){const r=At.get(e),o=r?.get(t.key);r&&o&&o.token===n&&(r.delete(t.key),l(e.emitter,"disabled",t))}(C,e,R.current),R.current=null)}},[C,O.key,y]);const L=qt(e=>Ye(C,O,e)),I=qt(()=>Ze(C,O));t.useEffect(()=>{const e=A(JSON.parse(O.key)),{token:t,displaced:n}=Qe(C,e,v);return()=>Xe(C,e,t)},[C,O.key,v]);const q=a?.length?a.join("\n"):void 0,$=It(a);t.useEffect(()=>{if(!q)return;const e=$.current.map(e=>A(e).key);return Je(C,O.key,e),()=>Ue(C,O.key,e)},[C,O.key,q,$]);const J=t.useRef(null),U=t.useCallback(e=>{J.current=e},[]);t.useEffect(()=>f(C.emitter,"focusError",(e,t)=>{if(e!==O.key)return;const n=J.current;n&&"function"==typeof n.focus&&(n.focus(),t?.shouldSelect&&"function"==typeof n.select&&n.select())}),[C,O.key]),t.useEffect(()=>{const e=A(JSON.parse(O.key));let t=Ut.get(C);if(!t){const e=new Map,n=f(C.emitter,"change",t=>{if(!t)for(const t of e.values()){const{el:e,path:n}=t();if(!e||"file"===e.type)continue;const r=ge(C,n),o=null==r?"":String(r);e.value!==o&&(e.value=o)}});t={cells:e,off:n},Ut.set(C,t)}return t.cells.set(O.key,()=>({el:J.current,path:e})),()=>{t.cells.delete(O.key),0===t.cells.size&&(t.off(),Ut.delete(C))}},[C,O.key,h]);const W=t.useRef(null);$t(qt(()=>{!1!==(o??C.shouldUnregister)&&(W.current=et(C,O))}),qt(()=>{const e=W.current;W.current=null,e&&tt(C,O,e)}));const z=g??(e=>V(e,{valueAsNumber:p,valueAsDate:b})),_={name:O.key,ref:U,onChange:e=>L(z(e)),onBlur:I,disabled:B,..."checkbox"===S?{checked:!!T}:"file"===S?{}:h?{defaultValue:T}:{value:T??""},...D?{"aria-invalid":!0,"aria-describedby":wt(O.key)}:{}};return{form:C,value:T,error:D,errorObject:N,errors:M,isDirty:P,validating:j,onChange:L,onBlur:I,name:O.key,disabled:B,focusRef:U,inputProps:_}}function Gt(e){return _t(e,tn)}const Kt=new WeakMap;function Ht(e){const t=(Kt.get(e)??0)+1;return Kt.set(e,t),`_${t}`}const Qt=new WeakMap;function Xt(e,t,n){let r=Qt.get(e);r||(r=new Map,Qt.set(e,r)),r.set(t,n)}function Yt(e){return e+1}function Zt(e,n){const r=t.useContext(n),o=e.form||r;if(!o)throw new Error("no form provided");const i=e.keyName??"id",{rules:u,shouldUnregister:s}=e,a=Lt(e.name),c=t.useRef([]),l=t.useCallback(()=>ge(o,a)||[],[o,a]),d=t.useCallback(()=>{const e=l();for(;c.current.length<e.length;)c.current.push(Ht(o));for(;c.current.length>e.length;)c.current.pop();return c.current.map((e,t)=>({id:e,index:t,[i]:e}))},[l,o,i]),[f,y]=t.useReducer(d,void 0,d);t.useEffect(()=>Ct(o.emitter,"change",a,"branch",y),[o.emitter,a]),Xt(o,a.key,c.current),t.useEffect(()=>(Xt(o,a.key,c.current),()=>{const e=Qt.get(o);e?.get(a.key)===c.current&&e.delete(a.key)}),[o,a.key]);const h=t.useRef(null);$t(qt(()=>{!1!==(s??o.shouldUnregister)&&(h.current=et(o,a))}),qt(()=>{const e=h.current;h.current=null,e&&tt(o,a,e)})),Jt(u?ot({...u,required:void 0}):void 0,a,o,{sync:u&&void 0!==u.required?ot({required:u.required}):void 0});return{fields:f,append:qt(e=>{c.current.push(Ht(o)),at(o,a,e)}),prepend:qt(e=>{c.current.unshift(Ht(o)),ct(o,a,e)}),insert:qt((e,t)=>{lt(o,a,e,t)&&c.current.splice(e,0,Ht(o))}),remove:qt(e=>{const t=dt(o,a,e);for(const e of t)c.current.splice(e,1)}),swap:qt((e,t)=>{yt(o,a,e,t)&&([c.current[e],c.current[t]]=[c.current[t],c.current[e]])}),move:qt((e,t)=>{if(!ft(o,a,e,t))return;const[n]=c.current.splice(e,1);c.current.splice(t,0,n)}),replace:qt(e=>{c.current=e.map(()=>Ht(o)),ht(o,a,e)}),update:qt((e,t)=>{mt(o,a,e,t)})}}function en(e,n){const r=t.useContext(n),o=e.form||r;if(!o)throw new Error("no form provided");const{id:i}=e,u=Lt(e.name),s=t.useCallback(()=>function(e,t){return Qt.get(e)?.get(t)}(o,u.key)?.indexOf(i)??-1,[o,u.key,i]),a=t.useCallback(e=>{const t=ge(o,u);return Array.isArray(t)?t[e]:void 0},[o,u]),c=s(),l=a(c),d=t.useRef({index:c,value:l});d.current={index:c,value:l};const f=It({computeIndex:s,computeValue:a}),[,y]=t.useReducer(Yt,0);t.useEffect(()=>Ct(o.emitter,"change",u,"leaf",()=>{const{computeIndex:e,computeValue:t}=f.current,n=e();n===d.current.index&&Object.is(t(n),d.current.value)||y()}),[o.emitter,u,f]);const h=Lt([...u.value,c]),m=Pt(o,h);return{value:l,setValue:qt(e=>{if(c<0)return;const t=[...ge(o,u)??[]];c>=t.length||(t[c]=e,pe(o,u,t))}),errors:m,error:m[0]?.message,name:h.key,index:c,form:o}}const tn=t.createContext(null),nn=tn.Provider;const rn=t.createContext(null),on=rn.Provider;function un(e,t,n){if(null!=n)if(Array.isArray(n))for(const r of n)un(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 sn(e,t,n){return{"aria-invalid":!!e||n["aria-invalid"],"aria-describedby":e?[n["aria-describedby"],wt(t)].filter(Boolean).join(" "):n["aria-describedby"]}}const an=r.forwardRef(({validate:e,eventToValue:t,initialValue:n,name:o,asProps:i,renderError:u,as:s,valueToProps:a,form:c,shouldUnregister:l,rules:d,validateDebounce:f,validateOnMount:y,valueAsNumber:h,valueAsDate:m,asyncAlways:v,disabled:g,delayError:p,mode:b,uncontrolled:k,...S},w)=>{const A=r.useRef(null),[E,C]=r.useState(0),O=r.useContext(tn),x=c??O,F=e,M=F&&ee(F)?ne(F):F,{value:N,onChange:D,onBlur:T,error:P,name:j,disabled:B,focusRef:R}=Gt({name:o,form:c,initialValue:n,shouldUnregister:l,rules:d,validateDebounce:f,validateOnMount:y,delayError:p,disabled:g,asyncAlways:v,mode:b,uncontrolled:k||"file"===S.type,validate:(...e)=>{if(!1!==x?.shouldUseNativeValidation){const e=A.current;if(e&&"function"==typeof e.checkValidity&&(e.setCustomValidity(""),!1===e.checkValidity()))return void C(e=>e+1)}if(M)return M(...e)}}),L=r.useCallback(e=>{A.current=e,R(e),function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(w,e)},[w,R]),I=s||"input";r.useEffect(()=>{const e=A.current;e&&"function"==typeof e.setCustomValidity&&("string"==typeof P?(e.setCustomValidity(P),e.reportValidity()):e.setCustomValidity(""))},[P]),r.useEffect(()=>{E>0&&A.current?.reportValidity()},[E]);const q="file"===S.type,$=t??(e=>V(e,{valueAsNumber:h,valueAsDate:m})),J=a?a(N):q?{}:k?{defaultValue:N}:{value:N},U=wt(j),W=d?it(d):void 0;return r.createElement(r.Fragment,null,r.createElement(I,{...W,...S,name:j,onBlur:T,...i,...J,...sn(P,j,S),disabled:B,onChange:e=>D($(e)),ref:L}),P&&u?r.createElement("span",{id:U,role:"alert"},u(P,U)):null)}),cn=r.forwardRef(({name:e,form:t,initialValue:n,shouldUnregister:o,validate:i,rules:u,validateDebounce:s,validateOnMount:a,asyncAlways:c,disabled:l,delayError:d,mode:f,...y},h)=>{const{value:m,onChange:v,onBlur:g,error:p,name:b,disabled:k}=Gt({name:e,form:t,initialValue:n,shouldUnregister:o,validate:i,rules:u,validateDebounce:s,validateOnMount:a,asyncAlways:c,delayError:d,disabled:l,mode:f}),V=u?it(u):void 0;return r.createElement("input",{...V,...y,name:b,onBlur:g,type:"checkbox",checked:!!m,...sn(p,b,y),disabled:k,onChange:e=>v(e.target.checked),ref:h})});function ln(e,t){return e?Array.isArray(t)?t:[]:t??""}const dn=r.forwardRef(({name:e,multiple:t,children:n,form:o,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,validateOnMount:l,asyncAlways:d,disabled:f,delayError:y,mode:h,...m},v)=>{const{value:g,onChange:p,onBlur:b,error:k,name:V,disabled:S}=Gt({name:e,form:o,initialValue:i,shouldUnregister:u,validate:s,rules:a,validateDebounce:c,validateOnMount:l,asyncAlways:d,delayError:y,disabled:f,mode:h}),w=a?it(a):void 0;return r.createElement("select",{...w,...m,name:V,onBlur:b,multiple:t,value:ln(t,g),...sn(k,V,m),disabled:S,onChange:e=>p(t?Array.from(e.target.selectedOptions,e=>e.value):e.target.value),ref:v},n)});e.Checkbox=cn,e.CheckboxGroupContext=rn,e.CheckboxGroupProvider=on,e.FORM_ERROR=L,e.Field=an,e.Form=function({form:e,context:t,initialValues:n,values:o,shouldUnregister:i,validateOnMount:u,disabled:s,asyncAlways:a,onSubmit:c,onValidSubmit:l,onInvalidSubmit:d,action:f,shouldFocusError:y,shouldUseNativeValidation:h,...m}){const v=xt({initialValues:n,values:o,shouldUnregister:i,validateOnMount:u,disabled:s,asyncAlways:a,shouldUseNativeValidation:h}),g=e||v;r.useEffect(()=>{void 0!==s&&bt(g,s)},[g,s]);const p=Vt(g,{onSubmit:c,onValidSubmit:l,onInvalidSubmit:d,shouldFocusError:y,shouldUseNativeValidation:h,onAction:"function"==typeof f?e=>f(function(e){const t=new FormData;for(const n of Object.keys(e))un(t,n,e[n]);return t}(e)):void 0}),{Provider:b}=t??tn,k="string"==typeof f?f:void 0;return r.createElement(b,{value:g},r.createElement("form",{...m,action:k,noValidate:!0,onSubmit:p}))},e.FormContext=tn,e.FormField=function({children:e,...t}){return e(Gt(t))},e.FormProvider=nn,e.Select=dn,e.VALIDATION_OUTCOME=I,e.appendValue=function(e,t,n){at(e,A(t),n)},e.appendValueByPath=at,e.changeValue=function(e,t,n,r){He(e,A(t),n,r)},e.changeValueByPath=He,e.clearErrors=Q,e.clearServerErrors=Y,e.createForm=St,e.createFormContext=function(){const e=t.createContext(null);return{context:e,FormProvider:function({form:n,children:r}){return t.createElement(e.Provider,{value:n},r)},useFormContext:function(){const n=t.useContext(e);if(!n)throw new Error("no form provided");return n},useField:function(t){return _t(t,e)},useFieldArray:function(t){return Zt(t,e)},useFieldArrayItem:function(t){return en(t,e)}}},e.dottedKeyToFieldPath=function(e){return e.split(".").map((e,t)=>t>0&&(e=>/^(0|[1-9]\d*)$/.test(e))(e)?`[${e}]`:`${t>0?".":""}${e}`).join("")},e.emitChangeByPath=ke,e.ensureValidate=_e,e.fieldErrorId=function(e){return wt(A(e).key)},e.fieldPathToDottedKey=function(e){return A(e).value.join(".")},e.getDirtyFields=de,e.getError=function(e,t){return q(e,A(t))},e.getErrorByPath=q,e.getErrors=U,e.getErrorsRecord=z,e.getErrorsTree=_,e.getFieldErrors=function(e,t){return J(e,A(t))},e.getFieldErrorsByPath=J,e.getFieldState=function(e,t){const n=A(t),{touched:r,validating:o}=e;return{value:ge(e,n),error:q(e,n),errors:J(e,n),isDirty:se(e,n),isTouched:r.has(n.key),isValidating:o.has(n.key)}},e.getFirstError=G,e.getTouchedFields=he,e.getValue=function(e,t){return ge(e,A(t))},e.getValueByPath=ge,e.getValues=me,e.handleSubmit=Vt,e.hasErrors=Z,e.hasTouched=function(e,t){return ye(e,A(t))},e.hasTouchedByPath=ye,e.incrementSubmitCount=gt,e.insertValue=function(e,t,n,r){return lt(e,A(t),n,r)},e.insertValueByPath=lt,e.isDirty=ae,e.isFieldDirtyByPath=se,e.isTouched=function({touched:e}){return e.size>0},e.moveValue=function(e,t,n,r){return ft(e,A(t),n,r)},e.moveValueByPath=ft,e.prependValue=function(e,t,n){ct(e,A(t),n)},e.prependValueByPath=ct,e.registerField=ut,e.registerFieldMode=Qe,e.registerFieldValidateDeps=Je,e.registerValidatorByPath=xe,e.removeField=function(e,t,n){Ve(e,A(t),n)},e.removeFieldByPath=Ve,e.removeValue=function(e,t,n){return dt(e,A(t),n)},e.removeValueByPath=dt,e.replaceValues=function(e,t,n){ht(e,A(t),n)},e.replaceValuesByPath=ht,e.reset=function(e,t,n){const r=[];if(n?.keepValues)Ee(me(e),[],r);else if(n?.keepDirtyValues)for(const[t,n]of e.values){const o=JSON.parse(t);M(e,t,o)!==n&&r.push({segments:o,value:n})}e.initialValues=n?.keepDefaultValues?e.initialValues:t??e.initialValues,e.parsedValues=void 0,n?.keepErrors||Q(e);const{emitter:o,touched:i,values:u,deleted:s,validating:a}=e;u.clear(),s.clear(),T(e),n?.keepTouched||i.clear(),a.clear(),n?.keepIsSubmitting||(e.isSubmitting=!1),n?.keepSubmitCount||(e.submitCount=0),n?.keepIsSubmitted||(e.isSubmitted=!1),n?.keepIsSubmitSuccessful||(e.isSubmitSuccessful=void 0),j(e),C(e);for(const{segments:t,value:n}of r)pe(e,A(t),n);l(o,"change"),l(o,"touched"),l(o,"validating"),l(o,"submitting"),l(o,"submitCount"),l(o,"submitSuccessful"),l(o,"reset")},e.resetField=function(e,t,n){const r=A(t),{emitter:o,values:i,touched:u,errors:s,deleted:a}=e;if(i.delete(r.key),T(e,r.key),void 0!==e.parsedValues){e.parsedValues=g(e.parsedValues,r.value);const t=v(e.initialValues,r.value);void 0!==t&&i.set(r.key,t)}n&&"value"in n&&i.set(r.key,n.value),we(a,r),l(o,"change"),!n?.keepTouched&&u.delete(r.key)&&l(o,"touched",r),!n?.keepErrors&&s.delete(r.key)&&(x(e),l(o,"errors",r)),j(e),C(e)},e.revalidateDependentsOnChange=We,e.revalidateFormOnChange=qe,e.runFormValidate=Le,e.seedValueByPath=be,e.setDisabled=bt,e.setError=K,e.setErrorByPath=H,e.setFocus=function(e,t,n){const{key:r}=A(t);n?l(e.emitter,"focusError",r,n):l(e.emitter,"focusError",r)},e.setInitialValues=Ae,e.setIsSubmitting=vt,e.setServerErrors=X,e.setStatus=function(e,t){e.status=t,l(e.emitter,"status")},e.setSubmitSuccessful=pt,e.setTouched=function(e,t){fe(e,A(t))},e.setTouchedByPath=fe,e.setValidatingByPath=Oe,e.setValue=function(e,t,n,r){pe(e,A(t),n,r)},e.setValueByPath=pe,e.subscribe=function(e,t){const{name:n,event:r="change",scope:o="branch",callback:i}=t;if(void 0===n)return f(e.emitter,r,i);const u=(function(e){return Array.isArray(e)&&e.every(e=>"number"!=typeof e)}(n)?n:[n]).map(t=>{const n=A(t);return"errors"===r||"touched"===r?Ot(e.emitter,r,n.key,i):Ct(e.emitter,r,n,o,i)});return 1===u.length?u[0]:()=>u.forEach(e=>e())},e.swapValues=function(e,t,n,r){return yt(e,A(t),n,r)},e.swapValuesByPath=yt,e.trigger=async function(e,t,n){const r=t=>w(e.emitter,"validating",()=>void 0===t?je(e):t.every(t=>!e.validating.has(t)),()=>!1);if(void 0===t){if(e.validators.forEach(e=>e()),await r(),e.validate&&await Le(e),n?.shouldTouch&&Fe(e,[...e.validators.keys()]),n?.shouldFocus){const t=e.errors.keys().next().value;void 0!==t&&l(e.emitter,"focusError",t)}return!Z(e)}const o="string"==typeof t||B(t)?[A(t).key]:t.map(e=>A(e).key);if(o.forEach(t=>e.validators.get(t)?.()),await r(o),n?.shouldTouch&&Fe(e,o),n?.shouldFocus){const t=o.find(t=>e.errors.has(t));void 0!==t&&l(e.emitter,"focusError",t)}return o.every(t=>!e.errors.has(t))},e.unregisterFieldMode=Xe,e.unregisterFieldValidateDeps=Ue,e.unsetValidatingByPath=Ce,e.updateValue=function(e,t,n,r){return mt(e,A(t),n,r)},e.updateValueByPath=mt,e.useCanSubmit=function(e){const{emitter:n}=e;return Ft(t.useCallback(e=>{const t=f(n,"errors",e),r=f(n,"submitting",e);return()=>{t(),r()}},[n]),()=>!e.isSubmitting&&!Z(e))},e.useCheckboxGroupContext=function(){const e=t.useContext(rn);if(!e)throw new Error("no group provided");return e},e.useDirtyFields=function(e){return Mt(e,"change",de.bind(null,e))},e.useError=function(e,t){return Tt(e,A(t))?.message},e.useErrorByPath=Tt,e.useErrors=function(e){return Mt(e,"errors",()=>z(e))},e.useErrorsTree=function(e){return Mt(e,"errors",()=>_(e))},e.useField=Gt,e.useFieldArray=function(e){return Zt(e,tn)},e.useFieldArrayItem=function(e){return en(e,tn)},e.useFieldErrors=function(e,t){return Pt(e,A(t))},e.useFieldErrorsByPath=Pt,e.useForm=xt,e.useFormContext=function(){const e=t.useContext(tn);if(!e)throw new Error("no form provided");return e},e.useFormError=function(e){return Tt(e,A(L))?.message},e.useFormErrors=function(e){return Pt(e,A(L))},e.useFormState=function(e){const n=t.useCallback(()=>function(e){return{isDirty:ae(e),dirtyFields:de(e),isTouched:e.touched.size>0,touchedFields:he(e),hasErrors:Z(e),isValid:!Z(e),errors:z(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 Ft(t.useCallback(t=>{const n=Bt.map(n=>f(e.emitter,n,t));return()=>{for(const e of n)e()}},[e.emitter]),n,Rt)},e.useHasErrors=function(e){return Mt(e,"errors",Z.bind(null,e))},e.useIsDirty=function(e){return Mt(e,"change",ae.bind(null,e))},e.useIsFieldDirty=function(e,t){return jt(e,A(t))},e.useIsFieldDirtyByPath=jt,e.useIsLoading=function(e){return Mt(e,"loading",()=>e.isLoading)},e.useIsSubmitSuccessful=function(e){return Mt(e.emitter,"submitSuccessful",()=>!!e.isSubmitSuccessful)},e.useIsSubmitting=function(e){return Mt(e,"submitting",()=>e.isSubmitting)},e.useIsValid=function(e){return Mt(e,"errors",()=>!Z(e))},e.useIsValidating=function(e){return Mt(e,"validating",()=>e.validating.size>0)},e.useStatus=function(e){return Mt(e,"status",()=>e.status)},e.useStore=function(e,n,r){return Ft(t.useCallback(t=>{const n=Bt.map(n=>f(e.emitter,n,t));return()=>{for(const e of n)e()}},[e.emitter]),n,r)},e.useSubmitCount=function(e){return Mt(e,"submitCount",()=>e.submitCount)},e.useTouched=function(e,t){return Dt(e,A(t))},e.useTouchedByPath=Dt,e.useTouchedFields=function(e){return Mt(e,"touched",he.bind(null,e))},e.useTransform=function(e,n,r={}){const o=Lt(n),{toDisplay:i,fromDisplay:u,asyncDebounceMs:s}=r,a=Ft(t.useCallback(t=>Ct(e.emitter,"change",A(JSON.parse(o.key)),"leaf",t),[e.emitter,o.key]),()=>ge(e,o)),c=i?i(a):a,l=t.useRef(null),d=t.useRef(0),f=t.useRef(u);f.current=u;const y=t.useRef(s??0);return y.current=s??0,t.useEffect(()=>()=>{null!==l.current&&clearTimeout(l.current)},[]),{value:c,onChange:t.useCallback(t=>{const n=()=>{const n=++d.current,r=f.current,i=t=>Ye(e,o,t);if(!r)return void i(t);const u=r(t);k(u)?u.then(e=>{d.current===n&&i(e)}):d.current===n&&i(u)};null!==l.current&&clearTimeout(l.current),l.current=null,y.current>0?l.current=setTimeout(n,y.current):n()},[e,o])}},e.useValue=function(e,t,n){return Nt(e,A(t),n)},e.useValueByPath=Nt,e.useValues=function(e){return Mt(e,"change",()=>me(e))},e.useWatch=Mt,e.useWatchCore=Ft,e.userBlur=Ze,e.userChangeByPath=Ye,e.validate=Ge,e.watch=function(e,t,n,r){const o={hasValue:!1},i=new Set,u=f(e.emitter,t,()=>{if(r&&o.hasValue){const e=n();if(r(o.value,e))return;o.value=e}else o.value=n(),o.hasValue=!0;i.forEach(e=>e())});return{getSnapshot:()=>(o.hasValue||(o.value=n(),o.hasValue=!0),o.value),subscribe:e=>(i.add(e),()=>{i.delete(e)}),dispose:()=>{u(),i.clear()}}}});
6
6
  //# sourceMappingURL=index.umd.min.js.map