@lehnihon/bit-form 2.2.6 → 2.2.7

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 (121) hide show
  1. package/README.md +80 -24
  2. package/dist/angular/index.cjs +1 -1
  3. package/dist/angular/index.cjs.map +1 -1
  4. package/dist/angular/index.d.cts +18 -20
  5. package/dist/angular/index.d.ts +18 -20
  6. package/dist/angular/index.js +1 -1
  7. package/dist/angular/index.js.map +1 -1
  8. package/dist/array-controller-C1A5VKYd.d.cts +23 -0
  9. package/dist/array-controller-DtkmcnUr.d.ts +23 -0
  10. package/dist/{bus-B4zZmB9C.d.ts → bus-DgilLszS.d.ts} +83 -15
  11. package/dist/{bus-BeAeZwWu.d.cts → bus-rcUiufS7.d.cts} +83 -15
  12. package/dist/chunk-DIEE6LUO.js +2 -0
  13. package/dist/chunk-DIEE6LUO.js.map +1 -0
  14. package/dist/chunk-FUUQB4DV.cjs +2 -0
  15. package/dist/chunk-FUUQB4DV.cjs.map +1 -0
  16. package/dist/chunk-IV32WXCF.cjs +2 -0
  17. package/dist/chunk-IV32WXCF.cjs.map +1 -0
  18. package/dist/chunk-K5X37E3U.js +2 -0
  19. package/dist/chunk-K5X37E3U.js.map +1 -0
  20. package/dist/chunk-KWLLYQOL.cjs +2 -0
  21. package/dist/chunk-KWLLYQOL.cjs.map +1 -0
  22. package/dist/chunk-LIYZPSWM.js +2 -0
  23. package/dist/chunk-LIYZPSWM.js.map +1 -0
  24. package/dist/chunk-O5UPA33R.js +2 -0
  25. package/dist/chunk-O5UPA33R.js.map +1 -0
  26. package/dist/chunk-QAL6J5GQ.cjs +2 -0
  27. package/dist/chunk-QAL6J5GQ.cjs.map +1 -0
  28. package/dist/chunk-QKGTVKBU.cjs +2 -0
  29. package/dist/chunk-QKGTVKBU.cjs.map +1 -0
  30. package/dist/chunk-SA47B5OP.js +2 -0
  31. package/dist/chunk-SA47B5OP.js.map +1 -0
  32. package/dist/cli/index.cjs +22 -22
  33. package/dist/core.cjs +2 -0
  34. package/dist/core.cjs.map +1 -0
  35. package/dist/core.d.cts +122 -0
  36. package/dist/core.d.ts +122 -0
  37. package/dist/core.js +2 -0
  38. package/dist/core.js.map +1 -0
  39. package/dist/devtools/bridge.cjs +1 -1
  40. package/dist/devtools/bridge.cjs.map +1 -1
  41. package/dist/devtools/bridge.d.cts +4 -1
  42. package/dist/devtools/bridge.d.ts +4 -1
  43. package/dist/devtools/bridge.js +1 -1
  44. package/dist/devtools/bridge.js.map +1 -1
  45. package/dist/devtools/index.cjs +18 -18
  46. package/dist/devtools/index.cjs.map +1 -1
  47. package/dist/devtools/index.d.cts +26 -2
  48. package/dist/devtools/index.d.ts +26 -2
  49. package/dist/devtools/index.js +18 -18
  50. package/dist/devtools/index.js.map +1 -1
  51. package/dist/devtools/protocol.cjs +2 -0
  52. package/dist/devtools/protocol.cjs.map +1 -0
  53. package/dist/devtools/protocol.d.cts +54 -0
  54. package/dist/devtools/protocol.d.ts +54 -0
  55. package/dist/devtools/protocol.js +2 -0
  56. package/dist/devtools/protocol.js.map +1 -0
  57. package/dist/field-binding-Bi1g-D8X.d.ts +25 -0
  58. package/dist/field-binding-X5TkvfUt.d.cts +25 -0
  59. package/dist/index.cjs +1 -1
  60. package/dist/index.cjs.map +1 -1
  61. package/dist/index.d.cts +64 -171
  62. package/dist/index.d.ts +64 -171
  63. package/dist/index.js +1 -1
  64. package/dist/mask.d.cts +2 -2
  65. package/dist/mask.d.ts +2 -2
  66. package/dist/react/index.cjs +1 -1
  67. package/dist/react/index.cjs.map +1 -1
  68. package/dist/react/index.d.cts +8 -7
  69. package/dist/react/index.d.ts +8 -7
  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.cjs.map +1 -1
  74. package/dist/react-native/index.d.cts +7 -6
  75. package/dist/react-native/index.d.ts +7 -6
  76. package/dist/react-native/index.js +1 -1
  77. package/dist/react-native/index.js.map +1 -1
  78. package/dist/resolvers/index.cjs +1 -1
  79. package/dist/resolvers/index.cjs.map +1 -1
  80. package/dist/resolvers/index.d.cts +2 -2
  81. package/dist/resolvers/index.d.ts +2 -2
  82. package/dist/resolvers/index.js +1 -1
  83. package/dist/resolvers/joi.d.cts +2 -2
  84. package/dist/resolvers/joi.d.ts +2 -2
  85. package/dist/resolvers/yup.d.cts +2 -2
  86. package/dist/resolvers/yup.d.ts +2 -2
  87. package/dist/resolvers/zod.d.cts +2 -2
  88. package/dist/resolvers/zod.d.ts +2 -2
  89. package/dist/store-api-types-9ipdute1.d.ts +187 -0
  90. package/dist/store-api-types-B6_bPoVI.d.cts +187 -0
  91. package/dist/{types-D8DgIUhJ.d.cts → types-CUXh7PqD.d.cts} +1 -1
  92. package/dist/{types-D8DgIUhJ.d.ts → types-CUXh7PqD.d.ts} +1 -1
  93. package/dist/{use-bit-persist-Dk3fUrds.d.ts → use-bit-persist-Bc06fmqZ.d.ts} +12 -14
  94. package/dist/{use-bit-persist-D_gimC9A.d.cts → use-bit-persist-CIKFwtdM.d.cts} +12 -14
  95. package/dist/vue/index.cjs +1 -1
  96. package/dist/vue/index.cjs.map +1 -1
  97. package/dist/vue/index.d.cts +15 -18
  98. package/dist/vue/index.d.ts +15 -18
  99. package/dist/vue/index.js +1 -1
  100. package/dist/vue/index.js.map +1 -1
  101. package/package.json +20 -11
  102. package/dist/chunk-2CVKNPWX.js +0 -2
  103. package/dist/chunk-2CVKNPWX.js.map +0 -1
  104. package/dist/chunk-3EDD3V43.cjs +0 -2
  105. package/dist/chunk-3EDD3V43.cjs.map +0 -1
  106. package/dist/chunk-PX6WKENM.js +0 -2
  107. package/dist/chunk-PX6WKENM.js.map +0 -1
  108. package/dist/chunk-QWH2NBVB.js +0 -2
  109. package/dist/chunk-QWH2NBVB.js.map +0 -1
  110. package/dist/chunk-T3FR7D5V.js +0 -2
  111. package/dist/chunk-T3FR7D5V.js.map +0 -1
  112. package/dist/chunk-VQ7MK5VB.cjs +0 -2
  113. package/dist/chunk-VQ7MK5VB.cjs.map +0 -1
  114. package/dist/chunk-Y2ONHDRE.cjs +0 -2
  115. package/dist/chunk-Y2ONHDRE.cjs.map +0 -1
  116. package/dist/chunk-YCSWULEN.cjs +0 -2
  117. package/dist/chunk-YCSWULEN.cjs.map +0 -1
  118. package/dist/field-binding-BXw0Ku2c.d.cts +0 -12
  119. package/dist/field-binding-BXw0Ku2c.d.ts +0 -12
  120. package/dist/public-types-Cd9ai20P.d.cts +0 -97
  121. package/dist/public-types-DdZxD6Op.d.ts +0 -97
@@ -1,13 +1,14 @@
1
- import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-Dk3fUrds.js';
2
- export { B as BitFormProvider, j as UseBitFieldBindProps, k as UseBitFieldMeta, U as UseBitPersistResult, l as UseBitStepsResult, 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-Dk3fUrds.js';
3
- import { f as BitPath } from '../bus-B4zZmB9C.js';
4
- export { S as ScopeStatus, n as ValidateScopeResult } from '../bus-B4zZmB9C.js';
1
+ import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-Bc06fmqZ.js';
2
+ export { B as BitFormProvider, j as UseBitFieldBindProps, k as UseBitFieldMeta, U as UseBitPersistResult, l as UseBitStepsResult, 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-Bc06fmqZ.js';
3
+ import { e as BitPath } from '../bus-DgilLszS.js';
4
+ export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-DgilLszS.js';
5
5
  import { B as BitUploadFn, a as BitDeleteUploadFn } from '../upload-EXnJLq8k.js';
6
6
  import 'react/jsx-runtime';
7
7
  import 'react';
8
- import '../public-types-DdZxD6Op.js';
9
- import '../types-D8DgIUhJ.js';
10
- import '../field-binding-BXw0Ku2c.js';
8
+ import '../store-api-types-9ipdute1.js';
9
+ import '../types-CUXh7PqD.js';
10
+ import '../array-controller-DtkmcnUr.js';
11
+ import '../field-binding-Bi1g-D8X.js';
11
12
 
12
13
  declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P): UseBitFieldResult<TForm, P>;
13
14
 
@@ -1,2 +1,2 @@
1
- import{a as j,b as m,c as D,d as S,e as K,f as q,g as z,h as w,i as A}from"../chunk-T3FR7D5V.js";import{a as P,b,c as M}from"../chunk-QWH2NBVB.js";import"../chunk-2CVKNPWX.js";import"../chunk-PX6WKENM.js";import{a as V,b as v,c as R}from"../chunk-3NUJVIAM.js";import{useMemo as k,useCallback as U,useSyncExternalStore as L}from"react";function F(e){let{fieldState:s,setValue:n,setBlur:o,store:t}=S(e),d=L(u=>t.subscribe(u),()=>t.getMasksVersion(),()=>t.getMasksVersion()),a=k(()=>t.resolveMask(e),[d,t.config.fields,e]),r=k(()=>v(s.value,a??void 0),[s.value,a]),i=U(u=>n(R(u,a??void 0)),[a,n]),{isHidden:B,isRequired:f,value:l,error:p,touched:y,isDirty:h,isValidating:T}=s,E=!!(y&&p),I=y?p:void 0,x=U(u=>{let C=V(u)?u.target?.value:u;i(C)},[i]),g=U(()=>{o()},[o]);return{value:l,displayValue:r,setValue:i,setBlur:o,onChange:x,onBlur:g,props:{value:r,onChange:x,onBlur:g},meta:{error:I,touched:y,invalid:E,isDirty:h,isValidating:T,isHidden:B,isRequired:f,hasError:!!p}}}import{useCallback as c,useRef as O,useSyncExternalStore as W}from"react";function G(){let e=m(),s=O(null),n=c(()=>{let r=e.getHistoryMetadata();if(s.current&&P(s.current,r))return s.current;let i={canUndo:r.canUndo,canRedo:r.canRedo,historyIndex:r.historyIndex,historySize:r.historySize};return s.current=i,i},[e]),o=c(r=>e.subscribe(r),[e]),t=W(o,n,n),d=c(()=>{e.undo()},[e]),a=c(()=>{e.redo()},[e]);return{...t,undo:d,redo:a}}import{useCallback as H,useRef as J,useState as N}from"react";function Q(e,s,n){let o=m(),t=F(e),d=J(null),[a,r]=N(!1),i={setLoading:r,setError:(l,p)=>o.setError(l,p),setValue:l=>t.setValue(l),getUploadKey:()=>d.current,setUploadKey:l=>{d.current=l}},B=H(b(e,s,i),[s,t,e,o]),f=H(M(e,n,i),[n,t,e,o]);return{value:t.value,setValue:t.setValue,error:t.meta?.error,isValidating:!!t.meta?.isValidating||a,upload:B,remove:f}}export{j as BitFormProvider,K as useBitArray,F as useBitField,D as useBitForm,G as useBitHistory,A as useBitPersist,q as useBitScope,z as useBitSteps,m as useBitStore,Q as useBitUpload,w as useBitWatch};
1
+ import{a as h,b as d,c as H,d as g,e as b,f as M,g as T,h as E,i as k}from"../chunk-LIYZPSWM.js";import{a as v,b as S}from"../chunk-O5UPA33R.js";import{E as x,I as R,m as U}from"../chunk-SA47B5OP.js";import{a as F}from"../chunk-3NUJVIAM.js";import{useMemo as V,useCallback as y}from"react";function f(e){let{fieldState:t,setBlur:n,store:a}=g(e),{fieldController:r}=V(()=>x(a,e),[a,e]),l=V(()=>r.displayValue(t.value),[t.value,r]),u=y(i=>{r.setValue(i)},[r]),{value:o}=t,s=R(t),p=y(i=>{let B=F(i)?i.target?.value:i;u(B)},[u]),c=y(()=>{n()},[n]);return{value:o,displayValue:l,setValue:u,setBlur:n,onChange:p,onBlur:c,props:{value:l,onChange:p,onBlur:c},meta:{error:s.error,touched:s.touched,invalid:s.invalid,isDirty:s.isDirty,isValidating:s.isValidating,isHidden:s.isHidden,isRequired:s.isRequired,hasError:s.hasError}}}import{useCallback as m,useRef as C,useSyncExternalStore as I}from"react";function D(){let e=d(),t=C(null),n=m(()=>{let o=U(e);return t.current&&t.current.canUndo===o.canUndo&&t.current.canRedo===o.canRedo&&t.current.historyIndex===o.historyIndex&&t.current.historySize===o.historySize?t.current:(t.current=o,o)},[e]),a=m(o=>e.subscribeHistoryMeta(()=>o()),[e]),r=I(a,n,n),l=m(()=>{e.undo()},[e]),u=m(()=>{e.redo()},[e]);return{...r,undo:l,redo:u}}import{useCallback as P,useRef as j,useState as K}from"react";function q(e,t,n){let a=d(),r=f(e),l=j(null),[u,o]=K(!1),s={setLoading:o,setError:(i,B)=>a.setError(i,B),setValue:i=>r.setValue(i),getUploadKey:()=>l.current,setUploadKey:i=>{l.current=i}},p=P(v(e,t,s),[t,r,e,a]),c=P(S(e,n,s),[n,r,e,a]);return{value:r.value,setValue:r.setValue,error:r.meta?.error,isValidating:!!r.meta?.isValidating||u,upload:p,remove:c}}export{h as BitFormProvider,b as useBitArray,f as useBitField,H as useBitForm,D as useBitHistory,k as useBitPersist,M as useBitScope,T as useBitSteps,d as useBitStore,q as useBitUpload,E 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, useSyncExternalStore } 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 // Track mask registrations reactively. getMasksVersion() returns a counter\n // that increments on every registerMask() call. useSyncExternalStore fires\n // the snapshot on every store notification; the integer comparison is O(1)\n // so this only triggers a re-render when a mask is actually added.\n const masksVersion = useSyncExternalStore(\n // store.subscribe fires on every state change (global listener)\n (cb) => store.subscribe(cb),\n () => store.getMasksVersion(),\n () => store.getMasksVersion(),\n );\n\n const resolvedMask = useMemo(() => {\n return store.resolveMask(path as string);\n }, [masksVersion, 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","useSyncExternalStore","useBitField","path","fieldState","rawSetValue","setBlur","store","useBitFieldBase","masksVersion","useSyncExternalStore","cb","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
+ {"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 {\n BitPath,\n BitPathValue,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\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 { fieldState, setBlur, store } = useBitFieldBase<\n BitPathValue<TForm, P>,\n TForm,\n P\n >(path);\n\n const { fieldController } = useMemo(() => {\n return createFrameworkMaskedFieldBinding(store, path);\n }, [store, path]);\n\n const displayValue = useMemo(\n () => fieldController.displayValue(fieldState.value),\n [fieldState.value, fieldController],\n );\n\n const setValue = useCallback(\n (val: BitPathValue<TForm, P> | string | number | null | undefined) => {\n fieldController.setValue(val);\n },\n [fieldController],\n );\n\n const { value } = fieldState;\n const metaState = deriveFieldMeta(fieldState);\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: metaState.error,\n touched: metaState.touched,\n invalid: metaState.invalid,\n isDirty: metaState.isDirty,\n isValidating: metaState.isValidating,\n isHidden: metaState.isHidden,\n isRequired: metaState.isRequired,\n hasError: metaState.hasError,\n },\n };\n}\n","import { useCallback, useRef, useSyncExternalStore } from \"react\";\nimport { readHistoryMetaSnapshot, type HistoryMeta } from \"../core\";\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 = readHistoryMetaSnapshot(store);\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 lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const subscribe = useCallback(\n (cb: () => void) => store.subscribeHistoryMeta(() => 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","setBlur","store","useBitFieldBase","fieldController","useMemo","createFrameworkMaskedFieldBinding","displayValue","setValue","useCallback","val","value","metaState","deriveFieldMeta","onChange","e","isBitFieldInputEventObject","onBlur","useCallback","useRef","useSyncExternalStore","useBitHistory","store","useBitStore","lastMeta","useRef","getSnapshot","useCallback","nextMeta","readHistoryMetaSnapshot","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 _chunk3EDD3V43cjs = require('../chunk-3EDD3V43.cjs');require('../chunk-Y2ONHDRE.cjs');require('../chunk-YCSWULEN.cjs');var _chunkPFPGASVZcjs = require('../chunk-PFPGASVZ.cjs');var _react = require('react');function E(r){let{fieldState:o,setValue:t,setBlur:s,store:i}=_chunk3EDD3V43cjs.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 = _chunk3EDD3V43cjs.a; exports.useBitArray = _chunk3EDD3V43cjs.e; exports.useBitField = E; exports.useBitForm = _chunk3EDD3V43cjs.c; exports.useBitPersist = _chunk3EDD3V43cjs.i; exports.useBitScope = _chunk3EDD3V43cjs.f; exports.useBitSteps = _chunk3EDD3V43cjs.g; exports.useBitStore = _chunk3EDD3V43cjs.b; exports.useBitWatch = _chunk3EDD3V43cjs.h;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKWLLYQOLcjs = require('../chunk-KWLLYQOL.cjs');var _chunkFUUQB4DVcjs = require('../chunk-FUUQB4DV.cjs');require('../chunk-PFPGASVZ.cjs');var _react = require('react');function g(i){let{fieldState:r,setBlur:o,store:l}=_chunkKWLLYQOLcjs.d.call(void 0, i),{fieldController:t}=_react.useMemo.call(void 0, ()=>_chunkFUUQB4DVcjs.E.call(void 0, l,i),[l,i]),u=_react.useMemo.call(void 0, ()=>t.displayValue(r.value),[r.value,t]),d=_react.useCallback.call(void 0, s=>t.setValue(s),[t]),F=_react.useCallback.call(void 0, s=>t.setValue(s),[t]),{value:f}=r,e=_chunkFUUQB4DVcjs.I.call(void 0, r),n=_react.useCallback.call(void 0, ()=>{o()},[o]);return{value:f,displayValue:u,setValue:F,setBlur:o,onChangeText:d,onBlur:n,meta:{error:e.error,touched:e.touched,invalid:e.invalid,isValidating:e.isValidating,isDirty:e.isDirty,isHidden:e.isHidden,isRequired:e.isRequired,hasError:e.hasError},props:{value:u,onChangeText:d,onBlur:n}}}exports.BitFormProvider = _chunkKWLLYQOLcjs.a; exports.useBitArray = _chunkKWLLYQOLcjs.e; exports.useBitField = g; exports.useBitForm = _chunkKWLLYQOLcjs.c; exports.useBitPersist = _chunkKWLLYQOLcjs.i; exports.useBitScope = _chunkKWLLYQOLcjs.f; exports.useBitSteps = _chunkKWLLYQOLcjs.g; exports.useBitStore = _chunkKWLLYQOLcjs.b; exports.useBitWatch = _chunkKWLLYQOLcjs.h;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/react-native/index.cjs","../../src/react-native/use-bit-field.ts"],"names":["useBitField","path","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","displayValue","formatMaskedValue","handleChange","useCallback","text","parseMaskedInput","setValue","val","isHidden","isRequired","value","error","touched","isDirty","isValidating","invalid","visibleError","onBlur"],"mappings":"AAAA,sOAAiG,iCAA8B,iCAA8B,yDAAiD,8BCAzK,SASrBA,CAAAA,CAGdC,CAAAA,CAA4C,CAC5C,GAAM,CACJ,UAAA,CAAAC,CAAAA,CACA,QAAA,CAAUC,CAAAA,CACV,OAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CACF,CAAA,CAAIC,iCAAAA,CAAsD,CAAA,CAEpDC,CAAAA,CAAeC,4BAAAA,CAAQ,CAAA,EACpBH,CAAAA,CAAM,WAAA,CAAYJ,CAAc,CAAA,CACtC,CAACI,CAAAA,CAAM,MAAA,CAAO,KAAA,CAAOA,CAAAA,CAAM,MAAA,CAAO,MAAA,CAAQJ,CAAI,CAAC,CAAA,CAE5CQ,CAAAA,CAAeD,4BAAAA,CACnB,CAAA,EAAME,iCAAAA,CAAkBR,CAAW,KAAA,kBAAOK,CAAAA,SAAgB,KAAA,GAAS,CAAA,CACnE,CAACL,CAAAA,CAAW,KAAA,CAAOK,CAAY,CACjC,CAAA,CAEMI,CAAAA,CAAeC,gCAAAA,CAClBC,EACCV,CAAAA,CAAYW,iCAAAA,CAAiBD,kBAAMN,CAAAA,SAAgB,KAAA,GAAS,CAAQ,CAAA,CACtE,CAACA,CAAAA,CAAcJ,CAAW,CAC5B,CAAA,CAEMY,CAAAA,CAAWH,gCAAAA,CACdI,EACCb,CAAAA,CAAYW,iCAAAA,CAAiBE,kBAAKT,CAAAA,SAAgB,KAAA,GAAS,CAAQ,CAAA,CACrE,CAACA,CAAAA,CAAcJ,CAAW,CAC5B,CAAA,CAEM,CAAE,QAAA,CAAAc,CAAAA,CAAU,UAAA,CAAAC,CAAAA,CAAY,KAAA,CAAAC,CAAAA,CAAO,KAAA,CAAAC,CAAAA,CAAO,OAAA,CAAAC,CAAAA,CAAS,OAAA,CAAAC,CAAAA,CAAS,YAAA,CAAAC,CAAa,CAAA,CACzErB,CAAAA,CACIsB,CAAAA,CAAU,CAAC,CAAA,CAAEH,CAAAA,EAAWD,CAAAA,CAAAA,CACxBK,CAAAA,CAAeJ,CAAAA,CAAUD,CAAAA,CAAQ,KAAA,CAAA,CAEjCM,CAAAA,CAASd,gCAAAA,CAAY,CAAA,EAAM,CAC/BR,CAAAA,CAAQ,CACV,CAAA,CAAG,CAACA,CAAO,CAAC,CAAA,CAEZ,MAAO,CACL,KAAA,CAAOe,CAAAA,CACP,YAAA,CAAAV,CAAAA,CACA,QAAA,CAAAM,CAAAA,CACA,OAAA,CAAAX,CAAAA,CACA,YAAA,CAAcO,CAAAA,CACd,MAAA,CAAAe,CAAAA,CACA,IAAA,CAAM,CACJ,KAAA,CAAOD,CAAAA,CACP,OAAA,CAAAJ,CAAAA,CACA,OAAA,CAAAG,CAAAA,CACA,YAAA,CAAAD,CAAAA,CACA,OAAA,CAAAD,CAAAA,CACA,QAAA,CAAAL,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,QAAA,CAAU,CAAC,CAACE,CACd,CAAA,CACA,KAAA,CAAO,CACL,KAAA,CAAOX,CAAAA,CACP,YAAA,CAAcE,CAAAA,CACd,MAAA,CAAAe,CACF,CACF,CACF,CAAA,qXAAA","file":"/home/runner/work/bit-form/bit-form/dist/react-native/index.cjs","sourcesContent":[null,"import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"../react/use-bit-field-base\";\nimport { BitPath, BitPathValue } from \"../core\";\nimport {\n formatMaskedValue,\n parseMaskedInput,\n} from \"../core/mask/field-binding\";\nimport type { UseBitFieldNativeResult } from \"./types\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldNativeResult<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 handleChange = useCallback(\n (text: string) =>\n rawSetValue(parseMaskedInput(text, resolvedMask ?? undefined) as any),\n [resolvedMask, rawSetValue],\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 const invalid = !!(touched && error);\n const visibleError = touched ? error : undefined;\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n return {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n meta: {\n error: visibleError,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError: !!error,\n },\n props: {\n value: displayValue,\n onChangeText: handleChange,\n onBlur,\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/react-native/index.cjs","../../src/react-native/use-bit-field.ts"],"names":["useBitField","path","fieldState","setBlur","store","useBitFieldBase","fieldController","useMemo","createFrameworkMaskedFieldBinding","displayValue","handleChange","useCallback","text","setValue","val","value","metaState","deriveFieldMeta","onBlur"],"mappings":"AAAA,kIAAiG,yDAAiD,iCAA8B,8BCA3I,SAUrBA,CAAAA,CAGdC,CAAAA,CAA4C,CAC5C,GAAM,CAAE,UAAA,CAAAC,CAAAA,CAAY,OAAA,CAAAC,CAAAA,CAAS,KAAA,CAAAC,CAAM,CAAA,CAAIC,iCAAAA,CAIjC,CAAA,CAEA,CAAE,eAAA,CAAAC,CAAgB,CAAA,CAAIC,4BAAAA,CAAQ,CAAA,EAC3BC,iCAAAA,CAAkCJ,CAAOH,CAAI,CAAA,CACnD,CAACG,CAAAA,CAAOH,CAAI,CAAC,CAAA,CAEVQ,CAAAA,CAAeF,4BAAAA,CACnB,CAAA,EAAMD,CAAAA,CAAgB,YAAA,CAAaJ,CAAAA,CAAW,KAAK,CAAA,CACnD,CAACA,CAAAA,CAAW,KAAA,CAAOI,CAAe,CACpC,CAAA,CAEMI,CAAAA,CAAeC,gCAAAA,CAClBC,EAAiBN,CAAAA,CAAgB,QAAA,CAASM,CAAI,CAAA,CAC/C,CAACN,CAAe,CAClB,CAAA,CAEMO,CAAAA,CAAWF,gCAAAA,CACdG,EAAaR,CAAAA,CAAgB,QAAA,CAASQ,CAAG,CAAA,CAC1C,CAACR,CAAe,CAClB,CAAA,CAEM,CAAE,KAAA,CAAAS,CAAM,CAAA,CAAIb,CAAAA,CACZc,CAAAA,CAAYC,iCAAAA,CAA0B,CAAA,CAEtCC,CAAAA,CAASP,gCAAAA,CAAY,CAAA,EAAM,CAC/BR,CAAAA,CAAQ,CACV,CAAA,CAAG,CAACA,CAAO,CAAC,CAAA,CAEZ,MAAO,CACL,KAAA,CAAOY,CAAAA,CACP,YAAA,CAAAN,CAAAA,CACA,QAAA,CAAAI,CAAAA,CACA,OAAA,CAAAV,CAAAA,CACA,YAAA,CAAcO,CAAAA,CACd,MAAA,CAAAQ,CAAAA,CACA,IAAA,CAAM,CACJ,KAAA,CAAOF,CAAAA,CAAU,KAAA,CACjB,OAAA,CAASA,CAAAA,CAAU,OAAA,CACnB,OAAA,CAASA,CAAAA,CAAU,OAAA,CACnB,YAAA,CAAcA,CAAAA,CAAU,YAAA,CACxB,OAAA,CAASA,CAAAA,CAAU,OAAA,CACnB,QAAA,CAAUA,CAAAA,CAAU,QAAA,CACpB,UAAA,CAAYA,CAAAA,CAAU,UAAA,CACtB,QAAA,CAAUA,CAAAA,CAAU,QACtB,CAAA,CACA,KAAA,CAAO,CACL,KAAA,CAAOP,CAAAA,CACP,YAAA,CAAcC,CAAAA,CACd,MAAA,CAAAQ,CACF,CACF,CACF,CAAA,qXAAA","file":"/home/runner/work/bit-form/bit-form/dist/react-native/index.cjs","sourcesContent":[null,"import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"../react/use-bit-field-base\";\nimport {\n BitPath,\n BitPathValue,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\nimport type { UseBitFieldNativeResult } from \"./types\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldNativeResult<TForm, P> {\n const { fieldState, setBlur, store } = useBitFieldBase<\n BitPathValue<TForm, P>,\n TForm,\n P\n >(path);\n\n const { fieldController } = useMemo(() => {\n return createFrameworkMaskedFieldBinding(store, path);\n }, [store, path]);\n\n const displayValue = useMemo(\n () => fieldController.displayValue(fieldState.value),\n [fieldState.value, fieldController],\n );\n\n const handleChange = useCallback(\n (text: string) => fieldController.setValue(text),\n [fieldController],\n );\n\n const setValue = useCallback(\n (val: any) => fieldController.setValue(val),\n [fieldController],\n );\n\n const { value } = fieldState;\n const metaState = deriveFieldMeta(fieldState);\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n return {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n meta: {\n error: metaState.error,\n touched: metaState.touched,\n invalid: metaState.invalid,\n isValidating: metaState.isValidating,\n isDirty: metaState.isDirty,\n isHidden: metaState.isHidden,\n isRequired: metaState.isRequired,\n hasError: metaState.hasError,\n },\n props: {\n value: displayValue,\n onChangeText: handleChange,\n onBlur,\n },\n };\n}\n"]}
@@ -1,11 +1,12 @@
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-D_gimC9A.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';
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-CIKFwtdM.cjs';
2
+ import { e as BitPath, b as BitPathValue } from '../bus-rcUiufS7.cjs';
3
+ export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-rcUiufS7.cjs';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react';
6
- import '../public-types-Cd9ai20P.cjs';
7
- import '../types-D8DgIUhJ.cjs';
8
- import '../field-binding-BXw0Ku2c.cjs';
6
+ import '../store-api-types-B6_bPoVI.cjs';
7
+ import '../types-CUXh7PqD.cjs';
8
+ import '../array-controller-C1A5VKYd.cjs';
9
+ import '../field-binding-X5TkvfUt.cjs';
9
10
 
10
11
  /**
11
12
  * Metadata describing the current state of a form field (React Native).
@@ -1,11 +1,12 @@
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-Dk3fUrds.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';
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-Bc06fmqZ.js';
2
+ import { e as BitPath, b as BitPathValue } from '../bus-DgilLszS.js';
3
+ export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-DgilLszS.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react';
6
- import '../public-types-DdZxD6Op.js';
7
- import '../types-D8DgIUhJ.js';
8
- import '../field-binding-BXw0Ku2c.js';
6
+ import '../store-api-types-9ipdute1.js';
7
+ import '../types-CUXh7PqD.js';
8
+ import '../array-controller-DtkmcnUr.js';
9
+ import '../field-binding-Bi1g-D8X.js';
9
10
 
10
11
  /**
11
12
  * 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-T3FR7D5V.js";import"../chunk-2CVKNPWX.js";import"../chunk-PX6WKENM.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};
1
+ import{a as x,b as P,c as v,d as B,e as y,f as h,g as V,h as T,i as S}from"../chunk-LIYZPSWM.js";import{E as m,I as p}from"../chunk-SA47B5OP.js";import"../chunk-3NUJVIAM.js";import{useMemo as c,useCallback as a}from"react";function g(i){let{fieldState:r,setBlur:o,store:l}=B(i),{fieldController:t}=c(()=>m(l,i),[l,i]),u=c(()=>t.displayValue(r.value),[r.value,t]),d=a(s=>t.setValue(s),[t]),F=a(s=>t.setValue(s),[t]),{value:f}=r,e=p(r),n=a(()=>{o()},[o]);return{value:f,displayValue:u,setValue:F,setBlur:o,onChangeText:d,onBlur:n,meta:{error:e.error,touched:e.touched,invalid:e.invalid,isValidating:e.isValidating,isDirty:e.isDirty,isHidden:e.isHidden,isRequired:e.isRequired,hasError:e.hasError},props:{value:u,onChangeText:d,onBlur:n}}}export{x as BitFormProvider,y as useBitArray,g as useBitField,v as useBitForm,S as useBitPersist,h as useBitScope,V as useBitSteps,P as useBitStore,T as useBitWatch};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react-native/use-bit-field.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"../react/use-bit-field-base\";\nimport { BitPath, BitPathValue } from \"../core\";\nimport {\n formatMaskedValue,\n parseMaskedInput,\n} from \"../core/mask/field-binding\";\nimport type { UseBitFieldNativeResult } from \"./types\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldNativeResult<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 handleChange = useCallback(\n (text: string) =>\n rawSetValue(parseMaskedInput(text, resolvedMask ?? undefined) as any),\n [resolvedMask, rawSetValue],\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 const invalid = !!(touched && error);\n const visibleError = touched ? error : undefined;\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n return {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n meta: {\n error: visibleError,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError: !!error,\n },\n props: {\n value: displayValue,\n onChangeText: handleChange,\n onBlur,\n },\n };\n}\n"],"mappings":"2MAAA,OAAS,WAAAA,EAAS,eAAAC,MAAmB,QAS9B,SAASC,EAGdC,EAA4C,CAC5C,GAAM,CACJ,WAAAC,EACA,SAAUC,EACV,QAAAC,EACA,MAAAC,CACF,EAAIC,EAAkDL,CAAI,EAEpDM,EAAeC,EAAQ,IACpBH,EAAM,YAAYJ,CAAc,EACtC,CAACI,EAAM,OAAO,MAAOA,EAAM,OAAO,OAAQJ,CAAI,CAAC,EAE5CQ,EAAeD,EACnB,IAAME,EAAkBR,EAAW,MAAOK,GAAgB,MAAS,EACnE,CAACL,EAAW,MAAOK,CAAY,CACjC,EAEMI,EAAeC,EAClBC,GACCV,EAAYW,EAAiBD,EAAMN,GAAgB,MAAS,CAAQ,EACtE,CAACA,EAAcJ,CAAW,CAC5B,EAEMY,EAAWH,EACdI,GACCb,EAAYW,EAAiBE,EAAKT,GAAgB,MAAS,CAAQ,EACrE,CAACA,EAAcJ,CAAW,CAC5B,EAEM,CAAE,SAAAc,EAAU,WAAAC,EAAY,MAAAC,EAAO,MAAAC,EAAO,QAAAC,EAAS,QAAAC,EAAS,aAAAC,CAAa,EACzErB,EACIsB,EAAU,CAAC,EAAEH,GAAWD,GACxBK,EAAeJ,EAAUD,EAAQ,OAEjCM,EAASd,EAAY,IAAM,CAC/BR,EAAQ,CACV,EAAG,CAACA,CAAO,CAAC,EAEZ,MAAO,CACL,MAAOe,EACP,aAAAV,EACA,SAAAM,EACA,QAAAX,EACA,aAAcO,EACd,OAAAe,EACA,KAAM,CACJ,MAAOD,EACP,QAAAJ,EACA,QAAAG,EACA,aAAAD,EACA,QAAAD,EACA,SAAAL,EACA,WAAAC,EACA,SAAU,CAAC,CAACE,CACd,EACA,MAAO,CACL,MAAOX,EACP,aAAcE,EACd,OAAAe,CACF,CACF,CACF","names":["useMemo","useCallback","useBitField","path","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","displayValue","formatMaskedValue","handleChange","useCallback","text","parseMaskedInput","setValue","val","isHidden","isRequired","value","error","touched","isDirty","isValidating","invalid","visibleError","onBlur"]}
1
+ {"version":3,"sources":["../../src/react-native/use-bit-field.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"../react/use-bit-field-base\";\nimport {\n BitPath,\n BitPathValue,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\nimport type { UseBitFieldNativeResult } from \"./types\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldNativeResult<TForm, P> {\n const { fieldState, setBlur, store } = useBitFieldBase<\n BitPathValue<TForm, P>,\n TForm,\n P\n >(path);\n\n const { fieldController } = useMemo(() => {\n return createFrameworkMaskedFieldBinding(store, path);\n }, [store, path]);\n\n const displayValue = useMemo(\n () => fieldController.displayValue(fieldState.value),\n [fieldState.value, fieldController],\n );\n\n const handleChange = useCallback(\n (text: string) => fieldController.setValue(text),\n [fieldController],\n );\n\n const setValue = useCallback(\n (val: any) => fieldController.setValue(val),\n [fieldController],\n );\n\n const { value } = fieldState;\n const metaState = deriveFieldMeta(fieldState);\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n return {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n meta: {\n error: metaState.error,\n touched: metaState.touched,\n invalid: metaState.invalid,\n isValidating: metaState.isValidating,\n isDirty: metaState.isDirty,\n isHidden: metaState.isHidden,\n isRequired: metaState.isRequired,\n hasError: metaState.hasError,\n },\n props: {\n value: displayValue,\n onChangeText: handleChange,\n onBlur,\n },\n };\n}\n"],"mappings":"8KAAA,OAAS,WAAAA,EAAS,eAAAC,MAAmB,QAU9B,SAASC,EAGdC,EAA4C,CAC5C,GAAM,CAAE,WAAAC,EAAY,QAAAC,EAAS,MAAAC,CAAM,EAAIC,EAIrCJ,CAAI,EAEA,CAAE,gBAAAK,CAAgB,EAAIC,EAAQ,IAC3BC,EAAkCJ,EAAOH,CAAI,EACnD,CAACG,EAAOH,CAAI,CAAC,EAEVQ,EAAeF,EACnB,IAAMD,EAAgB,aAAaJ,EAAW,KAAK,EACnD,CAACA,EAAW,MAAOI,CAAe,CACpC,EAEMI,EAAeC,EAClBC,GAAiBN,EAAgB,SAASM,CAAI,EAC/C,CAACN,CAAe,CAClB,EAEMO,EAAWF,EACdG,GAAaR,EAAgB,SAASQ,CAAG,EAC1C,CAACR,CAAe,CAClB,EAEM,CAAE,MAAAS,CAAM,EAAIb,EACZc,EAAYC,EAAgBf,CAAU,EAEtCgB,EAASP,EAAY,IAAM,CAC/BR,EAAQ,CACV,EAAG,CAACA,CAAO,CAAC,EAEZ,MAAO,CACL,MAAOY,EACP,aAAAN,EACA,SAAAI,EACA,QAAAV,EACA,aAAcO,EACd,OAAAQ,EACA,KAAM,CACJ,MAAOF,EAAU,MACjB,QAASA,EAAU,QACnB,QAASA,EAAU,QACnB,aAAcA,EAAU,aACxB,QAASA,EAAU,QACnB,SAAUA,EAAU,SACpB,WAAYA,EAAU,WACtB,SAAUA,EAAU,QACtB,EACA,MAAO,CACL,MAAOP,EACP,aAAcC,EACd,OAAAQ,CACF,CACF,CACF","names":["useMemo","useCallback","useBitField","path","fieldState","setBlur","store","useBitFieldBase","fieldController","useMemo","createFrameworkMaskedFieldBinding","displayValue","handleChange","useCallback","text","setValue","val","value","metaState","deriveFieldMeta","onBlur"]}
@@ -1,2 +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;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUT63HKR6cjs = require('../chunk-UT63HKR6.cjs');var _chunkDD6XWUMRcjs = require('../chunk-DD6XWUMR.cjs');require('../chunk-MFSDDSVG.cjs');var _chunk77PK7U73cjs = require('../chunk-77PK7U73.cjs');require('../chunk-CTURHI75.cjs');exports.joiResolver = _chunkDD6XWUMRcjs.a; exports.yupResolver = _chunkUT63HKR6cjs.a; exports.zodResolver = _chunk77PK7U73cjs.a;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +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"}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/resolvers/index.cjs"],"names":[],"mappings":"AAAA,kIAAyC,yDAA0C,iCAA8B,yDAA0C,iCAA8B,gIAA2D","file":"/home/runner/work/bit-form/bit-form/dist/resolvers/index.cjs"}
@@ -3,7 +3,7 @@ export { zodResolver } from './zod.cjs';
3
3
  export { yupResolver } from './yup.cjs';
4
4
  export { BitJoiResolverConfig, BitResolverScopeOptions, BitYupResolverConfig, BitZodResolverConfig } from './types.cjs';
5
5
  import 'joi';
6
- import '../bus-BeAeZwWu.cjs';
7
- import '../types-D8DgIUhJ.cjs';
6
+ import '../bus-rcUiufS7.cjs';
7
+ import '../types-CUXh7PqD.cjs';
8
8
  import 'zod';
9
9
  import 'yup';
@@ -3,7 +3,7 @@ export { zodResolver } from './zod.js';
3
3
  export { yupResolver } from './yup.js';
4
4
  export { BitJoiResolverConfig, BitResolverScopeOptions, BitYupResolverConfig, BitZodResolverConfig } from './types.js';
5
5
  import 'joi';
6
- import '../bus-B4zZmB9C.js';
7
- import '../types-D8DgIUhJ.js';
6
+ import '../bus-DgilLszS.js';
7
+ import '../types-CUXh7PqD.js';
8
8
  import 'zod';
9
9
  import 'yup';
@@ -1,2 +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};
1
+ import{a as r}from"../chunk-GDRNKTHO.js";import{a as e}from"../chunk-FGJB4DHQ.js";import"../chunk-FQLJOSF7.js";import{a as o}from"../chunk-M2XR4C7T.js";import"../chunk-GUU6EXFN.js";export{e as joiResolver,r as yupResolver,o as zodResolver};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  import { ObjectSchema } from 'joi';
2
- import { i as BitErrors } from '../bus-BeAeZwWu.cjs';
2
+ import { c as BitErrors } from '../bus-rcUiufS7.cjs';
3
3
  import { BitJoiResolverConfig, BitResolverScopeOptions } from './types.cjs';
4
- import '../types-D8DgIUhJ.cjs';
4
+ import '../types-CUXh7PqD.cjs';
5
5
 
6
6
  declare const joiResolver: <T extends object>(schema: ObjectSchema<T>, config?: BitJoiResolverConfig) => (values: T, options?: BitResolverScopeOptions) => Promise<BitErrors<T>>;
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { ObjectSchema } from 'joi';
2
- import { i as BitErrors } from '../bus-B4zZmB9C.js';
2
+ import { c as BitErrors } from '../bus-DgilLszS.js';
3
3
  import { BitJoiResolverConfig, BitResolverScopeOptions } from './types.js';
4
- import '../types-D8DgIUhJ.js';
4
+ import '../types-CUXh7PqD.js';
5
5
 
6
6
  declare const joiResolver: <T extends object>(schema: ObjectSchema<T>, config?: BitJoiResolverConfig) => (values: T, options?: BitResolverScopeOptions) => Promise<BitErrors<T>>;
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { Schema } from 'yup';
2
- import { i as BitErrors } from '../bus-BeAeZwWu.cjs';
2
+ import { c as BitErrors } from '../bus-rcUiufS7.cjs';
3
3
  import { BitYupResolverConfig, BitResolverScopeOptions } from './types.cjs';
4
- import '../types-D8DgIUhJ.cjs';
4
+ import '../types-CUXh7PqD.cjs';
5
5
 
6
6
  declare const yupResolver: <T extends object>(schema: Schema<T>, config?: BitYupResolverConfig) => (values: T, options?: BitResolverScopeOptions) => Promise<BitErrors<T>>;
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { Schema } from 'yup';
2
- import { i as BitErrors } from '../bus-B4zZmB9C.js';
2
+ import { c as BitErrors } from '../bus-DgilLszS.js';
3
3
  import { BitYupResolverConfig, BitResolverScopeOptions } from './types.js';
4
- import '../types-D8DgIUhJ.js';
4
+ import '../types-CUXh7PqD.js';
5
5
 
6
6
  declare const yupResolver: <T extends object>(schema: Schema<T>, config?: BitYupResolverConfig) => (values: T, options?: BitResolverScopeOptions) => Promise<BitErrors<T>>;
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { ZodSchema } from 'zod';
2
- import { i as BitErrors } from '../bus-BeAeZwWu.cjs';
2
+ import { c as BitErrors } from '../bus-rcUiufS7.cjs';
3
3
  import { BitZodResolverConfig, BitResolverScopeOptions } from './types.cjs';
4
- import '../types-D8DgIUhJ.cjs';
4
+ import '../types-CUXh7PqD.cjs';
5
5
 
6
6
  declare const zodResolver: <T extends object>(schema: ZodSchema<T>, _config?: BitZodResolverConfig) => (values: T, options?: BitResolverScopeOptions) => Promise<BitErrors<T>>;
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { ZodSchema } from 'zod';
2
- import { i as BitErrors } from '../bus-B4zZmB9C.js';
2
+ import { c as BitErrors } from '../bus-DgilLszS.js';
3
3
  import { BitZodResolverConfig, BitResolverScopeOptions } from './types.js';
4
- import '../types-D8DgIUhJ.js';
4
+ import '../types-CUXh7PqD.js';
5
5
 
6
6
  declare const zodResolver: <T extends object>(schema: ZodSchema<T>, _config?: BitZodResolverConfig) => (values: T, options?: BitResolverScopeOptions) => Promise<BitErrors<T>>;
7
7
 
@@ -0,0 +1,187 @@
1
+ import { f as BitState, e as BitPath, g as BitFieldState, b as BitPathValue, h as BitFieldDefinition, c as BitErrors, D as DeepPartial, B as BitArrayPath, a as BitArrayItem, i as BitPersistMetadata, S as ScopeStatus, j as BitConfig, k as ValidatorFn, l as DevToolsOptions, m as BitPersistResolvedConfig, n as BitIdFactory, o as BitPlugin, p as BitScheduler, q as BitFormGlobal } from './bus-DgilLszS.js';
2
+ import { B as BitMask } from './types-CUXh7PqD.js';
3
+
4
+ type BitSelector<T extends object, TSlice> = (state: Readonly<BitState<T>>) => TSlice;
5
+ type BitEqualityFn<TValue> = (previous: TValue, next: TValue) => boolean;
6
+ interface BitSelectorSubscriptionOptions<TValue> {
7
+ equalityFn?: BitEqualityFn<TValue>;
8
+ emitImmediately?: boolean;
9
+ paths?: string[];
10
+ }
11
+
12
+ interface BitValidationOptions {
13
+ scope?: string;
14
+ scopeFields?: string[];
15
+ }
16
+ interface BitHistoryMetadata {
17
+ enabled: boolean;
18
+ canUndo: boolean;
19
+ canRedo: boolean;
20
+ historyIndex: number;
21
+ historySize: number;
22
+ }
23
+ interface BitFormMeta {
24
+ isValid: boolean;
25
+ isDirty: boolean;
26
+ isSubmitting: boolean;
27
+ }
28
+
29
+ interface BitFrameworkConfig<T extends object = any> extends BitConfig<T> {
30
+ initialValues: T;
31
+ resolver?: ValidatorFn<T>;
32
+ validationDelay: number;
33
+ history: {
34
+ enabled: boolean;
35
+ limit: number;
36
+ };
37
+ masks?: Record<string, BitMask>;
38
+ fields?: Record<string, BitFieldDefinition<T>>;
39
+ devTools?: boolean | DevToolsOptions;
40
+ persist: BitPersistResolvedConfig<T>;
41
+ idFactory: BitIdFactory;
42
+ plugins: BitPlugin<T>[];
43
+ scheduler?: BitScheduler;
44
+ subscriptionCacheSize?: number;
45
+ bus?: BitFormGlobal;
46
+ }
47
+ interface BitStoreQueryApi<T extends object = any> {
48
+ getConfig(): Readonly<BitFrameworkConfig<T>>;
49
+ getState(): Readonly<BitState<T>>;
50
+ isHidden<P extends BitPath<T>>(path: P): boolean;
51
+ isRequired<P extends BitPath<T>>(path: P): boolean;
52
+ isFieldDirty(path: string): boolean;
53
+ isFieldValidating(path: string): boolean;
54
+ getDirtyValues(): Partial<T>;
55
+ getPersistMetadata(): BitPersistMetadata;
56
+ getHistoryMetadata(): BitHistoryMetadata;
57
+ getStepStatus(scopeName: string): ScopeStatus;
58
+ getStepErrors(scopeName: string): Record<string, string>;
59
+ }
60
+ interface BitStoreObserveApi<T extends object = any> {
61
+ subscribe(listener: () => void): () => void;
62
+ subscribePersistMeta(listener: (meta: BitPersistMetadata) => void): () => void;
63
+ subscribeHistoryMeta(listener: (meta: BitHistoryMetadata) => void): () => void;
64
+ subscribeScopeStatus(scopeName: string, listener: (status: ScopeStatus) => void): () => void;
65
+ }
66
+ interface BitStoreWriteApi<T extends object = any> {
67
+ setField<P extends BitPath<T>>(path: P, value: BitPathValue<T, P>): void;
68
+ blurField<P extends BitPath<T>>(path: P): void;
69
+ setValues(values: T | DeepPartial<T>, options?: {
70
+ partial?: boolean;
71
+ rebase?: boolean;
72
+ }): void;
73
+ setError(path: string, message: string | undefined): void;
74
+ setErrors(errors: BitErrors<T>): void;
75
+ setServerErrors(serverErrors: Record<string, string[] | string>): void;
76
+ validate(options?: BitValidationOptions): Promise<boolean>;
77
+ reset(): void;
78
+ transaction<TResult>(callback: () => TResult): TResult;
79
+ submit(onSuccess: (values: T, dirtyValues?: Partial<T>) => void | Promise<void>): Promise<void>;
80
+ }
81
+ interface BitStorePersistFeatureApi {
82
+ getPersistMetadata(): BitPersistMetadata;
83
+ restorePersisted(): Promise<boolean>;
84
+ forceSave(): Promise<void>;
85
+ clearPersisted(): Promise<void>;
86
+ }
87
+ interface BitStoreRegistrationFeatureApi<T extends object = any> {
88
+ cleanup(): void;
89
+ registerField(path: string, config: BitFieldDefinition<T>): void;
90
+ unregisterField(path: string): void;
91
+ }
92
+ interface BitStoreArrayFeatureApi<T extends object = any> {
93
+ pushItem<P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>): void;
94
+ prependItem<P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>): void;
95
+ insertItem<P extends BitArrayPath<T>>(path: P, index: number, value: BitArrayItem<BitPathValue<T, P>>): void;
96
+ removeItem<P extends BitArrayPath<T>>(path: P, index: number): void;
97
+ moveItem<P extends BitArrayPath<T>>(path: P, from: number, to: number): void;
98
+ swapItems<P extends BitArrayPath<T>>(path: P, indexA: number, indexB: number): void;
99
+ }
100
+ interface BitStoreHistoryFeatureApi {
101
+ undo(): void;
102
+ redo(): void;
103
+ }
104
+ interface BitFormMetaBindingApi<T extends object = any> {
105
+ getState(): Readonly<BitState<T>>;
106
+ subscribeFormMeta(listener: (meta: BitFormMeta) => void): () => void;
107
+ }
108
+ interface BitFieldBindingApi<T extends object = any> {
109
+ getFieldState<P extends BitPath<T>>(path: P): Readonly<BitFieldState<T, BitPathValue<T, P>>>;
110
+ subscribeFieldState<P extends BitPath<T>>(path: P, listener: (state: Readonly<BitFieldState<T, BitPathValue<T, P>>>) => void): () => void;
111
+ setField<P extends BitPath<T>>(path: P, value: BitPathValue<T, P>): void;
112
+ blurField<P extends BitPath<T>>(path: P): void;
113
+ resolveMask(path: string): BitMask | undefined;
114
+ unregisterField?(path: string): void;
115
+ }
116
+ interface BitArrayBindingApi<T extends object = any> extends Pick<BitFormBindingApi<T>, "getState" | "setField" | "subscribePath" | "pushItem" | "prependItem" | "insertItem" | "removeItem" | "moveItem" | "swapItems" | "createArrayItemId"> {
117
+ }
118
+ interface BitStoreFeatureApi<T extends object = any> extends BitStorePersistFeatureApi, BitStoreRegistrationFeatureApi<T>, BitStoreArrayFeatureApi<T>, BitStoreHistoryFeatureApi {
119
+ }
120
+ interface BitStoreApi<T extends object = any> extends BitStoreQueryApi<T>, BitStoreObserveApi<T>, BitStoreWriteApi<T>, BitStoreFeatureApi<T> {
121
+ }
122
+ interface BitStoreHooksApi<T extends object = any> extends BitStoreApi<T> {
123
+ getFieldState<P extends BitPath<T>>(path: P): Readonly<BitFieldState<T, BitPathValue<T, P>>>;
124
+ subscribeFieldState<P extends BitPath<T>>(path: P, listener: (state: Readonly<BitFieldState<T, BitPathValue<T, P>>>) => void): () => void;
125
+ subscribeFormMeta(listener: (meta: BitFormMeta) => void): () => void;
126
+ subscribePath<P extends BitPath<T>>(path: P, listener: (value: BitPathValue<T, P>) => void, options?: BitSelectorSubscriptionOptions<BitPathValue<T, P>>): () => void;
127
+ subscribeSelector<TSlice>(selector: BitSelector<T, TSlice>, listener: (slice: TSlice) => void, options?: BitSelectorSubscriptionOptions<TSlice>): () => void;
128
+ subscribeTracked<TSlice>(selector: BitSelector<T, TSlice>, listener: (slice: TSlice) => void, options?: Omit<BitSelectorSubscriptionOptions<TSlice>, "paths">): () => void;
129
+ unregisterPrefix?(prefix: string): void;
130
+ markFieldsTouched(paths: string[]): void;
131
+ hasValidationsInProgress(scopeFields?: string[]): boolean;
132
+ resolveMask(path: string): BitMask | undefined;
133
+ getScopeFields(scopeName: string): string[];
134
+ createArrayItemId(path: string, index?: number): string;
135
+ }
136
+ interface BitFormBindingApi<T extends object = any> {
137
+ getFieldState<P extends BitPath<T>>(path: P): Readonly<BitFieldState<T, BitPathValue<T, P>>>;
138
+ subscribeFieldState<P extends BitPath<T>>(path: P, listener: (state: Readonly<BitFieldState<T, BitPathValue<T, P>>>) => void): () => void;
139
+ getState(): Readonly<BitState<T>>;
140
+ subscribeFormMeta(listener: (meta: BitFormMeta) => void): () => void;
141
+ subscribe(listener: () => void): () => void;
142
+ subscribePath<P extends BitPath<T>>(path: P, listener: (value: BitPathValue<T, P>) => void, options?: BitSelectorSubscriptionOptions<BitPathValue<T, P>>): () => void;
143
+ subscribeSelector<TSlice>(selector: BitSelector<T, TSlice>, listener: (slice: TSlice) => void, options?: BitSelectorSubscriptionOptions<TSlice>): () => void;
144
+ subscribeTracked<TSlice>(selector: BitSelector<T, TSlice>, listener: (slice: TSlice) => void, options?: Omit<BitSelectorSubscriptionOptions<TSlice>, "paths">): () => void;
145
+ setField<P extends BitPath<T>>(path: P, value: BitPathValue<T, P>): void;
146
+ blurField<P extends BitPath<T>>(path: P): void;
147
+ registerField?(path: string, config: BitFieldDefinition<T>): void;
148
+ unregisterField?(path: string): void;
149
+ unregisterPrefix?(prefix: string): void;
150
+ markFieldsTouched(paths: string[]): void;
151
+ resolveMask(path: string): BitMask | undefined;
152
+ submit(onSuccess: (values: T, dirtyValues?: Partial<T>) => void | Promise<void>): Promise<void>;
153
+ reset(): void;
154
+ validate(options?: BitValidationOptions): Promise<boolean>;
155
+ setError(path: string, message: string | undefined): void;
156
+ setErrors(errors: BitErrors<T>): void;
157
+ setServerErrors(serverErrors: Record<string, string[] | string>): void;
158
+ setValues(values: T | DeepPartial<T>, options?: {
159
+ partial?: boolean;
160
+ rebase?: boolean;
161
+ }): void;
162
+ transaction<TResult>(callback: () => TResult): TResult;
163
+ pushItem<P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>): void;
164
+ prependItem<P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>): void;
165
+ insertItem<P extends BitArrayPath<T>>(path: P, index: number, value: BitArrayItem<BitPathValue<T, P>>): void;
166
+ removeItem<P extends BitArrayPath<T>>(path: P, index: number): void;
167
+ moveItem<P extends BitArrayPath<T>>(path: P, from: number, to: number): void;
168
+ swapItems<P extends BitArrayPath<T>>(path: P, indexA: number, indexB: number): void;
169
+ undo(): void;
170
+ redo(): void;
171
+ getHistoryMetadata(): BitHistoryMetadata;
172
+ getPersistMetadata(): BitPersistMetadata;
173
+ restorePersisted(): Promise<boolean>;
174
+ forceSave(): Promise<void>;
175
+ clearPersisted(): Promise<void>;
176
+ getDirtyValues(): Partial<T>;
177
+ hasValidationsInProgress(scopeFields?: string[]): boolean;
178
+ getScopeFields(scopeName: string): string[];
179
+ getStepStatus(scopeName: string): ScopeStatus;
180
+ getStepErrors(scopeName: string): Record<string, string>;
181
+ subscribePersistMeta(listener: (meta: BitPersistMetadata) => void): () => void;
182
+ subscribeHistoryMeta(listener: (meta: BitHistoryMetadata) => void): () => void;
183
+ subscribeScopeStatus(scopeName: string, listener: (status: ScopeStatus) => void): () => void;
184
+ createArrayItemId(path: string, index?: number): string;
185
+ }
186
+
187
+ export type { BitArrayBindingApi as B, BitStoreHooksApi as a, BitFormBindingApi as b, BitHistoryMetadata as c, BitValidationOptions as d, BitFormMetaBindingApi as e, BitFormMeta as f, BitFieldBindingApi as g, BitEqualityFn as h, BitFrameworkConfig as i, BitSelector as j, BitSelectorSubscriptionOptions as k, BitStoreApi as l, BitStoreArrayFeatureApi as m, BitStoreFeatureApi as n, BitStoreHistoryFeatureApi as o, BitStoreObserveApi as p, BitStorePersistFeatureApi as q, BitStoreQueryApi as r, BitStoreRegistrationFeatureApi as s, BitStoreWriteApi as t };