@lehnihon/bit-form 2.2.3 → 2.2.4

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 (127) hide show
  1. package/dist/angular/index.cjs +1 -1
  2. package/dist/angular/index.cjs.map +1 -1
  3. package/dist/angular/index.d.cts +6 -5
  4. package/dist/angular/index.d.ts +6 -5
  5. package/dist/angular/index.js +1 -1
  6. package/dist/angular/index.js.map +1 -1
  7. package/dist/{bus-DHQHDwUp.d.ts → bus-BQI1FIOs.d.ts} +20 -10
  8. package/dist/{bus-CILR-ENq.d.cts → bus-a_GA51Qw.d.cts} +20 -10
  9. package/dist/chunk-4XLU5ZCX.js +2 -0
  10. package/dist/chunk-4XLU5ZCX.js.map +1 -0
  11. package/dist/chunk-66DIO2SH.js +2 -0
  12. package/dist/chunk-66DIO2SH.js.map +1 -0
  13. package/dist/chunk-7LMNIQTT.js +2 -0
  14. package/dist/{chunk-VDWCFNA6.js.map → chunk-7LMNIQTT.js.map} +1 -1
  15. package/dist/chunk-AE4G32HS.js +2 -0
  16. package/dist/chunk-AE4G32HS.js.map +1 -0
  17. package/dist/chunk-BMHK77NL.js +2 -0
  18. package/dist/chunk-BMHK77NL.js.map +1 -0
  19. package/dist/chunk-CFFLDMLG.cjs +2 -0
  20. package/dist/chunk-CFFLDMLG.cjs.map +1 -0
  21. package/dist/chunk-EI5L5L3R.cjs +2 -0
  22. package/dist/{chunk-PA6T2CBR.cjs.map → chunk-EI5L5L3R.cjs.map} +1 -1
  23. package/dist/chunk-FQLJOSF7.js +1 -0
  24. package/dist/chunk-FQLJOSF7.js.map +1 -0
  25. package/dist/chunk-IV32WXCF.cjs +2 -0
  26. package/dist/chunk-IV32WXCF.cjs.map +1 -0
  27. package/dist/chunk-K5NZDYAT.js +2 -0
  28. package/dist/chunk-K5NZDYAT.js.map +1 -0
  29. package/dist/chunk-KYM7JG2G.cjs +2 -0
  30. package/dist/chunk-KYM7JG2G.cjs.map +1 -0
  31. package/dist/chunk-LOYB7TTM.cjs +2 -0
  32. package/dist/{chunk-JO37BU2C.cjs.map → chunk-LOYB7TTM.cjs.map} +1 -1
  33. package/dist/chunk-MBTLLIBM.js +2 -0
  34. package/dist/chunk-MBTLLIBM.js.map +1 -0
  35. package/dist/chunk-MFSDDSVG.cjs +1 -0
  36. package/dist/chunk-MFSDDSVG.cjs.map +1 -0
  37. package/dist/chunk-MQX4YS6D.cjs +2 -0
  38. package/dist/chunk-MQX4YS6D.cjs.map +1 -0
  39. package/dist/chunk-O5UPA33R.js +2 -0
  40. package/dist/chunk-O5UPA33R.js.map +1 -0
  41. package/dist/{chunk-NNKZFXEK.cjs → chunk-RFFMBY7M.cjs} +2 -2
  42. package/dist/{chunk-NNKZFXEK.cjs.map → chunk-RFFMBY7M.cjs.map} +1 -1
  43. package/dist/chunk-YEXRRTI3.cjs +2 -0
  44. package/dist/chunk-YEXRRTI3.cjs.map +1 -0
  45. package/dist/{chunk-FEW3ABPD.js → chunk-YGAD4ZZW.js} +2 -2
  46. package/dist/chunk-YGAD4ZZW.js.map +1 -0
  47. package/dist/chunk-ZO3GXKF3.cjs +2 -0
  48. package/dist/chunk-ZO3GXKF3.cjs.map +1 -0
  49. package/dist/devtools/bridge.cjs +1 -1
  50. package/dist/devtools/bridge.js +1 -1
  51. package/dist/devtools/index.cjs +2 -2
  52. package/dist/devtools/index.cjs.map +1 -1
  53. package/dist/devtools/index.js +1 -1
  54. package/dist/devtools/index.js.map +1 -1
  55. package/dist/field-binding-BXw0Ku2c.d.cts +12 -0
  56. package/dist/field-binding-BXw0Ku2c.d.ts +12 -0
  57. package/dist/index.cjs +1 -1
  58. package/dist/index.cjs.map +1 -1
  59. package/dist/index.d.cts +20 -15
  60. package/dist/index.d.ts +20 -15
  61. package/dist/index.js +1 -1
  62. package/dist/mask.cjs +1 -1
  63. package/dist/mask.js +1 -1
  64. package/dist/{public-types-SU17BarA.d.cts → public-types-D14VY_4o.d.cts} +4 -9
  65. package/dist/{public-types-Bgws0aVJ.d.ts → public-types-D3WIiMGu.d.ts} +4 -9
  66. package/dist/react/index.cjs +1 -1
  67. package/dist/react/index.cjs.map +1 -1
  68. package/dist/react/index.d.cts +7 -6
  69. package/dist/react/index.d.ts +7 -6
  70. package/dist/react/index.js +1 -1
  71. package/dist/react/index.js.map +1 -1
  72. package/dist/react-native/index.cjs +1 -1
  73. package/dist/react-native/index.d.cts +5 -4
  74. package/dist/react-native/index.d.ts +5 -4
  75. package/dist/react-native/index.js +1 -1
  76. package/dist/resolvers/index.cjs +2 -0
  77. package/dist/resolvers/index.cjs.map +1 -0
  78. package/dist/resolvers/index.d.cts +9 -0
  79. package/dist/resolvers/index.d.ts +9 -0
  80. package/dist/resolvers/index.js +2 -0
  81. package/dist/resolvers/index.js.map +1 -0
  82. package/dist/resolvers/joi.cjs +1 -1
  83. package/dist/resolvers/joi.cjs.map +1 -1
  84. package/dist/resolvers/joi.d.cts +1 -1
  85. package/dist/resolvers/joi.d.ts +1 -1
  86. package/dist/resolvers/joi.js +1 -1
  87. package/dist/resolvers/joi.js.map +1 -1
  88. package/dist/resolvers/types.cjs +2 -1
  89. package/dist/resolvers/types.cjs.map +1 -1
  90. package/dist/resolvers/types.js +1 -0
  91. package/dist/resolvers/yup.cjs +1 -1
  92. package/dist/resolvers/yup.cjs.map +1 -1
  93. package/dist/resolvers/yup.d.cts +1 -1
  94. package/dist/resolvers/yup.d.ts +1 -1
  95. package/dist/resolvers/yup.js +1 -1
  96. package/dist/resolvers/yup.js.map +1 -1
  97. package/dist/resolvers/zod.cjs +1 -1
  98. package/dist/resolvers/zod.cjs.map +1 -1
  99. package/dist/resolvers/zod.d.cts +1 -1
  100. package/dist/resolvers/zod.d.ts +1 -1
  101. package/dist/resolvers/zod.js +1 -1
  102. package/dist/resolvers/zod.js.map +1 -1
  103. package/dist/{types-C2mpfhp1.d.cts → upload-EXnJLq8k.d.cts} +1 -1
  104. package/dist/{types-C2mpfhp1.d.ts → upload-EXnJLq8k.d.ts} +1 -1
  105. package/dist/{use-bit-persist-DEWMhvit.d.cts → use-bit-persist-CNtQ3Gaq.d.ts} +7 -6
  106. package/dist/{use-bit-persist-BlR-hHk6.d.ts → use-bit-persist-Dt4zIl2u.d.cts} +7 -6
  107. package/dist/vue/index.cjs +1 -1
  108. package/dist/vue/index.cjs.map +1 -1
  109. package/dist/vue/index.d.cts +3 -3
  110. package/dist/vue/index.d.ts +3 -3
  111. package/dist/vue/index.js +1 -1
  112. package/dist/vue/index.js.map +1 -1
  113. package/package.json +6 -1
  114. package/dist/chunk-3MUULXXZ.js +0 -2
  115. package/dist/chunk-3MUULXXZ.js.map +0 -1
  116. package/dist/chunk-7MBRAKBL.js +0 -2
  117. package/dist/chunk-7MBRAKBL.js.map +0 -1
  118. package/dist/chunk-ER2DNS7T.cjs +0 -2
  119. package/dist/chunk-ER2DNS7T.cjs.map +0 -1
  120. package/dist/chunk-FEW3ABPD.js.map +0 -1
  121. package/dist/chunk-JO37BU2C.cjs +0 -2
  122. package/dist/chunk-PA6T2CBR.cjs +0 -2
  123. package/dist/chunk-T3XN5O7V.cjs +0 -2
  124. package/dist/chunk-T3XN5O7V.cjs.map +0 -1
  125. package/dist/chunk-ULC4OPIQ.js +0 -2
  126. package/dist/chunk-ULC4OPIQ.js.map +0 -1
  127. package/dist/chunk-VDWCFNA6.js +0 -2
@@ -1,10 +1,10 @@
1
- import { e as BitStoreApi, f as BitStoreHooksApi, d as BitHistoryMetadata, i as BitPersistMetadata, a as BitValidationOptions } from '../public-types-SU17BarA.cjs';
2
- import { S as ScopeStatus, V as ValidateScopeResult, f as BitErrors, A as BitTouched, D as DeepPartial, k as BitPath, m as BitPathValue, o as BitArrayPath, p as BitArrayItem } from '../bus-CILR-ENq.cjs';
1
+ import { e as BitStoreApi, f as BitStoreHooksApi, d as BitHistoryMetadata, a as BitValidationOptions } from '../public-types-D14VY_4o.cjs';
2
+ import { j as BitPersistMetadata, S as ScopeStatus, n as ValidateScopeResult, i as BitErrors, H as BitTouched, h as DeepPartial, f as BitPath, g as BitPathValue, k as BitArrayPath, l as BitArrayItem } from '../bus-a_GA51Qw.cjs';
3
3
  import * as vue from 'vue';
4
4
  import { ComputedRef, Ref } from 'vue';
5
5
  import * as _vue_reactivity from '@vue/reactivity';
6
6
  import * as _vue_shared from '@vue/shared';
7
- import { a as BitUploadFn, B as BitDeleteUploadFn } from '../types-C2mpfhp1.cjs';
7
+ import { B as BitUploadFn, a as BitDeleteUploadFn } from '../upload-EXnJLq8k.cjs';
8
8
  import '../types-D8DgIUhJ.cjs';
9
9
 
10
10
  declare function provideBitStore<T extends object>(store: BitStoreApi<T>): void;
@@ -1,10 +1,10 @@
1
- import { e as BitStoreApi, f as BitStoreHooksApi, d as BitHistoryMetadata, i as BitPersistMetadata, a as BitValidationOptions } from '../public-types-Bgws0aVJ.js';
2
- import { S as ScopeStatus, V as ValidateScopeResult, f as BitErrors, A as BitTouched, D as DeepPartial, k as BitPath, m as BitPathValue, o as BitArrayPath, p as BitArrayItem } from '../bus-DHQHDwUp.js';
1
+ import { e as BitStoreApi, f as BitStoreHooksApi, d as BitHistoryMetadata, a as BitValidationOptions } from '../public-types-D3WIiMGu.js';
2
+ import { j as BitPersistMetadata, S as ScopeStatus, n as ValidateScopeResult, i as BitErrors, H as BitTouched, h as DeepPartial, f as BitPath, g as BitPathValue, k as BitArrayPath, l as BitArrayItem } from '../bus-BQI1FIOs.js';
3
3
  import * as vue from 'vue';
4
4
  import { ComputedRef, Ref } from 'vue';
5
5
  import * as _vue_reactivity from '@vue/reactivity';
6
6
  import * as _vue_shared from '@vue/shared';
7
- import { a as BitUploadFn, B as BitDeleteUploadFn } from '../types-C2mpfhp1.js';
7
+ import { B as BitUploadFn, a as BitDeleteUploadFn } from '../upload-EXnJLq8k.js';
8
8
  import '../types-D8DgIUhJ.js';
9
9
 
10
10
  declare function provideBitStore<T extends object>(store: BitStoreApi<T>): void;
package/dist/vue/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as H,b as M,c as O}from"../chunk-FEW3ABPD.js";import{d as A,e as F,l as j}from"../chunk-ULC4OPIQ.js";import"../chunk-VDWCFNA6.js";import{inject as $,provide as L}from"vue";var q=Symbol("BIT_STORE");function Y(e){L(q,j(e))}function c(){let e=$(q);if(!e)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return e}import{computed as R,onUnmounted as G,shallowRef as J,ref as C}from"vue";function Q(){let e=c(),t=J({isValid:e.getState().isValid,isSubmitting:e.getState().isSubmitting,isDirty:e.getState().isDirty}),i=C(null),r=C(null),s=e.subscribeSelector(m=>({isValid:m.isValid,isSubmitting:m.isSubmitting,isDirty:m.isDirty}),m=>{t.value=m});G(s);let n=H(e,{clearSubmissionState:()=>{i.value=null,r.value=null},setSubmissionResult:m=>{r.value=m},setSubmissionError:m=>{i.value=m}}),d=R(()=>t.value.isValid),u=R(()=>t.value.isSubmitting),f=R(()=>t.value.isDirty),o=n.onSubmit,a=n.reset;return{meta:{isValid:d,isDirty:f,isSubmitting:u,submitError:i,lastResponse:r},getValues:n.getValues,getErrors:n.getErrors,getTouched:n.getTouched,getDirtyValues:n.getDirtyValues,submit:n.submit,onSubmit:o,reset:a,replaceValues:e.replaceValues.bind(e),hydrate:e.hydrate.bind(e),rebase:e.rebase.bind(e),setError:e.setError.bind(e),setErrors:e.setErrors.bind(e),setServerErrors:e.setServerErrors.bind(e),setField:e.setField.bind(e),blurField:e.blurField.bind(e),validate:e.validate.bind(e)}}import{computed as v,onUnmounted as X,shallowRef as Z}from"vue";function U(e){let t=c(),i=t.resolveMask(e),r=O(t,e,i),s=Z(t.getFieldState(e)),n=M(t,e,g=>{s.value=g});X(()=>{n(),t.unregisterField&&t.unregisterField(e)});let d=v(()=>s.value.value),u=v(()=>r.displayValue(d.value)),f=v({get:()=>u.value,set:g=>{r.setValue(g)}}),o=v(()=>s.value.error),a=v(()=>s.value.touched?s.value.error:void 0),l=v(()=>s.value.touched),m=v(()=>!!(l.value&&a.value)),b=v(()=>s.value.isValidating),P=v(()=>s.value.isDirty),E=v(()=>s.value.isHidden),T=v(()=>s.value.isRequired),x=v(()=>!!o.value),p=g=>{r.setValue(g)},y=()=>r.setBlur();return{value:d,displayValue:u,modelValue:f,setValue:p,setBlur:y,onInput:g=>{p(g)},onBlur:()=>{y()},meta:{error:a,touched:l,invalid:m,isValidating:b,isDirty:P,isHidden:E,isRequired:T,hasError:x}}}import{ref as K,computed as W,onUnmounted as N}from"vue";var S=()=>Math.random().toString(36).substring(2,9);function ee(e){let t=c(),r=(()=>{let o=F(t.getState().values,e);return Array.isArray(o)?o:[]})(),s=K(r),n=K(r.map(S)),d=t.subscribePath(e,o=>{let a=Array.isArray(o)?o:[];if(s.value=[...a],a.length!==n.value.length){let l=[...n.value];if(a.length>l.length){let m=a.length-l.length,b=Array.from({length:m},S);n.value=[...l,...b]}else n.value=l.slice(0,a.length)}});N(()=>{d(),t.unregisterPrefix&&t.unregisterPrefix(`${e}.`)});let u=W(()=>s.value.map((o,a)=>({key:n.value[a]||`temp-${a}`,value:o,index:a}))),f=W(()=>s.value.length);return{fields:u,length:f,append:o=>{n.value.push(S()),t.pushItem(e,o)},prepend:o=>{n.value.unshift(S()),t.prependItem(e,o)},insert:(o,a)=>{n.value.splice(o,0,S()),t.insertItem(e,o,a)},remove:o=>{n.value.splice(o,1),t.removeItem(e,o)},move:(o,a)=>{let l=[...n.value],[m]=l.splice(o,1);l.splice(a,0,m),n.value=l,t.moveItem(e,o,a)},swap:(o,a)=>{let l=[...n.value];[l[o],l[a]]=[l[a],l[o]],n.value=l,t.swapItems(e,o,a)},replace:o=>{n.value=o.map(S),t.setField(e,o)},clear:()=>{n.value=[],t.setField(e,[])}}}import{computed as V,onUnmounted as te,shallowRef as re}from"vue";function se(){let e=c(),t=re(e.getHistoryMetadata()),i=e.subscribe(()=>{t.value=e.getHistoryMetadata()});te(i);let r=()=>e.undo(),s=()=>e.redo();return{canUndo:V(()=>t.value.canUndo),canRedo:V(()=>t.value.canRedo),historyIndex:V(()=>t.value.historyIndex),historySize:V(()=>t.value.historySize),undo:r,redo:s}}import{ref as oe,computed as I,onMounted as ie,onUnmounted as ne}from"vue";function ae(e,t){let i=Object.keys(e),r=Object.keys(t);return i.length!==r.length?!1:i.every(s=>e[s]===t[s])}function ue(e){let t=c(),i=oe(t.getStepStatus(e)),r;ie(()=>{r=t.subscribe(()=>{let o=t.getStepStatus(e);(o.hasErrors!==i.value.hasErrors||o.isDirty!==i.value.isDirty||!ae(o.errors,i.value.errors))&&(i.value=o)})}),ne(()=>{r?.()});let s=async()=>{let o=await t.validate({scope:e}),a=t.getStepErrors(e);return{valid:o,errors:a}},n=()=>t.getStepErrors(e),d=I(()=>!i.value.hasErrors),u=I(()=>i.value.isDirty),f=I(()=>i.value.errors);return{scopeName:e,status:i,errors:f,validate:s,getErrors:n,isValid:d,isDirty:u}}import{ref as _,computed as B,watch as le,onMounted as ce,onUnmounted as me}from"vue";function de(e,t){let i=Object.keys(e),r=Object.keys(t);return i.length!==r.length?!1:i.every(s=>e[s]===t[s])}function pe(e){let t=c(),i=_(0),r=B(()=>e[i.value]??""),s=_(t.getStepStatus(r.value)),n;le(r,p=>{s.value=t.getStepStatus(p)});let d=()=>{let p=r.value,y=t.getStepStatus(p);(y.hasErrors!==s.value.hasErrors||y.isDirty!==s.value.isDirty||!de(y.errors,s.value.errors))&&(s.value=y)};ce(()=>{n=t.subscribe(d)}),me(()=>{n?.()});let u=async()=>{let p=r.value,y=await t.validate({scope:p}),h=t.getStepErrors(p);return{valid:y,errors:h}},f=()=>t.getStepErrors(r.value),o=async()=>{let p=r.value,y=t.getScopeFields(p);if(t.hasValidationsInProgress(y))return!1;let h=await t.validate({scope:p});if(h)i.value=Math.min(i.value+1,e.length-1);else{let D=t.getStepErrors(p),g=Object.keys(D);g.length>0&&t.markFieldsTouched(g)}return h},a=()=>{i.value=Math.max(i.value-1,0)},l=p=>{i.value=Math.max(0,Math.min(p-1,e.length-1))},m=B(()=>i.value+1),b=B(()=>i.value===0),P=B(()=>i.value>=e.length-1),E=B(()=>!s.value.hasErrors),T=B(()=>s.value.isDirty),x=B(()=>s.value.errors);return{step:m,stepIndex:i,scope:r,next:o,prev:a,goTo:l,isFirst:b,isLast:P,status:s,errors:x,isValid:E,isDirty:T,validate:u,getErrors:f}}import{ref as ve,onUnmounted as fe,readonly as ye}from"vue";function ge(e){let t=c(),i=F(t.getState().values,e),r=ve(i),s=t.watch(e,n=>{A(r.value,n)||(r.value=n)});return fe(s),ye(r)}import{computed as z,ref as Be}from"vue";function Se(e,t,i){let r=c(),s=U(e),n=null,d=Be(!1),u=async o=>{if(o){d.value=!0,r.setError(e,void 0);try{let a=await t(o);s.setValue(a.url),n=a.key,r.setError(e,void 0)}catch(a){let l=a instanceof Error?a.message:"Upload failed";r.setError(e,l)}finally{d.value=!1}}},f=async()=>{if(n&&i)try{await i(n)}catch(o){let a=o instanceof Error?o.message:"Delete failed";r.setError(e,a);return}s.setValue(null),n=null,r.setError(e,void 0)};return{value:s.value,setValue:s.setValue,error:z(()=>s.meta.error.value),isValidating:z(()=>!!s.meta.isValidating.value||d.value),upload:u,remove:f}}import{ref as w,readonly as k}from"vue";function be(){let e=c(),t=w(!1),i=w(!1),r=w(null);return{restore:async()=>{i.value=!0,r.value=null;try{return await e.restorePersisted()}catch(u){return r.value=u instanceof Error?u:new Error(String(u)),!1}finally{i.value=!1}},save:async()=>{t.value=!0,r.value=null;try{await e.forceSave()}catch(u){r.value=u instanceof Error?u:new Error(String(u))}finally{t.value=!1}},clear:async()=>{r.value=null;try{await e.clearPersisted()}catch(u){r.value=u instanceof Error?u:new Error(String(u))}},meta:{isSaving:k(t),isRestoring:k(i),error:k(r)}}}export{Y as provideBitStore,ee as useBitArray,U as useBitField,Q as useBitForm,se as useBitHistory,be as useBitPersist,ue as useBitScope,pe as useBitSteps,c as useBitStore,Se as useBitUpload,ge as useBitWatch};
1
+ import{a as M,b as O}from"../chunk-O5UPA33R.js";import{a as A,b as j,c as H}from"../chunk-YGAD4ZZW.js";import{d as k,e as V,k as w}from"../chunk-AE4G32HS.js";import"../chunk-7LMNIQTT.js";import{inject as L,provide as $}from"vue";var C=Symbol("BIT_STORE");function Y(e){$(C,w(e))}function m(){let e=L(C);if(!e)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return e}import{computed as R,onUnmounted as G,shallowRef as J,ref as K}from"vue";function Q(){let e=m(),t=J({isValid:e.getState().isValid,isSubmitting:e.getState().isSubmitting,isDirty:e.getState().isDirty}),s=K(null),i=K(null),o=e.subscribeSelector(a=>({isValid:a.isValid,isSubmitting:a.isSubmitting,isDirty:a.isDirty}),a=>{t.value=a});G(o);let l=A(e,{clearSubmissionState:()=>{s.value=null,i.value=null},setSubmissionResult:a=>{i.value=a},setSubmissionError:a=>{s.value=a}}),n=R(()=>t.value.isValid),p=R(()=>t.value.isSubmitting),f=R(()=>t.value.isDirty),c=l.onSubmit,r=l.reset;return{meta:{isValid:n,isDirty:f,isSubmitting:p,submitError:s,lastResponse:i},getValues:l.getValues,getErrors:l.getErrors,getTouched:l.getTouched,getDirtyValues:l.getDirtyValues,submit:l.submit,onSubmit:c,reset:r,replaceValues:e.replaceValues.bind(e),hydrate:e.hydrate.bind(e),rebase:e.rebase.bind(e),setError:e.setError.bind(e),setErrors:e.setErrors.bind(e),setServerErrors:e.setServerErrors.bind(e),setField:e.setField.bind(e),blurField:e.blurField.bind(e),validate:e.validate.bind(e)}}import{computed as v,onUnmounted as X,shallowRef as Z}from"vue";function U(e){let t=m(),s=t.resolveMask(e),i=H(t,e,s),o=Z(t.getFieldState(e)),l=j(t,e,y=>{o.value=y});X(()=>{l(),t.unregisterField&&t.unregisterField(e)});let n=v(()=>o.value.value),p=v(()=>i.displayValue(n.value)),f=v({get:()=>p.value,set:y=>{i.setValue(y)}}),c=v(()=>o.value.error),r=v(()=>o.value.touched?o.value.error:void 0),u=v(()=>o.value.touched),a=v(()=>!!(u.value&&r.value)),B=v(()=>o.value.isValidating),b=v(()=>o.value.isDirty),P=v(()=>o.value.isHidden),h=v(()=>o.value.isRequired),x=v(()=>!!c.value),d=y=>{i.setValue(y)},g=()=>i.setBlur();return{value:n,displayValue:p,modelValue:f,setValue:d,setBlur:g,onInput:y=>{d(y)},onBlur:()=>{g()},meta:{error:r,touched:u,invalid:a,isValidating:B,isDirty:b,isHidden:P,isRequired:h,hasError:x}}}import{ref as _,computed as q,onUnmounted as N}from"vue";function ee(e){let t=m(),s=r=>t.config.idFactory({scope:"array",path:e,index:r}),o=(()=>{let r=V(t.getState().values,e);return Array.isArray(r)?r:[]})(),l=_(o),n=_(o.map((r,u)=>s(u))),p=t.subscribePath(e,r=>{let u=Array.isArray(r)?r:[];if(l.value=[...u],u.length!==n.value.length){let a=[...n.value];if(u.length>a.length){let B=u.length-a.length,b=Array.from({length:B},(P,h)=>s(a.length+h));n.value=[...a,...b]}else n.value=a.slice(0,u.length)}});N(()=>{p(),t.unregisterPrefix&&t.unregisterPrefix(`${e}.`)});let f=q(()=>l.value.map((r,u)=>({key:n.value[u]||`temp-${u}`,value:r,index:u}))),c=q(()=>l.value.length);return{fields:f,length:c,append:r=>{n.value.push(s(n.value.length)),t.pushItem(e,r)},prepend:r=>{n.value.unshift(s(0)),t.prependItem(e,r)},insert:(r,u)=>{n.value.splice(r,0,s(r)),t.insertItem(e,r,u)},remove:r=>{n.value.splice(r,1),t.removeItem(e,r)},move:(r,u)=>{let a=[...n.value],[B]=a.splice(r,1);a.splice(u,0,B),n.value=a,t.moveItem(e,r,u)},swap:(r,u)=>{let a=[...n.value];[a[r],a[u]]=[a[u],a[r]],n.value=a,t.swapItems(e,r,u)},replace:r=>{n.value=r.map((u,a)=>s(a)),t.setField(e,r)},clear:()=>{n.value=[],t.setField(e,[])}}}import{computed as T,onUnmounted as te,shallowRef as re}from"vue";function se(){let e=m(),t=re(e.getHistoryMetadata()),s=e.subscribe(()=>{t.value=e.getHistoryMetadata()});te(s);let i=()=>e.undo(),o=()=>e.redo();return{canUndo:T(()=>t.value.canUndo),canRedo:T(()=>t.value.canRedo),historyIndex:T(()=>t.value.historyIndex),historySize:T(()=>t.value.historySize),undo:i,redo:o}}import{ref as oe,computed as E,onMounted as ie,onUnmounted as ne}from"vue";function ae(e,t){let s=Object.keys(e),i=Object.keys(t);return s.length!==i.length?!1:s.every(o=>e[o]===t[o])}function ue(e){let t=m(),s=oe(t.getStepStatus(e)),i;ie(()=>{i=t.subscribeSelector(c=>({errors:c.errors,isDirty:c.isDirty}),()=>{let c=t.getStepStatus(e);(c.hasErrors!==s.value.hasErrors||c.isDirty!==s.value.isDirty||!ae(c.errors,s.value.errors))&&(s.value=c)})}),ne(()=>{i?.()});let o=async()=>{let c=await t.validate({scope:e}),r=t.getStepErrors(e);return{valid:c,errors:r}},l=()=>t.getStepErrors(e),n=E(()=>!s.value.hasErrors),p=E(()=>s.value.isDirty),f=E(()=>s.value.errors);return{scopeName:e,status:s,errors:f,validate:o,getErrors:l,isValid:n,isDirty:p}}import{ref as W,computed as S,watch as le,onMounted as ce,onUnmounted as me}from"vue";function de(e,t){let s=Object.keys(e),i=Object.keys(t);return s.length!==i.length?!1:s.every(o=>e[o]===t[o])}function pe(e){let t=m(),s=W(0),i=S(()=>e[s.value]??""),o=W(t.getStepStatus(i.value)),l;le(i,d=>{o.value=t.getStepStatus(d)});let n=()=>{let d=i.value,g=t.getStepStatus(d);(g.hasErrors!==o.value.hasErrors||g.isDirty!==o.value.isDirty||!de(g.errors,o.value.errors))&&(o.value=g)};ce(()=>{l=t.subscribeSelector(d=>({errors:d.errors,isDirty:d.isDirty}),n)}),me(()=>{l?.()});let p=async()=>{let d=i.value,g=await t.validate({scope:d}),F=t.getStepErrors(d);return{valid:g,errors:F}},f=()=>t.getStepErrors(i.value),c=async()=>{let d=i.value,g=t.getScopeFields(d);if(t.hasValidationsInProgress(g))return!1;let F=await t.validate({scope:d});if(F)s.value=Math.min(s.value+1,e.length-1);else{let D=t.getStepErrors(d),y=Object.keys(D);y.length>0&&t.markFieldsTouched(y)}return F},r=()=>{s.value=Math.max(s.value-1,0)},u=d=>{s.value=Math.max(0,Math.min(d-1,e.length-1))},a=S(()=>s.value+1),B=S(()=>s.value===0),b=S(()=>s.value>=e.length-1),P=S(()=>!o.value.hasErrors),h=S(()=>o.value.isDirty),x=S(()=>o.value.errors);return{step:a,stepIndex:s,scope:i,next:c,prev:r,goTo:u,isFirst:B,isLast:b,status:o,errors:x,isValid:P,isDirty:h,validate:p,getErrors:f}}import{ref as ve,onUnmounted as fe,readonly as ge}from"vue";function ye(e){let t=m(),s=V(t.getState().values,e),i=ve(s),o=t.watch(e,l=>{k(i.value,l)||(i.value=l)});return fe(o),ge(i)}import{computed as z,ref as Be}from"vue";function Se(e,t,s){let i=m(),o=U(e),l=null,n=Be(!1),p={setLoading:r=>{n.value=r},setError:(r,u)=>i.setError(r,u),setValue:r=>o.setValue(r),getUploadKey:()=>l,setUploadKey:r=>{l=r}},f=M(e,t,p),c=O(e,s,p);return{value:o.value,setValue:o.setValue,error:z(()=>o.meta.error.value),isValidating:z(()=>!!o.meta.isValidating.value||n.value),upload:f,remove:c}}import{computed as I,onUnmounted as be,ref as he}from"vue";function Fe(){let e=m(),t=he(e.getPersistMetadata()),s=e.subscribeSelector(n=>n.persist,n=>{t.value=n});return be(()=>s()),{restore:async()=>e.restorePersisted(),save:async()=>{await e.forceSave()},clear:async()=>{await e.clearPersisted()},meta:{isSaving:I(()=>t.value.isSaving),isRestoring:I(()=>t.value.isRestoring),error:I(()=>t.value.error)}}}export{Y as provideBitStore,ee as useBitArray,U as useBitField,Q as useBitForm,se as useBitHistory,Fe as useBitPersist,ue as useBitScope,pe as useBitSteps,m as useBitStore,Se as useBitUpload,ye as useBitWatch};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts","../../src/vue/use-bit-history.ts","../../src/vue/use-bit-scope.ts","../../src/vue/use-bit-steps.ts","../../src/vue/use-bit-watch.ts","../../src/vue/use-bit-upload.ts","../../src/vue/use-bit-persist.ts"],"sourcesContent":["import { inject, provide, InjectionKey } from \"vue\";\nimport type { BitStoreApi, BitStoreHooksApi } from \"../core\";\nimport { resolveBitStoreForHooks } from \"../core\";\n\n// Chave única para evitar colisões\nexport const BIT_STORE_KEY: InjectionKey<BitStoreHooksApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(store: BitStoreApi<T>) {\n provide(BIT_STORE_KEY, resolveBitStoreForHooks(store));\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitStoreHooksApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { createFormController } from \"../core/form-controller\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n const state = shallowRef({\n isValid: store.getState().isValid,\n isSubmitting: store.getState().isSubmitting,\n isDirty: store.getState().isDirty,\n });\n const submitError = ref<Error | null>(null);\n const lastResponse = ref<unknown>(null);\n\n const unsubscribe = store.subscribeSelector(\n (snapshot) => ({\n isValid: snapshot.isValid,\n isSubmitting: snapshot.isSubmitting,\n isDirty: snapshot.isDirty,\n }),\n (nextState) => {\n state.value = nextState;\n },\n );\n\n onUnmounted(unsubscribe);\n\n const controller = createFormController(store, {\n clearSubmissionState: () => {\n submitError.value = null;\n lastResponse.value = null;\n },\n setSubmissionResult: (result) => {\n lastResponse.value = result;\n },\n setSubmissionError: (error) => {\n submitError.value = error;\n },\n });\n\n const isValid = computed(() => state.value.isValid);\n const isSubmitting = computed(() => state.value.isSubmitting);\n const isDirty = computed(() => state.value.isDirty);\n\n const onSubmit = controller.onSubmit;\n const reset = controller.reset;\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError,\n lastResponse,\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit,\n reset,\n replaceValues: store.replaceValues.bind(store),\n hydrate: store.hydrate.bind(store),\n rebase: store.rebase.bind(store),\n setError: store.setError.bind(store),\n setErrors: store.setErrors.bind(store),\n setServerErrors: store.setServerErrors.bind(store),\n setField: store.setField.bind(store),\n blurField: store.blurField.bind(store),\n validate: store.validate.bind(store),\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n createMaskedFieldController,\n subscribeFieldState,\n} from \"../core/field-controller\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const resolvedMask = store.resolveMask(path);\n const fieldController = createMaskedFieldController(\n store,\n path,\n resolvedMask,\n );\n\n const state = shallowRef(store.getFieldState(path));\n\n const unsubscribe = subscribeFieldState(store, path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n if (store.unregisterField) {\n store.unregisterField(path);\n }\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string) => {\n fieldController.setValue(val);\n },\n });\n\n const rawError = computed(() => state.value.error);\n const error = computed(() =>\n state.value.touched ? state.value.error : undefined,\n );\n const touched = computed(() => state.value.touched);\n const invalid = computed(() => !!(touched.value && error.value));\n\n const isValidating = computed(() => state.value.isValidating);\n\n const isDirty = computed(() => state.value.isDirty);\n\n const isHidden = computed(() => state.value.isHidden);\n\n const isRequired = computed(() => state.value.isRequired);\n\n const hasError = computed(() => !!rawError.value);\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const onInput = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n setValue(val);\n };\n\n const onBlur = () => {\n setBlur();\n };\n\n return {\n // Main handlers and values (flat)\n value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { ref, computed, onUnmounted } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport {\n getDeepValue,\n BitArrayPath,\n BitPathValue,\n BitArrayItem,\n BitPath,\n} from \"../core\";\n\nconst generateId = () => Math.random().toString(36).substring(2, 9);\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n\n type Item = BitArrayItem<BitPathValue<TForm, P>>;\n\n const getSnapshot = (): Item[] => {\n const val = getDeepValue(store.getState().values, path as string) as\n | BitPathValue<TForm, P>\n | undefined;\n return Array.isArray(val) ? (val as Item[]) : [];\n };\n\n const initialValues = getSnapshot();\n const values = ref<Item[]>(initialValues);\n const ids = ref<string[]>(initialValues.map(generateId));\n\n const unsubscribe = store.subscribePath(path, (newValues) => {\n const nextValues = (Array.isArray(newValues) ? newValues : []) as Item[];\n\n values.value = [...nextValues];\n\n if (nextValues.length !== ids.value.length) {\n const currentIds = [...ids.value];\n if (nextValues.length > currentIds.length) {\n const diff = nextValues.length - currentIds.length;\n const newIds = Array.from({ length: diff }, generateId);\n ids.value = [...currentIds, ...newIds];\n } else {\n ids.value = currentIds.slice(0, nextValues.length);\n }\n }\n });\n\n onUnmounted(() => {\n unsubscribe();\n if (store.unregisterPrefix) {\n store.unregisterPrefix(`${path as string}.`);\n }\n });\n\n const fields = computed(() =>\n values.value.map((v, i) => ({\n key: ids.value[i] || `temp-${i}`,\n value: v,\n index: i,\n })),\n );\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: (val: Item) => {\n ids.value.push(generateId());\n store.pushItem(path, val);\n },\n prepend: (val: Item) => {\n ids.value.unshift(generateId());\n store.prependItem(path, val);\n },\n insert: (index: number, val: Item) => {\n ids.value.splice(index, 0, generateId());\n store.insertItem(path, index, val);\n },\n remove: (index: number) => {\n ids.value.splice(index, 1);\n store.removeItem(path, index);\n },\n move: (from: number, to: number) => {\n const currentIds = [...ids.value];\n const [id] = currentIds.splice(from, 1);\n currentIds.splice(to, 0, id);\n ids.value = currentIds;\n store.moveItem(path, from, to);\n },\n swap: (a: number, b: number) => {\n const currentIds = [...ids.value];\n [currentIds[a], currentIds[b]] = [currentIds[b], currentIds[a]];\n ids.value = currentIds;\n store.swapItems(path, a, b);\n },\n replace: (items: Item[]) => {\n ids.value = items.map(generateId);\n store.setField(\n path as unknown as BitPath<TForm>,\n items as unknown as BitPathValue<TForm, BitPath<TForm>>,\n );\n },\n clear: () => {\n ids.value = [];\n store.setField(\n path as unknown as BitPath<TForm>,\n [] as unknown as BitPathValue<TForm, BitPath<TForm>>,\n );\n },\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n\n const meta = shallowRef(store.getHistoryMetadata());\n\n const unsubscribe = store.subscribe(() => {\n meta.value = store.getHistoryMetadata();\n });\n\n onUnmounted(unsubscribe);\n\n const undo = () => store.undo();\n const redo = () => store.redo();\n\n return {\n canUndo: computed(() => meta.value.canUndo),\n canRedo: computed(() => meta.value.canRedo),\n historyIndex: computed(() => meta.value.historyIndex),\n historySize: computed(() => meta.value.historySize),\n undo,\n redo,\n };\n}\n","import { ref, computed, onMounted, onUnmounted } from \"vue\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\nfunction errorsEqual(\n a: Record<string, string>,\n b: Record<string, string>,\n): boolean {\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n return keysA.every((k) => a[k] === b[k]);\n}\n\nexport function useBitScope(scopeName: string) {\n const store = useBitStore();\n const status = ref<ScopeStatus>(store.getStepStatus(scopeName));\n let unsubscribe: () => void;\n\n onMounted(() => {\n unsubscribe = store.subscribe(() => {\n const newStatus = store.getStepStatus(scopeName);\n if (\n newStatus.hasErrors !== status.value.hasErrors ||\n newStatus.isDirty !== status.value.isDirty ||\n !errorsEqual(newStatus.errors, status.value.errors)\n ) {\n status.value = newStatus;\n }\n });\n });\n\n onUnmounted(() => {\n unsubscribe?.();\n });\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const valid = await store.validate({ scope: scopeName });\n const errors = store.getStepErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.getStepErrors(scopeName);\n\n const isValid = computed(() => !status.value.hasErrors);\n const isDirty = computed(() => status.value.isDirty);\n const errors = computed(() => status.value.errors);\n\n return {\n scopeName,\n status,\n errors,\n validate,\n getErrors,\n isValid,\n isDirty,\n };\n}\n","import { ref, computed, watch, onMounted, onUnmounted } from \"vue\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitStepsResult } from \"./types\";\n\nfunction errorsEqual(\n a: Record<string, string>,\n b: Record<string, string>,\n): boolean {\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n return keysA.every((k) => a[k] === b[k]);\n}\n\nexport function useBitSteps(scopeNames: string[]): UseBitStepsResult {\n const store = useBitStore();\n const stepIndex = ref(0);\n\n const scope = computed(() => scopeNames[stepIndex.value] ?? \"\");\n const status = ref<ScopeStatus>(store.getStepStatus(scope.value));\n let unsubscribe: () => void;\n\n watch(scope, (newScope) => {\n status.value = store.getStepStatus(newScope);\n });\n\n const updateStatus = () => {\n const scopeName = scope.value;\n const newStatus = store.getStepStatus(scopeName);\n if (\n newStatus.hasErrors !== status.value.hasErrors ||\n newStatus.isDirty !== status.value.isDirty ||\n !errorsEqual(newStatus.errors, status.value.errors)\n ) {\n status.value = newStatus;\n }\n };\n\n onMounted(() => {\n unsubscribe = store.subscribe(updateStatus);\n });\n\n onUnmounted(() => {\n unsubscribe?.();\n });\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const scopeName = scope.value;\n const valid = await store.validate({ scope: scopeName });\n const errors = store.getStepErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.getStepErrors(scope.value);\n\n const next = async (): Promise<boolean> => {\n const scopeName = scope.value;\n\n const scopeFields = store.getScopeFields(scopeName);\n if (store.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.validate({ scope: scopeName });\n if (valid) {\n stepIndex.value = Math.min(stepIndex.value + 1, scopeNames.length - 1);\n } else {\n const errors = store.getStepErrors(scopeName);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.markFieldsTouched(pathsWithErrors);\n }\n }\n return valid;\n };\n\n const prev = () => {\n stepIndex.value = Math.max(stepIndex.value - 1, 0);\n };\n\n const goTo = (targetStep: number) => {\n stepIndex.value = Math.max(\n 0,\n Math.min(targetStep - 1, scopeNames.length - 1),\n );\n };\n\n const step = computed(() => stepIndex.value + 1);\n const isFirst = computed(() => stepIndex.value === 0);\n const isLast = computed(() => stepIndex.value >= scopeNames.length - 1);\n const isValid = computed(() => !status.value.hasErrors);\n const isDirty = computed(() => status.value.isDirty);\n const errors = computed(() => status.value.errors);\n\n return {\n step,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors,\n isValid,\n isDirty,\n validate,\n getErrors,\n };\n}\n","import { ref, onUnmounted, readonly } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport {\n getDeepValue,\n deepEqual,\n BitPath,\n BitPathValue,\n} from \"../core\";\n\nexport function useBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const initialValue = getDeepValue(\n store.getState().values,\n path as string,\n ) as BitPathValue<TForm, P>;\n const value = ref<BitPathValue<TForm, P>>(initialValue);\n\n const unsubscribe = store.watch(path, (newValue) => {\n if (!deepEqual(value.value, newValue)) {\n value.value = newValue as BitPathValue<TForm, P>;\n }\n });\n\n onUnmounted(unsubscribe);\n\n return readonly(value);\n}\n","/**\n * Vue Composition API for File Upload\n *\n * Minimal upload API integrated with global field validation lifecycle.\n */\n\nimport { computed, ComputedRef, ref } from \"vue\";\nimport { useBitField } from \"./use-bit-field\";\nimport { useBitStore } from \"./context\";\nimport { BitUploadFn, BitDeleteUploadFn } from \"../core\";\nimport type { UseBitUploadResult } from \"./types\";\n\nexport function useBitUpload(\n fieldPath: string,\n uploadFn: BitUploadFn,\n deleteFile?: BitDeleteUploadFn,\n): UseBitUploadResult {\n const store = useBitStore<any>();\n const field = useBitField(fieldPath);\n let uploadKey: string | null = null;\n const isUploading = ref(false);\n\n const upload = async (file: File | null | undefined) => {\n if (!file) return;\n\n isUploading.value = true;\n store.setError(fieldPath, undefined);\n\n try {\n const result = await uploadFn(file);\n\n field.setValue(result.url);\n uploadKey = result.key;\n store.setError(fieldPath, undefined);\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Upload failed\";\n store.setError(fieldPath, message);\n } finally {\n isUploading.value = false;\n }\n };\n\n const remove = async () => {\n if (uploadKey && deleteFile) {\n try {\n await deleteFile(uploadKey);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : \"Delete failed\";\n store.setError(fieldPath, message);\n return;\n }\n }\n\n field.setValue(null);\n uploadKey = null;\n store.setError(fieldPath, undefined);\n };\n\n return {\n value: field.value as ComputedRef<string | File | null>,\n setValue: field.setValue,\n error: computed(() => field.meta.error.value),\n isValidating: computed(\n () => !!field.meta.isValidating.value || isUploading.value,\n ),\n upload,\n remove,\n };\n}\n","import { ref, readonly } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitPersistResult } from \"./types\";\n\nexport function useBitPersist<T extends object = any>(): UseBitPersistResult {\n const store = useBitStore<T>();\n const isSaving = ref(false);\n const isRestoring = ref(false);\n const error = ref<Error | null>(null);\n\n const restore = async (): Promise<boolean> => {\n isRestoring.value = true;\n error.value = null;\n\n try {\n return await store.restorePersisted();\n } catch (err) {\n error.value = err instanceof Error ? err : new Error(String(err));\n return false;\n } finally {\n isRestoring.value = false;\n }\n };\n\n const save = async (): Promise<void> => {\n isSaving.value = true;\n error.value = null;\n\n try {\n await store.forceSave();\n } catch (err) {\n error.value = err instanceof Error ? err : new Error(String(err));\n } finally {\n isSaving.value = false;\n }\n };\n\n const clear = async (): Promise<void> => {\n error.value = null;\n\n try {\n await store.clearPersisted();\n } catch (err) {\n error.value = err instanceof Error ? err : new Error(String(err));\n }\n };\n\n return {\n restore,\n save,\n clear,\n meta: {\n isSaving: readonly(isSaving),\n isRestoring: readonly(isRestoring),\n error: readonly(error),\n },\n };\n}\n"],"mappings":"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","names":["inject","provide","BIT_STORE_KEY","provideBitStore","store","provide","resolveBitStoreForHooks","useBitStore","inject","computed","onUnmounted","shallowRef","ref","useBitForm","store","useBitStore","state","shallowRef","submitError","ref","lastResponse","unsubscribe","snapshot","nextState","onUnmounted","controller","createFormController","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","computed","onUnmounted","shallowRef","useBitField","path","store","useBitStore","resolvedMask","fieldController","createMaskedFieldController","state","shallowRef","unsubscribe","subscribeFieldState","nextState","onUnmounted","rawValue","computed","displayValue","modelValue","val","rawError","error","touched","invalid","isValidating","isDirty","isHidden","isRequired","hasError","setValue","setBlur","ref","computed","onUnmounted","generateId","useBitArray","path","store","useBitStore","initialValues","val","getDeepValue","values","ref","ids","unsubscribe","newValues","nextValues","currentIds","diff","newIds","onUnmounted","fields","computed","v","i","length","index","from","to","id","a","b","items","computed","onUnmounted","shallowRef","useBitHistory","store","useBitStore","meta","shallowRef","unsubscribe","onUnmounted","undo","redo","computed","ref","computed","onMounted","onUnmounted","errorsEqual","a","b","keysA","keysB","k","useBitScope","scopeName","store","useBitStore","status","ref","unsubscribe","onMounted","newStatus","onUnmounted","validate","valid","errors","getErrors","isValid","computed","isDirty","ref","computed","watch","onMounted","onUnmounted","errorsEqual","a","b","keysA","keysB","k","useBitSteps","scopeNames","store","useBitStore","stepIndex","ref","scope","computed","status","unsubscribe","watch","newScope","updateStatus","scopeName","newStatus","onMounted","onUnmounted","validate","valid","errors","getErrors","next","scopeFields","pathsWithErrors","prev","goTo","targetStep","step","isFirst","isLast","isValid","isDirty","ref","onUnmounted","readonly","useBitWatch","path","store","useBitStore","initialValue","getDeepValue","value","ref","unsubscribe","newValue","deepEqual","onUnmounted","readonly","computed","ref","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","uploadKey","isUploading","ref","upload","file","result","error","message","remove","computed","ref","readonly","useBitPersist","store","useBitStore","isSaving","ref","isRestoring","error","err","readonly"]}
1
+ {"version":3,"sources":["../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts","../../src/vue/use-bit-history.ts","../../src/vue/use-bit-scope.ts","../../src/vue/use-bit-steps.ts","../../src/vue/use-bit-watch.ts","../../src/vue/use-bit-upload.ts","../../src/vue/use-bit-persist.ts"],"sourcesContent":["import { inject, provide, InjectionKey } from \"vue\";\nimport type { BitStoreApi, BitStoreHooksApi } from \"../core\";\nimport { resolveBitStoreForHooks } from \"../core\";\n\n// Chave única para evitar colisões\nexport const BIT_STORE_KEY: InjectionKey<BitStoreHooksApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(store: BitStoreApi<T>) {\n provide(BIT_STORE_KEY, resolveBitStoreForHooks(store));\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitStoreHooksApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { createFormController } from \"../core/form-controller\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n const state = shallowRef({\n isValid: store.getState().isValid,\n isSubmitting: store.getState().isSubmitting,\n isDirty: store.getState().isDirty,\n });\n const submitError = ref<Error | null>(null);\n const lastResponse = ref<unknown>(null);\n\n const unsubscribe = store.subscribeSelector(\n (snapshot) => ({\n isValid: snapshot.isValid,\n isSubmitting: snapshot.isSubmitting,\n isDirty: snapshot.isDirty,\n }),\n (nextState) => {\n state.value = nextState;\n },\n );\n\n onUnmounted(unsubscribe);\n\n const controller = createFormController(store, {\n clearSubmissionState: () => {\n submitError.value = null;\n lastResponse.value = null;\n },\n setSubmissionResult: (result) => {\n lastResponse.value = result;\n },\n setSubmissionError: (error) => {\n submitError.value = error;\n },\n });\n\n const isValid = computed(() => state.value.isValid);\n const isSubmitting = computed(() => state.value.isSubmitting);\n const isDirty = computed(() => state.value.isDirty);\n\n const onSubmit = controller.onSubmit;\n const reset = controller.reset;\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError,\n lastResponse,\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit,\n reset,\n replaceValues: store.replaceValues.bind(store),\n hydrate: store.hydrate.bind(store),\n rebase: store.rebase.bind(store),\n setError: store.setError.bind(store),\n setErrors: store.setErrors.bind(store),\n setServerErrors: store.setServerErrors.bind(store),\n setField: store.setField.bind(store),\n blurField: store.blurField.bind(store),\n validate: store.validate.bind(store),\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n createMaskedFieldController,\n subscribeFieldState,\n} from \"../core/field-controller\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const resolvedMask = store.resolveMask(path);\n const fieldController = createMaskedFieldController(\n store,\n path,\n resolvedMask,\n );\n\n const state = shallowRef(store.getFieldState(path));\n\n const unsubscribe = subscribeFieldState(store, path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n if (store.unregisterField) {\n store.unregisterField(path);\n }\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string) => {\n fieldController.setValue(val);\n },\n });\n\n const rawError = computed(() => state.value.error);\n const error = computed(() =>\n state.value.touched ? state.value.error : undefined,\n );\n const touched = computed(() => state.value.touched);\n const invalid = computed(() => !!(touched.value && error.value));\n\n const isValidating = computed(() => state.value.isValidating);\n\n const isDirty = computed(() => state.value.isDirty);\n\n const isHidden = computed(() => state.value.isHidden);\n\n const isRequired = computed(() => state.value.isRequired);\n\n const hasError = computed(() => !!rawError.value);\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const onInput = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n setValue(val);\n };\n\n const onBlur = () => {\n setBlur();\n };\n\n return {\n // Main handlers and values (flat)\n value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { ref, computed, onUnmounted } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport {\n getDeepValue,\n BitArrayPath,\n BitPathValue,\n BitArrayItem,\n BitPath,\n} from \"../core\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n\n const createId = (index?: number) =>\n store.config.idFactory({\n scope: \"array\",\n path: path as string,\n index,\n });\n\n type Item = BitArrayItem<BitPathValue<TForm, P>>;\n\n const getSnapshot = (): Item[] => {\n const val = getDeepValue(store.getState().values, path as string) as\n | BitPathValue<TForm, P>\n | undefined;\n return Array.isArray(val) ? (val as Item[]) : [];\n };\n\n const initialValues = getSnapshot();\n const values = ref<Item[]>(initialValues);\n const ids = ref<string[]>(initialValues.map((_, index) => createId(index)));\n\n const unsubscribe = store.subscribePath(path, (newValues) => {\n const nextValues = (Array.isArray(newValues) ? newValues : []) as Item[];\n\n values.value = [...nextValues];\n\n if (nextValues.length !== ids.value.length) {\n const currentIds = [...ids.value];\n if (nextValues.length > currentIds.length) {\n const diff = nextValues.length - currentIds.length;\n const newIds = Array.from({ length: diff }, (_, i) =>\n createId(currentIds.length + i),\n );\n ids.value = [...currentIds, ...newIds];\n } else {\n ids.value = currentIds.slice(0, nextValues.length);\n }\n }\n });\n\n onUnmounted(() => {\n unsubscribe();\n if (store.unregisterPrefix) {\n store.unregisterPrefix(`${path as string}.`);\n }\n });\n\n const fields = computed(() =>\n values.value.map((v, i) => ({\n key: ids.value[i] || `temp-${i}`,\n value: v,\n index: i,\n })),\n );\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: (val: Item) => {\n ids.value.push(createId(ids.value.length));\n store.pushItem(path, val);\n },\n prepend: (val: Item) => {\n ids.value.unshift(createId(0));\n store.prependItem(path, val);\n },\n insert: (index: number, val: Item) => {\n ids.value.splice(index, 0, createId(index));\n store.insertItem(path, index, val);\n },\n remove: (index: number) => {\n ids.value.splice(index, 1);\n store.removeItem(path, index);\n },\n move: (from: number, to: number) => {\n const currentIds = [...ids.value];\n const [id] = currentIds.splice(from, 1);\n currentIds.splice(to, 0, id);\n ids.value = currentIds;\n store.moveItem(path, from, to);\n },\n swap: (a: number, b: number) => {\n const currentIds = [...ids.value];\n [currentIds[a], currentIds[b]] = [currentIds[b], currentIds[a]];\n ids.value = currentIds;\n store.swapItems(path, a, b);\n },\n replace: (items: Item[]) => {\n ids.value = items.map((_, index) => createId(index));\n store.setField(\n path as unknown as BitPath<TForm>,\n items as unknown as BitPathValue<TForm, BitPath<TForm>>,\n );\n },\n clear: () => {\n ids.value = [];\n store.setField(\n path as unknown as BitPath<TForm>,\n [] as unknown as BitPathValue<TForm, BitPath<TForm>>,\n );\n },\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n\n const meta = shallowRef(store.getHistoryMetadata());\n\n const unsubscribe = store.subscribe(() => {\n meta.value = store.getHistoryMetadata();\n });\n\n onUnmounted(unsubscribe);\n\n const undo = () => store.undo();\n const redo = () => store.redo();\n\n return {\n canUndo: computed(() => meta.value.canUndo),\n canRedo: computed(() => meta.value.canRedo),\n historyIndex: computed(() => meta.value.historyIndex),\n historySize: computed(() => meta.value.historySize),\n undo,\n redo,\n };\n}\n","import { ref, computed, onMounted, onUnmounted } from \"vue\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\nfunction errorsEqual(\n a: Record<string, string>,\n b: Record<string, string>,\n): boolean {\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n return keysA.every((k) => a[k] === b[k]);\n}\n\nexport function useBitScope(scopeName: string) {\n const store = useBitStore();\n const status = ref<ScopeStatus>(store.getStepStatus(scopeName));\n let unsubscribe: () => void;\n\n onMounted(() => {\n unsubscribe = store.subscribeSelector(\n (state) => ({ errors: state.errors, isDirty: state.isDirty }),\n () => {\n const newStatus = store.getStepStatus(scopeName);\n if (\n newStatus.hasErrors !== status.value.hasErrors ||\n newStatus.isDirty !== status.value.isDirty ||\n !errorsEqual(newStatus.errors, status.value.errors)\n ) {\n status.value = newStatus;\n }\n },\n );\n });\n\n onUnmounted(() => {\n unsubscribe?.();\n });\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const valid = await store.validate({ scope: scopeName });\n const errors = store.getStepErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.getStepErrors(scopeName);\n\n const isValid = computed(() => !status.value.hasErrors);\n const isDirty = computed(() => status.value.isDirty);\n const errors = computed(() => status.value.errors);\n\n return {\n scopeName,\n status,\n errors,\n validate,\n getErrors,\n isValid,\n isDirty,\n };\n}\n","import { ref, computed, watch, onMounted, onUnmounted } from \"vue\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitStepsResult } from \"./types\";\n\nfunction errorsEqual(\n a: Record<string, string>,\n b: Record<string, string>,\n): boolean {\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n return keysA.every((k) => a[k] === b[k]);\n}\n\nexport function useBitSteps(scopeNames: string[]): UseBitStepsResult {\n const store = useBitStore();\n const stepIndex = ref(0);\n\n const scope = computed(() => scopeNames[stepIndex.value] ?? \"\");\n const status = ref<ScopeStatus>(store.getStepStatus(scope.value));\n let unsubscribe: () => void;\n\n watch(scope, (newScope) => {\n status.value = store.getStepStatus(newScope);\n });\n\n const updateStatus = () => {\n const scopeName = scope.value;\n const newStatus = store.getStepStatus(scopeName);\n if (\n newStatus.hasErrors !== status.value.hasErrors ||\n newStatus.isDirty !== status.value.isDirty ||\n !errorsEqual(newStatus.errors, status.value.errors)\n ) {\n status.value = newStatus;\n }\n };\n\n onMounted(() => {\n unsubscribe = store.subscribeSelector(\n (state) => ({ errors: state.errors, isDirty: state.isDirty }),\n updateStatus,\n );\n });\n\n onUnmounted(() => {\n unsubscribe?.();\n });\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const scopeName = scope.value;\n const valid = await store.validate({ scope: scopeName });\n const errors = store.getStepErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.getStepErrors(scope.value);\n\n const next = async (): Promise<boolean> => {\n const scopeName = scope.value;\n\n const scopeFields = store.getScopeFields(scopeName);\n if (store.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.validate({ scope: scopeName });\n if (valid) {\n stepIndex.value = Math.min(stepIndex.value + 1, scopeNames.length - 1);\n } else {\n const errors = store.getStepErrors(scopeName);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.markFieldsTouched(pathsWithErrors);\n }\n }\n return valid;\n };\n\n const prev = () => {\n stepIndex.value = Math.max(stepIndex.value - 1, 0);\n };\n\n const goTo = (targetStep: number) => {\n stepIndex.value = Math.max(\n 0,\n Math.min(targetStep - 1, scopeNames.length - 1),\n );\n };\n\n const step = computed(() => stepIndex.value + 1);\n const isFirst = computed(() => stepIndex.value === 0);\n const isLast = computed(() => stepIndex.value >= scopeNames.length - 1);\n const isValid = computed(() => !status.value.hasErrors);\n const isDirty = computed(() => status.value.isDirty);\n const errors = computed(() => status.value.errors);\n\n return {\n step,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors,\n isValid,\n isDirty,\n validate,\n getErrors,\n };\n}\n","import { ref, onUnmounted, readonly } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport {\n getDeepValue,\n deepEqual,\n BitPath,\n BitPathValue,\n} from \"../core\";\n\nexport function useBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const initialValue = getDeepValue(\n store.getState().values,\n path as string,\n ) as BitPathValue<TForm, P>;\n const value = ref<BitPathValue<TForm, P>>(initialValue);\n\n const unsubscribe = store.watch(path, (newValue) => {\n if (!deepEqual(value.value, newValue)) {\n value.value = newValue as BitPathValue<TForm, P>;\n }\n });\n\n onUnmounted(unsubscribe);\n\n return readonly(value);\n}\n","/**\n * Vue Composition API for File Upload\n *\n * Minimal upload API integrated with global field validation lifecycle.\n */\n\nimport { computed, ComputedRef, ref } from \"vue\";\nimport { useBitField } from \"./use-bit-field\";\nimport { useBitStore } from \"./context\";\nimport { BitUploadFn, BitDeleteUploadFn } from \"../core\";\nimport { createUploadHandler, createRemoveHandler } from \"../core/adapters\";\nimport type { UseBitUploadResult } from \"./types\";\n\nexport function useBitUpload(\n fieldPath: string,\n uploadFn: BitUploadFn,\n deleteFile?: BitDeleteUploadFn,\n): UseBitUploadResult {\n const store = useBitStore<any>();\n const field = useBitField(fieldPath);\n let uploadKey: string | null = null;\n const isUploading = ref(false);\n\n const kernelCallbacks = {\n setLoading: (val: boolean) => {\n isUploading.value = val;\n },\n setError: (path: string, msg: string | undefined) =>\n store.setError(path, msg),\n setValue: (val: string | null) => field.setValue(val),\n getUploadKey: () => uploadKey,\n setUploadKey: (key: string | null) => {\n uploadKey = key;\n },\n };\n\n const upload = createUploadHandler(fieldPath, uploadFn, kernelCallbacks);\n const remove = createRemoveHandler(fieldPath, deleteFile, kernelCallbacks);\n\n return {\n value: field.value as ComputedRef<string | File | null>,\n setValue: field.setValue,\n error: computed(() => field.meta.error.value),\n isValidating: computed(\n () => !!field.meta.isValidating.value || isUploading.value,\n ),\n upload,\n remove,\n };\n}\n","import { computed, onUnmounted, ref } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitPersistResult } from \"./types\";\n\nexport function useBitPersist<T extends object = any>(): UseBitPersistResult {\n const store = useBitStore<T>();\n const meta = ref(store.getPersistMetadata());\n\n const unsubscribe = store.subscribeSelector(\n (state) => state.persist,\n (nextMeta) => {\n meta.value = nextMeta;\n },\n );\n\n onUnmounted(() => unsubscribe());\n\n const restore = async (): Promise<boolean> => {\n return store.restorePersisted();\n };\n\n const save = async (): Promise<void> => {\n await store.forceSave();\n };\n\n const clear = async (): Promise<void> => {\n await store.clearPersisted();\n };\n\n return {\n restore,\n save,\n clear,\n meta: {\n isSaving: computed(() => meta.value.isSaving),\n isRestoring: computed(() => meta.value.isRestoring),\n error: computed(() => meta.value.error),\n },\n };\n}\n"],"mappings":"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","names":["inject","provide","BIT_STORE_KEY","provideBitStore","store","provide","resolveBitStoreForHooks","useBitStore","inject","computed","onUnmounted","shallowRef","ref","useBitForm","store","useBitStore","state","shallowRef","submitError","ref","lastResponse","unsubscribe","snapshot","nextState","onUnmounted","controller","createFormController","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","computed","onUnmounted","shallowRef","useBitField","path","store","useBitStore","resolvedMask","fieldController","createMaskedFieldController","state","shallowRef","unsubscribe","subscribeFieldState","nextState","onUnmounted","rawValue","computed","displayValue","modelValue","val","rawError","error","touched","invalid","isValidating","isDirty","isHidden","isRequired","hasError","setValue","setBlur","ref","computed","onUnmounted","useBitArray","path","store","useBitStore","createId","index","initialValues","val","getDeepValue","values","ref","ids","_","unsubscribe","newValues","nextValues","currentIds","diff","newIds","i","onUnmounted","fields","computed","v","length","from","to","id","a","b","items","computed","onUnmounted","shallowRef","useBitHistory","store","useBitStore","meta","shallowRef","unsubscribe","onUnmounted","undo","redo","computed","ref","computed","onMounted","onUnmounted","errorsEqual","a","b","keysA","keysB","k","useBitScope","scopeName","store","useBitStore","status","ref","unsubscribe","onMounted","state","newStatus","onUnmounted","validate","valid","errors","getErrors","isValid","computed","isDirty","ref","computed","watch","onMounted","onUnmounted","errorsEqual","a","b","keysA","keysB","k","useBitSteps","scopeNames","store","useBitStore","stepIndex","ref","scope","computed","status","unsubscribe","watch","newScope","updateStatus","scopeName","newStatus","onMounted","state","onUnmounted","validate","valid","errors","getErrors","next","scopeFields","pathsWithErrors","prev","goTo","targetStep","step","isFirst","isLast","isValid","isDirty","ref","onUnmounted","readonly","useBitWatch","path","store","useBitStore","initialValue","getDeepValue","value","ref","unsubscribe","newValue","deepEqual","onUnmounted","readonly","computed","ref","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","uploadKey","isUploading","ref","kernelCallbacks","val","path","msg","key","upload","createUploadHandler","remove","createRemoveHandler","computed","computed","onUnmounted","ref","useBitPersist","store","useBitStore","meta","ref","unsubscribe","state","nextMeta","onUnmounted","computed"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lehnihon/bit-form",
3
- "version": "2.2.3",
3
+ "version": "2.2.4",
4
4
  "description": "Gerenciamento de estado de formulários agnóstico e performático",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -70,6 +70,11 @@
70
70
  "import": "./dist/resolvers/*.js",
71
71
  "require": "./dist/resolvers/*.cjs"
72
72
  },
73
+ "./resolvers": {
74
+ "types": "./dist/resolvers/index.d.ts",
75
+ "import": "./dist/resolvers/index.js",
76
+ "require": "./dist/resolvers/index.cjs"
77
+ },
73
78
  "./devtools": {
74
79
  "types": "./dist/devtools/index.d.ts",
75
80
  "import": "./dist/devtools/index.js",
@@ -1,2 +0,0 @@
1
- import{a as I,b as w}from"./chunk-FEW3ABPD.js";import{d as k,e as E,l as D}from"./chunk-ULC4OPIQ.js";import{createContext as q,useContext as U}from"react";import{jsx as L}from"react/jsx-runtime";var A=q(null),at=({store:t,children:e})=>L(A.Provider,{value:D(t),children:e}),b=()=>{let t=U(A);if(!t)throw new Error("BitForm hooks devem ser usados dentro de um BitFormProvider");return t};import{useCallback as p,useSyncExternalStore as W,useMemo as C,useRef as _,useState as M}from"react";function St(){let t=b(),[e,s]=M(null),[m,o]=M(null),n=_(null),u=p(()=>{let g=t.getState(),y={isValid:g.isValid,isDirty:g.isDirty,isSubmitting:g.isSubmitting};return n.current&&n.current.isValid===y.isValid&&n.current.isDirty===y.isDirty&&n.current.isSubmitting===y.isSubmitting?n.current:(n.current=y,y)},[t]),c=p(g=>t.subscribeSelector(y=>({isValid:y.isValid,isDirty:y.isDirty,isSubmitting:y.isSubmitting}),()=>g()),[t]),i=W(c,u,u),r=C(()=>I(t,{clearSubmissionState:()=>{s(null),o(null)},setSubmissionResult:g=>{o(g)},setSubmissionError:g=>{s(g)}}),[t]),a=p(r.submit,[r]),l=p(r.onSubmit,[r]),d=p(r.reset,[r]),F=p(r.getValues,[r]),v=p(r.getErrors,[r]),S=p(r.getTouched,[r]),f=p(r.getDirtyValues,[r]);return{meta:C(()=>({...i,submitError:e,lastResponse:m}),[i,e,m]),getValues:F,getErrors:v,getTouched:S,getDirtyValues:f,submit:a,onSubmit:l,reset:d,setField:t.setField.bind(t),blurField:t.blurField.bind(t),replaceValues:t.replaceValues.bind(t),hydrate:t.hydrate.bind(t),rebase:t.rebase.bind(t),setError:t.setError.bind(t),setErrors:t.setErrors.bind(t),setServerErrors:t.setServerErrors.bind(t),validate:t.validate.bind(t)}}import{useCallback as j,useSyncExternalStore as $,useState as z,useMemo as H,useEffect as G}from"react";var B=()=>Math.random().toString(36).substring(2,9);function Ft(t){let e=b(),s=j(()=>{let r=e.getState(),a=E(r.values,t);return Array.isArray(a)?a:[]},[e,t]),m=j(r=>e.subscribePath(t,()=>r()),[e,t]),o=$(m,s,s),[n,u]=z(()=>o.map(B));G(()=>{o.length!==n.length&&u(r=>{if(o.length>r.length){let a=o.length-r.length;return[...r,...Array(a).fill(null).map(B)]}return r.slice(0,o.length)})},[o.length]);let c=H(()=>({append:r=>{u(a=>[...a,B()]),e.pushItem(t,r)},prepend:r=>{u(a=>[B(),...a]),e.prependItem(t,r)},insert:(r,a)=>{u(l=>{let d=[...l];return d.splice(r,0,B()),d}),e.insertItem(t,r,a)},remove:r=>{u(a=>a.filter((l,d)=>d!==r)),e.removeItem(t,r)},move:(r,a)=>{u(l=>{let d=[...l],[F]=d.splice(r,1);return d.splice(a,0,F),d}),e.moveItem(t,r,a)},swap:(r,a)=>{u(l=>{let d=[...l];return[d[r],d[a]]=[d[a],d[r]],d}),e.swapItems(t,r,a)},replace:r=>{u(r.map(B)),e.setField(t,r)},clear:()=>{u([]),e.setField(t,[])}}),[e,t]);return{fields:H(()=>o.map((r,a)=>({key:n[a]||`temp-${a}`,value:r,index:a})),[o,n]),length:o.length,...c}}import{useCallback as T,useSyncExternalStore as J,useRef as K}from"react";function Tt(t){let e=b(),s=K(null),m=T(()=>{let c=e.getStepStatus(t);return s.current&&s.current.hasErrors===c.hasErrors&&s.current.isDirty===c.isDirty&&Object.keys(s.current.errors).length===Object.keys(c.errors).length&&Object.entries(c.errors).every(([i,r])=>s.current.errors[i]===r)?s.current:(s.current=c,c)},[e,t]),o=J(e.subscribe.bind(e),m,m),n=T(async()=>{let c=await e.validate({scope:t}),i=e.getStepErrors(t);return{valid:c,errors:i}},[e,t]),u=T(()=>e.getStepErrors(t),[e,t]);return{scopeName:t,status:o,errors:o.errors,validate:n,getErrors:u,isValid:!o.hasErrors,isDirty:o.isDirty}}import{useCallback as P,useSyncExternalStore as Q,useRef as X,useState as Y}from"react";function Dt(t){let e=b(),[s,m]=Y(0),o=t[s]??"",n=X(null),u=P(()=>{let S=e.getStepStatus(o);return n.current&&n.current.hasErrors===S.hasErrors&&n.current.isDirty===S.isDirty&&Object.keys(n.current.errors).length===Object.keys(S.errors).length&&Object.entries(S.errors).every(([f,h])=>n.current.errors[f]===h)?n.current:(n.current=S,S)},[e,o]),c=Q(e.subscribe.bind(e),u,u),i=P(async()=>{let S=await e.validate({scope:o}),f=e.getStepErrors(o);return{valid:S,errors:f}},[e,o]),r=P(()=>e.getStepErrors(o),[e,o]),a=P(async()=>{let S=e.getScopeFields(o);if(e.hasValidationsInProgress(S))return!1;let f=await e.validate({scope:o});if(f)m(h=>Math.min(h+1,t.length-1));else{let h=e.getStepErrors(o),g=Object.keys(h);g.length>0&&e.markFieldsTouched(g)}return f},[e,o,t.length]),l=P(()=>{m(S=>Math.max(S-1,0))},[]),d=P(S=>{m(Math.max(0,Math.min(S-1,t.length-1)))},[t.length]),F=s===0,v=s>=t.length-1;return{step:s+1,stepIndex:s,scope:o,next:a,prev:l,goTo:d,isFirst:F,isLast:v,status:c,errors:c.errors,isValid:!c.hasErrors,isDirty:c.isDirty,validate:i,getErrors:r}}import{useCallback as O,useSyncExternalStore as Z,useRef as N}from"react";function Ht(t){let e=b(),s=N(null),m=O(()=>{let n=E(e.getState().values,t);return s.current!==null&&k(s.current,n)?s.current:(s.current=n,n)},[e,t]),o=O(n=>e.subscribe(n),[e]);return Z(o,m,m)}import{useCallback as R,useMemo as tt,useState as x}from"react";function Lt(){let t=b(),[e,s]=x(!1),[m,o]=x(!1),[n,u]=x(null),c=R(async()=>{o(!0),u(null);try{return await t.restorePersisted()}catch(l){return u(l instanceof Error?l:new Error(String(l))),!1}finally{o(!1)}},[t]),i=R(async()=>{s(!0),u(null);try{await t.forceSave()}catch(l){u(l instanceof Error?l:new Error(String(l)))}finally{s(!1)}},[t]),r=R(async()=>{u(null);try{await t.clearPersisted()}catch(l){u(l instanceof Error?l:new Error(String(l)))}},[t]),a=tt(()=>({isSaving:e,isRestoring:m,error:n}),[e,m,n]);return{restore:c,save:i,clear:r,meta:a}}import{useCallback as V,useSyncExternalStore as et,useRef as rt,useEffect as st}from"react";function Gt(t){let e=b(),s=rt(null);st(()=>()=>{e.unregisterField&&e.unregisterField(t)},[e,t]);let m=V(()=>{let i=e.getFieldState(t);if(s.current&&s.current.value===i.value&&s.current.error===i.error&&s.current.touched===i.touched&&s.current.isHidden===i.isHidden&&s.current.isRequired===i.isRequired&&s.current.isDirty===i.isDirty&&s.current.isValidating===i.isValidating)return s.current;let r={value:i.value,error:i.error,touched:i.touched,isHidden:i.isHidden,isRequired:i.isRequired,isDirty:i.isDirty,isValidating:i.isValidating};return s.current=r,r},[e,t]),o=V(i=>w(e,t,()=>i()),[e,t]),n=et(o,m,m),u=V(i=>e.setField(t,i),[e,t]),c=V(()=>e.blurField(t),[e,t]);return{fieldState:n,setValue:u,setBlur:c,store:e}}export{at as a,b,St as c,Gt as d,Ft as e,Tt as f,Dt as g,Ht as h,Lt as i};
2
- //# sourceMappingURL=chunk-3MUULXXZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/react/context.tsx","../src/react/use-bit-form.ts","../src/react/use-bit-array.ts","../src/react/use-bit-scope.ts","../src/react/use-bit-steps.ts","../src/react/use-bit-watch.ts","../src/react/use-bit-persist.ts","../src/react/use-bit-field-base.ts"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\nimport type { BitStoreApi, BitStoreHooksApi } from \"../core\";\nimport { resolveBitStoreForHooks } from \"../core\";\n\nconst BitContext = createContext<BitStoreHooksApi<any> | null>(null);\n\nexport const BitFormProvider = ({\n store,\n children,\n}: {\n store: BitStoreApi<any>;\n children: React.ReactNode;\n}) => (\n <BitContext.Provider value={resolveBitStoreForHooks(store)}>\n {children}\n </BitContext.Provider>\n);\n\nexport const useBitStore = <T extends object>() => {\n const store = useContext(BitContext);\n if (!store)\n throw new Error(\n \"BitForm hooks devem ser usados dentro de um BitFormProvider\",\n );\n return store as BitStoreHooksApi<T>;\n};\n","import {\n useCallback,\n useSyncExternalStore,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useBitStore } from \"./context\";\nimport { createFormController } from \"../core/form-controller\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n\n const [submitError, setSubmitError] = useState<Error | null>(null);\n const [lastResponse, setLastResponse] = useState<unknown>(null);\n const lastMeta = useRef<{\n isValid: boolean;\n isDirty: boolean;\n isSubmitting: boolean;\n } | null>(null);\n\n const getMetaSnapshot = useCallback(() => {\n const state = store.getState();\n const nextMeta = {\n isValid: state.isValid,\n isDirty: state.isDirty,\n isSubmitting: state.isSubmitting,\n };\n\n if (\n lastMeta.current &&\n lastMeta.current.isValid === nextMeta.isValid &&\n lastMeta.current.isDirty === nextMeta.isDirty &&\n lastMeta.current.isSubmitting === nextMeta.isSubmitting\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const subscribeMeta = useCallback(\n (cb: () => void) =>\n store.subscribeSelector(\n (state) => ({\n isValid: state.isValid,\n isDirty: state.isDirty,\n isSubmitting: state.isSubmitting,\n }),\n () => cb(),\n ),\n [store],\n );\n\n const metaState = useSyncExternalStore(\n subscribeMeta,\n getMetaSnapshot,\n getMetaSnapshot,\n );\n\n const controller = useMemo(\n () =>\n createFormController(store, {\n clearSubmissionState: () => {\n setSubmitError(null);\n setLastResponse(null);\n },\n setSubmissionResult: (result) => {\n setLastResponse(result);\n },\n setSubmissionError: (error) => {\n setSubmitError(error);\n },\n }),\n [store],\n );\n\n const submit = useCallback(controller.submit, [controller]);\n const onSubmit = useCallback(controller.onSubmit, [controller]);\n const reset = useCallback(controller.reset, [controller]);\n\n const getValues = useCallback(controller.getValues, [controller]);\n const getErrors = useCallback(controller.getErrors, [controller]);\n const getTouched = useCallback(controller.getTouched, [controller]);\n const getDirtyValues = useCallback(controller.getDirtyValues, [controller]);\n\n const meta = useMemo(\n () => ({\n ...metaState,\n submitError,\n lastResponse,\n }),\n [metaState, submitError, lastResponse],\n );\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues,\n getErrors,\n getTouched,\n getDirtyValues,\n // Main actions (frequent use - flat)\n submit,\n onSubmit,\n reset,\n setField: store.setField.bind(store),\n blurField: store.blurField.bind(store),\n replaceValues: store.replaceValues.bind(store),\n hydrate: store.hydrate.bind(store),\n rebase: store.rebase.bind(store),\n setError: store.setError.bind(store),\n setErrors: store.setErrors.bind(store),\n setServerErrors: store.setServerErrors.bind(store),\n validate: store.validate.bind(store),\n };\n}\n","import {\n useCallback,\n useSyncExternalStore,\n useState,\n useMemo,\n useEffect,\n} from \"react\";\nimport { useBitStore } from \"./context\";\nimport {\n getDeepValue,\n BitArrayPath,\n BitPathValue,\n BitArrayItem,\n BitPath,\n} from \"../core\";\n\nconst generateId = () => Math.random().toString(36).substring(2, 9);\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n\n type Item = BitArrayItem<BitPathValue<TForm, P>>;\n\n const getSnapshot = useCallback(() => {\n const state = store.getState();\n const value = getDeepValue(state.values, path as string) as\n | BitPathValue<TForm, P>\n | undefined;\n return Array.isArray(value) ? (value as Item[]) : [];\n }, [store, path]);\n\n const subscribeArray = useCallback(\n (cb: () => void) => store.subscribePath(path, () => cb()),\n [store, path],\n );\n\n const data = useSyncExternalStore(subscribeArray, getSnapshot, getSnapshot);\n\n const [ids, setIds] = useState<string[]>(() =>\n (data as Item[]).map(generateId),\n );\n\n useEffect(() => {\n if (data.length !== ids.length) {\n setIds((prevIds) => {\n if (data.length > prevIds.length) {\n const diff = data.length - prevIds.length;\n return [...prevIds, ...Array(diff).fill(null).map(generateId)];\n }\n return prevIds.slice(0, data.length);\n });\n }\n }, [data.length]);\n\n const methods = useMemo(\n () => ({\n append: (value: Item) => {\n setIds((prev) => [...prev, generateId()]);\n store.pushItem(path, value);\n },\n prepend: (value: Item) => {\n setIds((prev) => [generateId(), ...prev]);\n store.prependItem(path, value);\n },\n insert: (index: number, value: Item) => {\n setIds((prev) => {\n const newIds = [...prev];\n newIds.splice(index, 0, generateId());\n return newIds;\n });\n store.insertItem(path, index, value);\n },\n remove: (index: number) => {\n setIds((prev) => prev.filter((_, i) => i !== index));\n store.removeItem(path, index);\n },\n move: (from: number, to: number) => {\n setIds((prev) => {\n const newIds = [...prev];\n const [item] = newIds.splice(from, 1);\n newIds.splice(to, 0, item);\n return newIds;\n });\n store.moveItem(path, from, to);\n },\n swap: (indexA: number, indexB: number) => {\n setIds((prev) => {\n const newIds = [...prev];\n [newIds[indexA], newIds[indexB]] = [newIds[indexB], newIds[indexA]];\n return newIds;\n });\n store.swapItems(path, indexA, indexB);\n },\n replace: (items: Item[]) => {\n setIds(items.map(generateId));\n store.setField(\n path as unknown as BitPath<TForm>,\n items as unknown as BitPathValue<TForm, BitPath<TForm>>,\n );\n },\n clear: () => {\n setIds([]);\n store.setField(\n path as unknown as BitPath<TForm>,\n [] as unknown as BitPathValue<TForm, BitPath<TForm>>,\n );\n },\n }),\n [store, path],\n );\n\n const fields = useMemo(\n () =>\n (data as Item[]).map((item: Item, index: number) => ({\n key: ids[index] || `temp-${index}`,\n value: item,\n index,\n })),\n [data, ids],\n );\n\n return {\n fields,\n length: data.length,\n ...methods,\n };\n}\n","import { useCallback, useSyncExternalStore, useRef } from \"react\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\nexport function useBitScope(scopeName: string) {\n const store = useBitStore();\n\n const lastStatus = useRef<ScopeStatus | null>(null);\n\n const getStatusSnapshot = useCallback(() => {\n const nextStatus = store.getStepStatus(scopeName);\n\n if (\n lastStatus.current &&\n lastStatus.current.hasErrors === nextStatus.hasErrors &&\n lastStatus.current.isDirty === nextStatus.isDirty &&\n Object.keys(lastStatus.current.errors).length ===\n Object.keys(nextStatus.errors).length &&\n Object.entries(nextStatus.errors).every(\n ([k, v]) => lastStatus.current!.errors[k] === v,\n )\n ) {\n return lastStatus.current;\n }\n\n lastStatus.current = nextStatus;\n return nextStatus;\n }, [store, scopeName]);\n\n const status = useSyncExternalStore(\n store.subscribe.bind(store),\n getStatusSnapshot,\n getStatusSnapshot,\n );\n\n const validate = useCallback(async (): Promise<ValidateScopeResult> => {\n const valid = await store.validate({ scope: scopeName });\n const errors = store.getStepErrors(scopeName);\n return { valid, errors };\n }, [store, scopeName]);\n\n const getErrors = useCallback(() => {\n return store.getStepErrors(scopeName);\n }, [store, scopeName]);\n\n return {\n scopeName,\n status,\n errors: status.errors,\n validate,\n getErrors,\n isValid: !status.hasErrors,\n isDirty: status.isDirty,\n };\n}\n","import { useCallback, useSyncExternalStore, useRef, useState } from \"react\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitStepsResult } from \"./types\";\n\nexport function useBitSteps(scopeNames: string[]): UseBitStepsResult {\n const store = useBitStore();\n const [stepIndex, setStepIndex] = useState(0);\n\n const scope = scopeNames[stepIndex] ?? \"\";\n const lastStatus = useRef<ScopeStatus | null>(null);\n\n const getStatusSnapshot = useCallback(() => {\n const nextStatus = store.getStepStatus(scope);\n\n if (\n lastStatus.current &&\n lastStatus.current.hasErrors === nextStatus.hasErrors &&\n lastStatus.current.isDirty === nextStatus.isDirty &&\n Object.keys(lastStatus.current.errors).length ===\n Object.keys(nextStatus.errors).length &&\n Object.entries(nextStatus.errors).every(\n ([k, v]) => lastStatus.current!.errors[k] === v,\n )\n ) {\n return lastStatus.current;\n }\n\n lastStatus.current = nextStatus;\n return nextStatus;\n }, [store, scope]);\n\n const status = useSyncExternalStore(\n store.subscribe.bind(store),\n getStatusSnapshot,\n getStatusSnapshot,\n );\n\n const validate = useCallback(async (): Promise<ValidateScopeResult> => {\n const valid = await store.validate({ scope });\n const errors = store.getStepErrors(scope);\n return { valid, errors };\n }, [store, scope]);\n\n const getErrors = useCallback(() => {\n return store.getStepErrors(scope);\n }, [store, scope]);\n\n const next = useCallback(async (): Promise<boolean> => {\n const scopeFields = store.getScopeFields(scope);\n\n if (store.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.validate({ scope });\n if (valid) {\n setStepIndex((s) => Math.min(s + 1, scopeNames.length - 1));\n } else {\n const errors = store.getStepErrors(scope);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.markFieldsTouched(pathsWithErrors);\n }\n }\n return valid;\n }, [store, scope, scopeNames.length]);\n\n const prev = useCallback(() => {\n setStepIndex((s) => Math.max(s - 1, 0));\n }, []);\n\n const goTo = useCallback(\n (targetStep: number) => {\n setStepIndex(\n Math.max(0, Math.min(targetStep - 1, scopeNames.length - 1)),\n );\n },\n [scopeNames.length],\n );\n\n const isFirst = stepIndex === 0;\n const isLast = stepIndex >= scopeNames.length - 1;\n\n return {\n step: stepIndex + 1,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors: status.errors,\n isValid: !status.hasErrors,\n isDirty: status.isDirty,\n validate,\n getErrors,\n };\n}\n","import { useCallback, useSyncExternalStore, useRef } from \"react\";\nimport { useBitStore } from \"./context\";\nimport { getDeepValue, deepEqual, BitPath, BitPathValue } from \"../core\";\n\nexport function useBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): BitPathValue<TForm, P> {\n const store = useBitStore<TForm>();\n const lastValue = useRef<BitPathValue<TForm, P> | null>(null);\n\n const getSnapshot = useCallback(() => {\n const value = getDeepValue(\n store.getState().values,\n path as string,\n ) as BitPathValue<TForm, P>;\n\n if (\n lastValue.current !== null &&\n deepEqual(lastValue.current, value)\n ) {\n return lastValue.current;\n }\n\n lastValue.current = value;\n return value;\n }, [store, path]);\n\n const subscribe = useCallback(\n (cb: () => void) => store.subscribe(cb),\n [store],\n );\n\n return useSyncExternalStore(\n subscribe,\n getSnapshot,\n getSnapshot,\n ) as BitPathValue<TForm, P>;\n}\n","import { useCallback, useMemo, useState } from \"react\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitPersistResult } from \"./types\";\n\nexport function useBitPersist(): UseBitPersistResult {\n const store = useBitStore<any>();\n const [isSaving, setIsSaving] = useState(false);\n const [isRestoring, setIsRestoring] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const restore = useCallback(async () => {\n setIsRestoring(true);\n setError(null);\n\n try {\n return await store.restorePersisted();\n } catch (err) {\n setError(err instanceof Error ? err : new Error(String(err)));\n return false;\n } finally {\n setIsRestoring(false);\n }\n }, [store]);\n\n const save = useCallback(async () => {\n setIsSaving(true);\n setError(null);\n\n try {\n await store.forceSave();\n } catch (err) {\n setError(err instanceof Error ? err : new Error(String(err)));\n } finally {\n setIsSaving(false);\n }\n }, [store]);\n\n const clear = useCallback(async () => {\n setError(null);\n\n try {\n await store.clearPersisted();\n } catch (err) {\n setError(err instanceof Error ? err : new Error(String(err)));\n }\n }, [store]);\n\n const meta = useMemo(\n () => ({\n isSaving,\n isRestoring,\n error,\n }),\n [isSaving, isRestoring, error],\n );\n\n return {\n restore,\n save,\n clear,\n meta,\n };\n}\n","import { useCallback, useSyncExternalStore, useRef, useEffect } from \"react\";\nimport { useBitStore } from \"./context\";\nimport { BitPath, BitPathValue } from \"../core\";\nimport { subscribeFieldState } from \"../core/field-controller\";\n\nexport function useBitFieldBase<\n TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const lastState = useRef<{\n value: BitPathValue<TForm, P>;\n error: any;\n touched: boolean;\n isHidden: boolean;\n isRequired: boolean;\n isDirty: boolean;\n isValidating: boolean;\n } | null>(null);\n\n useEffect(() => {\n return () => {\n if (store.unregisterField) {\n store.unregisterField(path);\n }\n };\n }, [store, path]);\n\n const getSnapshot = useCallback(() => {\n const nextState = store.getFieldState(path);\n\n if (\n lastState.current &&\n lastState.current.value === nextState.value &&\n lastState.current.error === nextState.error &&\n lastState.current.touched === nextState.touched &&\n lastState.current.isHidden === nextState.isHidden &&\n lastState.current.isRequired === nextState.isRequired &&\n lastState.current.isDirty === nextState.isDirty &&\n lastState.current.isValidating === nextState.isValidating\n ) {\n return lastState.current;\n }\n\n const newState = {\n value: nextState.value,\n error: nextState.error,\n touched: nextState.touched,\n isHidden: nextState.isHidden,\n isRequired: nextState.isRequired,\n isDirty: nextState.isDirty,\n isValidating: nextState.isValidating,\n };\n lastState.current = newState;\n return newState;\n }, [store, path]);\n\n const subscribe = useCallback(\n (cb: () => void) => subscribeFieldState(store, path, () => cb()),\n [store, path],\n );\n\n const fieldState = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const setValue = useCallback(\n (val: BitPathValue<TForm, P>) => store.setField(path, val),\n [store, path],\n );\n\n const setBlur = useCallback(() => store.blurField(path), [store, path]);\n\n return { fieldState, setValue, setBlur, store };\n}\n"],"mappings":"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","names":["createContext","useContext","jsx","BitContext","createContext","BitFormProvider","store","children","resolveBitStoreForHooks","useBitStore","useContext","useCallback","useSyncExternalStore","useMemo","useRef","useState","useBitForm","store","useBitStore","submitError","setSubmitError","useState","lastResponse","setLastResponse","lastMeta","useRef","getMetaSnapshot","useCallback","state","nextMeta","subscribeMeta","cb","metaState","useSyncExternalStore","controller","useMemo","createFormController","result","error","submit","onSubmit","reset","getValues","getErrors","getTouched","getDirtyValues","useCallback","useSyncExternalStore","useState","useMemo","useEffect","generateId","useBitArray","path","store","useBitStore","getSnapshot","useCallback","state","value","getDeepValue","subscribeArray","cb","data","useSyncExternalStore","ids","setIds","useState","useEffect","prevIds","diff","methods","useMemo","prev","index","newIds","_","i","from","to","item","indexA","indexB","items","useCallback","useSyncExternalStore","useRef","useBitScope","scopeName","store","useBitStore","lastStatus","useRef","getStatusSnapshot","useCallback","nextStatus","k","v","status","useSyncExternalStore","validate","valid","errors","getErrors","useCallback","useSyncExternalStore","useRef","useState","useBitSteps","scopeNames","store","useBitStore","stepIndex","setStepIndex","useState","scope","lastStatus","useRef","getStatusSnapshot","useCallback","nextStatus","k","v","status","useSyncExternalStore","validate","valid","errors","getErrors","next","scopeFields","s","pathsWithErrors","prev","goTo","targetStep","isFirst","isLast","useCallback","useSyncExternalStore","useRef","useBitWatch","path","store","useBitStore","lastValue","useRef","getSnapshot","useCallback","value","getDeepValue","deepEqual","subscribe","cb","useSyncExternalStore","useCallback","useMemo","useState","useBitPersist","store","useBitStore","isSaving","setIsSaving","useState","isRestoring","setIsRestoring","error","setError","restore","useCallback","err","save","clear","meta","useMemo","useCallback","useSyncExternalStore","useRef","useEffect","useBitFieldBase","path","store","useBitStore","lastState","useRef","useEffect","getSnapshot","useCallback","nextState","newState","subscribe","cb","subscribeFieldState","fieldState","useSyncExternalStore","setValue","val","setBlur"]}
@@ -1,2 +0,0 @@
1
- function s(r){return r.replace(/\[(\d+)\]/g,".$1")}function f(r,t,e){!t||!e||r[t]||(r[t]=e)}function E(r,t){if(!t||t.length===0)return r;let e=new Set(t),o={};for(let[n,i]of Object.entries(r))e.has(n)&&i&&(o[n]=i);return o}export{s as a,f as b,E as c};
2
- //# sourceMappingURL=chunk-7MBRAKBL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resolvers/utils.ts"],"sourcesContent":["import { BitErrors } from \"../core\";\n\nexport function normalizeErrorPath(path: string): string {\n return path.replace(/\\[(\\d+)\\]/g, \".$1\");\n}\n\nexport function setFirstError<T extends object>(\n errors: BitErrors<T>,\n path: string,\n message: string | undefined,\n) {\n if (!path || !message) {\n return;\n }\n\n if (!errors[path as keyof BitErrors<T>]) {\n errors[path as keyof BitErrors<T>] = message;\n }\n}\n\nexport function filterErrorsByScope<T extends object>(\n errors: BitErrors<T>,\n scopeFields?: string[],\n): BitErrors<T> {\n if (!scopeFields || scopeFields.length === 0) {\n return errors;\n }\n\n const scopeSet = new Set(scopeFields);\n const filtered: BitErrors<T> = {};\n\n for (const [key, message] of Object.entries(errors)) {\n if (scopeSet.has(key) && message) {\n filtered[key as keyof BitErrors<T>] = message;\n }\n }\n\n return filtered;\n}\n"],"mappings":"AAEO,SAASA,EAAmBC,EAAsB,CACvD,OAAOA,EAAK,QAAQ,aAAc,KAAK,CACzC,CAEO,SAASC,EACdC,EACAF,EACAG,EACA,CACI,CAACH,GAAQ,CAACG,GAITD,EAAOF,CAA0B,IACpCE,EAAOF,CAA0B,EAAIG,EAEzC,CAEO,SAASC,EACdF,EACAG,EACc,CACd,GAAI,CAACA,GAAeA,EAAY,SAAW,EACzC,OAAOH,EAGT,IAAMI,EAAW,IAAI,IAAID,CAAW,EAC9BE,EAAyB,CAAC,EAEhC,OAAW,CAACC,EAAKL,CAAO,IAAK,OAAO,QAAQD,CAAM,EAC5CI,EAAS,IAAIE,CAAG,GAAKL,IACvBI,EAASC,CAAyB,EAAIL,GAI1C,OAAOI,CACT","names":["normalizeErrorPath","path","setFirstError","errors","message","filterErrorsByScope","scopeFields","scopeSet","filtered","key"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});function s(r){return r.replace(/\[(\d+)\]/g,".$1")}function f(r,t,e){!t||!e||r[t]||(r[t]=e)}function E(r,t){if(!t||t.length===0)return r;let e=new Set(t),o={};for(let[n,i]of Object.entries(r))e.has(n)&&i&&(o[n]=i);return o}exports.a = s; exports.b = f; exports.c = E;
2
- //# sourceMappingURL=chunk-ER2DNS7T.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resolvers/utils.ts"],"names":["normalizeErrorPath","path","setFirstError","errors","message","filterErrorsByScope","scopeFields","scopeSet","filtered","key"],"mappings":"AAEO,kFAASA,CAAAA,CAAmBC,CAAAA,CAAsB,CACvD,OAAOA,CAAAA,CAAK,OAAA,CAAQ,YAAA,CAAc,KAAK,CACzC,CAEO,SAASC,CAAAA,CACdC,CAAAA,CACAF,CAAAA,CACAG,CAAAA,CACA,CACI,CAACH,CAAAA,EAAQ,CAACG,CAAAA,EAITD,CAAAA,CAAOF,CAA0B,CAAA,EAAA,CACpCE,CAAAA,CAAOF,CAA0B,CAAA,CAAIG,CAAAA,CAEzC,CAEO,SAASC,CAAAA,CACdF,CAAAA,CACAG,CAAAA,CACc,CACd,EAAA,CAAI,CAACA,CAAAA,EAAeA,CAAAA,CAAY,MAAA,GAAW,CAAA,CACzC,OAAOH,CAAAA,CAGT,IAAMI,CAAAA,CAAW,IAAI,GAAA,CAAID,CAAW,CAAA,CAC9BE,CAAAA,CAAyB,CAAC,CAAA,CAEhC,GAAA,CAAA,GAAW,CAACC,CAAAA,CAAKL,CAAO,CAAA,GAAK,MAAA,CAAO,OAAA,CAAQD,CAAM,CAAA,CAC5CI,CAAAA,CAAS,GAAA,CAAIE,CAAG,CAAA,EAAKL,CAAAA,EAAAA,CACvBI,CAAAA,CAASC,CAAyB,CAAA,CAAIL,CAAAA,CAAAA,CAI1C,OAAOI,CACT,CAAA,4CAAA","file":"/home/runner/work/bit-form/bit-form/dist/chunk-ER2DNS7T.cjs","sourcesContent":["import { BitErrors } from \"../core\";\n\nexport function normalizeErrorPath(path: string): string {\n return path.replace(/\\[(\\d+)\\]/g, \".$1\");\n}\n\nexport function setFirstError<T extends object>(\n errors: BitErrors<T>,\n path: string,\n message: string | undefined,\n) {\n if (!path || !message) {\n return;\n }\n\n if (!errors[path as keyof BitErrors<T>]) {\n errors[path as keyof BitErrors<T>] = message;\n }\n}\n\nexport function filterErrorsByScope<T extends object>(\n errors: BitErrors<T>,\n scopeFields?: string[],\n): BitErrors<T> {\n if (!scopeFields || scopeFields.length === 0) {\n return errors;\n }\n\n const scopeSet = new Set(scopeFields);\n const filtered: BitErrors<T> = {};\n\n for (const [key, message] of Object.entries(errors)) {\n if (scopeSet.has(key) && message) {\n filtered[key as keyof BitErrors<T>] = message;\n }\n }\n\n return filtered;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/submit-handler.ts","../src/core/form-controller.ts","../src/core/field-controller.ts"],"sourcesContent":["import { extractServerErrors, isValidationErrorShape } from \"./utils\";\n\nexport interface BitSubmitExecutionHandlers {\n onServerErrors: (errors: Record<string, string[] | string>) => void;\n onUnhandledError: (error: Error) => void;\n onSuccess: (result: unknown) => void;\n}\n\nexport async function executeSubmitHandler<T extends object>(\n handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>,\n values: T,\n dirtyValues: Partial<T> | undefined,\n handlers: BitSubmitExecutionHandlers,\n): Promise<void> {\n try {\n const result = await handler(values, dirtyValues);\n handlers.onSuccess(result);\n } catch (error) {\n if (isValidationErrorShape(error)) {\n handlers.onServerErrors(extractServerErrors(error));\n return;\n }\n\n handlers.onUnhandledError(\n error instanceof Error ? error : new Error(String(error)),\n );\n }\n}\n","import { executeSubmitHandler } from \"./submit-handler\";\nimport type { BitStoreHooksApi } from \"./store/public-types\";\n\nexport type BitFormDomEvent = {\n preventDefault?: () => void;\n stopPropagation?: () => void;\n};\n\nexport interface BitFormControllerRuntime {\n clearSubmissionState: () => void;\n setSubmissionResult: (result: unknown) => void;\n setSubmissionError: (error: Error | null) => void;\n}\n\nexport interface BitFormControllerOptions {\n stopPropagation?: boolean;\n}\n\nexport function preventFormEvent(\n event?: BitFormDomEvent,\n options?: BitFormControllerOptions,\n) {\n event?.preventDefault?.();\n if (options?.stopPropagation) {\n event?.stopPropagation?.();\n }\n}\n\nexport function createFormController<T extends object>(\n store: BitStoreHooksApi<T>,\n runtime: BitFormControllerRuntime,\n options?: BitFormControllerOptions,\n) {\n const submit = (\n onSuccess: (values: T, dirtyValues?: Partial<T>) => void | Promise<void>,\n ) => {\n return (event?: BitFormDomEvent) => {\n preventFormEvent(event, options);\n return store.submit(onSuccess);\n };\n };\n\n const onSubmit = (\n handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>,\n ) => {\n return (event?: BitFormDomEvent) => {\n preventFormEvent(event, options);\n runtime.setSubmissionError(null);\n\n return store.submit(async (values, dirtyValues) => {\n await executeSubmitHandler(handler, values, dirtyValues, {\n onSuccess: (result) => {\n runtime.setSubmissionResult(result);\n runtime.setSubmissionError(null);\n },\n onServerErrors: (serverErrors) => {\n store.setServerErrors(serverErrors);\n },\n onUnhandledError: (error) => {\n runtime.setSubmissionError(error);\n },\n });\n });\n };\n };\n\n const reset = () => {\n store.reset();\n runtime.clearSubmissionState();\n };\n\n return {\n submit,\n onSubmit,\n reset,\n getValues: () => store.getState().values,\n getErrors: () => store.getState().errors,\n getTouched: () => store.getState().touched,\n getDirtyValues: () => store.getDirtyValues(),\n };\n}\n","import { formatMaskedValue, parseMaskedInput } from \"./mask/field-binding\";\nimport type { BitMask } from \"./mask/types\";\nimport type { BitStoreHooksApi } from \"./store/public-types\";\nimport type { BitFieldState, BitPath, BitPathValue } from \"./store/types\";\n\nexport function subscribeFieldState<\n TForm extends object,\n P extends BitPath<TForm>,\n>(\n store: BitStoreHooksApi<TForm>,\n path: P,\n listener: (\n value: Readonly<BitFieldState<TForm, BitPathValue<TForm, P>>>,\n ) => void,\n) {\n return store.subscribeSelector(\n () =>\n store.getFieldState(path) as Readonly<\n BitFieldState<TForm, BitPathValue<TForm, P>>\n >,\n listener,\n { paths: [path as string] },\n );\n}\n\nexport function createMaskedFieldController<\n TForm extends object,\n P extends BitPath<TForm>,\n>(store: BitStoreHooksApi<TForm>, path: P, mask: BitMask | undefined) {\n const setValue = (value: unknown) => {\n store.setField(\n path,\n parseMaskedInput(value, mask) as BitPathValue<TForm, P>,\n );\n };\n\n const setBlur = () => store.blurField(path);\n\n const displayValue = (value: unknown) => formatMaskedValue(value, mask);\n\n return {\n setValue,\n setBlur,\n displayValue,\n };\n}\n"],"mappings":"8FAQA,eAAsBA,EACpBC,EACAC,EACAC,EACAC,EACe,CACf,GAAI,CACF,IAAMC,EAAS,MAAMJ,EAAQC,EAAQC,CAAW,EAChDC,EAAS,UAAUC,CAAM,CAC3B,OAASC,EAAO,CACd,GAAIC,EAAuBD,CAAK,EAAG,CACjCF,EAAS,eAAeI,EAAoBF,CAAK,CAAC,EAClD,MACF,CAEAF,EAAS,iBACPE,aAAiB,MAAQA,EAAQ,IAAI,MAAM,OAAOA,CAAK,CAAC,CAC1D,CACF,CACF,CCTO,SAASG,EACdC,EACAC,EACA,CACAD,GAAO,iBAAiB,EACpBC,GAAS,iBACXD,GAAO,kBAAkB,CAE7B,CAEO,SAASE,EACdC,EACAC,EACAH,EACA,CAuCA,MAAO,CACL,OAtCAI,GAEQL,IACND,EAAiBC,EAAOC,CAAO,EACxBE,EAAM,OAAOE,CAAS,GAmC/B,SA9BAC,GAEQN,IACND,EAAiBC,EAAOC,CAAO,EAC/BG,EAAQ,mBAAmB,IAAI,EAExBD,EAAM,OAAO,MAAOI,EAAQC,IAAgB,CACjD,MAAMC,EAAqBH,EAASC,EAAQC,EAAa,CACvD,UAAYE,GAAW,CACrBN,EAAQ,oBAAoBM,CAAM,EAClCN,EAAQ,mBAAmB,IAAI,CACjC,EACA,eAAiBO,GAAiB,CAChCR,EAAM,gBAAgBQ,CAAY,CACpC,EACA,iBAAmBC,GAAU,CAC3BR,EAAQ,mBAAmBQ,CAAK,CAClC,CACF,CAAC,CACH,CAAC,GAYH,MARY,IAAM,CAClBT,EAAM,MAAM,EACZC,EAAQ,qBAAqB,CAC/B,EAME,UAAW,IAAMD,EAAM,SAAS,EAAE,OAClC,UAAW,IAAMA,EAAM,SAAS,EAAE,OAClC,WAAY,IAAMA,EAAM,SAAS,EAAE,QACnC,eAAgB,IAAMA,EAAM,eAAe,CAC7C,CACF,CC3EO,SAASU,EAIdC,EACAC,EACAC,EAGA,CACA,OAAOF,EAAM,kBACX,IACEA,EAAM,cAAcC,CAAI,EAG1BC,EACA,CAAE,MAAO,CAACD,CAAc,CAAE,CAC5B,CACF,CAEO,SAASE,EAGdH,EAAgCC,EAASG,EAA2B,CAYpE,MAAO,CACL,SAZgBC,GAAmB,CACnCL,EAAM,SACJC,EACAK,EAAiBD,EAAOD,CAAI,CAC9B,CACF,EAQE,QANc,IAAMJ,EAAM,UAAUC,CAAI,EAOxC,aALoBI,GAAmBE,EAAkBF,EAAOD,CAAI,CAMtE,CACF","names":["executeSubmitHandler","handler","values","dirtyValues","handlers","result","error","isValidationErrorShape","extractServerErrors","preventFormEvent","event","options","createFormController","store","runtime","onSuccess","handler","values","dirtyValues","executeSubmitHandler","result","serverErrors","error","subscribeFieldState","store","path","listener","createMaskedFieldController","mask","value","parseMaskedInput","formatMaskedValue"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8;var _chunkPA6T2CBRcjs = require('./chunk-PA6T2CBR.cjs');function h(a){if(a===null||typeof a!="object")return a;if(a instanceof Date)return new Date(a.getTime());if(a instanceof RegExp)return new RegExp(a.source,a.flags);if(Array.isArray(a))return a.map(t=>h(t));let e={};for(let t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e[t]=h(a[t]));return e}function b(a,e){if(e===void 0)return h(a);if(e===null||typeof e!="object"||e instanceof Date||e instanceof RegExp||Array.isArray(e))return h(e);let t=a&&typeof a=="object"&&!Array.isArray(a)?h(a):{};for(let i of Object.keys(e)){let r=e[i],s=t[i];if(r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)){t[i]=b(s,r);continue}t[i]=h(r)}return t}function f(a,e){return a===e?!0:a===null||typeof a!="object"||e===null||typeof e!="object"?!1:m(a,e)}function m(a,e){if(a===e)return!0;if(a===null||typeof a!="object"||e===null||typeof e!="object")return!1;if(a instanceof Date&&e instanceof Date)return a.getTime()===e.getTime();if(a instanceof RegExp&&e instanceof RegExp)return a.toString()===e.toString();let t=Object.keys(a),i=Object.keys(e);if(t.length!==i.length)return!1;for(let r of t)if(!Object.prototype.hasOwnProperty.call(e,r)||!m(a[r],e[r]))return!1;return!0}function j(a,e,t="",i=new Set){if(f(a,e))return i;if(a===null||typeof a!="object"||e===null||typeof e!="object")return t&&i.add(t),i;if(Array.isArray(a)||Array.isArray(e))return!f(a,e)&&t&&i.add(t),i;let r=new Set([...Object.keys(a||{}),...Object.keys(e||{})]);for(let s of r){let n=t?`${t}.${s}`:s;j(_optionalChain([a, 'optionalAccess', _2 => _2[s]]),_optionalChain([e, 'optionalAccess', _3 => _3[s]]),n,i)}return i}var W=1e3,y=new Map;function c(a,e){if(!e)return a;let t=y.get(e);t||(t=e.split("."),y.size>=W&&y.delete(y.keys().next().value),y.set(e,t));let i=a;for(let r of t){if(i==null)return;i=i[r]}return i}function p(a,e,t){if(!e)return t;let i=y.get(e);i||(i=e.split("."),y.size>=W&&y.delete(y.keys().next().value),y.set(e,i));let r=Array.isArray(a)?[...a]:{...a},s=r;for(let n=0;n<i.length-1;n++){let o=i[n],l=i[n+1],d=/^\d+$/.test(l),u=s[o];u==null?s[o]=d?[]:{}:s[o]=Array.isArray(u)?[...u]:{...u},s=s[o]}return s[i[i.length-1]]=t,r}function te(a,e){let t={},i=`${e}.`;for(let r in a)r!==e&&!r.startsWith(i)&&(t[r]=a[r]);return t}var U=(a,e,t)=>{let i={},r=`${e}.`;return Object.keys(a).forEach(s=>{if(!s.startsWith(r)){i[s]=a[s];return}let o=s.substring(r.length).split("."),l=parseInt(o[0],10),d=o.slice(1).join(".");if(l!==t)if(l>t){let u=l-1,g=d?`${r}${u}.${d}`:`${r}${u}`;i[g]=a[s]}else i[s]=a[s]}),i},$=(a,e,t,i)=>{let r={},s=`${e}.`;return Object.keys(a).forEach(n=>{if(!n.startsWith(s)){r[n]=a[n];return}let l=n.substring(s.length).split("."),d=parseInt(l[0],10),u=l.slice(1).join(".");if(d===t){let g=u?`${s}${i}.${u}`:`${s}${i}`;r[g]=a[n]}else if(d===i){let g=u?`${s}${t}.${u}`:`${s}${t}`;r[g]=a[n]}else r[n]=a[n]}),r},_=(a,e,t,i)=>{let r={},s=`${e}.`;return Object.keys(a).forEach(n=>{if(!n.startsWith(s)){r[n]=a[n];return}let l=n.substring(s.length).split("."),d=parseInt(l[0],10),u=l.slice(1).join("."),g=d;d===t?g=i:t<i&&d>t&&d<=i?g=d-1:t>i&&d>=i&&d<t&&(g=d+1);let q=u?`${s}${g}.${u}`:`${s}${g}`;r[q]=a[n]}),r};function G(a){if(typeof a!="object"||a===null||Array.isArray(a))return!1;let e=_nullishCoalesce(a.errors, () => (a));return typeof e!="object"||e===null||Array.isArray(e)?!1:Object.values(e).every(t=>typeof t=="string"||Array.isArray(t)&&t.every(i=>typeof i=="string"))}function ie(a){return G(a)?_nullishCoalesce(a.errors, () => (a)):{}}var z=typeof globalThis<"u"?globalThis:typeof global<"u"?global:window;z.__BIT_FORM__||(z.__BIT_FORM__={stores:{},listeners:new Set,dispatch(a,e){this.listeners.forEach(t=>t(a,e))},subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}});var T=z.__BIT_FORM__;function J(a={}){let e=_nullishCoalesce(a.initialValues, () => ({})),t=a.validation,i=a.history,r=a.name?`bit-form:${a.name}:draft`:"bit-form:draft",s={enabled:_nullishCoalesce(_optionalChain([a, 'access', _4 => _4.persist, 'optionalAccess', _5 => _5.enabled]), () => (!1)),key:_nullishCoalesce(_optionalChain([a, 'access', _6 => _6.persist, 'optionalAccess', _7 => _7.key]), () => (r)),storage:_optionalChain([a, 'access', _8 => _8.persist, 'optionalAccess', _9 => _9.storage]),autoSave:_nullishCoalesce(_optionalChain([a, 'access', _10 => _10.persist, 'optionalAccess', _11 => _11.autoSave]), () => (!0)),debounceMs:_nullishCoalesce(_optionalChain([a, 'access', _12 => _12.persist, 'optionalAccess', _13 => _13.debounceMs]), () => (300)),mode:_nullishCoalesce(_optionalChain([a, 'access', _14 => _14.persist, 'optionalAccess', _15 => _15.mode]), () => ("values")),serialize:_nullishCoalesce(_optionalChain([a, 'access', _16 => _16.persist, 'optionalAccess', _17 => _17.serialize]), () => (JSON.stringify)),deserialize:_nullishCoalesce(_optionalChain([a, 'access', _18 => _18.persist, 'optionalAccess', _19 => _19.deserialize]), () => ((n=>JSON.parse(n)))),onError:_optionalChain([a, 'access', _20 => _20.persist, 'optionalAccess', _21 => _21.onError])};return{name:a.name,initialValues:h(e),resolver:_optionalChain([t, 'optionalAccess', _22 => _22.resolver]),validationDelay:_nullishCoalesce(_optionalChain([t, 'optionalAccess', _23 => _23.delay]), () => (300)),enableHistory:_nullishCoalesce(_optionalChain([i, 'optionalAccess', _24 => _24.enabled]), () => (!1)),historyLimit:_nullishCoalesce(_optionalChain([i, 'optionalAccess', _25 => _25.limit]), () => (15)),masks:{..._chunkPA6T2CBRcjs.N},fields:a.fields,devTools:a.devTools,persist:s,plugins:_nullishCoalesce(a.plugins, () => ([]))}}var B= (_class =class{constructor() { _class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this); }__init() {this.fieldConfigs=new Map}__init2() {this.dependencies=new Map}__init3() {this.hiddenFields=new Set}register(e,t,i){this.fieldConfigs.set(e,t);let r=_optionalChain([t, 'access', _26 => _26.conditional, 'optionalAccess', _27 => _27.dependsOn]);r&&r.forEach(s=>{this.dependencies.has(s)||this.dependencies.set(s,new Set),this.dependencies.get(s).add(e)}),this.evaluateFieldCondition(e,i)}isHidden(e){return this.hiddenFields.has(e)}isRequired(e,t){let i=this.fieldConfigs.get(e);return!i||this.isHidden(e)?!1:!!_optionalChain([i, 'access', _28 => _28.conditional, 'optionalAccess', _29 => _29.requiredIf, 'optionalCall', _30 => _30(t)])}getRequiredErrors(e){let t={};return this.fieldConfigs.forEach((i,r)=>{if(this.isRequired(r,e)){let s=c(e,r);this.isEmpty(s)&&(t[r]=_nullishCoalesce(_optionalChain([i, 'access', _31 => _31.conditional, 'optionalAccess', _32 => _32.requiredMessage]), () => ("required field")))}}),t}evaluateAll(e){this.fieldConfigs.forEach((t,i)=>{this.evaluateFieldCondition(i,e)})}updateDependencies(e,t){let i=[],r=[e],s=new Set;for(;r.length>0;){let n=r.shift();if(s.has(n))continue;s.add(n);let o=this.dependencies.get(n);o&&o.forEach(l=>{let d=this.isHidden(l);this.evaluateFieldCondition(l,t);let u=this.isHidden(l);d!==u&&i.push(l),r.push(l)})}return i}unregister(e){this.fieldConfigs.delete(e),this.hiddenFields.delete(e),this.dependencies.delete(e),this.dependencies.forEach(t=>{t.delete(e)})}unregisterPrefix(e){let t=[];this.fieldConfigs.forEach((i,r)=>{r.startsWith(e)&&t.push(r)}),t.forEach(i=>this.unregister(i))}evaluateFieldCondition(e,t){let r=_optionalChain([this, 'access', _33 => _33.fieldConfigs, 'access', _34 => _34.get, 'call', _35 => _35(e), 'optionalAccess', _36 => _36.conditional, 'optionalAccess', _37 => _37.showIf]);r&&(r(t)?this.hiddenFields.delete(e):this.hiddenFields.add(e))}isEmpty(e){return e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0}}, _class);var V= (_class2 =class a{constructor(e){this.getComputedEntries=e}static __initStatic() {this.MIN_PASSES=4}apply(e){let t=this.getComputedEntries();if(t.length===0)return e;let i=e,r=Math.max(a.MIN_PASSES,t.length*2);for(let s=0;s<r;s++){let n=!1;for(let[o,l]of t){let d=l(i),u=c(i,o);m(u,d)||(i=p(i,o,d),n=!0)}if(!n)break;if(s===r-1)throw new Error("BitStore: computed fields did not stabilize. Check for cyclic computed definitions.")}return i}}, _class2.__initStatic(), _class2);var P= (_class3 =class{constructor() { _class3.prototype.__init4.call(this); }__init4() {this.dirtyPaths=new Set}updateForPath(e,t,i){for(let n of this.dirtyPaths)n.startsWith(e+".")&&this.dirtyPaths.delete(n);let r=c(t,e),s=c(i,e);return f(r,s)?this.dirtyPaths.delete(e):this.dirtyPaths.add(e),this.dirtyPaths.size>0}rebuild(e,t){return this.dirtyPaths=j(e,t),this.dirtyPaths.size>0}clear(){this.dirtyPaths.clear()}get isDirty(){return this.dirtyPaths.size>0}getDirtyPaths(){return this.dirtyPaths}buildDirtyValues(e){if(this.dirtyPaths.size===0)return{};let t={},i=new Set;for(let r of this.dirtyPaths){let s=r.match(/^(.+)\.\d+/);if(s){let n=s[1];if(i.has(n))continue;i.add(n);let o=c(e,n);t=p(t,n,o)}else{let n=c(e,r);t=p(t,r,n)}}return t}}, _class3);var E= (_class4 =class{constructor(e){;_class4.prototype.__init5.call(this);_class4.prototype.__init6.call(this);_class4.prototype.__init7.call(this);_class4.prototype.__init8.call(this);this.getState=e}__init5() {this.listeners=new Set}__init6() {this.selectorListeners=new Set}__init7() {this.pathScopedSubscriptions=new Map}__init8() {this.pathSelectorIndex=new Map}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}subscribeSelector(e,t,i,r){let s=e(this.getState()),n={notify:d=>{let u=e(d);r(s,u)||(s=u,t(u))}},o=_optionalChain([i, 'optionalAccess', _38 => _38.autoTrackPaths])===!1?[]:this.collectTrackedSelectorPaths(e),l=this.normalizeSubscriptionPaths([..._nullishCoalesce(_optionalChain([i, 'optionalAccess', _39 => _39.paths]), () => ([])),...o]);return l.length>0?(this.pathScopedSubscriptions.set(n,l),l.forEach(d=>{let u=_nullishCoalesce(this.pathSelectorIndex.get(d), () => (new Set));u.add(n),this.pathSelectorIndex.set(d,u)})):this.selectorListeners.add(n),_optionalChain([i, 'optionalAccess', _40 => _40.emitImmediately])&&t(s),()=>{this.selectorListeners.delete(n);let d=this.pathScopedSubscriptions.get(n);d&&(d.forEach(u=>{let g=this.pathSelectorIndex.get(u);g&&(g.delete(n),g.size===0&&this.pathSelectorIndex.delete(u))}),this.pathScopedSubscriptions.delete(n))}}notify(e,t){if(this.listeners.forEach(r=>r()),this.selectorListeners.forEach(r=>{r.notify(e)}),this.pathScopedSubscriptions.size===0)return;if(!t||t.length===0||t.includes("*")){this.pathScopedSubscriptions.forEach((r,s)=>{s.notify(e)});return}this.collectSubscribersForChangedPaths(t).forEach(r=>{r.notify(e)})}destroy(){this.listeners.clear(),this.selectorListeners.clear(),this.pathScopedSubscriptions.clear(),this.pathSelectorIndex.clear()}normalizeSubscriptionPaths(e){return!e||e.length===0?[]:Array.from(new Set(e.map(t=>t.trim()).filter(t=>t.length>0)))}collectTrackedSelectorPaths(e){let t=new Set,i=(s,n)=>!s||typeof s!="object"?s:new Proxy(s,{get:(o,l)=>{if(typeof l!="string")return Reflect.get(o,l);let d=n?`${n}.${l}`:l;t.add(d);let u=Reflect.get(o,l);return i(u,d)}}),r=new Proxy(this.getState(),{get:(s,n)=>{if(typeof n!="string")return Reflect.get(s,n);let o=Reflect.get(s,n);return n==="values"?i(o,""):o}});try{return e(r),Array.from(t)}catch (e2){return[]}}collectSubscribersForChangedPaths(e){let t=new Set,i=s=>{let n=this.pathSelectorIndex.get(s);n&&n.forEach(o=>t.add(o))};return this.normalizeSubscriptionPaths(e).forEach(s=>{i(s);let n=s.split(".");for(;n.length>1;)n.pop(),i(n.join("."));this.pathSelectorIndex.forEach((o,l)=>{l.startsWith(`${s}.`)&&o.forEach(d=>t.add(d))})}),t}}, _class4);function X(a){let{currentState:e,partialState:t,changedPaths:i,applyComputedValues:r}=a,s={...e,...t},n=!!t.values;t.values&&(s.values=r(t.values)),t.errors&&(s.isValid=Object.keys(s.errors).length===0);let o=i&&i.length>0?i:t.values?["*"]:void 0;return{nextState:s,changedPaths:o,valuesChanged:n}}function re(a){return typeof a=="boolean"?{enabled:a,mode:"local"}:{enabled:!!a,mode:_nullishCoalesce(_optionalChain([a, 'optionalAccess', _41 => _41.mode]), () => ("local")),url:_optionalChain([a, 'optionalAccess', _42 => _42.url])}}function Q(a){let e=re(a);return e.enabled?{name:"bit-devtools",setup:()=>{let t=null,i=!1;return(async()=>{try{if(e.mode==="remote"){let{setupRemoteBridge:r}=await Promise.resolve().then(() => _interopRequireWildcard(require("./devtools/bridge.cjs")));t=r(e.url||"ws://localhost:3000")}else{let{initDevTools:r}=await Promise.resolve().then(() => _interopRequireWildcard(require("./devtools/index.cjs"))),s=r();t=s&&typeof s.destroy=="function"?s.destroy:null}i&&t&&(t(),t=null)}catch (e3){}})(),()=>{i=!0,t&&(t(),t=null)}}}:null}function se(){if(typeof globalThis>"u")return;let a=globalThis.localStorage;if(a)return{getItem:e=>a.getItem(e),setItem:(e,t)=>a.setItem(e,t),removeItem:e=>a.removeItem(e)}}var F=class{constructor(e,t,i,r){this.config=e;this.getValues=t;this.getDirtyValues=i;this.applyRestoredValues=r}getStorage(){return this.config.storage||se()}canPersist(){return!!(this.config.enabled&&this.config.key&&this.getStorage())}handleError(e){_optionalChain([this, 'access', _43 => _43.config, 'access', _44 => _44.onError, 'optionalCall', _45 => _45(e)])}async saveNow(){if(!this.canPersist())return;let e=this.getStorage();if(e)try{let t=this.config.mode==="dirtyValues"?this.getDirtyValues():this.getValues(),i=this.config.serialize(h(t));await e.setItem(this.config.key,i)}catch(t){this.handleError(t)}}queueSave(){!this.canPersist()||!this.config.autoSave||(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.saveNow()},this.config.debounceMs))}async restore(){if(!this.canPersist())return!1;let e=this.getStorage();if(!e)return!1;try{let t=await e.getItem(this.config.key);if(!t)return!1;let i=this.config.deserialize(t);return!i||typeof i!="object"?!1:(this.applyRestoredValues(i),!0)}catch(t){return this.handleError(t),!1}}async clear(){if(!this.canPersist())return;let e=this.getStorage();if(e)try{await e.removeItem(this.config.key)}catch(t){this.handleError(t)}}destroy(){this.timer&&(clearTimeout(this.timer),this.timer=void 0)}};var C= (_class5 =class{constructor(e,t){;_class5.prototype.__init9.call(this);_class5.prototype.__init10.call(this);this.plugins=e;this.contextFactory=t}__init9() {this.teardownFns=[]}__init10() {this.notifyingError=!1}setupAll(){this.plugins.forEach(e=>{if(e.setup)try{let t=e.setup(this.contextFactory());typeof t=="function"&&this.teardownFns.push(t)}catch(t){this.reportError("setup",t,void 0,e.name)}})}async beforeValidate(e){await this.emitHook("beforeValidate",e)}async afterValidate(e){await this.emitHook("afterValidate",e)}async beforeSubmit(e){await this.emitHook("beforeSubmit",e)}async afterSubmit(e){await this.emitHook("afterSubmit",e)}onFieldChange(e){this.plugins.forEach(t=>{let i=_optionalChain([t, 'access', _46 => _46.hooks, 'optionalAccess', _47 => _47.onFieldChange]);if(i)try{let r=i(e,this.contextFactory());Promise.resolve(r).catch(s=>{this.reportError("onFieldChange",s,e,t.name)})}catch(r){this.reportError("onFieldChange",r,e,t.name)}})}async reportError(e,t,i,r){if(this.notifyingError)return;this.notifyingError=!0;let s=this.contextFactory(),n={source:e,pluginName:r,error:t,event:i,values:s.getState().values,state:s.getState()};for(let o of this.plugins){let l=_optionalChain([o, 'access', _48 => _48.hooks, 'optionalAccess', _49 => _49.onError]);if(l)try{await l(n,s)}catch (e4){}}this.notifyingError=!1}destroy(){for(let e=this.teardownFns.length-1;e>=0;e-=1){let t=this.teardownFns[e];try{t()}catch(i){this.reportError("teardown",i)}}this.teardownFns=[]}async emitHook(e,t){let i=this.contextFactory();for(let r of this.plugins){let s=_optionalChain([r, 'access', _50 => _50.hooks, 'optionalAccess', _51 => _51[e]]);if(s)try{await s(t,i)}catch(n){await this.reportError(e,n,t,r.name)}}}}, _class5);var w=class{constructor(e,t,i,r){this.storeId=e;this.storeInstance=t;this.persistManager=i;this.pluginManager=r}initialize(){this.pluginManager.setupAll(),T.stores[this.storeId]=this.storeInstance}onStateUpdated(e,t){t&&this.persistManager.queueSave(),T.dispatch(this.storeId,e)}restorePersisted(){return this.persistManager.restore()}savePersistedNow(){return this.persistManager.saveNow()}clearPersisted(){return this.persistManager.clear()}beforeValidate(e){return this.pluginManager.beforeValidate(e)}afterValidate(e){return this.pluginManager.afterValidate(e)}beforeSubmit(e){return this.pluginManager.beforeSubmit(e)}afterSubmit(e){return this.pluginManager.afterSubmit(e)}onFieldChange(e){this.pluginManager.onFieldChange(e)}reportOperationalError(e){return this.pluginManager.reportError(e.source,e.error,e.payload)}destroy(){this.persistManager.destroy(),this.pluginManager.destroy(),delete T.stores[this.storeId]}};var v=class{constructor(e){this.steps=e}async run(e){for(let t of this.steps){if(e.halted)break;await t.run(e)}}},x=class{constructor(e){this.steps=e}run(e){for(let t of this.steps){if(e.halted)break;t.run(e)}}};var M= (_class6 =class{constructor(e){;_class6.prototype.__init11.call(this);_class6.prototype.__init12.call(this);_class6.prototype.__init13.call(this);_class6.prototype.__init14.call(this);this.store=e}__init11() {this.currentValidationId=0}__init12() {this.asyncTimers={}}__init13() {this.asyncRequests={}}__init14() {this.asyncErrors={}}updateFieldValidating(e,t){this.store.internalUpdateState({isValidating:{...this.store.getState().isValidating,[e]:t}})}cancelFieldAsync(e){this.asyncTimers[e]&&(clearTimeout(this.asyncTimers[e]),delete this.asyncTimers[e]),this.asyncRequests[e]=(this.asyncRequests[e]||0)+1}beginExternalValidation(e){this.cancelFieldAsync(e),this.updateFieldValidating(e,!0)}endExternalValidation(e){this.updateFieldValidating(e,!1)}async setExternalError(e,t){if(t){this.asyncErrors[e]=t,this.store.setError(e,t);return}if(delete this.asyncErrors[e],this.store.validate){await this.store.validate({scopeFields:[e]});return}let i={...this.store.getState().errors};delete i[e],this.store.internalUpdateState({errors:i,isValid:Object.keys(i).length===0})}handleAsync(e,t){let i=this.store.getFieldConfig(e),r=_optionalChain([i, 'optionalAccess', _52 => _52.validation, 'optionalAccess', _53 => _53.asyncValidate]);if(!r){this.updateFieldValidating(e,!1);return}this.asyncTimers[e]&&clearTimeout(this.asyncTimers[e]);let s=_nullishCoalesce(_optionalChain([i, 'access', _54 => _54.validation, 'optionalAccess', _55 => _55.asyncValidateDelay]), () => (500));this.updateFieldValidating(e,!0),this.asyncTimers[e]=setTimeout(async()=>{delete this.asyncTimers[e];let n=(this.asyncRequests[e]||0)+1;this.asyncRequests[e]=n;try{let o=await r(t,this.store.getState().values);if(this.asyncRequests[e]!==n)return;if(o)this.asyncErrors[e]=o,this.store.setError(e,o);else if(delete this.asyncErrors[e],this.store.validate)await this.store.validate({scopeFields:[e]});else{let l={...this.store.getState().errors};delete l[e],this.store.internalUpdateState({errors:l,isValid:Object.keys(l).length===0})}}finally{this.asyncRequests[e]===n&&this.updateFieldValidating(e,!1)}},s)}hasValidationsInProgress(e){let t=this.store.getState();return e&&e.length>0?e.some(i=>!!t.isValidating[i]):Object.values(t.isValidating).some(Boolean)}trigger(e){this.validationTimeout&&clearTimeout(this.validationTimeout);let t=_nullishCoalesce(this.store.config.validationDelay, () => (300));t>0?this.validationTimeout=setTimeout(()=>{this.validate({scopeFields:e})},t):this.validate({scopeFields:e})}async validate(e){let t={options:e,validationId:++this.currentValidationId,currentState:this.store.getState(),targetFields:_optionalChain([e, 'optionalAccess', _56 => _56.scopeFields]),allErrors:{},isValid:!0,result:!0,aborted:!1};return await new v([{name:"validate:resolve-target-fields",run:r=>{if(_optionalChain([r, 'access', _57 => _57.options, 'optionalAccess', _58 => _58.scope])){let s=this.store.getScopeFields(r.options.scope);s.length>0&&(r.targetFields=s)}}},{name:"validate:before-hooks",run:async r=>{await this.store.emitBeforeValidate({values:r.currentState.values,state:r.currentState,scope:_optionalChain([r, 'access', _59 => _59.options, 'optionalAccess', _60 => _60.scope]),scopeFields:r.targetFields})}},{name:"validate:resolver",run:async r=>{r.allErrors=this.store.config.resolver?await this.store.config.resolver(r.currentState.values,{scopeFields:r.targetFields}):{}}},{name:"validate:required-and-hidden",run:r=>{let s=this.store.getRequiredErrors(r.currentState.values);r.allErrors={...r.allErrors,...s},this.store.getHiddenFields().forEach(n=>{delete r.allErrors[n],delete this.asyncErrors[n]})}},{name:"validate:abort-check",run:async r=>{r.validationId!==this.currentValidationId&&(r.aborted=!0,r.result=r.currentState.isValid,await this.store.emitAfterValidate({values:this.store.getState().values,state:this.store.getState(),scope:_optionalChain([r, 'access', _61 => _61.options, 'optionalAccess', _62 => _62.scope]),scopeFields:r.targetFields,errors:this.store.getState().errors,result:r.currentState.isValid,aborted:!0}),r.halted=!0)}},{name:"validate:commit-scoped",run:async r=>{if(!r.targetFields)return;let s={...r.currentState.errors};r.targetFields.forEach(n=>{r.allErrors[n]?s[n]=r.allErrors[n]:this.asyncErrors[n]?s[n]=this.asyncErrors[n]:delete s[n]}),r.isValid=Object.keys(s).length===0,r.result=r.targetFields.every(n=>!r.allErrors[n]&&!this.asyncErrors[n]),this.store.internalUpdateState({errors:s,isValid:r.isValid}),await this.store.emitAfterValidate({values:this.store.getState().values,state:this.store.getState(),scope:_optionalChain([r, 'access', _63 => _63.options, 'optionalAccess', _64 => _64.scope]),scopeFields:r.targetFields,errors:s,result:r.result}),r.halted=!0}},{name:"validate:commit-global",run:async r=>{r.allErrors={...this.asyncErrors,...r.allErrors},r.isValid=Object.keys(r.allErrors).length===0,r.result=r.isValid,this.store.internalUpdateState({errors:r.allErrors,isValid:r.isValid}),await this.store.emitAfterValidate({values:this.store.getState().values,state:this.store.getState(),scope:_optionalChain([r, 'access', _65 => _65.options, 'optionalAccess', _66 => _66.scope]),scopeFields:r.targetFields,errors:r.allErrors,result:r.isValid})}}]).run(t),t.result}clear(e){this.asyncTimers[e]&&clearTimeout(this.asyncTimers[e]),delete this.asyncTimers[e],this.updateFieldValidating(e,!1),delete this.asyncErrors[e]}cancelAll(){this.validationTimeout&&clearTimeout(this.validationTimeout),Object.values(this.asyncTimers).forEach(e=>clearTimeout(e)),this.asyncTimers={},this.store.internalUpdateState({isValidating:{}})}}, _class6);var D=class{constructor(e){this.store=e}updateField(e,t,i={origin:"setField"}){let r=this.store.getState(),s={path:e,value:t,meta:i,previousValue:c(r.values,e),nextValues:p(r.values,e,t),nextErrors:{...r.errors},toggledFields:[],isDirty:!1};new x([{name:"field:clear-current-error",run:o=>{delete o.nextErrors[o.path],this.store.clearFieldValidation(o.path)}},{name:"field:update-dependencies",run:o=>{o.toggledFields=this.store.updateDependencies(o.path,o.nextValues),o.toggledFields.forEach(l=>{this.store.isFieldHidden(l)&&(delete o.nextErrors[l],this.store.clearFieldValidation(l))})}},{name:"field:update-dirty",run:o=>{o.isDirty=this.store.updateDirtyForPath(o.path,o.nextValues,this.store.config.initialValues)}},{name:"field:commit-state",run:o=>{this.store.internalUpdateState({values:o.nextValues,errors:o.nextErrors,isValid:Object.keys(o.nextErrors).length===0,isDirty:o.isDirty},[o.path,...o.toggledFields])}},{name:"field:emit-change",run:o=>{this.store.emitFieldChange({path:o.path,previousValue:o.previousValue,nextValue:o.value,values:this.store.getState().values,state:this.store.getState(),meta:o.meta})}},{name:"field:trigger-validate",run:o=>{this.store.config.resolver&&this.store.triggerValidation([o.path])}},{name:"field:trigger-async-validate",run:o=>{this.store.handleFieldAsyncValidation(o.path,o.value)}}]).run(s)}replaceValues(e,t="replaceValues"){let i=this.store.getState().values,r=h(e);this.store.cancelAllValidations(),this.store.evaluateAllDependencies(r);let s=this.store.rebuildDirtyState(r,this.store.config.initialValues);this.store.internalUpdateState({values:r,errors:{},isValidating:{},isValid:!0,isDirty:s,isSubmitting:!1},["*"]),this.store.internalSaveSnapshot(),this.store.validateNow(),this.store.emitFieldChange({path:"*",previousValue:i,nextValue:r,values:this.store.getState().values,state:this.store.getState(),meta:{origin:t}})}hydrateValues(e){let t=b(this.store.getState().values,e);this.replaceValues(t,"hydrate")}rebaseValues(e){let t=this.store.getState().values,i=h(e);this.store.config.initialValues=h(i),this.store.cancelAllValidations(),this.store.evaluateAllDependencies(i),this.store.clearDirtyState(),this.store.internalUpdateState({values:i,errors:{},touched:{},isValidating:{},isValid:!0,isDirty:!1,isSubmitting:!1},["*"]),this.store.internalSaveSnapshot(),this.store.validateNow(),this.store.emitFieldChange({path:"*",previousValue:t,nextValue:i,values:this.store.getState().values,state:this.store.getState(),meta:{origin:"rebase"}})}async submit(e){if(this.store.getState().isSubmitting||this.store.hasValidationsInProgress())return;this.store.cancelAllValidations();let i={onSuccess:e,isValid:!1,valuesToSubmit:h(this.store.getState().values),dirtyValues:{}},r=new v([{name:"submit:start",run:async s=>{this.store.internalUpdateState({isSubmitting:!0}),s.isValid=await this.store.validateNow()}},{name:"submit:invalid",run:async s=>{if(s.isValid)return;let n=this.store.getState().errors,o={...this.store.getState().touched};Object.keys(n).forEach(l=>{o[l]=!0}),this.store.internalUpdateState({touched:o}),s.dirtyValues=this.store.buildDirtyValues(this.store.getState().values),s.invalid=!0,await this.store.emitAfterSubmit({values:this.store.getState().values,dirtyValues:s.dirtyValues,state:this.store.getState(),success:!1,invalid:!0}),s.halted=!0}},{name:"submit:prepare",run:s=>{this.store.getHiddenFields().forEach(n=>{s.valuesToSubmit=p(s.valuesToSubmit,n,void 0)});for(let[n,o]of this.store.getTransformEntries()){let l=c(s.valuesToSubmit,n);s.valuesToSubmit=p(s.valuesToSubmit,n,o(l,this.store.getState().values))}s.dirtyValues=this.store.buildDirtyValues(s.valuesToSubmit)}},{name:"submit:before-hooks",run:async s=>{await this.store.emitBeforeSubmit({values:s.valuesToSubmit,dirtyValues:s.dirtyValues,state:this.store.getState()})}},{name:"submit:user-handler",run:async s=>{await s.onSuccess(s.valuesToSubmit,s.dirtyValues)}},{name:"submit:after-hooks",run:async s=>{await this.store.emitAfterSubmit({values:s.valuesToSubmit,dirtyValues:s.dirtyValues,state:this.store.getState(),success:!0})}}]);try{await r.run(i)}catch(s){i.error=s,await this.store.emitOperationalError({source:"submit",error:s}),await this.store.emitAfterSubmit({values:this.store.getState().values,dirtyValues:this.store.buildDirtyValues(this.store.getState().values),state:this.store.getState(),success:!1,error:s}),console.error(s)}finally{this.store.internalUpdateState({isSubmitting:!1})}}reset(){this.store.cancelAllValidations();let e=h(this.store.config.initialValues);this.store.evaluateAllDependencies(e),this.store.clearDirtyState(),this.store.internalUpdateState({values:e,errors:{},touched:{},isValidating:{},isValid:!0,isDirty:!1,isSubmitting:!1},["*"]),this.store.resetHistory(e)}};var A= (_class7 =class{constructor(e,t=15){;_class7.prototype.__init15.call(this);_class7.prototype.__init16.call(this);this.enableHistory=e;this.maxHistory=t}__init15() {this.history=[]}__init16() {this.historyIndex=-1}saveSnapshot(e){if(!this.enableHistory)return;let t=this.history[this.historyIndex];t&&m(t,e)||(this.historyIndex<this.history.length-1&&(this.history=this.history.slice(0,this.historyIndex+1)),this.history.push(h(e)),this.history.length>this.maxHistory?this.history.shift():this.historyIndex++)}get canUndo(){return this.enableHistory?this.historyIndex>0:!1}get canRedo(){return this.enableHistory?this.historyIndex<this.history.length-1:!1}undo(){return this.canUndo?(this.historyIndex--,h(this.history[this.historyIndex])):null}redo(){return this.canRedo?(this.historyIndex++,h(this.history[this.historyIndex])):null}reset(e){this.history=[],this.historyIndex=-1,this.saveSnapshot(e)}getMetadata(){return{enabled:this.enableHistory,canUndo:this.canUndo,canRedo:this.canRedo,historyIndex:this.historyIndex,historySize:this.history.length}}}, _class7);var R=class{constructor(e){this.store=e}pushItem(e,t){let i=c(this.store.getState().values,e)||[];this.store.setFieldWithMeta(e,[...i,t],{origin:"array",operation:"push"}),this.store.internalSaveSnapshot()}prependItem(e,t){let i=c(this.store.getState().values,e)||[];this.store.setFieldWithMeta(e,[t,...i],{origin:"array",operation:"prepend"}),this.store.internalSaveSnapshot()}insertItem(e,t,i){let r=[...c(this.store.getState().values,e)||[]];r.splice(t,0,i),this.store.setFieldWithMeta(e,r,{origin:"array",operation:"insert",index:t}),this.store.internalSaveSnapshot()}removeItem(e,t){let i=this.store.getState(),r=c(i.values,e);if(!Array.isArray(r))return;let s=[...r];this.store.unregisterPrefix&&this.store.unregisterPrefix(`${e}.${t}.`);let n=r.filter((d,u)=>u!==t),o=p(i.values,e,n),l=this.store.updateDirtyForPath(e,o,this.store.getConfig().initialValues);this.store.internalUpdateState({values:o,errors:U(i.errors,e,t),touched:U(i.touched,e,t),isDirty:l}),this.store.emitFieldChange({path:e,previousValue:s,nextValue:n,values:this.store.getState().values,state:this.store.getState(),meta:{origin:"array",operation:"remove",index:t}}),this.store.internalSaveSnapshot(),this.revalidate(e)}swapItems(e,t,i){let r=this.store.getState(),s=[...c(r.values,e)||[]],n=[...s];[s[t],s[i]]=[s[i],s[t]];let o=p(r.values,e,s),l=this.store.updateDirtyForPath(e,o,this.store.getConfig().initialValues);this.store.internalUpdateState({values:o,errors:$(r.errors,e,t,i),touched:$(r.touched,e,t,i),isDirty:l}),this.store.emitFieldChange({path:e,previousValue:n,nextValue:s,values:this.store.getState().values,state:this.store.getState(),meta:{origin:"array",operation:"swap",from:t,to:i}}),this.store.internalSaveSnapshot(),this.revalidate(e)}moveItem(e,t,i){let r=this.store.getState(),s=[...c(r.values,e)||[]],n=[...s],[o]=s.splice(t,1);s.splice(i,0,o);let l=p(r.values,e,s),d=this.store.updateDirtyForPath(e,l,this.store.getConfig().initialValues);this.store.internalUpdateState({values:l,errors:_(r.errors,e,t,i),touched:_(r.touched,e,t,i),isDirty:d}),this.store.emitFieldChange({path:e,previousValue:n,nextValue:s,values:this.store.getState().values,state:this.store.getState(),meta:{origin:"array",operation:"move",from:t,to:i}}),this.store.internalSaveSnapshot(),this.revalidate(e)}revalidate(e){this.store.triggerValidation([e])}};var I=class{constructor(e,t,i){this.getState=e;this.getInitialValues=t;this.getScopeFields=i}getStepStatus(e){let t=this.getScopeFields(e),i=this.getState(),r=t.some(o=>!!i.errors[o]),s=t.some(o=>{let l=c(i.values,o),d=c(this.getInitialValues(),o);return!f(l,d)}),n=this.getStepErrors(e);return{hasErrors:r,isDirty:s,errors:n}}getStepErrors(e){let t=this.getScopeFields(e),i=this.getState(),r={};for(let s of t){let n=i.errors[s];n&&(r[s]=n)}return r}};var k=class{constructor(e,t,i){this.depsMg=e;this.getState=t;this.getConfig=i}isHidden(e){return this.depsMg.isHidden(e)}isRequired(e){return this.depsMg.isRequired(e,this.getState().values)}isFieldDirty(e){let t=c(this.getState().values,e),i=c(this.getConfig().initialValues,e);return!f(t,i)}isFieldValidating(e){return!!this.getState().isValidating[e]}};var O=class{constructor(e,t){this.getState=e;this.internalUpdateState=t}setError(e,t){let i={...this.getState().errors,[e]:t};t||delete i[e],this.internalUpdateState({errors:i})}setErrors(e){this.internalUpdateState({errors:{...this.getState().errors,...e}})}setServerErrors(e){let t={};for(let[i,r]of Object.entries(e))t[i]=Array.isArray(r)?r[0]:r;this.setErrors(t)}};var H= (_class8 =class{constructor() { _class8.prototype.__init17.call(this); }__init17() {this.capabilities=new Map}register(e,t){this.capabilities.set(e,t)}get(e){let t=this.capabilities.get(e);if(!t)throw new Error(`Capability "${String(e)}" is not registered`);return t}has(e){return this.capabilities.has(e)}clear(){this.capabilities.clear()}}, _class8);function Y(a){let{store:e,depsMg:t}=a,i=new H;return i.register("validation",new M(e)),i.register("lifecycle",new D(e)),i.register("history",new A(!!e.config.enableHistory,_nullishCoalesce(e.config.historyLimit, () => (15)))),i.register("arrays",new R(e)),i.register("scope",new I(()=>e.getState(),()=>e.config.initialValues,r=>e.getScopeFields(r))),i.register("query",new k(t,()=>e.getState(),()=>e.config)),i.register("error",new O(()=>e.getState(),r=>e.internalUpdateState(r))),i}function Z(a){let{storeId:e,storeInstance:t,config:i,getState:r,getConfig:s,getValues:n,getDirtyValues:o,applyPersistedValues:l}=a,d=new F(i.persist,n,o,l),u=[...i.plugins],g=Q(i.devTools);g&&u.push(g);let q=new C(u,()=>({storeId:e,getState:()=>r(),getConfig:()=>s()})),K=new w(e,t,d,q);return K.initialize(),K}function ee(a){let{config:e,depsMg:t,computedMg:i}=a,r=h(e.initialValues);return e.fields&&Object.entries(e.fields).forEach(([n,o])=>{t.register(n,o,r)}),{values:i.apply(r),errors:{},touched:{},isValidating:{},isValid:!0,isSubmitting:!1,isDirty:!1}}var S=class{getCapability(e){return this.capabilities.get(e)}get validation(){return this.getCapability("validation")}get lifecycle(){return this.getCapability("lifecycle")}get history(){return this.getCapability("history")}get arrays(){return this.getCapability("arrays")}get scope(){return this.getCapability("scope")}get query(){return this.getCapability("query")}get error(){return this.getCapability("error")}constructor(e={}){this.config=J(e),this.depsMg=new B,this.computedMg=new V(()=>this.getComputedEntries()),this.dirtyMg=new P,this.capabilities=Y({store:this,depsMg:this.depsMg}),this.state=ee({config:this.config,depsMg:this.depsMg,computedMg:this.computedMg}),this.subscriptions=new E(()=>this.state),this.internalSaveSnapshot(),this.storeId=e.storeId||this.config.name||`bit-form-${Math.random().toString(36).substring(2,9)}`,this.effects=Z({storeId:this.storeId,storeInstance:this,config:this.config,getState:()=>this.getState(),getConfig:()=>this.getConfig(),getValues:()=>this.state.values,getDirtyValues:()=>this.getDirtyValues(),applyPersistedValues:t=>this.applyPersistedValues(t)})}getConfig(){return this.config}getFieldConfig(e){return this.depsMg.fieldConfigs.get(e)||_optionalChain([this, 'access', _67 => _67.config, 'access', _68 => _68.fields, 'optionalAccess', _69 => _69[e]])}getScopeFields(e){let t=[];return this.depsMg.fieldConfigs.forEach((i,r)=>{i.scope===e&&t.push(r)}),t}getComputedEntries(){let e=[];return this.depsMg.fieldConfigs.forEach((t,i)=>{t.computed&&e.push([i,t.computed])}),e}getTransformEntries(){let e=[];return this.depsMg.fieldConfigs.forEach((t,i)=>{t.transform&&e.push([i,t.transform])}),e}resolveMask(e){let t=_optionalChain([this, 'access', _70 => _70.getFieldConfig, 'call', _71 => _71(e), 'optionalAccess', _72 => _72.mask]);if(t)return typeof t=="string"?_optionalChain([this, 'access', _73 => _73.config, 'access', _74 => _74.masks, 'optionalAccess', _75 => _75[t]]):t}getState(){return this.state}getFieldState(e){return{value:c(this.state.values,e),error:this.state.errors[e],touched:!!this.state.touched[e],isHidden:this.isHidden(e),isRequired:this.isRequired(e),isDirty:this.isFieldDirty(e),isValidating:this.isFieldValidating(e)}}get isValid(){return this.state.isValid}get isSubmitting(){return this.state.isSubmitting}get isDirty(){return this.state.isDirty}registerField(e,t){this.depsMg.register(e,t,this.state.values),this.depsMg.isHidden(e)&&this.subscriptions.notify(this.state,["*"])}unregisterField(e){if(_optionalChain([this, 'access', _76 => _76.config, 'access', _77 => _77.fields, 'optionalAccess', _78 => _78[e]]))return;this.depsMg.unregister(e);let t={...this.state.errors},i={...this.state.touched},r=!1;t[e]&&(delete t[e],r=!0),i[e]&&(delete i[e],r=!0),r&&this.internalUpdateState({errors:t,touched:i})}unregisterPrefix(e){this.depsMg.unregisterPrefix(e)}isHidden(e){return this.query.isHidden(e)}isRequired(e){return this.query.isRequired(e)}isFieldDirty(e){return this.query.isFieldDirty(e)}isFieldValidating(e){return this.query.isFieldValidating(e)}subscribe(e){return this.subscriptions.subscribe(e)}subscribeSelector(e,t,i){let r=_nullishCoalesce(_optionalChain([i, 'optionalAccess', _79 => _79.equalityFn]), () => (f));return this.subscriptions.subscribeSelector(e,t,i,r)}subscribePath(e,t,i){let r=[..._nullishCoalesce(_optionalChain([i, 'optionalAccess', _80 => _80.paths]), () => ([])),e];return this.subscribeSelector(s=>c(s.values,e),t,{...i,paths:r})}watch(e,t){return this.subscribePath(e,t,{equalityFn:m})}setField(e,t){this.setFieldWithMeta(e,t,{origin:"setField"})}setFieldWithMeta(e,t,i={origin:"setField"}){this.lifecycle.updateField(e,t,i)}blurField(e){this.internalSaveSnapshot(),this.state.touched[e]||this.internalUpdateState({touched:{...this.state.touched,[e]:!0}}),this.validation.trigger([e])}markFieldsTouched(e){if(e.length===0)return;let t={...this.state.touched};e.forEach(i=>t[i]=!0),this.internalUpdateState({touched:t})}replaceValues(e){this.lifecycle.replaceValues(e)}hydrate(e){this.lifecycle.hydrateValues(e)}rebase(e){this.lifecycle.rebaseValues(e)}setError(e,t){this.error.setError(e,t)}setErrors(e){this.error.setErrors(e)}setServerErrors(e){this.error.setServerErrors(e)}reset(){this.lifecycle.reset()}async submit(e){return this.lifecycle.submit(e)}registerMask(e,t){this.config.masks={...this.config.masks||{},[e]:t}}getDirtyValues(){return this.dirtyMg.buildDirtyValues(this.state.values)}async restorePersisted(){return this.effects.restorePersisted()}async forceSave(){await this.effects.savePersistedNow()}async clearPersisted(){await this.effects.clearPersisted()}pushItem(e,t){this.arrays.pushItem(e,t)}prependItem(e,t){this.arrays.prependItem(e,t)}insertItem(e,t,i){this.arrays.insertItem(e,t,i)}removeItem(e,t){this.arrays.removeItem(e,t)}swapItems(e,t,i){this.arrays.swapItems(e,t,i)}moveItem(e,t,i){this.arrays.moveItem(e,t,i)}get canUndo(){return this.history.canUndo}get canRedo(){return this.history.canRedo}undo(){let e=this.history.undo();if(e){let t=this.dirtyMg.rebuild(e,this.config.initialValues);this.internalUpdateState({values:e,isDirty:t}),this.validation.validate()}}redo(){let e=this.history.redo();if(e){let t=this.dirtyMg.rebuild(e,this.config.initialValues);this.internalUpdateState({values:e,isDirty:t}),this.validation.validate()}}getHistoryMetadata(){return this.history.getMetadata()}validate(e){return this.validation.validate(e)}emitBeforeValidate(e){return this.effects.beforeValidate(e)}emitAfterValidate(e){return this.effects.afterValidate(e)}emitBeforeSubmit(e){return this.effects.beforeSubmit(e)}emitAfterSubmit(e){return this.effects.afterSubmit(e)}emitFieldChange(e){this.effects.onFieldChange(e)}emitOperationalError(e){return this.effects.reportOperationalError(e)}hasValidationsInProgress(e){return this.validation.hasValidationsInProgress(e)}triggerValidation(e){this.validation.trigger(e)}getStepStatus(e){return this.scope.getStepStatus(e)}getStepErrors(e){return this.scope.getStepErrors(e)}updateDependencies(e,t){return this.depsMg.updateDependencies(e,t)}isFieldHidden(e){return this.depsMg.isHidden(e)}evaluateAllDependencies(e){this.depsMg.evaluateAll(e)}getHiddenFields(){return Array.from(this.depsMg.hiddenFields)}getRequiredErrors(e){return this.depsMg.getRequiredErrors(e)}clearFieldValidation(e){this.validation.clear(e)}handleFieldAsyncValidation(e,t){this.validation.handleAsync(e,t)}cancelAllValidations(){this.validation.cancelAll()}validateNow(e){return this.validation.validate(e)}updateDirtyForPath(e,t,i){return this.dirtyMg.updateForPath(e,t,i)}rebuildDirtyState(e,t){return this.dirtyMg.rebuild(e,t)}clearDirtyState(){this.dirtyMg.clear()}buildDirtyValues(e){return this.dirtyMg.buildDirtyValues(e)}resetHistory(e){this.history.reset(e)}internalUpdateState(e,t){let i=X({currentState:this.state,partialState:e,changedPaths:t,applyComputedValues:r=>this.computedMg.apply(r)});this.state=i.nextState,this.subscriptions.notify(this.state,i.changedPaths),this.effects.onStateUpdated(this.state,i.valuesChanged)}internalSaveSnapshot(){this.history.saveSnapshot(this.state.values)}applyPersistedValues(e){let t=h({...this.config.initialValues,...e});this.validation.cancelAll(),this.depsMg.evaluateAll(t);let i=this.dirtyMg.rebuild(t,this.config.initialValues);this.internalUpdateState({values:t,errors:{},touched:{},isValidating:{},isValid:!0,isDirty:i,isSubmitting:!1}),this.internalSaveSnapshot(),this.validation.validate()}cleanup(){this.subscriptions.destroy(),this.validation.cancelAll(),this.capabilities.clear(),this.effects.destroy()}};var L=Symbol.for("bit-form.store.engine");function ae(a){if(a instanceof S)return a;let e=a;return e[L]?e[L]:a}function ne(a={}){let e=new S(a),t={get config(){return e.config},getConfig:()=>e.getConfig(),getState:()=>e.getState(),subscribe:e.subscribe.bind(e),setField:e.setField.bind(e),blurField:e.blurField.bind(e),replaceValues:e.replaceValues.bind(e),hydrate:e.hydrate.bind(e),rebase:e.rebase.bind(e),setError:e.setError.bind(e),setErrors:e.setErrors.bind(e),setServerErrors:e.setServerErrors.bind(e),validate:e.validate.bind(e),reset:e.reset.bind(e),submit:e.submit.bind(e),registerMask:e.registerMask.bind(e),getDirtyValues:e.getDirtyValues.bind(e),restorePersisted:e.restorePersisted.bind(e),forceSave:e.forceSave.bind(e),clearPersisted:e.clearPersisted.bind(e),registerField:e.registerField.bind(e),unregisterField:e.unregisterField.bind(e),isHidden:e.isHidden.bind(e),isRequired:e.isRequired.bind(e),isFieldDirty:e.isFieldDirty.bind(e),isFieldValidating:e.isFieldValidating.bind(e),watch:e.watch.bind(e),pushItem:e.pushItem.bind(e),prependItem:e.prependItem.bind(e),insertItem:e.insertItem.bind(e),removeItem:e.removeItem.bind(e),moveItem:e.moveItem.bind(e),swapItems:e.swapItems.bind(e),getHistoryMetadata:e.getHistoryMetadata.bind(e),undo:e.undo.bind(e),redo:e.redo.bind(e),getStepStatus:e.getStepStatus.bind(e),getStepErrors:e.getStepErrors.bind(e),cleanup:e.cleanup.bind(e)};return Object.defineProperty(t,L,{value:e,enumerable:!1,configurable:!1,writable:!1}),t}exports.a = h; exports.b = b; exports.c = f; exports.d = m; exports.e = c; exports.f = p; exports.g = te; exports.h = G; exports.i = ie; exports.j = T; exports.k = S; exports.l = ae; exports.m = ne;
2
- //# sourceMappingURL=chunk-JO37BU2C.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var X={"#":/\d/,A:/[a-zA-Z]/,X:/[a-zA-Z0-9]/,H:/[0-9a-fA-F]/,U:/[A-Z]/,L:/[a-z]/,"*":/./},h= exports.a =(e,t)=>{if(e==null||e==="")return"";let s=String(e),p=s.startsWith("-"),n=t?t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"):"",c=new RegExp(`[^a-zA-Z0-9${n}]`,"g"),m=s.replace(c,"");return p&&m&&!m.startsWith("-")?`-${m}`:m},te= exports.b =(e,t=2)=>{if(typeof e=="number")return e;if(!e)return 0;let s=String(e),p=s.includes("-"),n=s.replace(/\D/g,"");if(!n)return 0;let c=parseInt(n,10)/Math.pow(10,t);return p?-c:c},a= exports.c =(e,t)=>{let s=o=>o.split("").filter(r=>X[r]).length,n=[...Array.isArray(e)?e:[e]].sort((o,r)=>s(o)-s(r)),c=o=>{let r=n[n.length-1];for(let i of n)if(o<=s(i)){r=i;break}return r},m=o=>{let r=h(o,_optionalChain([t, 'optionalAccess', _2 => _2.allowChars]));if(!r&&!_optionalChain([t, 'optionalAccess', _3 => _3.guide]))return"";let i=c(r.length),k=_optionalChain([t, 'optionalAccess', _4 => _4.guide])||!1,g=_optionalChain([t, 'optionalAccess', _5 => _5.placeholderChar])||"_",u="",H=0;for(let d=0;d<i.length;d++){let x=i[d],C=X[x];if(H<r.length){let f=r[H];if(C)if(x==="U"&&(f=f.toUpperCase()),x==="L"&&(f=f.toLowerCase()),C.test(f))u+=f,H++;else if(k)u+=g;else break;else u+=x,f===x&&H++}else if(k)u+=C?g:x;else break}return u};return{format:m,parse:o=>{if(_optionalChain([t, 'optionalAccess', _6 => _6.customParse]))return t.customParse(o);let r=m(o);if(_optionalChain([t, 'optionalAccess', _7 => _7.saveRaw])){if(_optionalChain([t, 'optionalAccess', _8 => _8.guide])){let k=(t.placeholderChar||"_").replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),g=new RegExp(k,"g");return r.replace(g,"")}return r}return h(r,_optionalChain([t, 'optionalAccess', _9 => _9.allowChars]))}}},l= exports.d =({prefix:e="",suffix:t="",thousand:s,decimal:p,precision:n=2,allowNegative:c=!0,saveRaw:m=!1})=>{let o=r=>{if(r==null||r==="")return"";let i="";if(typeof r=="number"?i=Math.abs(r).toFixed(n).replace(/\D/g,""):i=String(r).replace(/\D/g,""),!i&&String(r).includes("-")&&c)return"-";if(!i)return"";i=i.padStart(n+1,"0");let k=n>0?i.slice(0,-n).replace(/^0+(?=\d)/,"")||"0":i.replace(/^0+(?=\d)/,"")||"0",g=n>0?i.slice(-n):"",u=k.replace(/\B(?=(\d{3})+(?!\d))/g,s),d=(typeof r=="number"?r<0:String(r).includes("-"))&&c?"-":"";return n===0?`${d}${e}${u}${t}`:`${d}${e}${u}${p}${g}${t}`};return{format:o,parse:r=>{let i=te(r,n),k=c?i:Math.abs(i);return m?o(k):k}}},$= exports.e =e=>{let t=s=>/^3[47]/.test(s)?"#### ###### #####":/^3(?:0[0-5]|[68])/.test(s)?"#### ###### ####":"#### #### #### ####";return{format:s=>{let p=h(s,_optionalChain([e, 'optionalAccess', _10 => _10.allowChars])),n=t(p);return a(n,e).format(s)},parse:s=>{let p=h(s,_optionalChain([e, 'optionalAccess', _11 => _11.allowChars])),n=t(p);return a(n,e).parse(s)}}},M= exports.f =e=>{let s=(_optionalChain([e, 'optionalAccess', _12 => _12.format])||"DD/MM/YYYY")==="YYYY-MM-DD",p=a(s?"####-##-##":"##/##/####",e);return{format:n=>{let c=h(n);if(!c)return"";let m="",o="",r="";if(s?(r=c.substring(0,4),o=c.substring(4,6),m=c.substring(6,8)):(m=c.substring(0,2),o=c.substring(2,4),r=c.substring(4,8)),m.length===2){let k=parseInt(m,10);k>31&&(m="31"),k===0&&(m="01")}if(o.length===2){let k=parseInt(o,10);k>12&&(o="12"),k===0&&(o="01")}let i=s?`${r}${o}${m}`:`${m}${o}${r}`;return p.format(i)},parse:n=>p.parse(n)}};var y=l({prefix:"R$ ",thousand:".",decimal:",",precision:2}),D= exports.h =l({prefix:"$",thousand:",",decimal:".",precision:2}),S= exports.i =l({suffix:" \u20AC",thousand:".",decimal:",",precision:2}),b= exports.j =l({prefix:"\xA3",thousand:",",decimal:".",precision:2}),B= exports.k =l({prefix:"\xA5",thousand:",",decimal:".",precision:0}),I= exports.l =l({suffix:"%",thousand:".",decimal:",",precision:1}),Y= exports.m =l({thousand:".",decimal:",",precision:2}),P= exports.n =l({thousand:".",decimal:",",precision:0}),A= exports.o =a("###.###.###-##"),R= exports.p =a("##.###.###/####-##"),U= exports.q =a(["(##) ####-####","(##) #####-####"]),N= exports.r =a("(##) ####-####"),V= exports.s =a("#####-###"),w= exports.t =M({format:"DD/MM/YYYY",guide:!0,customParse:e=>{let t=e.replace(/_/g,""),s=t.split("/");return s.length===3&&s[2].length===4?`${s[2]}-${s[1]}-${s[0]}`:t.replace(/\D/g,"")}}),Z= exports.u =a("##:##"),L= exports.v =a("###########"),z= exports.w =a("##.###.###-X"),E= exports.x =a(["###.###.###-##","##.###.###/####-##"]),F= exports.y ={format(e){let t=String(_nullishCoalesce(e, () => (""))).replace(/[^a-zA-Z0-9]/g,"").toUpperCase().slice(0,7);if(t.length===0)return"";let s=t.slice(0,3),p=t.slice(3);return p.length===0?s:p.length>=2&&/[A-Z]/.test(p[1])?`${s}${p}`:`${s}-${p}`},parse(e){return String(_nullishCoalesce(e, () => (""))).replace(/[^a-zA-Z0-9]/g,"").toUpperCase().slice(0,7)}},O= exports.z =a("(###) ###-####"),J= exports.A =a("#####-####"),T= exports.B =a("##/##/####"),G= exports.C =a("###-##-####"),j= exports.D =$(),_= exports.E =a("####"),W= exports.F =M({format:"YYYY-MM-DD",saveRaw:!0,guide:!0}),q= exports.G =a("HH:HH:HH:HH:HH:HH"),K= exports.H =a("#HHHHHH"),Q= exports.I =a("###.###.###.###"),v= exports.J =a("HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH"),ee= exports.K =a("UU## XXXX XXXX XXXX XXXX XXXX XXXX XXXX XX",{allowChars:" "});var ae=(e,t)=>e==null||e===""?"":t?t.format(e):String(e),oe= exports.M =(e,t)=>t?t.parse(String(_nullishCoalesce(e, () => ("")))):e;var ce={brl:y,usd:D,eur:S,gbp:b,jpy:B,percent:I,decimal:Y,int:P,integer:P,cpf:A,cnpj:R,cpfCnpj:E,rg:z,cep:V,cnh:L,plate:F,phone:U,landline:N,date:w,time:Z,usPhone:O,zipCode:J,dateUS:T,ssn:G,cc:j,cvv:_,dateISO:W,ip:Q,ipv6:v,mac:q,color:K,iban:ee};exports.a = h; exports.b = te; exports.c = a; exports.d = l; exports.e = $; exports.f = M; exports.g = y; exports.h = D; exports.i = S; exports.j = b; exports.k = B; exports.l = I; exports.m = Y; exports.n = P; exports.o = A; exports.p = R; exports.q = U; exports.r = N; exports.s = V; exports.t = w; exports.u = Z; exports.v = L; exports.w = z; exports.x = E; exports.y = F; exports.z = O; exports.A = J; exports.B = T; exports.C = G; exports.D = j; exports.E = _; exports.F = W; exports.G = q; exports.H = K; exports.I = Q; exports.J = v; exports.K = ee; exports.L = ae; exports.M = oe; exports.N = ce;
2
- //# sourceMappingURL=chunk-PA6T2CBR.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkNNKZFXEKcjs = require('./chunk-NNKZFXEK.cjs');var _chunkJO37BU2Ccjs = require('./chunk-JO37BU2C.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var A=_react.createContext.call(void 0, null),at= exports.a =({store:t,children:e})=>_jsxruntime.jsx.call(void 0, A.Provider,{value:_chunkJO37BU2Ccjs.l.call(void 0, t),children:e}),b= exports.b =()=>{let t=_react.useContext.call(void 0, A);if(!t)throw new Error("BitForm hooks devem ser usados dentro de um BitFormProvider");return t};function St(){let t=b(),[e,s]=_react.useState.call(void 0, null),[m,o]=_react.useState.call(void 0, null),n=_react.useRef.call(void 0, null),u=_react.useCallback.call(void 0, ()=>{let g=t.getState(),y={isValid:g.isValid,isDirty:g.isDirty,isSubmitting:g.isSubmitting};return n.current&&n.current.isValid===y.isValid&&n.current.isDirty===y.isDirty&&n.current.isSubmitting===y.isSubmitting?n.current:(n.current=y,y)},[t]),c=_react.useCallback.call(void 0, g=>t.subscribeSelector(y=>({isValid:y.isValid,isDirty:y.isDirty,isSubmitting:y.isSubmitting}),()=>g()),[t]),i=_react.useSyncExternalStore.call(void 0, c,u,u),r=_react.useMemo.call(void 0, ()=>_chunkNNKZFXEKcjs.a.call(void 0, t,{clearSubmissionState:()=>{s(null),o(null)},setSubmissionResult:g=>{o(g)},setSubmissionError:g=>{s(g)}}),[t]),a=_react.useCallback.call(void 0, r.submit,[r]),l=_react.useCallback.call(void 0, r.onSubmit,[r]),d=_react.useCallback.call(void 0, r.reset,[r]),F=_react.useCallback.call(void 0, r.getValues,[r]),v=_react.useCallback.call(void 0, r.getErrors,[r]),S=_react.useCallback.call(void 0, r.getTouched,[r]),f=_react.useCallback.call(void 0, r.getDirtyValues,[r]);return{meta:_react.useMemo.call(void 0, ()=>({...i,submitError:e,lastResponse:m}),[i,e,m]),getValues:F,getErrors:v,getTouched:S,getDirtyValues:f,submit:a,onSubmit:l,reset:d,setField:t.setField.bind(t),blurField:t.blurField.bind(t),replaceValues:t.replaceValues.bind(t),hydrate:t.hydrate.bind(t),rebase:t.rebase.bind(t),setError:t.setError.bind(t),setErrors:t.setErrors.bind(t),setServerErrors:t.setServerErrors.bind(t),validate:t.validate.bind(t)}}var B=()=>Math.random().toString(36).substring(2,9);function Ft(t){let e=b(),s=_react.useCallback.call(void 0, ()=>{let r=e.getState(),a=_chunkJO37BU2Ccjs.e.call(void 0, r.values,t);return Array.isArray(a)?a:[]},[e,t]),m=_react.useCallback.call(void 0, r=>e.subscribePath(t,()=>r()),[e,t]),o=_react.useSyncExternalStore.call(void 0, m,s,s),[n,u]=_react.useState.call(void 0, ()=>o.map(B));_react.useEffect.call(void 0, ()=>{o.length!==n.length&&u(r=>{if(o.length>r.length){let a=o.length-r.length;return[...r,...Array(a).fill(null).map(B)]}return r.slice(0,o.length)})},[o.length]);let c=_react.useMemo.call(void 0, ()=>({append:r=>{u(a=>[...a,B()]),e.pushItem(t,r)},prepend:r=>{u(a=>[B(),...a]),e.prependItem(t,r)},insert:(r,a)=>{u(l=>{let d=[...l];return d.splice(r,0,B()),d}),e.insertItem(t,r,a)},remove:r=>{u(a=>a.filter((l,d)=>d!==r)),e.removeItem(t,r)},move:(r,a)=>{u(l=>{let d=[...l],[F]=d.splice(r,1);return d.splice(a,0,F),d}),e.moveItem(t,r,a)},swap:(r,a)=>{u(l=>{let d=[...l];return[d[r],d[a]]=[d[a],d[r]],d}),e.swapItems(t,r,a)},replace:r=>{u(r.map(B)),e.setField(t,r)},clear:()=>{u([]),e.setField(t,[])}}),[e,t]);return{fields:_react.useMemo.call(void 0, ()=>o.map((r,a)=>({key:n[a]||`temp-${a}`,value:r,index:a})),[o,n]),length:o.length,...c}}function Tt(t){let e=b(),s=_react.useRef.call(void 0, null),m=_react.useCallback.call(void 0, ()=>{let c=e.getStepStatus(t);return s.current&&s.current.hasErrors===c.hasErrors&&s.current.isDirty===c.isDirty&&Object.keys(s.current.errors).length===Object.keys(c.errors).length&&Object.entries(c.errors).every(([i,r])=>s.current.errors[i]===r)?s.current:(s.current=c,c)},[e,t]),o=_react.useSyncExternalStore.call(void 0, e.subscribe.bind(e),m,m),n=_react.useCallback.call(void 0, async()=>{let c=await e.validate({scope:t}),i=e.getStepErrors(t);return{valid:c,errors:i}},[e,t]),u=_react.useCallback.call(void 0, ()=>e.getStepErrors(t),[e,t]);return{scopeName:t,status:o,errors:o.errors,validate:n,getErrors:u,isValid:!o.hasErrors,isDirty:o.isDirty}}function Dt(t){let e=b(),[s,m]=_react.useState.call(void 0, 0),o=_nullishCoalesce(t[s], () => ("")),n=_react.useRef.call(void 0, null),u=_react.useCallback.call(void 0, ()=>{let S=e.getStepStatus(o);return n.current&&n.current.hasErrors===S.hasErrors&&n.current.isDirty===S.isDirty&&Object.keys(n.current.errors).length===Object.keys(S.errors).length&&Object.entries(S.errors).every(([f,h])=>n.current.errors[f]===h)?n.current:(n.current=S,S)},[e,o]),c=_react.useSyncExternalStore.call(void 0, e.subscribe.bind(e),u,u),i=_react.useCallback.call(void 0, async()=>{let S=await e.validate({scope:o}),f=e.getStepErrors(o);return{valid:S,errors:f}},[e,o]),r=_react.useCallback.call(void 0, ()=>e.getStepErrors(o),[e,o]),a=_react.useCallback.call(void 0, async()=>{let S=e.getScopeFields(o);if(e.hasValidationsInProgress(S))return!1;let f=await e.validate({scope:o});if(f)m(h=>Math.min(h+1,t.length-1));else{let h=e.getStepErrors(o),g=Object.keys(h);g.length>0&&e.markFieldsTouched(g)}return f},[e,o,t.length]),l=_react.useCallback.call(void 0, ()=>{m(S=>Math.max(S-1,0))},[]),d=_react.useCallback.call(void 0, S=>{m(Math.max(0,Math.min(S-1,t.length-1)))},[t.length]),F=s===0,v=s>=t.length-1;return{step:s+1,stepIndex:s,scope:o,next:a,prev:l,goTo:d,isFirst:F,isLast:v,status:c,errors:c.errors,isValid:!c.hasErrors,isDirty:c.isDirty,validate:i,getErrors:r}}function Ht(t){let e=b(),s=_react.useRef.call(void 0, null),m=_react.useCallback.call(void 0, ()=>{let n=_chunkJO37BU2Ccjs.e.call(void 0, e.getState().values,t);return s.current!==null&&_chunkJO37BU2Ccjs.d.call(void 0, s.current,n)?s.current:(s.current=n,n)},[e,t]),o=_react.useCallback.call(void 0, n=>e.subscribe(n),[e]);return _react.useSyncExternalStore.call(void 0, o,m,m)}function Lt(){let t=b(),[e,s]=_react.useState.call(void 0, !1),[m,o]=_react.useState.call(void 0, !1),[n,u]=_react.useState.call(void 0, null),c=_react.useCallback.call(void 0, async()=>{o(!0),u(null);try{return await t.restorePersisted()}catch(l){return u(l instanceof Error?l:new Error(String(l))),!1}finally{o(!1)}},[t]),i=_react.useCallback.call(void 0, async()=>{s(!0),u(null);try{await t.forceSave()}catch(l){u(l instanceof Error?l:new Error(String(l)))}finally{s(!1)}},[t]),r=_react.useCallback.call(void 0, async()=>{u(null);try{await t.clearPersisted()}catch(l){u(l instanceof Error?l:new Error(String(l)))}},[t]),a=_react.useMemo.call(void 0, ()=>({isSaving:e,isRestoring:m,error:n}),[e,m,n]);return{restore:c,save:i,clear:r,meta:a}}function Gt(t){let e=b(),s=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>()=>{e.unregisterField&&e.unregisterField(t)},[e,t]);let m=_react.useCallback.call(void 0, ()=>{let i=e.getFieldState(t);if(s.current&&s.current.value===i.value&&s.current.error===i.error&&s.current.touched===i.touched&&s.current.isHidden===i.isHidden&&s.current.isRequired===i.isRequired&&s.current.isDirty===i.isDirty&&s.current.isValidating===i.isValidating)return s.current;let r={value:i.value,error:i.error,touched:i.touched,isHidden:i.isHidden,isRequired:i.isRequired,isDirty:i.isDirty,isValidating:i.isValidating};return s.current=r,r},[e,t]),o=_react.useCallback.call(void 0, i=>_chunkNNKZFXEKcjs.b.call(void 0, e,t,()=>i()),[e,t]),n=_react.useSyncExternalStore.call(void 0, o,m,m),u=_react.useCallback.call(void 0, i=>e.setField(t,i),[e,t]),c=_react.useCallback.call(void 0, ()=>e.blurField(t),[e,t]);return{fieldState:n,setValue:u,setBlur:c,store:e}}exports.a = at; exports.b = b; exports.c = St; exports.d = Gt; exports.e = Ft; exports.f = Tt; exports.g = Dt; exports.h = Ht; exports.i = Lt;
2
- //# sourceMappingURL=chunk-T3XN5O7V.cjs.map