@lehnihon/bit-form 2.2.3 → 2.2.5

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 (137) 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 +7 -5
  4. package/dist/angular/index.d.ts +7 -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-B4zZmB9C.d.ts} +23 -10
  8. package/dist/{bus-CILR-ENq.d.cts → bus-BeAeZwWu.d.cts} +23 -10
  9. package/dist/chunk-2FDEJYA5.js +2 -0
  10. package/dist/chunk-2FDEJYA5.js.map +1 -0
  11. package/dist/chunk-3CARTBEN.cjs +2 -0
  12. package/dist/chunk-3CARTBEN.cjs.map +1 -0
  13. package/dist/chunk-3NUJVIAM.js +2 -0
  14. package/dist/chunk-3NUJVIAM.js.map +1 -0
  15. package/dist/chunk-64KSP4TP.js +2 -0
  16. package/dist/chunk-64KSP4TP.js.map +1 -0
  17. package/dist/chunk-77PK7U73.cjs +2 -0
  18. package/dist/chunk-77PK7U73.cjs.map +1 -0
  19. package/dist/chunk-CTURHI75.cjs +2 -0
  20. package/dist/chunk-CTURHI75.cjs.map +1 -0
  21. package/dist/chunk-DD6XWUMR.cjs +2 -0
  22. package/dist/chunk-DD6XWUMR.cjs.map +1 -0
  23. package/dist/chunk-FGJB4DHQ.js +2 -0
  24. package/dist/chunk-FGJB4DHQ.js.map +1 -0
  25. package/dist/chunk-FQLJOSF7.js +1 -0
  26. package/dist/chunk-FQLJOSF7.js.map +1 -0
  27. package/dist/chunk-GDRNKTHO.js +2 -0
  28. package/dist/chunk-GDRNKTHO.js.map +1 -0
  29. package/dist/chunk-GUU6EXFN.js +2 -0
  30. package/dist/chunk-GUU6EXFN.js.map +1 -0
  31. package/dist/chunk-JIWR4KSZ.cjs +2 -0
  32. package/dist/chunk-JIWR4KSZ.cjs.map +1 -0
  33. package/dist/chunk-M2XR4C7T.js +2 -0
  34. package/dist/chunk-M2XR4C7T.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-OZKLQRO6.cjs +2 -0
  38. package/dist/chunk-OZKLQRO6.cjs.map +1 -0
  39. package/dist/chunk-PFPGASVZ.cjs +2 -0
  40. package/dist/chunk-PFPGASVZ.cjs.map +1 -0
  41. package/dist/chunk-QWH2NBVB.js +2 -0
  42. package/dist/chunk-QWH2NBVB.js.map +1 -0
  43. package/dist/chunk-UMKOKAPD.js +2 -0
  44. package/dist/chunk-UMKOKAPD.js.map +1 -0
  45. package/dist/chunk-UT63HKR6.cjs +2 -0
  46. package/dist/chunk-UT63HKR6.cjs.map +1 -0
  47. package/dist/chunk-VQ7MK5VB.cjs +2 -0
  48. package/dist/chunk-VQ7MK5VB.cjs.map +1 -0
  49. package/dist/devtools/bridge.cjs +1 -1
  50. package/dist/devtools/bridge.cjs.map +1 -1
  51. package/dist/devtools/bridge.js +1 -1
  52. package/dist/devtools/bridge.js.map +1 -1
  53. package/dist/devtools/index.cjs +2 -2
  54. package/dist/devtools/index.cjs.map +1 -1
  55. package/dist/devtools/index.js +1 -1
  56. package/dist/devtools/index.js.map +1 -1
  57. package/dist/field-binding-BXw0Ku2c.d.cts +12 -0
  58. package/dist/field-binding-BXw0Ku2c.d.ts +12 -0
  59. package/dist/index.cjs +1 -1
  60. package/dist/index.cjs.map +1 -1
  61. package/dist/index.d.cts +37 -58
  62. package/dist/index.d.ts +37 -58
  63. package/dist/index.js +1 -1
  64. package/dist/mask.cjs +1 -1
  65. package/dist/mask.cjs.map +1 -1
  66. package/dist/mask.js +1 -1
  67. package/dist/mask.js.map +1 -1
  68. package/dist/{public-types-SU17BarA.d.cts → public-types-BQXaxmAE.d.cts} +9 -9
  69. package/dist/{public-types-Bgws0aVJ.d.ts → public-types-CVgFf_qY.d.ts} +9 -9
  70. package/dist/react/index.cjs +1 -1
  71. package/dist/react/index.cjs.map +1 -1
  72. package/dist/react/index.d.cts +7 -6
  73. package/dist/react/index.d.ts +7 -6
  74. package/dist/react/index.js +1 -1
  75. package/dist/react/index.js.map +1 -1
  76. package/dist/react-native/index.cjs +1 -1
  77. package/dist/react-native/index.d.cts +5 -4
  78. package/dist/react-native/index.d.ts +5 -4
  79. package/dist/react-native/index.js +1 -1
  80. package/dist/resolvers/index.cjs +2 -0
  81. package/dist/resolvers/index.cjs.map +1 -0
  82. package/dist/resolvers/index.d.cts +9 -0
  83. package/dist/resolvers/index.d.ts +9 -0
  84. package/dist/resolvers/index.js +2 -0
  85. package/dist/resolvers/index.js.map +1 -0
  86. package/dist/resolvers/joi.cjs +1 -1
  87. package/dist/resolvers/joi.cjs.map +1 -1
  88. package/dist/resolvers/joi.d.cts +1 -1
  89. package/dist/resolvers/joi.d.ts +1 -1
  90. package/dist/resolvers/joi.js +1 -1
  91. package/dist/resolvers/joi.js.map +1 -1
  92. package/dist/resolvers/types.cjs +2 -1
  93. package/dist/resolvers/types.cjs.map +1 -1
  94. package/dist/resolvers/types.js +1 -0
  95. package/dist/resolvers/yup.cjs +1 -1
  96. package/dist/resolvers/yup.cjs.map +1 -1
  97. package/dist/resolvers/yup.d.cts +1 -1
  98. package/dist/resolvers/yup.d.ts +1 -1
  99. package/dist/resolvers/yup.js +1 -1
  100. package/dist/resolvers/yup.js.map +1 -1
  101. package/dist/resolvers/zod.cjs +1 -1
  102. package/dist/resolvers/zod.cjs.map +1 -1
  103. package/dist/resolvers/zod.d.cts +1 -1
  104. package/dist/resolvers/zod.d.ts +1 -1
  105. package/dist/resolvers/zod.js +1 -1
  106. package/dist/resolvers/zod.js.map +1 -1
  107. package/dist/{types-C2mpfhp1.d.cts → upload-EXnJLq8k.d.cts} +1 -1
  108. package/dist/{types-C2mpfhp1.d.ts → upload-EXnJLq8k.d.ts} +1 -1
  109. package/dist/{use-bit-persist-BlR-hHk6.d.ts → use-bit-persist-CIVN-oIi.d.cts} +8 -6
  110. package/dist/{use-bit-persist-DEWMhvit.d.cts → use-bit-persist-iPWLbD8l.d.ts} +8 -6
  111. package/dist/vue/index.cjs +1 -1
  112. package/dist/vue/index.cjs.map +1 -1
  113. package/dist/vue/index.d.cts +4 -3
  114. package/dist/vue/index.d.ts +4 -3
  115. package/dist/vue/index.js +1 -1
  116. package/dist/vue/index.js.map +1 -1
  117. package/package.json +25 -1
  118. package/dist/chunk-3MUULXXZ.js +0 -2
  119. package/dist/chunk-3MUULXXZ.js.map +0 -1
  120. package/dist/chunk-7MBRAKBL.js +0 -2
  121. package/dist/chunk-7MBRAKBL.js.map +0 -1
  122. package/dist/chunk-ER2DNS7T.cjs +0 -2
  123. package/dist/chunk-ER2DNS7T.cjs.map +0 -1
  124. package/dist/chunk-FEW3ABPD.js +0 -2
  125. package/dist/chunk-FEW3ABPD.js.map +0 -1
  126. package/dist/chunk-JO37BU2C.cjs +0 -2
  127. package/dist/chunk-JO37BU2C.cjs.map +0 -1
  128. package/dist/chunk-NNKZFXEK.cjs +0 -2
  129. package/dist/chunk-NNKZFXEK.cjs.map +0 -1
  130. package/dist/chunk-PA6T2CBR.cjs +0 -2
  131. package/dist/chunk-PA6T2CBR.cjs.map +0 -1
  132. package/dist/chunk-T3XN5O7V.cjs +0 -2
  133. package/dist/chunk-T3XN5O7V.cjs.map +0 -1
  134. package/dist/chunk-ULC4OPIQ.js +0 -2
  135. package/dist/chunk-ULC4OPIQ.js.map +0 -1
  136. package/dist/chunk-VDWCFNA6.js +0 -2
  137. package/dist/chunk-VDWCFNA6.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{a as k,b as p,c as T,d as g,e as H,f as I,g as z,h as C,i as D}from"../chunk-3MUULXXZ.js";import"../chunk-FEW3ABPD.js";import"../chunk-ULC4OPIQ.js";import{L as R,M as S}from"../chunk-VDWCFNA6.js";import{useMemo as V,useCallback as f}from"react";function y(e){let{fieldState:t,setValue:a,setBlur:o,store:r}=g(e),i=V(()=>r.resolveMask(e),[r.config.masks,r.config.fields,e]),s=V(()=>R(t.value,i??void 0),[t.value,i]),u=f(c=>a(S(c,i??void 0)),[i,a]),{isHidden:m,isRequired:B,value:l,error:n,touched:d,isDirty:b,isValidating:h}=t,M=!!(d&&n),E=d?n:void 0,x=f(c=>{let P=c?.target?c.target.value:c;u(P)},[u]),F=f(()=>{o()},[o]);return{value:l,displayValue:s,setValue:u,setBlur:o,onChange:x,onBlur:F,props:{value:s,onChange:x,onBlur:F},meta:{error:E,touched:d,invalid:M,isDirty:b,isValidating:h,isHidden:m,isRequired:B,hasError:!!n}}}import{useCallback as U,useRef as w,useSyncExternalStore as j}from"react";function K(){let e=p(),t=w(null),a=U(()=>{let s=e.getHistoryMetadata();if(t.current&&t.current.canUndo===s.canUndo&&t.current.canRedo===s.canRedo&&t.current.historyIndex===s.historyIndex&&t.current.historySize===s.historySize)return t.current;let u={canUndo:s.canUndo,canRedo:s.canRedo,historyIndex:s.historyIndex,historySize:s.historySize};return t.current=u,u},[e]),o=j(e.subscribe.bind(e),a,a),r=U(()=>{e.undo()},[e]),i=U(()=>{e.redo()},[e]);return{...o,undo:r,redo:i}}import{useCallback as v,useRef as q,useState as A}from"react";function W(e,t,a){let o=p(),r=y(e),i=q(null),[s,u]=A(!1),m=v(async l=>{if(l){u(!0),o.setError(e,void 0);try{let n=await t(l);r.setValue(n.url),i.current=n.key,o.setError(e,void 0)}catch(n){let d=n instanceof Error?n.message:"Upload failed";o.setError(e,d)}finally{u(!1)}}},[t,r,e,o]),B=v(async()=>{let l=i.current;if(l&&a)try{await a(l)}catch(n){let d=n instanceof Error?n.message:"Delete failed";o.setError(e,d);return}r.setValue(null),i.current=null,o.setError(e,void 0)},[a,r,e,o]);return{value:r.value,setValue:r.setValue,error:r.meta?.error,isValidating:!!r.meta?.isValidating||s,upload:m,remove:B}}export{k as BitFormProvider,H as useBitArray,y as useBitField,T as useBitForm,K as useBitHistory,D as useBitPersist,I as useBitScope,z as useBitSteps,p as useBitStore,W as useBitUpload,C as useBitWatch};
1
+ import{a as C,b as m,c as j,d as V,e as D,f as K,g as q,h as z,i as w}from"../chunk-UMKOKAPD.js";import{a as P,b as S,c as b}from"../chunk-QWH2NBVB.js";import"../chunk-2FDEJYA5.js";import"../chunk-64KSP4TP.js";import{a as g,b as v,c as R}from"../chunk-3NUJVIAM.js";import{useMemo as M,useCallback as y}from"react";function U(e){let{fieldState:o,setValue:a,setBlur:s,store:t}=V(e),i=M(()=>t.resolveMask(e),[t.config.masks,t.config.fields,e]),u=M(()=>v(o.value,i??void 0),[o.value,i]),r=y(p=>a(R(p,i??void 0)),[i,a]),{isHidden:l,isRequired:B,value:f,error:n,touched:d,isDirty:h,isValidating:T}=o,k=!!(d&&n),E=d?n:void 0,F=y(p=>{let I=g(p)?p.target?.value:p;r(I)},[r]),x=y(()=>{s()},[s]);return{value:f,displayValue:u,setValue:r,setBlur:s,onChange:F,onBlur:x,props:{value:u,onChange:F,onBlur:x},meta:{error:E,touched:d,invalid:k,isDirty:h,isValidating:T,isHidden:l,isRequired:B,hasError:!!n}}}import{useCallback as c,useRef as A,useSyncExternalStore as L}from"react";function O(){let e=m(),o=A(null),a=c(()=>{let r=e.getHistoryMetadata();if(o.current&&P(o.current,r))return o.current;let l={canUndo:r.canUndo,canRedo:r.canRedo,historyIndex:r.historyIndex,historySize:r.historySize};return o.current=l,l},[e]),s=c(r=>e.subscribe(r),[e]),t=L(s,a,a),i=c(()=>{e.undo()},[e]),u=c(()=>{e.redo()},[e]);return{...t,undo:i,redo:u}}import{useCallback as H,useRef as W,useState as G}from"react";function J(e,o,a){let s=m(),t=U(e),i=W(null),[u,r]=G(!1),l={setLoading:r,setError:(n,d)=>s.setError(n,d),setValue:n=>t.setValue(n),getUploadKey:()=>i.current,setUploadKey:n=>{i.current=n}},B=H(S(e,o,l),[o,t,e,s]),f=H(b(e,a,l),[a,t,e,s]);return{value:t.value,setValue:t.setValue,error:t.meta?.error,isValidating:!!t.meta?.isValidating||u,upload:B,remove:f}}export{C as BitFormProvider,D as useBitArray,U as useBitField,j as useBitForm,O as useBitHistory,w as useBitPersist,K as useBitScope,q as useBitSteps,m as useBitStore,J as useBitUpload,z as useBitWatch};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\nimport { BitPath, BitPathValue } from \"../core\";\nimport {\n formatMaskedValue,\n parseMaskedInput,\n} from \"../core/mask/field-binding\";\nimport type {\n UseBitFieldMeta,\n UseBitFieldBindProps,\n UseBitFieldResult,\n} from \"./types\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldResult<TForm, P> {\n const {\n fieldState,\n setValue: rawSetValue,\n setBlur,\n store,\n } = useBitFieldBase<BitPathValue<TForm, P>, TForm, P>(path);\n\n const resolvedMask = useMemo(() => {\n return store.resolveMask(path as string);\n }, [store.config.masks, store.config.fields, path]);\n\n const displayValue = useMemo(\n () => formatMaskedValue(fieldState.value, resolvedMask ?? undefined),\n [fieldState.value, resolvedMask],\n );\n\n const setValue = useCallback(\n (val: any) =>\n rawSetValue(parseMaskedInput(val, resolvedMask ?? undefined) as any),\n [resolvedMask, rawSetValue],\n );\n\n const { isHidden, isRequired, value, error, touched, isDirty, isValidating } =\n fieldState;\n\n const invalid = !!(touched && error);\n const visibleError = touched ? error : undefined;\n\n const onChange = useCallback(\n (e: any) => {\n const val = e?.target ? e.target.value : e;\n setValue(val);\n },\n [setValue],\n );\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n return {\n // Main handlers and values (flat)\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChange,\n onBlur,\n // Props helper\n props: {\n value: displayValue,\n onChange,\n onBlur,\n },\n // Metadata (grouped)\n meta: {\n error: visibleError,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError: !!error,\n },\n };\n}\n","import { useCallback, useRef, useSyncExternalStore } from \"react\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n const lastMeta = useRef<{\n canUndo: boolean;\n canRedo: boolean;\n historyIndex: number;\n historySize: number;\n } | null>(null);\n\n const getSnapshot = useCallback(() => {\n const nextMeta = store.getHistoryMetadata();\n\n if (\n lastMeta.current &&\n lastMeta.current.canUndo === nextMeta.canUndo &&\n lastMeta.current.canRedo === nextMeta.canRedo &&\n lastMeta.current.historyIndex === nextMeta.historyIndex &&\n lastMeta.current.historySize === nextMeta.historySize\n ) {\n return lastMeta.current;\n }\n\n const stableMeta = {\n canUndo: nextMeta.canUndo,\n canRedo: nextMeta.canRedo,\n historyIndex: nextMeta.historyIndex,\n historySize: nextMeta.historySize,\n };\n\n lastMeta.current = stableMeta;\n return stableMeta;\n }, [store]);\n\n const meta = useSyncExternalStore(\n store.subscribe.bind(store),\n getSnapshot,\n getSnapshot,\n );\n\n const undo = useCallback(() => {\n store.undo();\n }, [store]);\n\n const redo = useCallback(() => {\n store.redo();\n }, [store]);\n\n return {\n ...meta,\n undo,\n redo,\n };\n}\n","/**\n * React Hook for File Upload Integration\n *\n * Minimal upload API integrated with global field validation lifecycle.\n *\n * @example\n * ```typescript\n * const avatar = useBitUpload(\"avatar\", uploadFn);\n *\n * return (\n * <>\n * <input\n * type=\"file\"\n * onChange={(e) => avatar.upload(e.target.files?.[0])}\n * disabled={avatar.isValidating}\n * />\n * {avatar.error && <Error>{avatar.error}</Error>}\n * </>\n * );\n * ```\n */\n\nimport { useCallback, useRef, useState } from \"react\";\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 const uploadKeyRef = useRef<string | null>(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const upload = useCallback(\n async (file: File | null | undefined) => {\n if (!file) return;\n\n setIsUploading(true);\n store.setError(fieldPath, undefined);\n\n try {\n const result = await uploadFn(file);\n\n field.setValue(result.url);\n uploadKeyRef.current = result.key;\n store.setError(fieldPath, undefined);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : \"Upload failed\";\n store.setError(fieldPath, message);\n } finally {\n setIsUploading(false);\n }\n },\n [uploadFn, field, fieldPath, store],\n );\n\n const remove = useCallback(async () => {\n const uploadKey = uploadKeyRef.current;\n\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 uploadKeyRef.current = null;\n store.setError(fieldPath, undefined);\n }, [deleteFile, field, fieldPath, store]);\n\n return {\n value: field.value,\n setValue: field.setValue,\n error: field.meta?.error,\n isValidating: !!field.meta?.isValidating || isUploading,\n upload,\n remove,\n };\n}\n"],"mappings":"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","names":["useMemo","useCallback","useBitField","path","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","displayValue","formatMaskedValue","setValue","useCallback","val","parseMaskedInput","isHidden","isRequired","value","error","touched","isDirty","isValidating","invalid","visibleError","onChange","e","onBlur","useCallback","useRef","useSyncExternalStore","useBitHistory","store","useBitStore","lastMeta","useRef","getSnapshot","useCallback","nextMeta","stableMeta","meta","useSyncExternalStore","undo","redo","useCallback","useRef","useState","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","uploadKeyRef","useRef","isUploading","setIsUploading","useState","upload","useCallback","file","result","error","message","remove","uploadKey"]}
1
+ {"version":3,"sources":["../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\nimport { BitPath, BitPathValue } from \"../core\";\nimport {\n formatMaskedValue,\n parseMaskedInput,\n isBitFieldInputEventObject,\n} from \"../core/mask/field-binding\";\nimport type {\n BitFieldInputEvent,\n UseBitFieldMeta,\n UseBitFieldBindProps,\n UseBitFieldResult,\n} from \"./types\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldResult<TForm, P> {\n const {\n fieldState,\n setValue: rawSetValue,\n setBlur,\n store,\n } = useBitFieldBase<BitPathValue<TForm, P>, TForm, P>(path);\n\n const resolvedMask = useMemo(() => {\n return store.resolveMask(path as string);\n }, [store.config.masks, store.config.fields, path]);\n\n const displayValue = useMemo(\n () => formatMaskedValue(fieldState.value, resolvedMask ?? undefined),\n [fieldState.value, resolvedMask],\n );\n\n const setValue = useCallback(\n (val: BitPathValue<TForm, P> | string | number | null | undefined) =>\n rawSetValue(\n parseMaskedInput(val, resolvedMask ?? undefined) as BitPathValue<\n TForm,\n P\n >,\n ),\n [resolvedMask, rawSetValue],\n );\n\n const { isHidden, isRequired, value, error, touched, isDirty, isValidating } =\n fieldState;\n\n const invalid = !!(touched && error);\n const visibleError = touched ? error : undefined;\n\n const onChange = useCallback(\n (e: BitFieldInputEvent) => {\n const val = isBitFieldInputEventObject(e) ? e.target?.value : e;\n setValue(val);\n },\n [setValue],\n );\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n return {\n // Main handlers and values (flat)\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChange,\n onBlur,\n // Props helper\n props: {\n value: displayValue,\n onChange,\n onBlur,\n },\n // Metadata (grouped)\n meta: {\n error: visibleError,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError: !!error,\n },\n };\n}\n","import { useCallback, useRef, useSyncExternalStore } from \"react\";\nimport { isHistoryMetaEqual, type HistoryMeta } from \"../core/history-status\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n const lastMeta = useRef<HistoryMeta | null>(null);\n\n const getSnapshot = useCallback(() => {\n const nextMeta = store.getHistoryMetadata();\n\n if (lastMeta.current && isHistoryMetaEqual(lastMeta.current, nextMeta)) {\n return lastMeta.current;\n }\n\n const stableMeta = {\n canUndo: nextMeta.canUndo,\n canRedo: nextMeta.canRedo,\n historyIndex: nextMeta.historyIndex,\n historySize: nextMeta.historySize,\n };\n\n lastMeta.current = stableMeta;\n return stableMeta;\n }, [store]);\n\n const subscribe = useCallback(\n (cb: () => void) => store.subscribe(cb),\n [store],\n );\n\n const meta = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const undo = useCallback(() => {\n store.undo();\n }, [store]);\n\n const redo = useCallback(() => {\n store.redo();\n }, [store]);\n\n return {\n ...meta,\n undo,\n redo,\n };\n}\n","/**\n * React Hook for File Upload Integration\n *\n * Minimal upload API integrated with global field validation lifecycle.\n *\n * @example\n * ```typescript\n * const avatar = useBitUpload(\"avatar\", uploadFn);\n *\n * return (\n * <>\n * <input\n * type=\"file\"\n * onChange={(e) => avatar.upload(e.target.files?.[0])}\n * disabled={avatar.isValidating}\n * />\n * {avatar.error && <Error>{avatar.error}</Error>}\n * </>\n * );\n * ```\n */\n\nimport { useCallback, useRef, useState } from \"react\";\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 const uploadKeyRef = useRef<string | null>(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const kernelCallbacks = {\n setLoading: setIsUploading,\n setError: (path: string, msg: string | undefined) =>\n store.setError(path, msg),\n setValue: (val: string | null) => field.setValue(val as any),\n getUploadKey: () => uploadKeyRef.current,\n setUploadKey: (key: string | null) => {\n uploadKeyRef.current = key;\n },\n };\n\n const upload = useCallback(\n createUploadHandler(fieldPath, uploadFn, kernelCallbacks),\n [uploadFn, field, fieldPath, store],\n );\n\n const remove = useCallback(\n createRemoveHandler(fieldPath, deleteFile, kernelCallbacks),\n [deleteFile, field, fieldPath, store],\n );\n\n return {\n value: field.value,\n setValue: field.setValue,\n error: field.meta?.error,\n isValidating: !!field.meta?.isValidating || isUploading,\n upload,\n remove,\n };\n}\n"],"mappings":"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","names":["useMemo","useCallback","useBitField","path","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","displayValue","formatMaskedValue","setValue","useCallback","val","parseMaskedInput","isHidden","isRequired","value","error","touched","isDirty","isValidating","invalid","visibleError","onChange","e","isBitFieldInputEventObject","onBlur","useCallback","useRef","useSyncExternalStore","useBitHistory","store","useBitStore","lastMeta","useRef","getSnapshot","useCallback","nextMeta","isHistoryMetaEqual","stableMeta","subscribe","cb","meta","useSyncExternalStore","undo","redo","useCallback","useRef","useState","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","uploadKeyRef","useRef","isUploading","setIsUploading","useState","kernelCallbacks","path","msg","val","key","upload","useCallback","createUploadHandler","remove","createRemoveHandler"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkT3XN5O7Vcjs = require('../chunk-T3XN5O7V.cjs');require('../chunk-NNKZFXEK.cjs');require('../chunk-JO37BU2C.cjs');var _chunkPA6T2CBRcjs = require('../chunk-PA6T2CBR.cjs');var _react = require('react');function E(r){let{fieldState:o,setValue:t,setBlur:s,store:i}=_chunkT3XN5O7Vcjs.d.call(void 0, r),e=_react.useMemo.call(void 0, ()=>i.resolveMask(r),[i.config.masks,i.config.fields,r]),m=_react.useMemo.call(void 0, ()=>_chunkPA6T2CBRcjs.L.call(void 0, o.value,_nullishCoalesce(e, () => (void 0))),[o.value,e]),p=_react.useCallback.call(void 0, u=>t(_chunkPA6T2CBRcjs.M.call(void 0, u,_nullishCoalesce(e, () => (void 0)))),[e,t]),x=_react.useCallback.call(void 0, u=>t(_chunkPA6T2CBRcjs.M.call(void 0, u,_nullishCoalesce(e, () => (void 0)))),[e,t]),{isHidden:P,isRequired:v,value:y,error:a,touched:n,isDirty:h,isValidating:V}=o,T=!!(n&&a),g=n?a:void 0,B=_react.useCallback.call(void 0, ()=>{s()},[s]);return{value:y,displayValue:m,setValue:x,setBlur:s,onChangeText:p,onBlur:B,meta:{error:g,touched:n,invalid:T,isValidating:V,isDirty:h,isHidden:P,isRequired:v,hasError:!!a},props:{value:m,onChangeText:p,onBlur:B}}}exports.BitFormProvider = _chunkT3XN5O7Vcjs.a; exports.useBitArray = _chunkT3XN5O7Vcjs.e; exports.useBitField = E; exports.useBitForm = _chunkT3XN5O7Vcjs.c; exports.useBitPersist = _chunkT3XN5O7Vcjs.i; exports.useBitScope = _chunkT3XN5O7Vcjs.f; exports.useBitSteps = _chunkT3XN5O7Vcjs.g; exports.useBitStore = _chunkT3XN5O7Vcjs.b; exports.useBitWatch = _chunkT3XN5O7Vcjs.h;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunk3CARTBENcjs = require('../chunk-3CARTBEN.cjs');require('../chunk-JIWR4KSZ.cjs');require('../chunk-OZKLQRO6.cjs');var _chunkPFPGASVZcjs = require('../chunk-PFPGASVZ.cjs');var _react = require('react');function E(r){let{fieldState:o,setValue:t,setBlur:s,store:i}=_chunk3CARTBENcjs.d.call(void 0, r),e=_react.useMemo.call(void 0, ()=>i.resolveMask(r),[i.config.masks,i.config.fields,r]),m=_react.useMemo.call(void 0, ()=>_chunkPFPGASVZcjs.b.call(void 0, o.value,_nullishCoalesce(e, () => (void 0))),[o.value,e]),p=_react.useCallback.call(void 0, u=>t(_chunkPFPGASVZcjs.c.call(void 0, u,_nullishCoalesce(e, () => (void 0)))),[e,t]),x=_react.useCallback.call(void 0, u=>t(_chunkPFPGASVZcjs.c.call(void 0, u,_nullishCoalesce(e, () => (void 0)))),[e,t]),{isHidden:P,isRequired:v,value:y,error:a,touched:n,isDirty:h,isValidating:V}=o,T=!!(n&&a),g=n?a:void 0,B=_react.useCallback.call(void 0, ()=>{s()},[s]);return{value:y,displayValue:m,setValue:x,setBlur:s,onChangeText:p,onBlur:B,meta:{error:g,touched:n,invalid:T,isValidating:V,isDirty:h,isHidden:P,isRequired:v,hasError:!!a},props:{value:m,onChangeText:p,onBlur:B}}}exports.BitFormProvider = _chunk3CARTBENcjs.a; exports.useBitArray = _chunk3CARTBENcjs.e; exports.useBitField = E; exports.useBitForm = _chunk3CARTBENcjs.c; exports.useBitPersist = _chunk3CARTBENcjs.i; exports.useBitScope = _chunk3CARTBENcjs.f; exports.useBitSteps = _chunk3CARTBENcjs.g; exports.useBitStore = _chunk3CARTBENcjs.b; exports.useBitWatch = _chunk3CARTBENcjs.h;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,11 @@
1
- export { B as BitFormProvider, e as UseBitPersistResult, u as useBitArray, g as useBitForm, h as useBitPersist, i as useBitScope, j as useBitSteps, k as useBitStore, l as useBitWatch } from '../use-bit-persist-DEWMhvit.cjs';
2
- import { k as BitPath, m as BitPathValue } from '../bus-CILR-ENq.cjs';
3
- export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-CILR-ENq.cjs';
1
+ export { B as BitFormProvider, U as UseBitPersistResult, u as useBitArray, a as useBitForm, b as useBitPersist, c as useBitScope, d as useBitSteps, e as useBitStore, f as useBitWatch } from '../use-bit-persist-CIVN-oIi.cjs';
2
+ import { f as BitPath, g as BitPathValue } from '../bus-BeAeZwWu.cjs';
3
+ export { S as ScopeStatus, n as ValidateScopeResult } from '../bus-BeAeZwWu.cjs';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react';
6
- import '../public-types-SU17BarA.cjs';
6
+ import '../public-types-BQXaxmAE.cjs';
7
7
  import '../types-D8DgIUhJ.cjs';
8
+ import '../field-binding-BXw0Ku2c.cjs';
8
9
 
9
10
  /**
10
11
  * Metadata describing the current state of a form field (React Native).
@@ -1,10 +1,11 @@
1
- export { B as BitFormProvider, e as UseBitPersistResult, u as useBitArray, g as useBitForm, h as useBitPersist, i as useBitScope, j as useBitSteps, k as useBitStore, l as useBitWatch } from '../use-bit-persist-BlR-hHk6.js';
2
- import { k as BitPath, m as BitPathValue } from '../bus-DHQHDwUp.js';
3
- export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-DHQHDwUp.js';
1
+ export { B as BitFormProvider, U as UseBitPersistResult, u as useBitArray, a as useBitForm, b as useBitPersist, c as useBitScope, d as useBitSteps, e as useBitStore, f as useBitWatch } from '../use-bit-persist-iPWLbD8l.js';
2
+ import { f as BitPath, g as BitPathValue } from '../bus-B4zZmB9C.js';
3
+ export { S as ScopeStatus, n as ValidateScopeResult } from '../bus-B4zZmB9C.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react';
6
- import '../public-types-Bgws0aVJ.js';
6
+ import '../public-types-CVgFf_qY.js';
7
7
  import '../types-D8DgIUhJ.js';
8
+ import '../field-binding-BXw0Ku2c.js';
8
9
 
9
10
  /**
10
11
  * Metadata describing the current state of a form field (React Native).
@@ -1,2 +1,2 @@
1
- import{a as S,b as k,c as M,d as c,e as R,f as U,g as N,h as C,i as b}from"../chunk-3MUULXXZ.js";import"../chunk-FEW3ABPD.js";import"../chunk-ULC4OPIQ.js";import{L as f,M as l}from"../chunk-VDWCFNA6.js";import{useMemo as F,useCallback as d}from"react";function E(r){let{fieldState:o,setValue:t,setBlur:s,store:i}=c(r),e=F(()=>i.resolveMask(r),[i.config.masks,i.config.fields,r]),m=F(()=>f(o.value,e??void 0),[o.value,e]),p=d(u=>t(l(u,e??void 0)),[e,t]),x=d(u=>t(l(u,e??void 0)),[e,t]),{isHidden:P,isRequired:v,value:y,error:a,touched:n,isDirty:h,isValidating:V}=o,T=!!(n&&a),g=n?a:void 0,B=d(()=>{s()},[s]);return{value:y,displayValue:m,setValue:x,setBlur:s,onChangeText:p,onBlur:B,meta:{error:g,touched:n,invalid:T,isValidating:V,isDirty:h,isHidden:P,isRequired:v,hasError:!!a},props:{value:m,onChangeText:p,onBlur:B}}}export{S as BitFormProvider,R as useBitArray,E as useBitField,M as useBitForm,b as useBitPersist,U as useBitScope,N as useBitSteps,k as useBitStore,C as useBitWatch};
1
+ import{a as S,b as k,c as M,d as c,e as R,f as U,g as N,h as C,i as b}from"../chunk-UMKOKAPD.js";import"../chunk-2FDEJYA5.js";import"../chunk-64KSP4TP.js";import{b as f,c as l}from"../chunk-3NUJVIAM.js";import{useMemo as F,useCallback as d}from"react";function E(r){let{fieldState:o,setValue:t,setBlur:s,store:i}=c(r),e=F(()=>i.resolveMask(r),[i.config.masks,i.config.fields,r]),m=F(()=>f(o.value,e??void 0),[o.value,e]),p=d(u=>t(l(u,e??void 0)),[e,t]),x=d(u=>t(l(u,e??void 0)),[e,t]),{isHidden:P,isRequired:v,value:y,error:a,touched:n,isDirty:h,isValidating:V}=o,T=!!(n&&a),g=n?a:void 0,B=d(()=>{s()},[s]);return{value:y,displayValue:m,setValue:x,setBlur:s,onChangeText:p,onBlur:B,meta:{error:g,touched:n,invalid:T,isValidating:V,isDirty:h,isHidden:P,isRequired:v,hasError:!!a},props:{value:m,onChangeText:p,onBlur:B}}}export{S as BitFormProvider,R as useBitArray,E as useBitField,M as useBitForm,b as useBitPersist,U as useBitScope,N as useBitSteps,k as useBitStore,C as useBitWatch};
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDD6XWUMRcjs = require('../chunk-DD6XWUMR.cjs');require('../chunk-MFSDDSVG.cjs');var _chunk77PK7U73cjs = require('../chunk-77PK7U73.cjs');var _chunkUT63HKR6cjs = require('../chunk-UT63HKR6.cjs');require('../chunk-CTURHI75.cjs');exports.joiResolver = _chunkDD6XWUMRcjs.a; exports.yupResolver = _chunkUT63HKR6cjs.a; exports.zodResolver = _chunk77PK7U73cjs.a;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/index.cjs"],"names":[],"mappings":"AAAA,kIAAyC,iCAA8B,yDAA0C,yDAA0C,iCAA8B,gIAA2D","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/index.cjs"}
@@ -0,0 +1,9 @@
1
+ export { joiResolver } from './joi.cjs';
2
+ export { zodResolver } from './zod.cjs';
3
+ export { yupResolver } from './yup.cjs';
4
+ export { BitJoiResolverConfig, BitResolverScopeOptions, BitYupResolverConfig, BitZodResolverConfig } from './types.cjs';
5
+ import 'joi';
6
+ import '../bus-BeAeZwWu.cjs';
7
+ import '../types-D8DgIUhJ.cjs';
8
+ import 'zod';
9
+ import 'yup';
@@ -0,0 +1,9 @@
1
+ export { joiResolver } from './joi.js';
2
+ export { zodResolver } from './zod.js';
3
+ export { yupResolver } from './yup.js';
4
+ export { BitJoiResolverConfig, BitResolverScopeOptions, BitYupResolverConfig, BitZodResolverConfig } from './types.js';
5
+ import 'joi';
6
+ import '../bus-B4zZmB9C.js';
7
+ import '../types-D8DgIUhJ.js';
8
+ import 'zod';
9
+ import 'yup';
@@ -0,0 +1,2 @@
1
+ import{a as e}from"../chunk-FGJB4DHQ.js";import"../chunk-FQLJOSF7.js";import{a as o}from"../chunk-M2XR4C7T.js";import{a as r}from"../chunk-GDRNKTHO.js";import"../chunk-GUU6EXFN.js";export{e as joiResolver,r as yupResolver,o as zodResolver};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,2 +1,2 @@
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 _chunkER2DNS7Tcjs = require('../chunk-ER2DNS7T.cjs');var m=(n,r)=>async(a,l)=>{let{error:o}=n.validate(a,{abortEarly:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _ => _.abortEarly]), () => (!1)),allowUnknown:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _2 => _2.allowUnknown]), () => (!1)),stripUnknown:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _3 => _3.stripUnknown]), () => (!1))});if(!o)return{};let e={};return o.details.forEach(t=>{let p=t.path.join(".");_chunkER2DNS7Tcjs.b.call(void 0, e,p,t.message)}),_chunkER2DNS7Tcjs.c.call(void 0, e,_optionalChain([l, 'optionalAccess', _4 => _4.scopeFields]))};exports.joiResolver = m;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDD6XWUMRcjs = require('../chunk-DD6XWUMR.cjs');require('../chunk-CTURHI75.cjs');exports.joiResolver = _chunkDD6XWUMRcjs.a;
2
2
  //# sourceMappingURL=joi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/joi.cjs","../../src/resolvers/joi.ts"],"names":["joiResolver","schema","config","values","options","error","errors","detail","path","setFirstError","filterErrorsByScope"],"mappings":"AAAA,0uBAAgD,ICKnCA,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,CAAAA,EAEO,KAAA,CACLC,CAAAA,CACAC,CAAAA,CAAAA,EAC0B,CAC1B,GAAM,CAAE,KAAA,CAAAC,CAAM,CAAA,CAAIJ,CAAAA,CAAO,QAAA,CAASE,CAAAA,CAAQ,CACxC,UAAA,kCAAYD,CAAAA,2BAAQ,YAAA,SAAc,CAAA,GAAA,CAClC,YAAA,kCAAcA,CAAAA,6BAAQ,cAAA,SAAgB,CAAA,GAAA,CACtC,YAAA,kCAAcA,CAAAA,6BAAQ,cAAA,SAAgB,CAAA,GACxC,CAAC,CAAA,CAED,EAAA,CAAI,CAACG,CAAAA,CAAO,MAAO,CAAC,CAAA,CAEpB,IAAMC,CAAAA,CAAuB,CAAC,CAAA,CAE9B,OAAAD,CAAAA,CAAM,OAAA,CAAQ,OAAA,CAASE,CAAAA,EAAW,CAChC,IAAMC,CAAAA,CAAOD,CAAAA,CAAO,IAAA,CAAK,IAAA,CAAK,GAAG,CAAA,CAEjCE,iCAAAA,CAAcH,CAAQE,CAAAA,CAAMD,CAAAA,CAAO,OAAO,CAC5C,CAAC,CAAA,CAEMG,iCAAAA,CAAoBJ,iBAAQF,CAAAA,6BAAS,aAAW,CACzD,CAAA,CAAA,wBAAA","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/joi.cjs","sourcesContent":[null,"import { ObjectSchema } from \"joi\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError } from \"./utils\";\nimport { BitJoiResolverConfig, BitResolverScopeOptions } from \"./types\";\n\nexport const joiResolver = <T extends object>(\n schema: ObjectSchema<T>,\n config?: BitJoiResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const { error } = schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n allowUnknown: config?.allowUnknown ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n\n if (!error) return {};\n\n const errors: BitErrors<T> = {};\n\n error.details.forEach((detail) => {\n const path = detail.path.join(\".\");\n\n setFirstError(errors, path, detail.message);\n });\n\n return filterErrorsByScope(errors, options?.scopeFields);\n };\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/joi.cjs"],"names":[],"mappings":"AAAA,kIAAoC,iCAA8B,0CAAyB","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/joi.cjs"}
@@ -1,5 +1,5 @@
1
1
  import { ObjectSchema } from 'joi';
2
- import { f as BitErrors } from '../bus-CILR-ENq.cjs';
2
+ import { i as BitErrors } from '../bus-BeAeZwWu.cjs';
3
3
  import { BitJoiResolverConfig, BitResolverScopeOptions } from './types.cjs';
4
4
  import '../types-D8DgIUhJ.cjs';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { ObjectSchema } from 'joi';
2
- import { f as BitErrors } from '../bus-DHQHDwUp.js';
2
+ import { i as BitErrors } from '../bus-B4zZmB9C.js';
3
3
  import { BitJoiResolverConfig, BitResolverScopeOptions } from './types.js';
4
4
  import '../types-D8DgIUhJ.js';
5
5
 
@@ -1,2 +1,2 @@
1
- import{b as s,c as i}from"../chunk-7MBRAKBL.js";var m=(n,r)=>async(a,l)=>{let{error:o}=n.validate(a,{abortEarly:r?.abortEarly??!1,allowUnknown:r?.allowUnknown??!1,stripUnknown:r?.stripUnknown??!1});if(!o)return{};let e={};return o.details.forEach(t=>{let p=t.path.join(".");s(e,p,t.message)}),i(e,l?.scopeFields)};export{m as joiResolver};
1
+ import{a}from"../chunk-FGJB4DHQ.js";import"../chunk-GUU6EXFN.js";export{a as joiResolver};
2
2
  //# sourceMappingURL=joi.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/resolvers/joi.ts"],"sourcesContent":["import { ObjectSchema } from \"joi\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError } from \"./utils\";\nimport { BitJoiResolverConfig, BitResolverScopeOptions } from \"./types\";\n\nexport const joiResolver = <T extends object>(\n schema: ObjectSchema<T>,\n config?: BitJoiResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const { error } = schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n allowUnknown: config?.allowUnknown ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n\n if (!error) return {};\n\n const errors: BitErrors<T> = {};\n\n error.details.forEach((detail) => {\n const path = detail.path.join(\".\");\n\n setFirstError(errors, path, detail.message);\n });\n\n return filterErrorsByScope(errors, options?.scopeFields);\n };\n};\n"],"mappings":"gDAKO,IAAMA,EAAc,CACzBC,EACAC,IAEO,MACLC,EACAC,IAC0B,CAC1B,GAAM,CAAE,MAAAC,CAAM,EAAIJ,EAAO,SAASE,EAAQ,CACxC,WAAYD,GAAQ,YAAc,GAClC,aAAcA,GAAQ,cAAgB,GACtC,aAAcA,GAAQ,cAAgB,EACxC,CAAC,EAED,GAAI,CAACG,EAAO,MAAO,CAAC,EAEpB,IAAMC,EAAuB,CAAC,EAE9B,OAAAD,EAAM,QAAQ,QAASE,GAAW,CAChC,IAAMC,EAAOD,EAAO,KAAK,KAAK,GAAG,EAEjCE,EAAcH,EAAQE,EAAMD,EAAO,OAAO,CAC5C,CAAC,EAEMG,EAAoBJ,EAAQF,GAAS,WAAW,CACzD","names":["joiResolver","schema","config","values","options","error","errors","detail","path","setFirstError","filterErrorsByScope"]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +1,2 @@
1
- "use strict";//# sourceMappingURL=types.cjs.map
1
+ "use strict";require('../chunk-MFSDDSVG.cjs');
2
+ //# sourceMappingURL=types.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/types.cjs"],"names":[],"mappings":"AAAA","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/types.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/types.cjs"],"names":[],"mappings":"AAAA,8CAA6B","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/types.cjs"}
@@ -1 +1,2 @@
1
+ import"../chunk-FQLJOSF7.js";
1
2
  //# sourceMappingURL=types.js.map
@@ -1,2 +1,2 @@
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 _chunkER2DNS7Tcjs = require('../chunk-ER2DNS7T.cjs');var _yup = require('yup');var u=(a,n)=>async(p,e)=>{let t={};if(_optionalChain([e, 'optionalAccess', _ => _.scopeFields])&&e.scopeFields.length>0)return await Promise.all(e.scopeFields.map(async o=>{try{await a.validateAt(o,p)}catch(r){r instanceof _yup.ValidationError&&r.path&&_chunkER2DNS7Tcjs.b.call(void 0, t,_chunkER2DNS7Tcjs.a.call(void 0, r.path),r.message)}})),t;try{return await a.validate(p,{abortEarly:_nullishCoalesce(_optionalChain([n, 'optionalAccess', _2 => _2.abortEarly]), () => (!1)),stripUnknown:_nullishCoalesce(_optionalChain([n, 'optionalAccess', _3 => _3.stripUnknown]), () => (!1))}),{}}catch(o){if(o instanceof _yup.ValidationError){for(let r of _nullishCoalesce(o.inner, () => ([])))r.path&&_chunkER2DNS7Tcjs.b.call(void 0, t,_chunkER2DNS7Tcjs.a.call(void 0, r.path),r.message);return _chunkER2DNS7Tcjs.c.call(void 0, t,_optionalChain([e, 'optionalAccess', _4 => _4.scopeFields]))}return{}}};exports.yupResolver = u;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUT63HKR6cjs = require('../chunk-UT63HKR6.cjs');require('../chunk-CTURHI75.cjs');exports.yupResolver = _chunkUT63HKR6cjs.a;
2
2
  //# sourceMappingURL=yup.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/yup.cjs","../../src/resolvers/yup.ts"],"names":["yupResolver","schema","config","values","options","errors","field","error","ValidationError","setFirstError","normalizeErrorPath","item","filterErrorsByScope"],"mappings":"AAAA,0uBAAuD,0BCAf,IAS3BA,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,CAAAA,EAEO,KAAA,CACLC,CAAAA,CACAC,CAAAA,CAAAA,EAC0B,CAC1B,IAAMC,CAAAA,CAAuB,CAAC,CAAA,CAE9B,EAAA,iBAAID,CAAAA,2BAAS,aAAA,EAAeA,CAAAA,CAAQ,WAAA,CAAY,MAAA,CAAS,CAAA,CACvD,OAAA,MAAM,OAAA,CAAQ,GAAA,CACZA,CAAAA,CAAQ,WAAA,CAAY,GAAA,CAAI,MAAOE,CAAAA,EAAU,CACvC,GAAI,CACF,MAAML,CAAAA,CAAO,UAAA,CAAWK,CAAAA,CAAOH,CAAM,CACvC,CAAA,KAAA,CAASI,CAAAA,CAAgB,CACnBA,EAAAA,WAAiBC,oBAAAA,EAAmBD,CAAAA,CAAM,IAAA,EAC5CE,iCAAAA,CACEJ,CACAK,iCAAAA,CAAmBH,CAAM,IAAI,CAAA,CAC7BA,CAAAA,CAAM,OACR,CAEJ,CACF,CAAC,CACH,CAAA,CACOF,CAAAA,CAGT,GAAI,CACF,OAAA,MAAMJ,CAAAA,CAAO,QAAA,CAASE,CAAAA,CAAQ,CAC5B,UAAA,kCAAYD,CAAAA,6BAAQ,YAAA,SAAc,CAAA,GAAA,CAClC,YAAA,kCAAcA,CAAAA,6BAAQ,cAAA,SAAgB,CAAA,GACxC,CAAC,CAAA,CACM,CAAC,CACV,CAAA,KAAA,CAASK,CAAAA,CAAgB,CACvB,EAAA,CAAIA,EAAAA,WAAiBC,oBAAAA,CAAiB,CACpC,GAAA,CAAA,IAAWG,EAAAA,oBAAQJ,CAAAA,CAAM,KAAA,SAAS,CAAC,GAAA,CAC7BI,CAAAA,CAAK,IAAA,EACPF,iCAAAA,CAAcJ,CAAQK,iCAAAA,CAAmBC,CAAK,IAAI,CAAA,CAAGA,CAAAA,CAAK,OAAO,CAAA,CAIrE,OAAOC,iCAAAA,CAAoBP,iBAAQD,CAAAA,6BAAS,aAAW,CACzD,CAEA,MAAO,CAAC,CACV,CACF,CAAA,CAAA,wBAAA","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/yup.cjs","sourcesContent":[null,"import { ValidationError, Schema } from \"yup\";\nimport { BitErrors } from \"../core\";\nimport {\n filterErrorsByScope,\n normalizeErrorPath,\n setFirstError,\n} from \"./utils\";\nimport { BitResolverScopeOptions, BitYupResolverConfig } from \"./types\";\n\nexport const yupResolver = <T extends object>(\n schema: Schema<T>,\n config?: BitYupResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const errors: BitErrors<T> = {};\n\n if (options?.scopeFields && options.scopeFields.length > 0) {\n await Promise.all(\n options.scopeFields.map(async (field) => {\n try {\n await schema.validateAt(field, values);\n } catch (error: unknown) {\n if (error instanceof ValidationError && error.path) {\n setFirstError(\n errors,\n normalizeErrorPath(error.path),\n error.message,\n );\n }\n }\n }),\n );\n return errors;\n }\n\n try {\n await schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n return {};\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n for (const item of error.inner ?? []) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n\n return {};\n }\n };\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/yup.cjs"],"names":[],"mappings":"AAAA,kIAAoC,iCAA8B,0CAAyB","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/yup.cjs"}
@@ -1,5 +1,5 @@
1
1
  import { Schema } from 'yup';
2
- import { f as BitErrors } from '../bus-CILR-ENq.cjs';
2
+ import { i as BitErrors } from '../bus-BeAeZwWu.cjs';
3
3
  import { BitYupResolverConfig, BitResolverScopeOptions } from './types.cjs';
4
4
  import '../types-D8DgIUhJ.cjs';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { Schema } from 'yup';
2
- import { f as BitErrors } from '../bus-DHQHDwUp.js';
2
+ import { i as BitErrors } from '../bus-B4zZmB9C.js';
3
3
  import { BitYupResolverConfig, BitResolverScopeOptions } from './types.js';
4
4
  import '../types-D8DgIUhJ.js';
5
5
 
@@ -1,2 +1,2 @@
1
- import{a as i,b as s,c as l}from"../chunk-7MBRAKBL.js";import{ValidationError as c}from"yup";var u=(a,n)=>async(p,e)=>{let t={};if(e?.scopeFields&&e.scopeFields.length>0)return await Promise.all(e.scopeFields.map(async o=>{try{await a.validateAt(o,p)}catch(r){r instanceof c&&r.path&&s(t,i(r.path),r.message)}})),t;try{return await a.validate(p,{abortEarly:n?.abortEarly??!1,stripUnknown:n?.stripUnknown??!1}),{}}catch(o){if(o instanceof c){for(let r of o.inner??[])r.path&&s(t,i(r.path),r.message);return l(t,e?.scopeFields)}return{}}};export{u as yupResolver};
1
+ import{a}from"../chunk-GDRNKTHO.js";import"../chunk-GUU6EXFN.js";export{a as yupResolver};
2
2
  //# sourceMappingURL=yup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/resolvers/yup.ts"],"sourcesContent":["import { ValidationError, Schema } from \"yup\";\nimport { BitErrors } from \"../core\";\nimport {\n filterErrorsByScope,\n normalizeErrorPath,\n setFirstError,\n} from \"./utils\";\nimport { BitResolverScopeOptions, BitYupResolverConfig } from \"./types\";\n\nexport const yupResolver = <T extends object>(\n schema: Schema<T>,\n config?: BitYupResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const errors: BitErrors<T> = {};\n\n if (options?.scopeFields && options.scopeFields.length > 0) {\n await Promise.all(\n options.scopeFields.map(async (field) => {\n try {\n await schema.validateAt(field, values);\n } catch (error: unknown) {\n if (error instanceof ValidationError && error.path) {\n setFirstError(\n errors,\n normalizeErrorPath(error.path),\n error.message,\n );\n }\n }\n }),\n );\n return errors;\n }\n\n try {\n await schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n return {};\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n for (const item of error.inner ?? []) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n\n return {};\n }\n };\n};\n"],"mappings":"uDAAA,OAAS,mBAAAA,MAA+B,MASjC,IAAMC,EAAc,CACzBC,EACAC,IAEO,MACLC,EACAC,IAC0B,CAC1B,IAAMC,EAAuB,CAAC,EAE9B,GAAID,GAAS,aAAeA,EAAQ,YAAY,OAAS,EACvD,aAAM,QAAQ,IACZA,EAAQ,YAAY,IAAI,MAAOE,GAAU,CACvC,GAAI,CACF,MAAML,EAAO,WAAWK,EAAOH,CAAM,CACvC,OAASI,EAAgB,CACnBA,aAAiBC,GAAmBD,EAAM,MAC5CE,EACEJ,EACAK,EAAmBH,EAAM,IAAI,EAC7BA,EAAM,OACR,CAEJ,CACF,CAAC,CACH,EACOF,EAGT,GAAI,CACF,aAAMJ,EAAO,SAASE,EAAQ,CAC5B,WAAYD,GAAQ,YAAc,GAClC,aAAcA,GAAQ,cAAgB,EACxC,CAAC,EACM,CAAC,CACV,OAASK,EAAgB,CACvB,GAAIA,aAAiBC,EAAiB,CACpC,QAAWG,KAAQJ,EAAM,OAAS,CAAC,EAC7BI,EAAK,MACPF,EAAcJ,EAAQK,EAAmBC,EAAK,IAAI,EAAGA,EAAK,OAAO,EAIrE,OAAOC,EAAoBP,EAAQD,GAAS,WAAW,CACzD,CAEA,MAAO,CAAC,CACV,CACF","names":["ValidationError","yupResolver","schema","config","values","options","errors","field","error","ValidationError","setFirstError","normalizeErrorPath","item","filterErrorsByScope"]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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 _chunkER2DNS7Tcjs = require('../chunk-ER2DNS7T.cjs');var _zod = require('zod');var l=(i,m)=>async(n,c)=>{try{return await i.parseAsync(n),{}}catch(r){let o={};if(r instanceof _zod.ZodError)for(let e of r.issues){let p=e.path.join(".");_chunkER2DNS7Tcjs.b.call(void 0, o,p,e.message)}return _chunkER2DNS7Tcjs.c.call(void 0, o,_optionalChain([c, 'optionalAccess', _ => _.scopeFields]))}};exports.zodResolver = l;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk77PK7U73cjs = require('../chunk-77PK7U73.cjs');require('../chunk-CTURHI75.cjs');exports.zodResolver = _chunk77PK7U73cjs.a;
2
2
  //# sourceMappingURL=zod.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/zod.cjs","../../src/resolvers/zod.ts"],"names":["zodResolver","schema","_config","values","options","error","errors","ZodError","issue","path","setFirstError","filterErrorsByScope"],"mappings":"AAAA,soBAAgD,0BCAZ,IAKvBA,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,CAAAA,EAEO,KAAA,CACLC,CAAAA,CACAC,CAAAA,CAAAA,EAC0B,CAC1B,GAAI,CACF,OAAA,MAAMH,CAAAA,CAAO,UAAA,CAAWE,CAAM,CAAA,CACvB,CAAC,CACV,CAAA,KAAA,CAASE,CAAAA,CAAgB,CACvB,IAAMC,CAAAA,CAAuB,CAAC,CAAA,CAE9B,EAAA,CAAID,EAAAA,WAAiBE,aAAAA,CACnB,GAAA,CAAA,IAAWC,EAAAA,GAASH,CAAAA,CAAM,MAAA,CAAQ,CAChC,IAAMI,CAAAA,CAAOD,CAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,GAAG,CAAA,CAChCE,iCAAAA,CAAcJ,CAAQG,CAAAA,CAAMD,CAAAA,CAAM,OAAO,CAC3C,CAGF,OAAOG,iCAAAA,CAAoBL,iBAAQF,CAAAA,2BAAS,aAAW,CACzD,CACF,CAAA,CAAA,wBAAA","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/zod.cjs","sourcesContent":[null,"import { ZodError, ZodSchema } from \"zod\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError } from \"./utils\";\nimport { BitResolverScopeOptions, BitZodResolverConfig } from \"./types\";\n\nexport const zodResolver = <T extends object>(\n schema: ZodSchema<T>,\n _config?: BitZodResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n try {\n await schema.parseAsync(values);\n return {};\n } catch (error: unknown) {\n const errors: BitErrors<T> = {};\n\n if (error instanceof ZodError) {\n for (const issue of error.issues) {\n const path = issue.path.join(\".\");\n setFirstError(errors, path, issue.message);\n }\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n };\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/zod.cjs"],"names":[],"mappings":"AAAA,kIAAoC,iCAA8B,0CAAyB","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/zod.cjs"}
@@ -1,5 +1,5 @@
1
1
  import { ZodSchema } from 'zod';
2
- import { f as BitErrors } from '../bus-CILR-ENq.cjs';
2
+ import { i as BitErrors } from '../bus-BeAeZwWu.cjs';
3
3
  import { BitZodResolverConfig, BitResolverScopeOptions } from './types.cjs';
4
4
  import '../types-D8DgIUhJ.cjs';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { ZodSchema } from 'zod';
2
- import { f as BitErrors } from '../bus-DHQHDwUp.js';
2
+ import { i as BitErrors } from '../bus-B4zZmB9C.js';
3
3
  import { BitZodResolverConfig, BitResolverScopeOptions } from './types.js';
4
4
  import '../types-D8DgIUhJ.js';
5
5
 
@@ -1,2 +1,2 @@
1
- import{b as s,c as t}from"../chunk-7MBRAKBL.js";import{ZodError as f}from"zod";var l=(i,m)=>async(n,c)=>{try{return await i.parseAsync(n),{}}catch(r){let o={};if(r instanceof f)for(let e of r.issues){let p=e.path.join(".");s(o,p,e.message)}return t(o,c?.scopeFields)}};export{l as zodResolver};
1
+ import{a}from"../chunk-M2XR4C7T.js";import"../chunk-GUU6EXFN.js";export{a as zodResolver};
2
2
  //# sourceMappingURL=zod.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/resolvers/zod.ts"],"sourcesContent":["import { ZodError, ZodSchema } from \"zod\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError } from \"./utils\";\nimport { BitResolverScopeOptions, BitZodResolverConfig } from \"./types\";\n\nexport const zodResolver = <T extends object>(\n schema: ZodSchema<T>,\n _config?: BitZodResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n try {\n await schema.parseAsync(values);\n return {};\n } catch (error: unknown) {\n const errors: BitErrors<T> = {};\n\n if (error instanceof ZodError) {\n for (const issue of error.issues) {\n const path = issue.path.join(\".\");\n setFirstError(errors, path, issue.message);\n }\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n };\n};\n"],"mappings":"gDAAA,OAAS,YAAAA,MAA2B,MAK7B,IAAMC,EAAc,CACzBC,EACAC,IAEO,MACLC,EACAC,IAC0B,CAC1B,GAAI,CACF,aAAMH,EAAO,WAAWE,CAAM,EACvB,CAAC,CACV,OAASE,EAAgB,CACvB,IAAMC,EAAuB,CAAC,EAE9B,GAAID,aAAiBE,EACnB,QAAWC,KAASH,EAAM,OAAQ,CAChC,IAAMI,EAAOD,EAAM,KAAK,KAAK,GAAG,EAChCE,EAAcJ,EAAQG,EAAMD,EAAM,OAAO,CAC3C,CAGF,OAAOG,EAAoBL,EAAQF,GAAS,WAAW,CACzD,CACF","names":["ZodError","zodResolver","schema","_config","values","options","error","errors","ZodError","issue","path","setFirstError","filterErrorsByScope"]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -14,4 +14,4 @@ type BitUploadFn = (file: File) => Promise<BitUploadResult>;
14
14
  /** Optional delete function contract. */
15
15
  type BitDeleteUploadFn = (key: string) => Promise<void>;
16
16
 
17
- export type { BitDeleteUploadFn as B, BitUploadFn as a, BitUploadResult as b };
17
+ export type { BitUploadFn as B, BitDeleteUploadFn as a, BitUploadResult as b };
@@ -14,4 +14,4 @@ type BitUploadFn = (file: File) => Promise<BitUploadResult>;
14
14
  /** Optional delete function contract. */
15
15
  type BitDeleteUploadFn = (key: string) => Promise<void>;
16
16
 
17
- export type { BitDeleteUploadFn as B, BitUploadFn as a, BitUploadResult as b };
17
+ export type { BitUploadFn as B, BitDeleteUploadFn as a, BitUploadResult as b };
@@ -1,7 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import React from 'react';
3
- import { e as BitStoreApi, f as BitStoreHooksApi, d as BitHistoryMetadata, i as BitPersistMetadata, a as BitValidationOptions } from './public-types-Bgws0aVJ.js';
4
- import { k as BitPath, m as BitPathValue, S as ScopeStatus, V as ValidateScopeResult, f as BitErrors, A as BitTouched, D as DeepPartial, o as BitArrayPath, p as BitArrayItem } from './bus-DHQHDwUp.js';
3
+ import { e as BitStoreApi, f as BitStoreHooksApi, c as BitHistoryMetadata, d as BitValidationOptions } from './public-types-BQXaxmAE.cjs';
4
+ import { f as BitPath, g as BitPathValue, j as BitPersistMetadata, S as ScopeStatus, n as ValidateScopeResult, i as BitErrors, H as BitTouched, h as DeepPartial, k as BitArrayPath, l as BitArrayItem } from './bus-BeAeZwWu.cjs';
5
+ import { B as BitFieldInputEvent } from './field-binding-BXw0Ku2c.cjs';
5
6
 
6
7
  declare const BitFormProvider: ({ store, children, }: {
7
8
  store: BitStoreApi<any>;
@@ -27,7 +28,7 @@ interface UseBitFieldMeta {
27
28
  */
28
29
  interface UseBitFieldBindProps {
29
30
  value: string;
30
- onChange: (e: any) => void;
31
+ onChange: (e: BitFieldInputEvent) => void;
31
32
  onBlur: () => void;
32
33
  }
33
34
  /**
@@ -37,9 +38,9 @@ interface UseBitFieldBindProps {
37
38
  interface UseBitFieldResult<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>> {
38
39
  value: BitPathValue<TForm, P>;
39
40
  displayValue: string;
40
- setValue: (val: any) => void;
41
+ setValue: (val: BitPathValue<TForm, P> | string | number | null | undefined) => void;
41
42
  setBlur: () => void;
42
- onChange: (e: any) => void;
43
+ onChange: (e: BitFieldInputEvent) => void;
43
44
  onBlur: () => void;
44
45
  props: UseBitFieldBindProps;
45
46
  meta: UseBitFieldMeta;
@@ -114,6 +115,7 @@ interface UseBitFormResult<T extends object = any> {
114
115
  preventDefault: () => void;
115
116
  }) => Promise<void>;
116
117
  reset: () => void;
118
+ transaction: <TResult>(callback: () => TResult) => TResult;
117
119
  setField: <P extends BitPath<T>>(path: P, value: BitPathValue<T, P>) => void;
118
120
  blurField: <P extends BitPath<T>>(path: P) => void;
119
121
  replaceValues: (values: T) => void;
@@ -160,4 +162,4 @@ declare function useBitWatch<TForm extends object = any, P extends BitPath<TForm
160
162
 
161
163
  declare function useBitPersist(): UseBitPersistResult;
162
164
 
163
- export { BitFormProvider as B, type UseBitFieldResult as U, type UseBitHistoryResult as a, type UseBitUploadResult as b, type UseBitFieldBindProps as c, type UseBitFieldMeta as d, type UseBitPersistResult as e, type UseBitStepsResult as f, useBitForm as g, useBitPersist as h, useBitScope as i, useBitSteps as j, useBitStore as k, useBitWatch as l, useBitArray as u };
165
+ export { BitFormProvider as B, type UseBitPersistResult as U, useBitForm as a, useBitPersist as b, useBitScope as c, useBitSteps as d, useBitStore as e, useBitWatch as f, type UseBitFieldResult as g, type UseBitHistoryResult as h, type UseBitUploadResult as i, type UseBitFieldBindProps as j, type UseBitFieldMeta as k, type UseBitStepsResult as l, useBitArray as u };
@@ -1,7 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import React from 'react';
3
- import { e as BitStoreApi, f as BitStoreHooksApi, d as BitHistoryMetadata, i as BitPersistMetadata, a as BitValidationOptions } from './public-types-SU17BarA.cjs';
4
- import { k as BitPath, m as BitPathValue, S as ScopeStatus, V as ValidateScopeResult, f as BitErrors, A as BitTouched, D as DeepPartial, o as BitArrayPath, p as BitArrayItem } from './bus-CILR-ENq.cjs';
3
+ import { e as BitStoreApi, f as BitStoreHooksApi, c as BitHistoryMetadata, d as BitValidationOptions } from './public-types-CVgFf_qY.js';
4
+ import { f as BitPath, g as BitPathValue, j as BitPersistMetadata, S as ScopeStatus, n as ValidateScopeResult, i as BitErrors, H as BitTouched, h as DeepPartial, k as BitArrayPath, l as BitArrayItem } from './bus-B4zZmB9C.js';
5
+ import { B as BitFieldInputEvent } from './field-binding-BXw0Ku2c.js';
5
6
 
6
7
  declare const BitFormProvider: ({ store, children, }: {
7
8
  store: BitStoreApi<any>;
@@ -27,7 +28,7 @@ interface UseBitFieldMeta {
27
28
  */
28
29
  interface UseBitFieldBindProps {
29
30
  value: string;
30
- onChange: (e: any) => void;
31
+ onChange: (e: BitFieldInputEvent) => void;
31
32
  onBlur: () => void;
32
33
  }
33
34
  /**
@@ -37,9 +38,9 @@ interface UseBitFieldBindProps {
37
38
  interface UseBitFieldResult<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>> {
38
39
  value: BitPathValue<TForm, P>;
39
40
  displayValue: string;
40
- setValue: (val: any) => void;
41
+ setValue: (val: BitPathValue<TForm, P> | string | number | null | undefined) => void;
41
42
  setBlur: () => void;
42
- onChange: (e: any) => void;
43
+ onChange: (e: BitFieldInputEvent) => void;
43
44
  onBlur: () => void;
44
45
  props: UseBitFieldBindProps;
45
46
  meta: UseBitFieldMeta;
@@ -114,6 +115,7 @@ interface UseBitFormResult<T extends object = any> {
114
115
  preventDefault: () => void;
115
116
  }) => Promise<void>;
116
117
  reset: () => void;
118
+ transaction: <TResult>(callback: () => TResult) => TResult;
117
119
  setField: <P extends BitPath<T>>(path: P, value: BitPathValue<T, P>) => void;
118
120
  blurField: <P extends BitPath<T>>(path: P) => void;
119
121
  replaceValues: (values: T) => void;
@@ -160,4 +162,4 @@ declare function useBitWatch<TForm extends object = any, P extends BitPath<TForm
160
162
 
161
163
  declare function useBitPersist(): UseBitPersistResult;
162
164
 
163
- export { BitFormProvider as B, type UseBitFieldResult as U, type UseBitHistoryResult as a, type UseBitUploadResult as b, type UseBitFieldBindProps as c, type UseBitFieldMeta as d, type UseBitPersistResult as e, type UseBitStepsResult as f, useBitForm as g, useBitPersist as h, useBitScope as i, useBitSteps as j, useBitStore as k, useBitWatch as l, useBitArray as u };
165
+ export { BitFormProvider as B, type UseBitPersistResult as U, useBitForm as a, useBitPersist as b, useBitScope as c, useBitSteps as d, useBitStore as e, useBitWatch as f, type UseBitFieldResult as g, type UseBitHistoryResult as h, type UseBitUploadResult as i, type UseBitFieldBindProps as j, type UseBitFieldMeta as k, type UseBitStepsResult as l, useBitArray as u };
@@ -1,2 +1,2 @@
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 _chunkNNKZFXEKcjs = require('../chunk-NNKZFXEK.cjs');var _chunkJO37BU2Ccjs = require('../chunk-JO37BU2C.cjs');require('../chunk-PA6T2CBR.cjs');var _vue = require('vue');var q=Symbol("BIT_STORE");function Y(e){_vue.provide.call(void 0, q,_chunkJO37BU2Ccjs.l.call(void 0, e))}function c(){let e=_vue.inject.call(void 0, q);if(!e)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return e}function Q(){let e=c(),t=_vue.shallowRef.call(void 0, {isValid:e.getState().isValid,isSubmitting:e.getState().isSubmitting,isDirty:e.getState().isDirty}),i=_vue.ref.call(void 0, null),r=_vue.ref.call(void 0, null),s=e.subscribeSelector(m=>({isValid:m.isValid,isSubmitting:m.isSubmitting,isDirty:m.isDirty}),m=>{t.value=m});_vue.onUnmounted.call(void 0, s);let n=_chunkNNKZFXEKcjs.a.call(void 0, e,{clearSubmissionState:()=>{i.value=null,r.value=null},setSubmissionResult:m=>{r.value=m},setSubmissionError:m=>{i.value=m}}),d=_vue.computed.call(void 0, ()=>t.value.isValid),u=_vue.computed.call(void 0, ()=>t.value.isSubmitting),f=_vue.computed.call(void 0, ()=>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)}}function U(e){let t=c(),i=t.resolveMask(e),r=_chunkNNKZFXEKcjs.c.call(void 0, t,e,i),s=_vue.shallowRef.call(void 0, t.getFieldState(e)),n=_chunkNNKZFXEKcjs.b.call(void 0, t,e,g=>{s.value=g});_vue.onUnmounted.call(void 0, ()=>{n(),t.unregisterField&&t.unregisterField(e)});let d=_vue.computed.call(void 0, ()=>s.value.value),u=_vue.computed.call(void 0, ()=>r.displayValue(d.value)),f=_vue.computed.call(void 0, {get:()=>u.value,set:g=>{r.setValue(g)}}),o=_vue.computed.call(void 0, ()=>s.value.error),a=_vue.computed.call(void 0, ()=>s.value.touched?s.value.error:void 0),l=_vue.computed.call(void 0, ()=>s.value.touched),m=_vue.computed.call(void 0, ()=>!!(l.value&&a.value)),b=_vue.computed.call(void 0, ()=>s.value.isValidating),P=_vue.computed.call(void 0, ()=>s.value.isDirty),E=_vue.computed.call(void 0, ()=>s.value.isHidden),T=_vue.computed.call(void 0, ()=>s.value.isRequired),x=_vue.computed.call(void 0, ()=>!!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}}}var S=()=>Math.random().toString(36).substring(2,9);function ee(e){let t=c(),r=(()=>{let o=_chunkJO37BU2Ccjs.e.call(void 0, t.getState().values,e);return Array.isArray(o)?o:[]})(),s=_vue.ref.call(void 0, r),n=_vue.ref.call(void 0, 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)}});_vue.onUnmounted.call(void 0, ()=>{d(),t.unregisterPrefix&&t.unregisterPrefix(`${e}.`)});let u=_vue.computed.call(void 0, ()=>s.value.map((o,a)=>({key:n.value[a]||`temp-${a}`,value:o,index:a}))),f=_vue.computed.call(void 0, ()=>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,[])}}}function se(){let e=c(),t=_vue.shallowRef.call(void 0, e.getHistoryMetadata()),i=e.subscribe(()=>{t.value=e.getHistoryMetadata()});_vue.onUnmounted.call(void 0, i);let r=()=>e.undo(),s=()=>e.redo();return{canUndo:_vue.computed.call(void 0, ()=>t.value.canUndo),canRedo:_vue.computed.call(void 0, ()=>t.value.canRedo),historyIndex:_vue.computed.call(void 0, ()=>t.value.historyIndex),historySize:_vue.computed.call(void 0, ()=>t.value.historySize),undo:r,redo:s}}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=_vue.ref.call(void 0, t.getStepStatus(e)),r;_vue.onMounted.call(void 0, ()=>{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)})}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([r, 'optionalCall', _2 => _2()])});let s=async()=>{let o=await t.validate({scope:e}),a=t.getStepErrors(e);return{valid:o,errors:a}},n=()=>t.getStepErrors(e),d=_vue.computed.call(void 0, ()=>!i.value.hasErrors),u=_vue.computed.call(void 0, ()=>i.value.isDirty),f=_vue.computed.call(void 0, ()=>i.value.errors);return{scopeName:e,status:i,errors:f,validate:s,getErrors:n,isValid:d,isDirty:u}}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=_vue.ref.call(void 0, 0),r=_vue.computed.call(void 0, ()=>_nullishCoalesce(e[i.value], () => (""))),s=_vue.ref.call(void 0, t.getStepStatus(r.value)),n;_vue.watch.call(void 0, 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)};_vue.onMounted.call(void 0, ()=>{n=t.subscribe(d)}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([n, 'optionalCall', _3 => _3()])});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=_vue.computed.call(void 0, ()=>i.value+1),b=_vue.computed.call(void 0, ()=>i.value===0),P=_vue.computed.call(void 0, ()=>i.value>=e.length-1),E=_vue.computed.call(void 0, ()=>!s.value.hasErrors),T=_vue.computed.call(void 0, ()=>s.value.isDirty),x=_vue.computed.call(void 0, ()=>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}}function ge(e){let t=c(),i=_chunkJO37BU2Ccjs.e.call(void 0, t.getState().values,e),r=_vue.ref.call(void 0, i),s=t.watch(e,n=>{_chunkJO37BU2Ccjs.d.call(void 0, r.value,n)||(r.value=n)});return _vue.onUnmounted.call(void 0, s),_vue.readonly.call(void 0, r)}function Se(e,t,i){let r=c(),s=U(e),n=null,d=_vue.ref.call(void 0, !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:_vue.computed.call(void 0, ()=>s.meta.error.value),isValidating:_vue.computed.call(void 0, ()=>!!s.meta.isValidating.value||d.value),upload:u,remove:f}}function be(){let e=c(),t=_vue.ref.call(void 0, !1),i=_vue.ref.call(void 0, !1),r=_vue.ref.call(void 0, 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:_vue.readonly.call(void 0, t),isRestoring:_vue.readonly.call(void 0, i),error:_vue.readonly.call(void 0, r)}}}exports.provideBitStore = Y; exports.useBitArray = ee; exports.useBitField = U; exports.useBitForm = Q; exports.useBitHistory = se; exports.useBitPersist = be; exports.useBitScope = ue; exports.useBitSteps = pe; exports.useBitStore = c; exports.useBitUpload = Se; exports.useBitWatch = ge;
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 _chunkVQ7MK5VBcjs = require('../chunk-VQ7MK5VB.cjs');var _chunkJIWR4KSZcjs = require('../chunk-JIWR4KSZ.cjs');var _chunkOZKLQRO6cjs = require('../chunk-OZKLQRO6.cjs');require('../chunk-PFPGASVZ.cjs');var _vue = require('vue');var W=Symbol("BIT_STORE");function X(t){_vue.provide.call(void 0, W,_chunkOZKLQRO6cjs.k.call(void 0, t))}function c(){let t=_vue.inject.call(void 0, W);if(!t)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return t}function ee(){let t=c(),e=_vue.shallowRef.call(void 0, {isValid:t.getState().isValid,isSubmitting:t.getState().isSubmitting,isDirty:t.getState().isDirty}),i=_vue.ref.call(void 0, null),s=_vue.ref.call(void 0, null),o=t.subscribeSelector(p=>({isValid:p.isValid,isSubmitting:p.isSubmitting,isDirty:p.isDirty}),p=>{e.value=p},{paths:["isValid","isSubmitting","isDirty"]});_vue.onUnmounted.call(void 0, o);let u=_chunkJIWR4KSZcjs.b.call(void 0, t,{clearSubmissionState:()=>{i.value=null,s.value=null},setSubmissionResult:p=>{s.value=p},setSubmissionError:p=>{i.value=p}}),n=_chunkJIWR4KSZcjs.a.call(void 0, t),d=_vue.computed.call(void 0, ()=>e.value.isValid),S=_vue.computed.call(void 0, ()=>e.value.isSubmitting),f=_vue.computed.call(void 0, ()=>e.value.isDirty),r=u.onSubmit,a=u.reset;return{meta:{isValid:d,isDirty:f,isSubmitting:S,submitError:i,lastResponse:s},getValues:u.getValues,getErrors:u.getErrors,getTouched:u.getTouched,getDirtyValues:u.getDirtyValues,submit:u.submit,onSubmit:r,reset:a,...n}}function E(t){let e=c(),i=e.resolveMask(t),s=_chunkJIWR4KSZcjs.d.call(void 0, e,t,i),o=_vue.shallowRef.call(void 0, e.getFieldState(t)),u=_chunkJIWR4KSZcjs.c.call(void 0, e,t,B=>{o.value=B});_vue.onUnmounted.call(void 0, ()=>{u(),e.unregisterField&&e.unregisterField(t)});let n=_vue.computed.call(void 0, ()=>o.value.value),d=_vue.computed.call(void 0, ()=>s.displayValue(n.value)),S=_vue.computed.call(void 0, {get:()=>d.value,set:B=>{s.setValue(B)}}),f=_vue.computed.call(void 0, ()=>o.value.error),r=_vue.computed.call(void 0, ()=>o.value.touched?o.value.error:void 0),a=_vue.computed.call(void 0, ()=>o.value.touched),l=_vue.computed.call(void 0, ()=>!!(a.value&&r.value)),p=_vue.computed.call(void 0, ()=>o.value.isValidating),b=_vue.computed.call(void 0, ()=>o.value.isDirty),P=_vue.computed.call(void 0, ()=>o.value.isHidden),h=_vue.computed.call(void 0, ()=>o.value.isRequired),R=_vue.computed.call(void 0, ()=>!!f.value),m=B=>{s.setValue(B)},g=()=>s.setBlur();return{value:n,displayValue:d,modelValue:S,setValue:m,setBlur:g,onInput:B=>{m(B)},onBlur:()=>{g()},meta:{error:r,touched:a,invalid:l,isValidating:p,isDirty:b,isHidden:P,isRequired:h,hasError:R}}}function se(t){let e=c(),i=r=>e.config.idFactory({scope:"array",path:t,index:r}),o=(()=>{let r=_chunkOZKLQRO6cjs.e.call(void 0, e.getState().values,t);return Array.isArray(r)?r:[]})(),u=_vue.ref.call(void 0, o),n=_vue.ref.call(void 0, o.map((r,a)=>i(a))),d=e.subscribePath(t,r=>{let a=Array.isArray(r)?r:[];if(u.value=[...a],a.length!==n.value.length){let l=[...n.value];if(a.length>l.length){let p=a.length-l.length,b=Array.from({length:p},(P,h)=>i(l.length+h));n.value=[...l,...b]}else n.value=l.slice(0,a.length)}});_vue.onUnmounted.call(void 0, ()=>{d(),e.unregisterPrefix&&e.unregisterPrefix(`${t}.`)});let S=_vue.computed.call(void 0, ()=>u.value.map((r,a)=>({key:n.value[a]||`temp-${a}`,value:r,index:a}))),f=_vue.computed.call(void 0, ()=>u.value.length);return{fields:S,length:f,append:r=>{n.value.push(i(n.value.length)),e.pushItem(t,r)},prepend:r=>{n.value.unshift(i(0)),e.prependItem(t,r)},insert:(r,a)=>{n.value.splice(r,0,i(r)),e.insertItem(t,r,a)},remove:r=>{n.value.splice(r,1),e.removeItem(t,r)},move:(r,a)=>{let l=[...n.value],[p]=l.splice(r,1);l.splice(a,0,p),n.value=l,e.moveItem(t,r,a)},swap:(r,a)=>{let l=[...n.value];[l[r],l[a]]=[l[a],l[r]],n.value=l,e.swapItems(t,r,a)},replace:r=>{n.value=r.map((a,l)=>i(l)),e.setField(t,r)},clear:()=>{n.value=[],e.setField(t,[])}}}function ae(){let t=c(),e=_vue.shallowRef.call(void 0, t.getHistoryMetadata()),i=t.subscribe(()=>{let u=t.getHistoryMetadata();_chunkVQ7MK5VBcjs.a.call(void 0, e.value,u)||(e.value=u)});_vue.onUnmounted.call(void 0, i);let s=()=>t.undo(),o=()=>t.redo();return{canUndo:_vue.computed.call(void 0, ()=>e.value.canUndo),canRedo:_vue.computed.call(void 0, ()=>e.value.canRedo),historyIndex:_vue.computed.call(void 0, ()=>e.value.historyIndex),historySize:_vue.computed.call(void 0, ()=>e.value.historySize),undo:s,redo:o}}function me(t){let e=c(),i=e.getScopeFields(t),s=_vue.ref.call(void 0, e.getStepStatus(t)),o;_vue.onMounted.call(void 0, ()=>{o=e.subscribeSelector(r=>({errors:r.errors,isDirty:r.isDirty}),()=>{let r=e.getStepStatus(t);_chunkJIWR4KSZcjs.e.call(void 0, s.value,r)||(s.value=r)},{paths:_chunkJIWR4KSZcjs.f.call(void 0, i)})}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([o, 'optionalCall', _2 => _2()])});let u=async()=>{let r=await e.validate({scope:t}),a=e.getStepErrors(t);return{valid:r,errors:a}},n=()=>e.getStepErrors(t),d=_vue.computed.call(void 0, ()=>!s.value.hasErrors),S=_vue.computed.call(void 0, ()=>s.value.isDirty),f=_vue.computed.call(void 0, ()=>s.value.errors);return{scopeName:t,status:s,errors:f,validate:u,getErrors:n,isValid:d,isDirty:S}}function Se(t){let e=c(),i=_vue.ref.call(void 0, 0),s=_vue.computed.call(void 0, ()=>_nullishCoalesce(t[i.value], () => (""))),o=_vue.ref.call(void 0, e.getStepStatus(s.value)),u;_vue.watch.call(void 0, s,m=>{o.value=e.getStepStatus(m)});let n=()=>{let m=s.value,g=e.getStepStatus(m);_chunkJIWR4KSZcjs.e.call(void 0, o.value,g)||(o.value=g)};_vue.onMounted.call(void 0, ()=>{u=e.subscribeSelector(m=>({errors:m.errors,isDirty:m.isDirty}),n,{paths:_chunkJIWR4KSZcjs.f.call(void 0, e.getScopeFields(s.value))})}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([u, 'optionalCall', _3 => _3()])});let d=async()=>{let m=s.value,g=await e.validate({scope:m}),F=e.getStepErrors(m);return{valid:g,errors:F}},S=()=>e.getStepErrors(s.value),f=async()=>{let m=s.value,g=e.getScopeFields(m);if(e.hasValidationsInProgress(g))return!1;let F=await e.validate({scope:m});if(F)i.value=Math.min(i.value+1,t.length-1);else{let k=e.getStepErrors(m),B=Object.keys(k);B.length>0&&e.markFieldsTouched(B)}return F},r=()=>{i.value=Math.max(i.value-1,0)},a=m=>{i.value=Math.max(0,Math.min(m-1,t.length-1))},l=_vue.computed.call(void 0, ()=>i.value+1),p=_vue.computed.call(void 0, ()=>i.value===0),b=_vue.computed.call(void 0, ()=>i.value>=t.length-1),P=_vue.computed.call(void 0, ()=>!o.value.hasErrors),h=_vue.computed.call(void 0, ()=>o.value.isDirty),R=_vue.computed.call(void 0, ()=>o.value.errors);return{step:l,stepIndex:i,scope:s,next:f,prev:r,goTo:a,isFirst:p,isLast:b,status:o,errors:R,isValid:P,isDirty:h,validate:d,getErrors:S}}function ye(t){let e=c(),i=_chunkOZKLQRO6cjs.e.call(void 0, e.getState().values,t),s=_vue.ref.call(void 0, i),o=e.watch(t,u=>{_chunkOZKLQRO6cjs.d.call(void 0, s.value,u)||(s.value=u)});return _vue.onUnmounted.call(void 0, o),_vue.readonly.call(void 0, s)}function he(t,e,i){let s=c(),o=E(t),u=null,n=_vue.ref.call(void 0, !1),d={setLoading:r=>{n.value=r},setError:(r,a)=>s.setError(r,a),setValue:r=>o.setValue(r),getUploadKey:()=>u,setUploadKey:r=>{u=r}},S=_chunkVQ7MK5VBcjs.b.call(void 0, t,e,d),f=_chunkVQ7MK5VBcjs.c.call(void 0, t,i,d);return{value:o.value,setValue:o.setValue,error:_vue.computed.call(void 0, ()=>o.meta.error.value),isValidating:_vue.computed.call(void 0, ()=>!!o.meta.isValidating.value||n.value),upload:S,remove:f}}function Ve(){let t=c(),e=_vue.ref.call(void 0, t.getPersistMetadata()),i=t.subscribeSelector(n=>n.persist,n=>{e.value=n},{paths:["persist"]});return _vue.onUnmounted.call(void 0, ()=>i()),{restore:async()=>t.restorePersisted(),save:async()=>{await t.forceSave()},clear:async()=>{await t.clearPersisted()},meta:{isSaving:_vue.computed.call(void 0, ()=>e.value.isSaving),isRestoring:_vue.computed.call(void 0, ()=>e.value.isRestoring),error:_vue.computed.call(void 0, ()=>e.value.error)}}}exports.provideBitStore = X; exports.useBitArray = se; exports.useBitField = E; exports.useBitForm = ee; exports.useBitHistory = ae; exports.useBitPersist = Ve; exports.useBitScope = me; exports.useBitSteps = Se; exports.useBitStore = c; exports.useBitUpload = he; exports.useBitWatch = ye;
2
2
  //# sourceMappingURL=index.cjs.map