@lehnihon/bit-form 2.1.1 → 2.1.2

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 (59) 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 +3 -3
  4. package/dist/angular/index.d.ts +3 -3
  5. package/dist/angular/index.js +1 -1
  6. package/dist/angular/index.js.map +1 -1
  7. package/dist/{bus-C1xKmQdw.d.cts → bus-vCbulIYH.d.cts} +1 -4
  8. package/dist/{bus-C1xKmQdw.d.ts → bus-vCbulIYH.d.ts} +1 -4
  9. package/dist/chunk-2QNUW6ZN.cjs +133 -0
  10. package/dist/{chunk-SIM4YIOW.cjs.map → chunk-2QNUW6ZN.cjs.map} +1 -1
  11. package/dist/chunk-F6LJWWEW.js +2 -0
  12. package/dist/chunk-F6LJWWEW.js.map +1 -0
  13. package/dist/chunk-LPRLSFPT.cjs +2 -0
  14. package/dist/{chunk-CPFHKRLU.cjs.map → chunk-LPRLSFPT.cjs.map} +1 -1
  15. package/dist/chunk-N6IA7HQL.js +133 -0
  16. package/dist/chunk-N6IA7HQL.js.map +1 -0
  17. package/dist/devtools/bridge.cjs +1 -1
  18. package/dist/devtools/bridge.js +1 -1
  19. package/dist/devtools/index.cjs +1 -1
  20. package/dist/devtools/index.js +1 -1
  21. package/dist/index.cjs +1 -1
  22. package/dist/index.d.cts +4 -4
  23. package/dist/index.d.ts +4 -4
  24. package/dist/index.js +1 -1
  25. package/dist/{public-types-By_9Weno.d.ts → public-types-ChP5j3xc.d.ts} +3 -4
  26. package/dist/{public-types-B3jU1R2E.d.cts → public-types-Nv__uZTR.d.cts} +3 -4
  27. package/dist/react/index.cjs +1 -1
  28. package/dist/react/index.cjs.map +1 -1
  29. package/dist/react/index.d.cts +6 -6
  30. package/dist/react/index.d.ts +6 -6
  31. package/dist/react/index.js +1 -1
  32. package/dist/react/index.js.map +1 -1
  33. package/dist/react-native/index.cjs +1 -1
  34. package/dist/react-native/index.cjs.map +1 -1
  35. package/dist/react-native/index.d.cts +5 -5
  36. package/dist/react-native/index.d.ts +5 -5
  37. package/dist/react-native/index.js +1 -1
  38. package/dist/react-native/index.js.map +1 -1
  39. package/dist/resolvers/joi.d.cts +1 -1
  40. package/dist/resolvers/joi.d.ts +1 -1
  41. package/dist/resolvers/yup.d.cts +1 -1
  42. package/dist/resolvers/yup.d.ts +1 -1
  43. package/dist/resolvers/zod.d.cts +1 -1
  44. package/dist/resolvers/zod.d.ts +1 -1
  45. package/dist/{use-bit-watch-v4eamRCT.d.cts → use-bit-watch-BRekIj2W.d.cts} +2 -2
  46. package/dist/{use-bit-watch-DVxSlp2A.d.ts → use-bit-watch-hA0AqCkC.d.ts} +2 -2
  47. package/dist/vue/index.cjs +1 -1
  48. package/dist/vue/index.cjs.map +1 -1
  49. package/dist/vue/index.d.cts +3 -3
  50. package/dist/vue/index.d.ts +3 -3
  51. package/dist/vue/index.js +1 -1
  52. package/dist/vue/index.js.map +1 -1
  53. package/package.json +1 -1
  54. package/dist/chunk-5JV3QKOT.js +0 -2
  55. package/dist/chunk-5JV3QKOT.js.map +0 -1
  56. package/dist/chunk-CPFHKRLU.cjs +0 -2
  57. package/dist/chunk-SIM4YIOW.cjs +0 -133
  58. package/dist/chunk-XHZAMKSZ.js +0 -133
  59. package/dist/chunk-XHZAMKSZ.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- import { B as BitConfig, P as PatternMaskOptions, a as BitMask, C as CurrencyMaskConfig, D as DateMaskConfig } from './bus-C1xKmQdw.cjs';
2
- export { b as BitArrayItem, c as BitArrayPath, d as BitComputedFn, e as BitErrors, f as BitFieldConditional, g as BitFieldDefinition, h as BitFieldOptions, i as BitFieldValidation, j as BitHistoryConfig, k as BitPath, l as BitPathValue, m as BitState, n as BitTouched, o as BitTransformFn, p as BitValidationConfig, q as DeepPartial, S as ScopeStatus, V as ValidateScopeResult, r as ValidatorFn, s as bitBus } from './bus-C1xKmQdw.cjs';
3
- import { B as BitPublicStore } from './public-types-B3jU1R2E.cjs';
4
- export { a as BitFrameworkConfig, b as BitFrameworkStore } from './public-types-B3jU1R2E.cjs';
1
+ import { B as BitConfig, P as PatternMaskOptions, a as BitMask, C as CurrencyMaskConfig, D as DateMaskConfig } from './bus-vCbulIYH.cjs';
2
+ export { b as BitArrayItem, c as BitArrayPath, d as BitComputedFn, e as BitErrors, f as BitFieldConditional, g as BitFieldDefinition, h as BitFieldValidation, i as BitHistoryConfig, j as BitPath, k as BitPathValue, l as BitState, m as BitTouched, n as BitTransformFn, o as BitValidationConfig, p as DeepPartial, S as ScopeStatus, V as ValidateScopeResult, q as ValidatorFn, r as bitBus } from './bus-vCbulIYH.cjs';
3
+ import { B as BitPublicStore } from './public-types-Nv__uZTR.cjs';
4
+ export { a as BitFrameworkConfig, b as BitFrameworkStore } from './public-types-Nv__uZTR.cjs';
5
5
  export { B as BitDeleteUploadFn, a as BitUploadFn, b as BitUploadResult } from './types-C2mpfhp1.cjs';
6
6
 
7
7
  declare function createBitStore<T extends object = any>(config?: BitConfig<T>): BitPublicStore<T>;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { B as BitConfig, P as PatternMaskOptions, a as BitMask, C as CurrencyMaskConfig, D as DateMaskConfig } from './bus-C1xKmQdw.js';
2
- export { b as BitArrayItem, c as BitArrayPath, d as BitComputedFn, e as BitErrors, f as BitFieldConditional, g as BitFieldDefinition, h as BitFieldOptions, i as BitFieldValidation, j as BitHistoryConfig, k as BitPath, l as BitPathValue, m as BitState, n as BitTouched, o as BitTransformFn, p as BitValidationConfig, q as DeepPartial, S as ScopeStatus, V as ValidateScopeResult, r as ValidatorFn, s as bitBus } from './bus-C1xKmQdw.js';
3
- import { B as BitPublicStore } from './public-types-By_9Weno.js';
4
- export { a as BitFrameworkConfig, b as BitFrameworkStore } from './public-types-By_9Weno.js';
1
+ import { B as BitConfig, P as PatternMaskOptions, a as BitMask, C as CurrencyMaskConfig, D as DateMaskConfig } from './bus-vCbulIYH.js';
2
+ export { b as BitArrayItem, c as BitArrayPath, d as BitComputedFn, e as BitErrors, f as BitFieldConditional, g as BitFieldDefinition, h as BitFieldValidation, i as BitHistoryConfig, j as BitPath, k as BitPathValue, l as BitState, m as BitTouched, n as BitTransformFn, o as BitValidationConfig, p as DeepPartial, S as ScopeStatus, V as ValidateScopeResult, q as ValidatorFn, r as bitBus } from './bus-vCbulIYH.js';
3
+ import { B as BitPublicStore } from './public-types-ChP5j3xc.js';
4
+ export { a as BitFrameworkConfig, b as BitFrameworkStore } from './public-types-ChP5j3xc.js';
5
5
  export { B as BitDeleteUploadFn, a as BitUploadFn, b as BitUploadResult } from './types-C2mpfhp1.js';
6
6
 
7
7
  declare function createBitStore<T extends object = any>(config?: BitConfig<T>): BitPublicStore<T>;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,V as T,a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,k as c,l as d,m as g,n as h,o as i,p as j,q as k,r as l,s as n,t as q,u as s,v as u,w as v,x as w,y,z}from"./chunk-XHZAMKSZ.js";export{o as bitBus,S as bitMasks,t as cleanPrefixedKeys,T as createBitStore,h as createCreditCardMask,g as createCurrencyMask,i as createDateMask,d as createPatternMask,r as deepClone,f as deepEqual,a as extractServerErrors,m as getDeepValue,x as isValidationErrorShape,j as maskBRL,B as maskCEP,E as maskCNH,y as maskCNPJ,w as maskCPF,L as maskCVV,O as maskColorHex,K as maskCreditCard,C as maskDate,M as maskDateISO,I as maskDateUS,u as maskDecimal,l as maskEUR,n as maskGBP,R as maskIBAN,P as maskIPv4,Q as maskIPv6,v as maskInteger,q as maskJPY,A as maskLandline,N as maskMacAddress,s as maskPercent,z as maskPhone,F as maskRG,J as maskSSN,D as maskTime,k as maskUSD,G as maskUSPhone,H as maskZipCode,p as setDeepValue,b as unmask,c as unmaskCurrency,e as valueEqual};
1
+ import{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,V as T,a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,k as c,l as d,m as g,n as h,o as i,p as j,q as k,r as l,s as n,t as q,u as s,v as u,w as v,x as w,y,z}from"./chunk-N6IA7HQL.js";export{o as bitBus,S as bitMasks,t as cleanPrefixedKeys,T as createBitStore,h as createCreditCardMask,g as createCurrencyMask,i as createDateMask,d as createPatternMask,r as deepClone,f as deepEqual,a as extractServerErrors,m as getDeepValue,x as isValidationErrorShape,j as maskBRL,B as maskCEP,E as maskCNH,y as maskCNPJ,w as maskCPF,L as maskCVV,O as maskColorHex,K as maskCreditCard,C as maskDate,M as maskDateISO,I as maskDateUS,u as maskDecimal,l as maskEUR,n as maskGBP,R as maskIBAN,P as maskIPv4,Q as maskIPv6,v as maskInteger,q as maskJPY,A as maskLandline,N as maskMacAddress,s as maskPercent,z as maskPhone,F as maskRG,J as maskSSN,D as maskTime,k as maskUSD,G as maskUSPhone,H as maskZipCode,p as setDeepValue,b as unmask,c as unmaskCurrency,e as valueEqual};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { B as BitConfig, r as ValidatorFn, d as BitComputedFn, o as BitTransformFn, a as BitMask, g as BitFieldDefinition, t as DevToolsOptions, m as BitState, k as BitPath, l as BitPathValue, e as BitErrors, S as ScopeStatus } from './bus-C1xKmQdw.js';
1
+ import { B as BitConfig, q as ValidatorFn, a as BitMask, g as BitFieldDefinition, s as DevToolsOptions, l as BitState, j as BitPath, k as BitPathValue, e as BitErrors, S as ScopeStatus } from './bus-vCbulIYH.js';
2
2
 
3
3
  interface BitFrameworkConfig<T extends object = any> extends BitConfig<T> {
4
4
  initialValues: T;
@@ -6,9 +6,6 @@ interface BitFrameworkConfig<T extends object = any> extends BitConfig<T> {
6
6
  validationDelay: number;
7
7
  enableHistory: boolean;
8
8
  historyLimit: number;
9
- computed?: Record<string, BitComputedFn<T>>;
10
- transform?: Partial<Record<string, BitTransformFn<T>>>;
11
- scopes?: Record<string, string[]>;
12
9
  masks?: Record<string, BitMask>;
13
10
  fields?: Record<string, BitFieldDefinition<T>>;
14
11
  devTools?: boolean | DevToolsOptions;
@@ -65,6 +62,8 @@ interface BitFrameworkStore<T extends object = any> extends BitPublicStore<T> {
65
62
  endFieldValidation(path: string): void;
66
63
  setFieldAsyncError(path: string, message: string): Promise<void>;
67
64
  clearFieldAsyncError(path: string): Promise<void>;
65
+ resolveMask(path: string): BitMask | undefined;
66
+ getScopeFields(scopeName: string): string[];
68
67
  }
69
68
 
70
69
  export type { BitPublicStore as B, BitFrameworkConfig as a, BitFrameworkStore as b };
@@ -1,4 +1,4 @@
1
- import { B as BitConfig, r as ValidatorFn, d as BitComputedFn, o as BitTransformFn, a as BitMask, g as BitFieldDefinition, t as DevToolsOptions, m as BitState, k as BitPath, l as BitPathValue, e as BitErrors, S as ScopeStatus } from './bus-C1xKmQdw.cjs';
1
+ import { B as BitConfig, q as ValidatorFn, a as BitMask, g as BitFieldDefinition, s as DevToolsOptions, l as BitState, j as BitPath, k as BitPathValue, e as BitErrors, S as ScopeStatus } from './bus-vCbulIYH.cjs';
2
2
 
3
3
  interface BitFrameworkConfig<T extends object = any> extends BitConfig<T> {
4
4
  initialValues: T;
@@ -6,9 +6,6 @@ interface BitFrameworkConfig<T extends object = any> extends BitConfig<T> {
6
6
  validationDelay: number;
7
7
  enableHistory: boolean;
8
8
  historyLimit: number;
9
- computed?: Record<string, BitComputedFn<T>>;
10
- transform?: Partial<Record<string, BitTransformFn<T>>>;
11
- scopes?: Record<string, string[]>;
12
9
  masks?: Record<string, BitMask>;
13
10
  fields?: Record<string, BitFieldDefinition<T>>;
14
11
  devTools?: boolean | DevToolsOptions;
@@ -65,6 +62,8 @@ interface BitFrameworkStore<T extends object = any> extends BitPublicStore<T> {
65
62
  endFieldValidation(path: string): void;
66
63
  setFieldAsyncError(path: string, message: string): Promise<void>;
67
64
  clearFieldAsyncError(path: string): Promise<void>;
65
+ resolveMask(path: string): BitMask | undefined;
66
+ getScopeFields(scopeName: string): string[];
68
67
  }
69
68
 
70
69
  export type { BitPublicStore as B, BitFrameworkConfig as a, BitFrameworkStore as b };
@@ -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 _chunkCPFHKRLUcjs = require('../chunk-CPFHKRLU.cjs');require('../chunk-SIM4YIOW.cjs');var _react = require('react');function V(e){if(!e||typeof e!="object")return!1;let t=Object.keys(e);return t.length===1&&t[0]==="mask"}function F(e,t,a){let n=a!==void 0?t:V(t)?void 0:t,s=a!==void 0?a:V(t)?t:void 0,{fieldState:u,setValue:i,setBlur:d,store:l}=_chunkCPFHKRLUcjs.d.call(void 0, e,n),o=_react.useMemo.call(void 0, ()=>{let r=_nullishCoalesce(_optionalChain([s, 'optionalAccess', _ => _.mask]), () => (_optionalChain([l, 'access', _2 => _2.config, 'access', _3 => _3.fields, 'optionalAccess', _4 => _4[e], 'optionalAccess', _5 => _5.mask])));if(r)return typeof r=="string"?l.config.masks[r]:r},[_optionalChain([s, 'optionalAccess', _6 => _6.mask]),l.config.masks,l.config.fields,e]),c=_react.useMemo.call(void 0, ()=>{let r=u.value;return r==null||r===""?"":o?o.format(r):String(r)},[u.value,o]),p=_react.useCallback.call(void 0, r=>{if(!o){i(r);return}i(o.parse(String(_nullishCoalesce(r, () => ("")))))},[o,i]),{isHidden:k,isRequired:h,value:v,error:f,touched:B,isDirty:T,isValidating:E}=u,D=!!(B&&f),M=B?f:void 0,x=_react.useCallback.call(void 0, r=>{let w=_optionalChain([r, 'optionalAccess', _7 => _7.target])?r.target.value:r;p(w)},[p]),g=_react.useCallback.call(void 0, ()=>{d()},[d]);return{value:v,displayValue:c,setValue:p,setBlur:d,onChange:x,onBlur:g,props:{value:c,onChange:x,onBlur:g},meta:{error:M,touched:B,invalid:D,isDirty:T,isValidating:E,isHidden:k,isRequired:h,hasError:!!f}}}function q(){let e=_chunkCPFHKRLUcjs.b.call(void 0, ),t=_react.useRef.call(void 0, null),a=_react.useCallback.call(void 0, ()=>{let i=e.getHistoryMetadata();if(t.current&&t.current.canUndo===i.canUndo&&t.current.canRedo===i.canRedo&&t.current.historyIndex===i.historyIndex&&t.current.historySize===i.historySize)return t.current;let d={canUndo:i.canUndo,canRedo:i.canRedo,historyIndex:i.historyIndex,historySize:i.historySize};return t.current=d,d},[e]),n=_react.useSyncExternalStore.call(void 0, e.subscribe.bind(e),a,a),s=_react.useCallback.call(void 0, ()=>{e.undo()},[e]),u=_react.useCallback.call(void 0, ()=>{e.redo()},[e]);return{...n,undo:s,redo:u}}function G(e,t,a){let n=_chunkCPFHKRLUcjs.b.call(void 0, ),s=F(e),u=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, async l=>{if(l){n.beginFieldValidation(e),await n.clearFieldAsyncError(e);try{let o=await t(l);s.setValue(o.url),u.current=o.key,await n.clearFieldAsyncError(e)}catch(o){let c=o instanceof Error?o.message:"Upload failed";await n.setFieldAsyncError(e,c)}finally{n.endFieldValidation(e)}}},[t,s,e,n]),d=_react.useCallback.call(void 0, async()=>{let l=u.current;if(l&&a)try{await a(l)}catch(o){let c=o instanceof Error?o.message:"Delete failed";await n.setFieldAsyncError(e,c);return}s.setValue(null),u.current=null,await n.clearFieldAsyncError(e)},[a,s,e,n]);return{value:s.value,setValue:s.setValue,error:_optionalChain([s, 'access', _8 => _8.meta, 'optionalAccess', _9 => _9.error]),isValidating:_optionalChain([s, 'access', _10 => _10.meta, 'optionalAccess', _11 => _11.isValidating])||!1,upload:i,remove:d}}exports.BitFormProvider = _chunkCPFHKRLUcjs.a; exports.useBitArray = _chunkCPFHKRLUcjs.e; exports.useBitField = F; exports.useBitForm = _chunkCPFHKRLUcjs.c; exports.useBitHistory = q; exports.useBitScope = _chunkCPFHKRLUcjs.f; exports.useBitSteps = _chunkCPFHKRLUcjs.g; exports.useBitStore = _chunkCPFHKRLUcjs.b; exports.useBitUpload = G; exports.useBitWatch = _chunkCPFHKRLUcjs.h;
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 _chunkLPRLSFPTcjs = require('../chunk-LPRLSFPT.cjs');require('../chunk-2QNUW6ZN.cjs');var _react = require('react');function f(e){let{fieldState:r,setValue:a,setBlur:t,store:o}=_chunkLPRLSFPTcjs.d.call(void 0, e),i=_react.useMemo.call(void 0, ()=>o.resolveMask(e),[o.config.masks,o.config.fields,e]),s=_react.useMemo.call(void 0, ()=>{let n=r.value;return n==null||n===""?"":i?i.format(n):String(n)},[r.value,i]),u=_react.useCallback.call(void 0, n=>{if(!i){a(n);return}a(i.parse(String(_nullishCoalesce(n, () => ("")))))},[i,a]),{isHidden:c,isRequired:l,value:d,error:p,touched:y,isDirty:V,isValidating:b}=r,v=!!(y&&p),h=y?p:void 0,U=_react.useCallback.call(void 0, n=>{let E=_optionalChain([n, 'optionalAccess', _ => _.target])?n.target.value:n;u(E)},[u]),x=_react.useCallback.call(void 0, ()=>{t()},[t]);return{value:d,displayValue:s,setValue:u,setBlur:t,onChange:U,onBlur:x,props:{value:s,onChange:U,onBlur:x},meta:{error:h,touched:y,invalid:v,isDirty:V,isValidating:b,isHidden:c,isRequired:l,hasError:!!p}}}function I(){let e=_chunkLPRLSFPTcjs.b.call(void 0, ),r=_react.useRef.call(void 0, null),a=_react.useCallback.call(void 0, ()=>{let s=e.getHistoryMetadata();if(r.current&&r.current.canUndo===s.canUndo&&r.current.canRedo===s.canRedo&&r.current.historyIndex===s.historyIndex&&r.current.historySize===s.historySize)return r.current;let u={canUndo:s.canUndo,canRedo:s.canRedo,historyIndex:s.historyIndex,historySize:s.historySize};return r.current=u,u},[e]),t=_react.useSyncExternalStore.call(void 0, e.subscribe.bind(e),a,a),o=_react.useCallback.call(void 0, ()=>{e.undo()},[e]),i=_react.useCallback.call(void 0, ()=>{e.redo()},[e]);return{...t,undo:o,redo:i}}function D(e,r,a){let t=_chunkLPRLSFPTcjs.b.call(void 0, ),o=f(e),i=_react.useRef.call(void 0, null),s=_react.useCallback.call(void 0, async c=>{if(c){t.beginFieldValidation(e),await t.clearFieldAsyncError(e);try{let l=await r(c);o.setValue(l.url),i.current=l.key,await t.clearFieldAsyncError(e)}catch(l){let d=l instanceof Error?l.message:"Upload failed";await t.setFieldAsyncError(e,d)}finally{t.endFieldValidation(e)}}},[r,o,e,t]),u=_react.useCallback.call(void 0, async()=>{let c=i.current;if(c&&a)try{await a(c)}catch(l){let d=l instanceof Error?l.message:"Delete failed";await t.setFieldAsyncError(e,d);return}o.setValue(null),i.current=null,await t.clearFieldAsyncError(e)},[a,o,e,t]);return{value:o.value,setValue:o.setValue,error:_optionalChain([o, 'access', _2 => _2.meta, 'optionalAccess', _3 => _3.error]),isValidating:_optionalChain([o, 'access', _4 => _4.meta, 'optionalAccess', _5 => _5.isValidating])||!1,upload:s,remove:u}}exports.BitFormProvider = _chunkLPRLSFPTcjs.a; exports.useBitArray = _chunkLPRLSFPTcjs.e; exports.useBitField = f; exports.useBitForm = _chunkLPRLSFPTcjs.c; exports.useBitHistory = I; exports.useBitScope = _chunkLPRLSFPTcjs.f; exports.useBitSteps = _chunkLPRLSFPTcjs.g; exports.useBitStore = _chunkLPRLSFPTcjs.b; exports.useBitUpload = D; exports.useBitWatch = _chunkLPRLSFPTcjs.h;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/react/index.cjs","../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"names":["isMaskOnlyOptions","value","keys","useBitField","path","configOrOptions","maybeOptions","config","options","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","maskOption","displayValue","val","setValue","useCallback","isHidden","isRequired","error","touched","isDirty","isValidating","invalid","visibleError","onChange","e","onBlur","useBitHistory","useBitStore","lastMeta","useRef","getSnapshot","nextMeta","stableMeta","meta","useSyncExternalStore","undo","redo","useBitUpload","fieldPath","uploadFn","deleteFile","field","uploadKeyRef","upload","file","result","message","remove","uploadKey"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/react/index.cjs","sourcesContent":[null,"import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\nimport {\n BitFieldDefinition,\n BitFieldOptions,\n BitPath,\n BitPathValue,\n} from \"../core\";\nimport type {\n UseBitFieldMeta,\n UseBitFieldBindProps,\n UseBitFieldResult,\n} from \"./types\";\n\nfunction isMaskOnlyOptions(\n value: BitFieldDefinition<any> | BitFieldOptions | undefined,\n): value is BitFieldOptions {\n if (!value || typeof value !== \"object\") return false;\n const keys = Object.keys(value);\n return keys.length === 1 && keys[0] === \"mask\";\n}\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(\n path: P,\n configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions,\n maybeOptions?: BitFieldOptions,\n): UseBitFieldResult<TForm, P> {\n const config =\n maybeOptions !== undefined\n ? (configOrOptions as BitFieldDefinition<TForm> | undefined)\n : isMaskOnlyOptions(configOrOptions)\n ? undefined\n : (configOrOptions as BitFieldDefinition<TForm> | undefined);\n\n const options =\n maybeOptions !== undefined\n ? maybeOptions\n : isMaskOnlyOptions(configOrOptions)\n ? configOrOptions\n : undefined;\n\n const {\n fieldState,\n setValue: rawSetValue,\n setBlur,\n store,\n } = useBitFieldBase<BitPathValue<TForm, P>, TForm, P>(path, config);\n\n const resolvedMask = useMemo(() => {\n const maskOption =\n options?.mask ?? store.config.fields?.[path as string]?.mask;\n if (!maskOption) return undefined;\n return typeof maskOption === \"string\"\n ? store.config.masks![maskOption]\n : maskOption;\n }, [options?.mask, store.config.masks, store.config.fields, path]);\n\n const displayValue = useMemo(() => {\n const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\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: 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 } 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\n const upload = useCallback(\n async (file: File | null | undefined) => {\n if (!file) return;\n\n store.beginFieldValidation(fieldPath);\n await store.clearFieldAsyncError(fieldPath);\n\n try {\n const result = await uploadFn(file);\n\n field.setValue(result.url);\n uploadKeyRef.current = result.key;\n await store.clearFieldAsyncError(fieldPath);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : \"Upload failed\";\n await store.setFieldAsyncError(fieldPath, message);\n } finally {\n store.endFieldValidation(fieldPath);\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 await store.setFieldAsyncError(fieldPath, message);\n return;\n }\n }\n\n field.setValue(null);\n uploadKeyRef.current = null;\n await store.clearFieldAsyncError(fieldPath);\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 || false,\n upload,\n remove,\n };\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/react/index.cjs","../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"names":["useBitField","path","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","displayValue","val","setValue","useCallback","isHidden","isRequired","value","error","touched","isDirty","isValidating","invalid","visibleError","onChange","e","onBlur","useBitHistory","useBitStore","lastMeta","useRef","getSnapshot","nextMeta","stableMeta","meta","useSyncExternalStore","undo","redo","useBitUpload","fieldPath","uploadFn","deleteFile","field","uploadKeyRef","upload","file","result","message","remove","uploadKey"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/react/index.cjs","sourcesContent":[null,"import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\nimport { BitPath, BitPathValue } from \"../core\";\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 const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\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: 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 } 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\n const upload = useCallback(\n async (file: File | null | undefined) => {\n if (!file) return;\n\n store.beginFieldValidation(fieldPath);\n await store.clearFieldAsyncError(fieldPath);\n\n try {\n const result = await uploadFn(file);\n\n field.setValue(result.url);\n uploadKeyRef.current = result.key;\n await store.clearFieldAsyncError(fieldPath);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : \"Upload failed\";\n await store.setFieldAsyncError(fieldPath, message);\n } finally {\n store.endFieldValidation(fieldPath);\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 await store.setFieldAsyncError(fieldPath, message);\n return;\n }\n }\n\n field.setValue(null);\n uploadKeyRef.current = null;\n await store.clearFieldAsyncError(fieldPath);\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 || false,\n upload,\n remove,\n };\n}\n"]}
@@ -1,13 +1,13 @@
1
- import { U as UseBitFieldResult, a as UseBitHistoryResult, b as UseBitUploadResult } from '../use-bit-watch-v4eamRCT.cjs';
2
- export { B as BitFormProvider, c as UseBitFieldBindProps, d as UseBitFieldMeta, e as UseBitStepsResult, u as useBitArray, f as useBitForm, g as useBitScope, h as useBitSteps, i as useBitStore, j as useBitWatch } from '../use-bit-watch-v4eamRCT.cjs';
3
- import { k as BitPath, g as BitFieldDefinition, h as BitFieldOptions } from '../bus-C1xKmQdw.cjs';
4
- export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-C1xKmQdw.cjs';
1
+ import { U as UseBitFieldResult, a as UseBitHistoryResult, b as UseBitUploadResult } from '../use-bit-watch-BRekIj2W.cjs';
2
+ export { B as BitFormProvider, c as UseBitFieldBindProps, d as UseBitFieldMeta, e as UseBitStepsResult, u as useBitArray, f as useBitForm, g as useBitScope, h as useBitSteps, i as useBitStore, j as useBitWatch } from '../use-bit-watch-BRekIj2W.cjs';
3
+ import { j as BitPath } from '../bus-vCbulIYH.cjs';
4
+ export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-vCbulIYH.cjs';
5
5
  import { a as BitUploadFn, B as BitDeleteUploadFn } from '../types-C2mpfhp1.cjs';
6
6
  import 'react/jsx-runtime';
7
7
  import 'react';
8
- import '../public-types-B3jU1R2E.cjs';
8
+ import '../public-types-Nv__uZTR.cjs';
9
9
 
10
- declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P, configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions, maybeOptions?: BitFieldOptions): UseBitFieldResult<TForm, P>;
10
+ declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P): UseBitFieldResult<TForm, P>;
11
11
 
12
12
  declare function useBitHistory<T extends object = any>(): UseBitHistoryResult;
13
13
 
@@ -1,13 +1,13 @@
1
- import { U as UseBitFieldResult, a as UseBitHistoryResult, b as UseBitUploadResult } from '../use-bit-watch-DVxSlp2A.js';
2
- export { B as BitFormProvider, c as UseBitFieldBindProps, d as UseBitFieldMeta, e as UseBitStepsResult, u as useBitArray, f as useBitForm, g as useBitScope, h as useBitSteps, i as useBitStore, j as useBitWatch } from '../use-bit-watch-DVxSlp2A.js';
3
- import { k as BitPath, g as BitFieldDefinition, h as BitFieldOptions } from '../bus-C1xKmQdw.js';
4
- export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-C1xKmQdw.js';
1
+ import { U as UseBitFieldResult, a as UseBitHistoryResult, b as UseBitUploadResult } from '../use-bit-watch-hA0AqCkC.js';
2
+ export { B as BitFormProvider, c as UseBitFieldBindProps, d as UseBitFieldMeta, e as UseBitStepsResult, u as useBitArray, f as useBitForm, g as useBitScope, h as useBitSteps, i as useBitStore, j as useBitWatch } from '../use-bit-watch-hA0AqCkC.js';
3
+ import { j as BitPath } from '../bus-vCbulIYH.js';
4
+ export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-vCbulIYH.js';
5
5
  import { a as BitUploadFn, B as BitDeleteUploadFn } from '../types-C2mpfhp1.js';
6
6
  import 'react/jsx-runtime';
7
7
  import 'react';
8
- import '../public-types-By_9Weno.js';
8
+ import '../public-types-ChP5j3xc.js';
9
9
 
10
- declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P, configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions, maybeOptions?: BitFieldOptions): UseBitFieldResult<TForm, P>;
10
+ declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P): UseBitFieldResult<TForm, P>;
11
11
 
12
12
  declare function useBitHistory<T extends object = any>(): UseBitHistoryResult;
13
13
 
@@ -1,2 +1,2 @@
1
- import{a as H,b as m,c as A,d as S,e as P,f as z,g as I,h as j}from"../chunk-5JV3QKOT.js";import"../chunk-XHZAMKSZ.js";import{useMemo as R,useCallback as y}from"react";function V(e){if(!e||typeof e!="object")return!1;let t=Object.keys(e);return t.length===1&&t[0]==="mask"}function F(e,t,a){let n=a!==void 0?t:V(t)?void 0:t,s=a!==void 0?a:V(t)?t:void 0,{fieldState:u,setValue:i,setBlur:d,store:l}=S(e,n),o=R(()=>{let r=s?.mask??l.config.fields?.[e]?.mask;if(r)return typeof r=="string"?l.config.masks[r]:r},[s?.mask,l.config.masks,l.config.fields,e]),c=R(()=>{let r=u.value;return r==null||r===""?"":o?o.format(r):String(r)},[u.value,o]),p=y(r=>{if(!o){i(r);return}i(o.parse(String(r??"")))},[o,i]),{isHidden:k,isRequired:h,value:v,error:f,touched:B,isDirty:T,isValidating:E}=u,D=!!(B&&f),M=B?f:void 0,x=y(r=>{let w=r?.target?r.target.value:r;p(w)},[p]),g=y(()=>{d()},[d]);return{value:v,displayValue:c,setValue:p,setBlur:d,onChange:x,onBlur:g,props:{value:c,onChange:x,onBlur:g},meta:{error:M,touched:B,invalid:D,isDirty:T,isValidating:E,isHidden:k,isRequired:h,hasError:!!f}}}import{useCallback as U,useRef as C,useSyncExternalStore as K}from"react";function q(){let e=m(),t=C(null),a=U(()=>{let i=e.getHistoryMetadata();if(t.current&&t.current.canUndo===i.canUndo&&t.current.canRedo===i.canRedo&&t.current.historyIndex===i.historyIndex&&t.current.historySize===i.historySize)return t.current;let d={canUndo:i.canUndo,canRedo:i.canRedo,historyIndex:i.historyIndex,historySize:i.historySize};return t.current=d,d},[e]),n=K(e.subscribe.bind(e),a,a),s=U(()=>{e.undo()},[e]),u=U(()=>{e.redo()},[e]);return{...n,undo:s,redo:u}}import{useCallback as b,useRef as W}from"react";function G(e,t,a){let n=m(),s=F(e),u=W(null),i=b(async l=>{if(l){n.beginFieldValidation(e),await n.clearFieldAsyncError(e);try{let o=await t(l);s.setValue(o.url),u.current=o.key,await n.clearFieldAsyncError(e)}catch(o){let c=o instanceof Error?o.message:"Upload failed";await n.setFieldAsyncError(e,c)}finally{n.endFieldValidation(e)}}},[t,s,e,n]),d=b(async()=>{let l=u.current;if(l&&a)try{await a(l)}catch(o){let c=o instanceof Error?o.message:"Delete failed";await n.setFieldAsyncError(e,c);return}s.setValue(null),u.current=null,await n.clearFieldAsyncError(e)},[a,s,e,n]);return{value:s.value,setValue:s.setValue,error:s.meta?.error,isValidating:s.meta?.isValidating||!1,upload:i,remove:d}}export{H as BitFormProvider,P as useBitArray,F as useBitField,A as useBitForm,q as useBitHistory,z as useBitScope,I as useBitSteps,m as useBitStore,G as useBitUpload,j as useBitWatch};
1
+ import{a as M,b as m,c as T,d as S,e as w,f as k,g as H,h as A}from"../chunk-F6LJWWEW.js";import"../chunk-N6IA7HQL.js";import{useMemo as g,useCallback as B}from"react";function f(e){let{fieldState:r,setValue:a,setBlur:t,store:o}=S(e),i=g(()=>o.resolveMask(e),[o.config.masks,o.config.fields,e]),s=g(()=>{let n=r.value;return n==null||n===""?"":i?i.format(n):String(n)},[r.value,i]),u=B(n=>{if(!i){a(n);return}a(i.parse(String(n??"")))},[i,a]),{isHidden:c,isRequired:l,value:d,error:p,touched:y,isDirty:V,isValidating:b}=r,v=!!(y&&p),h=y?p:void 0,U=B(n=>{let E=n?.target?n.target.value:n;u(E)},[u]),x=B(()=>{t()},[t]);return{value:d,displayValue:s,setValue:u,setBlur:t,onChange:U,onBlur:x,props:{value:s,onChange:U,onBlur:x},meta:{error:h,touched:y,invalid:v,isDirty:V,isValidating:b,isHidden:c,isRequired:l,hasError:!!p}}}import{useCallback as F,useRef as P,useSyncExternalStore as z}from"react";function I(){let e=m(),r=P(null),a=F(()=>{let s=e.getHistoryMetadata();if(r.current&&r.current.canUndo===s.canUndo&&r.current.canRedo===s.canRedo&&r.current.historyIndex===s.historyIndex&&r.current.historySize===s.historySize)return r.current;let u={canUndo:s.canUndo,canRedo:s.canRedo,historyIndex:s.historyIndex,historySize:s.historySize};return r.current=u,u},[e]),t=z(e.subscribe.bind(e),a,a),o=F(()=>{e.undo()},[e]),i=F(()=>{e.redo()},[e]);return{...t,undo:o,redo:i}}import{useCallback as R,useRef as C}from"react";function D(e,r,a){let t=m(),o=f(e),i=C(null),s=R(async c=>{if(c){t.beginFieldValidation(e),await t.clearFieldAsyncError(e);try{let l=await r(c);o.setValue(l.url),i.current=l.key,await t.clearFieldAsyncError(e)}catch(l){let d=l instanceof Error?l.message:"Upload failed";await t.setFieldAsyncError(e,d)}finally{t.endFieldValidation(e)}}},[r,o,e,t]),u=R(async()=>{let c=i.current;if(c&&a)try{await a(c)}catch(l){let d=l instanceof Error?l.message:"Delete failed";await t.setFieldAsyncError(e,d);return}o.setValue(null),i.current=null,await t.clearFieldAsyncError(e)},[a,o,e,t]);return{value:o.value,setValue:o.setValue,error:o.meta?.error,isValidating:o.meta?.isValidating||!1,upload:s,remove:u}}export{M as BitFormProvider,w as useBitArray,f as useBitField,T as useBitForm,I as useBitHistory,k as useBitScope,H as useBitSteps,m as useBitStore,D as useBitUpload,A 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 {\n BitFieldDefinition,\n BitFieldOptions,\n BitPath,\n BitPathValue,\n} from \"../core\";\nimport type {\n UseBitFieldMeta,\n UseBitFieldBindProps,\n UseBitFieldResult,\n} from \"./types\";\n\nfunction isMaskOnlyOptions(\n value: BitFieldDefinition<any> | BitFieldOptions | undefined,\n): value is BitFieldOptions {\n if (!value || typeof value !== \"object\") return false;\n const keys = Object.keys(value);\n return keys.length === 1 && keys[0] === \"mask\";\n}\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(\n path: P,\n configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions,\n maybeOptions?: BitFieldOptions,\n): UseBitFieldResult<TForm, P> {\n const config =\n maybeOptions !== undefined\n ? (configOrOptions as BitFieldDefinition<TForm> | undefined)\n : isMaskOnlyOptions(configOrOptions)\n ? undefined\n : (configOrOptions as BitFieldDefinition<TForm> | undefined);\n\n const options =\n maybeOptions !== undefined\n ? maybeOptions\n : isMaskOnlyOptions(configOrOptions)\n ? configOrOptions\n : undefined;\n\n const {\n fieldState,\n setValue: rawSetValue,\n setBlur,\n store,\n } = useBitFieldBase<BitPathValue<TForm, P>, TForm, P>(path, config);\n\n const resolvedMask = useMemo(() => {\n const maskOption =\n options?.mask ?? store.config.fields?.[path as string]?.mask;\n if (!maskOption) return undefined;\n return typeof maskOption === \"string\"\n ? store.config.masks![maskOption]\n : maskOption;\n }, [options?.mask, store.config.masks, store.config.fields, path]);\n\n const displayValue = useMemo(() => {\n const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\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: 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 } 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\n const upload = useCallback(\n async (file: File | null | undefined) => {\n if (!file) return;\n\n store.beginFieldValidation(fieldPath);\n await store.clearFieldAsyncError(fieldPath);\n\n try {\n const result = await uploadFn(file);\n\n field.setValue(result.url);\n uploadKeyRef.current = result.key;\n await store.clearFieldAsyncError(fieldPath);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : \"Upload failed\";\n await store.setFieldAsyncError(fieldPath, message);\n } finally {\n store.endFieldValidation(fieldPath);\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 await store.setFieldAsyncError(fieldPath, message);\n return;\n }\n }\n\n field.setValue(null);\n uploadKeyRef.current = null;\n await store.clearFieldAsyncError(fieldPath);\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 || false,\n upload,\n remove,\n };\n}\n"],"mappings":"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","names":["useMemo","useCallback","isMaskOnlyOptions","value","keys","useBitField","path","configOrOptions","maybeOptions","config","options","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","maskOption","displayValue","val","setValue","useCallback","isHidden","isRequired","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","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","uploadKeyRef","useRef","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 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 const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\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: 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 } 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\n const upload = useCallback(\n async (file: File | null | undefined) => {\n if (!file) return;\n\n store.beginFieldValidation(fieldPath);\n await store.clearFieldAsyncError(fieldPath);\n\n try {\n const result = await uploadFn(file);\n\n field.setValue(result.url);\n uploadKeyRef.current = result.key;\n await store.clearFieldAsyncError(fieldPath);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : \"Upload failed\";\n await store.setFieldAsyncError(fieldPath, message);\n } finally {\n store.endFieldValidation(fieldPath);\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 await store.setFieldAsyncError(fieldPath, message);\n return;\n }\n }\n\n field.setValue(null);\n uploadKeyRef.current = null;\n await store.clearFieldAsyncError(fieldPath);\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 || false,\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","val","setValue","useCallback","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","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","uploadKeyRef","useRef","upload","useCallback","file","result","error","message","remove","uploadKey"]}
@@ -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 _chunkCPFHKRLUcjs = require('../chunk-CPFHKRLU.cjs');require('../chunk-SIM4YIOW.cjs');var _react = require('react');function v(r){if(!r||typeof r!="object")return!1;let i=Object.keys(r);return i.length===1&&i[0]==="mask"}function E(r,i,s){let P=s!==void 0?i:v(i)?void 0:i,B=s!==void 0?s:v(i)?i:void 0,{fieldState:a,setValue:n,setBlur:d,store:o}=_chunkCPFHKRLUcjs.d.call(void 0, r,P),t=_react.useMemo.call(void 0, ()=>{let e=_nullishCoalesce(_optionalChain([B, 'optionalAccess', _ => _.mask]), () => (_optionalChain([o, 'access', _2 => _2.config, 'access', _3 => _3.fields, 'optionalAccess', _4 => _4[r], 'optionalAccess', _5 => _5.mask])));if(e)return typeof e=="string"?o.config.masks[e]:e},[_optionalChain([B, 'optionalAccess', _6 => _6.mask]),o.config.masks,o.config.fields,r]),m=_react.useMemo.call(void 0, ()=>{let e=a.value;return e==null||e===""?"":t?t.format(e):String(e)},[a.value,t]),p=_react.useCallback.call(void 0, e=>{if(!t){n(e);return}n(t.parse(String(_nullishCoalesce(e, () => ("")))))},[t,n]),x=_react.useCallback.call(void 0, e=>{if(!t){n(e);return}n(t.parse(String(_nullishCoalesce(e, () => ("")))))},[t,n]),{isHidden:g,isRequired:h,value:k,error:l,touched:u,isDirty:T,isValidating:S}=a,V=!!(u&&l),N=u?l:void 0,F=_react.useCallback.call(void 0, ()=>{d()},[d]);return{field:{value:k,displayValue:m,setValue:x,setBlur:d,onChangeText:p,onBlur:F},meta:{error:N,touched:u,invalid:V,isValidating:S,isDirty:T,isHidden:g,isRequired:h,hasError:!!l},props:{value:m,onChangeText:p,onBlur:F}}}exports.BitFormProvider = _chunkCPFHKRLUcjs.a; exports.useBitArray = _chunkCPFHKRLUcjs.e; exports.useBitField = E; exports.useBitForm = _chunkCPFHKRLUcjs.c; exports.useBitScope = _chunkCPFHKRLUcjs.f; exports.useBitSteps = _chunkCPFHKRLUcjs.g; exports.useBitStore = _chunkCPFHKRLUcjs.b; exports.useBitWatch = _chunkCPFHKRLUcjs.h;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkLPRLSFPTcjs = require('../chunk-LPRLSFPT.cjs');require('../chunk-2QNUW6ZN.cjs');var _react = require('react');function k(i){let{fieldState:o,setValue:r,setBlur:s,store:a}=_chunkLPRLSFPTcjs.d.call(void 0, i),t=_react.useMemo.call(void 0, ()=>a.resolveMask(i),[a.config.masks,a.config.fields,i]),d=_react.useMemo.call(void 0, ()=>{let e=o.value;return e==null||e===""?"":t?t.format(e):String(e)},[o.value,t]),m=_react.useCallback.call(void 0, e=>{if(!t){r(e);return}r(t.parse(String(_nullishCoalesce(e, () => ("")))))},[t,r]),c=_react.useCallback.call(void 0, e=>{if(!t){r(e);return}r(t.parse(String(_nullishCoalesce(e, () => ("")))))},[t,r]),{isHidden:F,isRequired:v,value:P,error:n,touched:l,isDirty:x,isValidating:y}=o,g=!!(l&&n),h=l?n:void 0,p=_react.useCallback.call(void 0, ()=>{s()},[s]);return{field:{value:P,displayValue:d,setValue:c,setBlur:s,onChangeText:m,onBlur:p},meta:{error:h,touched:l,invalid:g,isValidating:y,isDirty:x,isHidden:F,isRequired:v,hasError:!!n},props:{value:d,onChangeText:m,onBlur:p}}}exports.BitFormProvider = _chunkLPRLSFPTcjs.a; exports.useBitArray = _chunkLPRLSFPTcjs.e; exports.useBitField = k; exports.useBitForm = _chunkLPRLSFPTcjs.c; exports.useBitScope = _chunkLPRLSFPTcjs.f; exports.useBitSteps = _chunkLPRLSFPTcjs.g; exports.useBitStore = _chunkLPRLSFPTcjs.b; exports.useBitWatch = _chunkLPRLSFPTcjs.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":["isMaskOnlyOptions","value","keys","useBitField","path","configOrOptions","maybeOptions","config","options","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","maskOption","displayValue","val","handleChange","useCallback","text","setValue","isHidden","isRequired","error","touched","isDirty","isValidating","invalid","visibleError","onBlur"],"mappings":"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","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 BitFieldDefinition,\n BitFieldOptions,\n BitPath,\n BitPathValue,\n} from \"../core\";\nimport type {\n UseBitFieldNativeMeta,\n UseBitFieldNativeBindProps,\n UseBitFieldNativeResult,\n} from \"./types\";\n\nfunction isMaskOnlyOptions(\n value: BitFieldDefinition<any> | BitFieldOptions | undefined,\n): value is BitFieldOptions {\n if (!value || typeof value !== \"object\") return false;\n const keys = Object.keys(value);\n return keys.length === 1 && keys[0] === \"mask\";\n}\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(\n path: P,\n configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions,\n maybeOptions?: BitFieldOptions,\n): UseBitFieldNativeResult<TForm, P> {\n const config =\n maybeOptions !== undefined\n ? (configOrOptions as BitFieldDefinition<TForm> | undefined)\n : isMaskOnlyOptions(configOrOptions)\n ? undefined\n : (configOrOptions as BitFieldDefinition<TForm> | undefined);\n\n const options =\n maybeOptions !== undefined\n ? maybeOptions\n : isMaskOnlyOptions(configOrOptions)\n ? configOrOptions\n : undefined;\n\n const {\n fieldState,\n setValue: rawSetValue,\n setBlur,\n store,\n } = useBitFieldBase<BitPathValue<TForm, P>, TForm, P>(path, config);\n\n const resolvedMask = useMemo(() => {\n const maskOption =\n options?.mask ?? store.config.fields?.[path as string]?.mask;\n if (!maskOption) return undefined;\n return typeof maskOption === \"string\"\n ? store.config.masks![maskOption]\n : maskOption;\n }, [options?.mask, store.config.masks, store.config.fields, path]);\n\n const displayValue = useMemo(() => {\n const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const handleChange = useCallback(\n (text: string) => {\n if (!resolvedMask) {\n rawSetValue(text as any);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(text ?? \"\")) as any);\n },\n [resolvedMask, rawSetValue],\n );\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\n },\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 field: {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n },\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","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","displayValue","val","handleChange","useCallback","text","setValue","isHidden","isRequired","value","error","touched","isDirty","isValidating","invalid","visibleError","onBlur"],"mappings":"AAAA,sOAA0F,iCAA8B,8BCAnF,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,CAAQ,CAAA,EAAM,CACjC,IAAME,CAAAA,CAAMR,CAAAA,CAAW,KAAA,CACvB,OAAyBQ,CAAAA,EAAQ,IAAA,EAAQA,CAAAA,GAAQ,EAAA,CAAW,EAAA,CAErDH,CAAAA,CAAeA,CAAAA,CAAa,MAAA,CAAOG,CAAG,CAAA,CAAI,MAAA,CAAOA,CAAG,CAC7D,CAAA,CAAG,CAACR,CAAAA,CAAW,KAAA,CAAOK,CAAY,CAAC,CAAA,CAE7BI,CAAAA,CAAeC,gCAAAA,CAClBC,EAAiB,CAChB,EAAA,CAAI,CAACN,CAAAA,CAAc,CACjBJ,CAAAA,CAAYU,CAAW,CAAA,CACvB,MACF,CAEAV,CAAAA,CAAYI,CAAAA,CAAa,KAAA,CAAM,MAAA,kBAAOM,CAAAA,SAAQ,IAAE,CAAC,CAAQ,CAC3D,CAAA,CACA,CAACN,CAAAA,CAAcJ,CAAW,CAC5B,CAAA,CAEMW,CAAAA,CAAWF,gCAAAA,CACdF,EAAa,CACZ,EAAA,CAAI,CAACH,CAAAA,CAAc,CACjBJ,CAAAA,CAAYO,CAAG,CAAA,CACf,MACF,CAEAP,CAAAA,CAAYI,CAAAA,CAAa,KAAA,CAAM,MAAA,kBAAOG,CAAAA,SAAO,IAAE,CAAC,CAAQ,CAC1D,CAAA,CACA,CAACH,CAAAA,CAAcJ,CAAW,CAC5B,CAAA,CAEM,CAAE,QAAA,CAAAY,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,CACzEnB,CAAAA,CACIoB,CAAAA,CAAU,CAAC,CAAA,CAAEH,CAAAA,EAAWD,CAAAA,CAAAA,CACxBK,CAAAA,CAAeJ,CAAAA,CAAUD,CAAAA,CAAQ,KAAA,CAAA,CAEjCM,CAAAA,CAASZ,gCAAAA,CAAY,CAAA,EAAM,CAC/BR,CAAAA,CAAQ,CACV,CAAA,CAAG,CAACA,CAAO,CAAC,CAAA,CAEZ,MAAO,CACL,KAAA,CAAO,CACL,KAAA,CAAOa,CAAAA,CACP,YAAA,CAAAR,CAAAA,CACA,QAAA,CAAAK,CAAAA,CACA,OAAA,CAAAV,CAAAA,CACA,YAAA,CAAcO,CAAAA,CACd,MAAA,CAAAa,CACF,CAAA,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,CAAOT,CAAAA,CACP,YAAA,CAAcE,CAAAA,CACd,MAAA,CAAAa,CACF,CACF,CACF,CAAA,wUAAA","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 type {\n UseBitFieldNativeMeta,\n UseBitFieldNativeBindProps,\n UseBitFieldNativeResult,\n} 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 const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const handleChange = useCallback(\n (text: string) => {\n if (!resolvedMask) {\n rawSetValue(text as any);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(text ?? \"\")) as any);\n },\n [resolvedMask, rawSetValue],\n );\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\n },\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 field: {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n },\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,9 +1,9 @@
1
- export { B as BitFormProvider, u as useBitArray, f as useBitForm, g as useBitScope, h as useBitSteps, i as useBitStore, j as useBitWatch } from '../use-bit-watch-v4eamRCT.cjs';
2
- import { k as BitPath, l as BitPathValue, g as BitFieldDefinition, h as BitFieldOptions } from '../bus-C1xKmQdw.cjs';
3
- export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-C1xKmQdw.cjs';
1
+ export { B as BitFormProvider, u as useBitArray, f as useBitForm, g as useBitScope, h as useBitSteps, i as useBitStore, j as useBitWatch } from '../use-bit-watch-BRekIj2W.cjs';
2
+ import { j as BitPath, k as BitPathValue } from '../bus-vCbulIYH.cjs';
3
+ export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-vCbulIYH.cjs';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react';
6
- import '../public-types-B3jU1R2E.cjs';
6
+ import '../public-types-Nv__uZTR.cjs';
7
7
 
8
8
  /**
9
9
  * Metadata describing the current state of a form field (React Native).
@@ -43,6 +43,6 @@ interface UseBitFieldNativeResult<TForm extends object = any, P extends BitPath<
43
43
  props: UseBitFieldNativeBindProps;
44
44
  }
45
45
 
46
- declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P, configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions, maybeOptions?: BitFieldOptions): UseBitFieldNativeResult<TForm, P>;
46
+ declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P): UseBitFieldNativeResult<TForm, P>;
47
47
 
48
48
  export { type UseBitFieldNativeBindProps, type UseBitFieldNativeMeta, type UseBitFieldNativeResult, useBitField };
@@ -1,9 +1,9 @@
1
- export { B as BitFormProvider, u as useBitArray, f as useBitForm, g as useBitScope, h as useBitSteps, i as useBitStore, j as useBitWatch } from '../use-bit-watch-DVxSlp2A.js';
2
- import { k as BitPath, l as BitPathValue, g as BitFieldDefinition, h as BitFieldOptions } from '../bus-C1xKmQdw.js';
3
- export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-C1xKmQdw.js';
1
+ export { B as BitFormProvider, u as useBitArray, f as useBitForm, g as useBitScope, h as useBitSteps, i as useBitStore, j as useBitWatch } from '../use-bit-watch-hA0AqCkC.js';
2
+ import { j as BitPath, k as BitPathValue } from '../bus-vCbulIYH.js';
3
+ export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-vCbulIYH.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react';
6
- import '../public-types-By_9Weno.js';
6
+ import '../public-types-ChP5j3xc.js';
7
7
 
8
8
  /**
9
9
  * Metadata describing the current state of a form field (React Native).
@@ -43,6 +43,6 @@ interface UseBitFieldNativeResult<TForm extends object = any, P extends BitPath<
43
43
  props: UseBitFieldNativeBindProps;
44
44
  }
45
45
 
46
- declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P, configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions, maybeOptions?: BitFieldOptions): UseBitFieldNativeResult<TForm, P>;
46
+ declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P): UseBitFieldNativeResult<TForm, P>;
47
47
 
48
48
  export { type UseBitFieldNativeBindProps, type UseBitFieldNativeMeta, type UseBitFieldNativeResult, useBitField };
@@ -1,2 +1,2 @@
1
- import{a as U,b as D,c as M,d as c,e as R,f as C,g as b,h as j}from"../chunk-5JV3QKOT.js";import"../chunk-XHZAMKSZ.js";import{useMemo as y,useCallback as f}from"react";function v(r){if(!r||typeof r!="object")return!1;let i=Object.keys(r);return i.length===1&&i[0]==="mask"}function E(r,i,s){let P=s!==void 0?i:v(i)?void 0:i,B=s!==void 0?s:v(i)?i:void 0,{fieldState:a,setValue:n,setBlur:d,store:o}=c(r,P),t=y(()=>{let e=B?.mask??o.config.fields?.[r]?.mask;if(e)return typeof e=="string"?o.config.masks[e]:e},[B?.mask,o.config.masks,o.config.fields,r]),m=y(()=>{let e=a.value;return e==null||e===""?"":t?t.format(e):String(e)},[a.value,t]),p=f(e=>{if(!t){n(e);return}n(t.parse(String(e??"")))},[t,n]),x=f(e=>{if(!t){n(e);return}n(t.parse(String(e??"")))},[t,n]),{isHidden:g,isRequired:h,value:k,error:l,touched:u,isDirty:T,isValidating:S}=a,V=!!(u&&l),N=u?l:void 0,F=f(()=>{d()},[d]);return{field:{value:k,displayValue:m,setValue:x,setBlur:d,onChangeText:p,onBlur:F},meta:{error:N,touched:u,invalid:V,isValidating:S,isDirty:T,isHidden:g,isRequired:h,hasError:!!l},props:{value:m,onChangeText:p,onBlur:F}}}export{U as BitFormProvider,R as useBitArray,E as useBitField,M as useBitForm,C as useBitScope,b as useBitSteps,D as useBitStore,j as useBitWatch};
1
+ import{a as S,b as T,c as V,d as B,e as N,f as U,g as M,h as R}from"../chunk-F6LJWWEW.js";import"../chunk-N6IA7HQL.js";import{useMemo as f,useCallback as u}from"react";function k(i){let{fieldState:o,setValue:r,setBlur:s,store:a}=B(i),t=f(()=>a.resolveMask(i),[a.config.masks,a.config.fields,i]),d=f(()=>{let e=o.value;return e==null||e===""?"":t?t.format(e):String(e)},[o.value,t]),m=u(e=>{if(!t){r(e);return}r(t.parse(String(e??"")))},[t,r]),c=u(e=>{if(!t){r(e);return}r(t.parse(String(e??"")))},[t,r]),{isHidden:F,isRequired:v,value:P,error:n,touched:l,isDirty:x,isValidating:y}=o,g=!!(l&&n),h=l?n:void 0,p=u(()=>{s()},[s]);return{field:{value:P,displayValue:d,setValue:c,setBlur:s,onChangeText:m,onBlur:p},meta:{error:h,touched:l,invalid:g,isValidating:y,isDirty:x,isHidden:F,isRequired:v,hasError:!!n},props:{value:d,onChangeText:m,onBlur:p}}}export{S as BitFormProvider,N as useBitArray,k as useBitField,V as useBitForm,U as useBitScope,M as useBitSteps,T as useBitStore,R 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 {\n BitFieldDefinition,\n BitFieldOptions,\n BitPath,\n BitPathValue,\n} from \"../core\";\nimport type {\n UseBitFieldNativeMeta,\n UseBitFieldNativeBindProps,\n UseBitFieldNativeResult,\n} from \"./types\";\n\nfunction isMaskOnlyOptions(\n value: BitFieldDefinition<any> | BitFieldOptions | undefined,\n): value is BitFieldOptions {\n if (!value || typeof value !== \"object\") return false;\n const keys = Object.keys(value);\n return keys.length === 1 && keys[0] === \"mask\";\n}\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(\n path: P,\n configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions,\n maybeOptions?: BitFieldOptions,\n): UseBitFieldNativeResult<TForm, P> {\n const config =\n maybeOptions !== undefined\n ? (configOrOptions as BitFieldDefinition<TForm> | undefined)\n : isMaskOnlyOptions(configOrOptions)\n ? undefined\n : (configOrOptions as BitFieldDefinition<TForm> | undefined);\n\n const options =\n maybeOptions !== undefined\n ? maybeOptions\n : isMaskOnlyOptions(configOrOptions)\n ? configOrOptions\n : undefined;\n\n const {\n fieldState,\n setValue: rawSetValue,\n setBlur,\n store,\n } = useBitFieldBase<BitPathValue<TForm, P>, TForm, P>(path, config);\n\n const resolvedMask = useMemo(() => {\n const maskOption =\n options?.mask ?? store.config.fields?.[path as string]?.mask;\n if (!maskOption) return undefined;\n return typeof maskOption === \"string\"\n ? store.config.masks![maskOption]\n : maskOption;\n }, [options?.mask, store.config.masks, store.config.fields, path]);\n\n const displayValue = useMemo(() => {\n const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const handleChange = useCallback(\n (text: string) => {\n if (!resolvedMask) {\n rawSetValue(text as any);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(text ?? \"\")) as any);\n },\n [resolvedMask, rawSetValue],\n );\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\n },\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 field: {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n },\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":"uHAAA,OAAS,WAAAA,EAAS,eAAAC,MAAmB,QAcrC,SAASC,EACPC,EAC0B,CAC1B,GAAI,CAACA,GAAS,OAAOA,GAAU,SAAU,MAAO,GAChD,IAAMC,EAAO,OAAO,KAAKD,CAAK,EAC9B,OAAOC,EAAK,SAAW,GAAKA,EAAK,CAAC,IAAM,MAC1C,CAEO,SAASC,EAIdC,EACAC,EACAC,EACmC,CACnC,IAAMC,EACJD,IAAiB,OACZD,EACDL,EAAkBK,CAAe,EAC/B,OACCA,EAEHG,EACJF,IAAiB,OACbA,EACAN,EAAkBK,CAAe,EAC/BA,EACA,OAEF,CACJ,WAAAI,EACA,SAAUC,EACV,QAAAC,EACA,MAAAC,CACF,EAAIC,EAAkDT,EAAMG,CAAM,EAE5DO,EAAeC,EAAQ,IAAM,CACjC,IAAMC,EACJR,GAAS,MAAQI,EAAM,OAAO,SAASR,CAAc,GAAG,KAC1D,GAAKY,EACL,OAAO,OAAOA,GAAe,SACzBJ,EAAM,OAAO,MAAOI,CAAU,EAC9BA,CACN,EAAG,CAACR,GAAS,KAAMI,EAAM,OAAO,MAAOA,EAAM,OAAO,OAAQR,CAAI,CAAC,EAE3Da,EAAeF,EAAQ,IAAM,CACjC,IAAMG,EAAMT,EAAW,MACvB,OAAyBS,GAAQ,MAAQA,IAAQ,GAAW,GAErDJ,EAAeA,EAAa,OAAOI,CAAG,EAAI,OAAOA,CAAG,CAC7D,EAAG,CAACT,EAAW,MAAOK,CAAY,CAAC,EAE7BK,EAAeC,EAClBC,GAAiB,CAChB,GAAI,CAACP,EAAc,CACjBJ,EAAYW,CAAW,EACvB,MACF,CAEAX,EAAYI,EAAa,MAAM,OAAOO,GAAQ,EAAE,CAAC,CAAQ,CAC3D,EACA,CAACP,EAAcJ,CAAW,CAC5B,EAEMY,EAAWF,EACdF,GAAa,CACZ,GAAI,CAACJ,EAAc,CACjBJ,EAAYQ,CAAG,EACf,MACF,CAEAR,EAAYI,EAAa,MAAM,OAAOI,GAAO,EAAE,CAAC,CAAQ,CAC1D,EACA,CAACJ,EAAcJ,CAAW,CAC5B,EAEM,CAAE,SAAAa,EAAU,WAAAC,EAAY,MAAAvB,EAAO,MAAAwB,EAAO,QAAAC,EAAS,QAAAC,EAAS,aAAAC,CAAa,EACzEnB,EACIoB,EAAU,CAAC,EAAEH,GAAWD,GACxBK,EAAeJ,EAAUD,EAAQ,OAEjCM,EAASX,EAAY,IAAM,CAC/BT,EAAQ,CACV,EAAG,CAACA,CAAO,CAAC,EAEZ,MAAO,CACL,MAAO,CACL,MAAOV,EACP,aAAAgB,EACA,SAAAK,EACA,QAAAX,EACA,aAAcQ,EACd,OAAAY,CACF,EACA,KAAM,CACJ,MAAOD,EACP,QAAAJ,EACA,QAAAG,EACA,aAAAD,EACA,QAAAD,EACA,SAAAJ,EACA,WAAAC,EACA,SAAU,CAAC,CAACC,CACd,EACA,MAAO,CACL,MAAOR,EACP,aAAcE,EACd,OAAAY,CACF,CACF,CACF","names":["useMemo","useCallback","isMaskOnlyOptions","value","keys","useBitField","path","configOrOptions","maybeOptions","config","options","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","maskOption","displayValue","val","handleChange","useCallback","text","setValue","isHidden","isRequired","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 { BitPath, BitPathValue } from \"../core\";\nimport type {\n UseBitFieldNativeMeta,\n UseBitFieldNativeBindProps,\n UseBitFieldNativeResult,\n} 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 const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const handleChange = useCallback(\n (text: string) => {\n if (!resolvedMask) {\n rawSetValue(text as any);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(text ?? \"\")) as any);\n },\n [resolvedMask, rawSetValue],\n );\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\n },\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 field: {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n },\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":"uHAAA,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,EAAQ,IAAM,CACjC,IAAME,EAAMR,EAAW,MACvB,OAAyBQ,GAAQ,MAAQA,IAAQ,GAAW,GAErDH,EAAeA,EAAa,OAAOG,CAAG,EAAI,OAAOA,CAAG,CAC7D,EAAG,CAACR,EAAW,MAAOK,CAAY,CAAC,EAE7BI,EAAeC,EAClBC,GAAiB,CAChB,GAAI,CAACN,EAAc,CACjBJ,EAAYU,CAAW,EACvB,MACF,CAEAV,EAAYI,EAAa,MAAM,OAAOM,GAAQ,EAAE,CAAC,CAAQ,CAC3D,EACA,CAACN,EAAcJ,CAAW,CAC5B,EAEMW,EAAWF,EACdF,GAAa,CACZ,GAAI,CAACH,EAAc,CACjBJ,EAAYO,CAAG,EACf,MACF,CAEAP,EAAYI,EAAa,MAAM,OAAOG,GAAO,EAAE,CAAC,CAAQ,CAC1D,EACA,CAACH,EAAcJ,CAAW,CAC5B,EAEM,CAAE,SAAAY,EAAU,WAAAC,EAAY,MAAAC,EAAO,MAAAC,EAAO,QAAAC,EAAS,QAAAC,EAAS,aAAAC,CAAa,EACzEnB,EACIoB,EAAU,CAAC,EAAEH,GAAWD,GACxBK,EAAeJ,EAAUD,EAAQ,OAEjCM,EAASZ,EAAY,IAAM,CAC/BR,EAAQ,CACV,EAAG,CAACA,CAAO,CAAC,EAEZ,MAAO,CACL,MAAO,CACL,MAAOa,EACP,aAAAR,EACA,SAAAK,EACA,QAAAV,EACA,aAAcO,EACd,OAAAa,CACF,EACA,KAAM,CACJ,MAAOD,EACP,QAAAJ,EACA,QAAAG,EACA,aAAAD,EACA,QAAAD,EACA,SAAAL,EACA,WAAAC,EACA,SAAU,CAAC,CAACE,CACd,EACA,MAAO,CACL,MAAOT,EACP,aAAcE,EACd,OAAAa,CACF,CACF,CACF","names":["useMemo","useCallback","useBitField","path","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","displayValue","val","handleChange","useCallback","text","setValue","isHidden","isRequired","value","error","touched","isDirty","isValidating","invalid","visibleError","onBlur"]}
@@ -1,5 +1,5 @@
1
1
  import { ObjectSchema } from 'joi';
2
- import { e as BitErrors } from '../bus-C1xKmQdw.cjs';
2
+ import { e as BitErrors } from '../bus-vCbulIYH.cjs';
3
3
 
4
4
  declare const joiResolver: <T extends object>(schema: ObjectSchema<T>) => (values: T, options?: {
5
5
  scopeFields?: string[];
@@ -1,5 +1,5 @@
1
1
  import { ObjectSchema } from 'joi';
2
- import { e as BitErrors } from '../bus-C1xKmQdw.js';
2
+ import { e as BitErrors } from '../bus-vCbulIYH.js';
3
3
 
4
4
  declare const joiResolver: <T extends object>(schema: ObjectSchema<T>) => (values: T, options?: {
5
5
  scopeFields?: string[];
@@ -1,5 +1,5 @@
1
1
  import { Schema } from 'yup';
2
- import { e as BitErrors } from '../bus-C1xKmQdw.cjs';
2
+ import { e as BitErrors } from '../bus-vCbulIYH.cjs';
3
3
 
4
4
  declare const yupResolver: <T extends object>(schema: Schema<any>) => (values: T, options?: {
5
5
  scopeFields?: string[];
@@ -1,5 +1,5 @@
1
1
  import { Schema } from 'yup';
2
- import { e as BitErrors } from '../bus-C1xKmQdw.js';
2
+ import { e as BitErrors } from '../bus-vCbulIYH.js';
3
3
 
4
4
  declare const yupResolver: <T extends object>(schema: Schema<any>) => (values: T, options?: {
5
5
  scopeFields?: string[];
@@ -1,5 +1,5 @@
1
1
  import { ZodSchema } from 'zod';
2
- import { e as BitErrors } from '../bus-C1xKmQdw.cjs';
2
+ import { e as BitErrors } from '../bus-vCbulIYH.cjs';
3
3
 
4
4
  declare const zodResolver: <T extends object>(schema: ZodSchema<T>) => (values: T, options?: {
5
5
  scopeFields?: string[];
@@ -1,5 +1,5 @@
1
1
  import { ZodSchema } from 'zod';
2
- import { e as BitErrors } from '../bus-C1xKmQdw.js';
2
+ import { e as BitErrors } from '../bus-vCbulIYH.js';
3
3
 
4
4
  declare const zodResolver: <T extends object>(schema: ZodSchema<T>) => (values: T, options?: {
5
5
  scopeFields?: string[];
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import React from 'react';
3
- import { b as BitFrameworkStore } from './public-types-B3jU1R2E.cjs';
4
- import { e as BitErrors, n as BitTouched, k as BitPath, l as BitPathValue, S as ScopeStatus, V as ValidateScopeResult, c as BitArrayPath, b as BitArrayItem } from './bus-C1xKmQdw.cjs';
3
+ import { b as BitFrameworkStore } from './public-types-Nv__uZTR.cjs';
4
+ import { e as BitErrors, m as BitTouched, j as BitPath, k as BitPathValue, S as ScopeStatus, V as ValidateScopeResult, c as BitArrayPath, b as BitArrayItem } from './bus-vCbulIYH.cjs';
5
5
 
6
6
  declare const BitFormProvider: ({ store, children, }: {
7
7
  store: BitFrameworkStore<any>;
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import React from 'react';
3
- import { b as BitFrameworkStore } from './public-types-By_9Weno.js';
4
- import { e as BitErrors, n as BitTouched, k as BitPath, l as BitPathValue, S as ScopeStatus, V as ValidateScopeResult, c as BitArrayPath, b as BitArrayItem } from './bus-C1xKmQdw.js';
3
+ import { b as BitFrameworkStore } from './public-types-ChP5j3xc.js';
4
+ import { e as BitErrors, m as BitTouched, j as BitPath, k as BitPathValue, S as ScopeStatus, V as ValidateScopeResult, c as BitArrayPath, b as BitArrayItem } from './bus-vCbulIYH.js';
5
5
 
6
6
  declare const BitFormProvider: ({ store, children, }: {
7
7
  store: BitFrameworkStore<any>;