@lehnihon/bit-form 2.2.15 → 2.2.16

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 (95) 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 +2 -2
  4. package/dist/angular/index.d.ts +2 -2
  5. package/dist/angular/index.js +1 -1
  6. package/dist/angular/index.js.map +1 -1
  7. package/dist/chunk-FRKHIMXO.cjs +2 -0
  8. package/dist/chunk-FRKHIMXO.cjs.map +1 -0
  9. package/dist/chunk-HHDHVLGP.cjs +2 -0
  10. package/dist/chunk-HHDHVLGP.cjs.map +1 -0
  11. package/dist/{chunk-LBISXDNW.js → chunk-HNSQFNCR.js} +2 -2
  12. package/dist/chunk-L7RLUUSB.js +2 -0
  13. package/dist/chunk-L7RLUUSB.js.map +1 -0
  14. package/dist/chunk-PGLND5EZ.js +2 -0
  15. package/dist/chunk-PGLND5EZ.js.map +1 -0
  16. package/dist/chunk-PQYTA2OP.js +2 -0
  17. package/dist/chunk-PQYTA2OP.js.map +1 -0
  18. package/dist/chunk-QCKCONCU.js +2 -0
  19. package/dist/chunk-QCKCONCU.js.map +1 -0
  20. package/dist/{chunk-KGI5PU2P.cjs → chunk-UIBR5FS6.cjs} +2 -2
  21. package/dist/{chunk-KGI5PU2P.cjs.map → chunk-UIBR5FS6.cjs.map} +1 -1
  22. package/dist/chunk-WLOKGOW6.cjs +2 -0
  23. package/dist/chunk-WLOKGOW6.cjs.map +1 -0
  24. package/dist/chunk-WRNR6SXK.cjs +2 -0
  25. package/dist/chunk-WRNR6SXK.cjs.map +1 -0
  26. package/dist/{config-types-D9n-rQLk.d.ts → config-types-BgIAuvzu.d.ts} +1 -2
  27. package/dist/{config-types-5eR82k2V.d.cts → config-types-CewC0AIS.d.cts} +1 -2
  28. package/dist/core/bindings.d.cts +2 -2
  29. package/dist/core/bindings.d.ts +2 -2
  30. package/dist/core/store.cjs +1 -1
  31. package/dist/core/store.cjs.map +1 -1
  32. package/dist/core/store.d.cts +3 -3
  33. package/dist/core/store.d.ts +3 -3
  34. package/dist/core/store.js +1 -1
  35. package/dist/core.cjs +1 -1
  36. package/dist/core.cjs.map +1 -1
  37. package/dist/core.d.cts +2 -2
  38. package/dist/core.d.ts +2 -2
  39. package/dist/core.js +1 -1
  40. package/dist/devtools/bridge.cjs +1 -1
  41. package/dist/devtools/bridge.cjs.map +1 -1
  42. package/dist/devtools/bridge.js +1 -1
  43. package/dist/devtools/index.cjs +2 -2
  44. package/dist/devtools/index.cjs.map +1 -1
  45. package/dist/devtools/index.d.cts +1 -1
  46. package/dist/devtools/index.d.ts +1 -1
  47. package/dist/devtools/index.js +1 -1
  48. package/dist/devtools/index.js.map +1 -1
  49. package/dist/index.cjs +1 -1
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.d.cts +2 -2
  52. package/dist/index.d.ts +2 -2
  53. package/dist/index.js +1 -1
  54. package/dist/mask.cjs +1 -1
  55. package/dist/mask.cjs.map +1 -1
  56. package/dist/mask.d.cts +3 -3
  57. package/dist/mask.d.ts +3 -3
  58. package/dist/mask.js +1 -1
  59. package/dist/mask.js.map +1 -1
  60. package/dist/react/index.cjs +1 -1
  61. package/dist/react/index.cjs.map +1 -1
  62. package/dist/react/index.d.cts +4 -5
  63. package/dist/react/index.d.ts +4 -5
  64. package/dist/react/index.js +1 -1
  65. package/dist/react/index.js.map +1 -1
  66. package/dist/react-native/index.cjs +1 -1
  67. package/dist/react-native/index.cjs.map +1 -1
  68. package/dist/react-native/index.d.cts +3 -4
  69. package/dist/react-native/index.d.ts +3 -4
  70. package/dist/react-native/index.js +1 -1
  71. package/dist/react-native/index.js.map +1 -1
  72. package/dist/{store-api-types-DSgYwMS3.d.cts → store-api-types-CVQuHPhm.d.cts} +1 -2
  73. package/dist/{store-api-types-Bozwlwyb.d.ts → store-api-types-Cy-zEhRU.d.ts} +1 -2
  74. package/dist/{use-bit-persist-Bd1H2fge.d.ts → use-bit-persist-BhMBUSzN.d.ts} +13 -5
  75. package/dist/{use-bit-persist-DDxV21AN.d.cts → use-bit-persist-Dt264zYz.d.cts} +13 -5
  76. package/dist/vue/index.cjs +1 -1
  77. package/dist/vue/index.cjs.map +1 -1
  78. package/dist/vue/index.d.cts +2 -2
  79. package/dist/vue/index.d.ts +2 -2
  80. package/dist/vue/index.js +1 -1
  81. package/dist/vue/index.js.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/chunk-4EMYM7JF.cjs +0 -2
  84. package/dist/chunk-4EMYM7JF.cjs.map +0 -1
  85. package/dist/chunk-CIZ6UW2J.cjs +0 -2
  86. package/dist/chunk-CIZ6UW2J.cjs.map +0 -1
  87. package/dist/chunk-IB2BMG4F.cjs +0 -2
  88. package/dist/chunk-IB2BMG4F.cjs.map +0 -1
  89. package/dist/chunk-KMOB6DB6.js +0 -2
  90. package/dist/chunk-KMOB6DB6.js.map +0 -1
  91. package/dist/chunk-NFKYWPEV.js +0 -2
  92. package/dist/chunk-NFKYWPEV.js.map +0 -1
  93. package/dist/chunk-VSNLUHZQ.js +0 -2
  94. package/dist/chunk-VSNLUHZQ.js.map +0 -1
  95. /package/dist/{chunk-LBISXDNW.js.map → chunk-HNSQFNCR.js.map} +0 -0
@@ -1,14 +1,13 @@
1
- import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-DDxV21AN.cjs';
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-DDxV21AN.cjs';
1
+ import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-Dt264zYz.cjs';
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-Dt264zYz.cjs';
3
3
  import { d as BitPath } from '../state-types-8bUndWfg.cjs';
4
4
  import '../bus-DzTqgkZ4.cjs';
5
5
  import { g as BitUploadFn, b as BitDeleteUploadFn } from '../upload-C4JqIaU2.cjs';
6
6
  export { S as ScopeStatus, V as ValidateScopeResult } from '../runtime-types-D1SRZr-n.cjs';
7
- import 'react/jsx-runtime';
8
7
  import 'react';
9
- import '../store-api-types-DSgYwMS3.cjs';
8
+ import '../store-api-types-CVQuHPhm.cjs';
10
9
  import '../types-CUXh7PqD.cjs';
11
- import '../config-types-5eR82k2V.cjs';
10
+ import '../config-types-CewC0AIS.cjs';
12
11
  import '../meta-types-BC1VLABk.cjs';
13
12
  import '../field-binding-X5TkvfUt.cjs';
14
13
 
@@ -1,14 +1,13 @@
1
- import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-Bd1H2fge.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-Bd1H2fge.js';
1
+ import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-BhMBUSzN.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-BhMBUSzN.js';
3
3
  import { d as BitPath } from '../state-types-8bUndWfg.js';
4
4
  import '../bus-BFOBGmd9.js';
5
5
  import { g as BitUploadFn, b as BitDeleteUploadFn } from '../upload-ao6skK9K.js';
6
6
  export { S as ScopeStatus, V as ValidateScopeResult } from '../runtime-types-D1SRZr-n.js';
7
- import 'react/jsx-runtime';
8
7
  import 'react';
9
- import '../store-api-types-Bozwlwyb.js';
8
+ import '../store-api-types-Cy-zEhRU.js';
10
9
  import '../types-CUXh7PqD.js';
11
- import '../config-types-D9n-rQLk.js';
10
+ import '../config-types-BgIAuvzu.js';
12
11
  import '../meta-types-BC1VLABk.js';
13
12
  import '../field-binding-Bi1g-D8X.js';
14
13
 
@@ -1,2 +1,2 @@
1
- import{a as b,b as d,c as h,d as g,e as H,f as M,g as T,h as k,i as E}from"../chunk-VSNLUHZQ.js";import{a as v,b as S}from"../chunk-NFKYWPEV.js";import"../chunk-5NA2TFPG.js";import"../chunk-KMOB6DB6.js";import{h as x}from"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import{f as U}from"../chunk-UIKO6GGW.js";import{a as R}from"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import{a as F}from"../chunk-3NUJVIAM.js";import{useMemo as V,useCallback as f}from"react";function y(e){let{fieldState:t,setBlur:n,store:a}=g(e),{fieldController:r}=V(()=>x(a,e),[a,e]),u=V(()=>r.displayValue(t.value),[t.value,r]),l=f(i=>{r.setValue(i)},[r]),{value:o}=t,s=R(t),p=f(i=>{let B=F(i)?i.target?.value:i;l(B)},[l]),c=f(()=>{n()},[n]);return{value:o,displayValue:u,setValue:l,setBlur:n,onChange:p,onBlur:c,props:{value:u,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 w(){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.observe.subscribeHistoryMeta(()=>o()),[e]),r=I(a,n,n),u=m(()=>{e.feature.undo()},[e]),l=m(()=>{e.feature.redo()},[e]);return{...r,undo:u,redo:l}}import{useCallback as P,useRef as D,useState as j}from"react";function K(e,t,n){let a=d(),r=y(e),u=D(null),[l,o]=j(!1),s={setLoading:o,setError:(i,B)=>a.write.setError(i,B),setValue:i=>r.setValue(i),getUploadKey:()=>u.current,setUploadKey:i=>{u.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||l,upload:p,remove:c}}export{b as BitFormProvider,H as useBitArray,y as useBitField,h as useBitForm,w as useBitHistory,E as useBitPersist,M as useBitScope,T as useBitSteps,d as useBitStore,K as useBitUpload,k as useBitWatch};
1
+ import{a as D,b as U,c as K,d as k,e as z,f as q,g as A,h as L,i as O}from"../chunk-PGLND5EZ.js";import{a as E,b as I}from"../chunk-L7RLUUSB.js";import"../chunk-5NA2TFPG.js";import"../chunk-PQYTA2OP.js";import{h as T}from"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import{f as b}from"../chunk-UIKO6GGW.js";import{a as h}from"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";import{a as H}from"../chunk-3NUJVIAM.js";import{useCallback as S,useMemo as F}from"react";function V(e){let{fieldState:t,setBlur:s,store:u}=k(e),{fieldController:n}=F(()=>T(u,e),[u,e]),i=F(()=>n.displayValue(t.value),[t.value,n]),o=S(y=>{n.setValue(y)},[n]),{value:r}=t,x=h(t),{error:c,touched:p,invalid:m,isDirty:g,isValidating:l,isHidden:B,isRequired:f,hasError:a}=x,d=S(y=>{let j=H(y)?y.target?.value:y;o(j)},[o]),R=S(()=>{s()},[s]),M=F(()=>({value:i,onChange:d,onBlur:R}),[i,d,R]),P=F(()=>({error:c,touched:p,invalid:m,isDirty:g,isValidating:l,isHidden:B,isRequired:f,hasError:a}),[c,p,m,g,l,B,f,a]);return F(()=>({value:r,displayValue:i,setValue:o,setBlur:s,onChange:d,onBlur:R,props:M,meta:P}),[r,i,o,s,d,R,M,P])}import{useCallback as v,useMemo as W,useRef as G,useSyncExternalStore as J}from"react";function N(){let e=U(),t=G(null),s=v(()=>{let r=b(e);return t.current&&t.current.canUndo===r.canUndo&&t.current.canRedo===r.canRedo&&t.current.historyIndex===r.historyIndex&&t.current.historySize===r.historySize?t.current:(t.current=r,r)},[e]),u=v(r=>e.observe.subscribeHistoryMeta(()=>r()),[e]),n=J(u,s,s),i=v(()=>{e.feature.undo()},[e]),o=v(()=>{e.feature.redo()},[e]);return W(()=>({...n,undo:i,redo:o}),[n,i,o])}import{useCallback as C,useMemo as w,useRef as Q,useState as X}from"react";function Y(e,t,s){let u=U(),n=V(e),{value:i,setValue:o,meta:r}=n,x=r?.error,c=!!r?.isValidating,p=Q(null),[m,g]=X(!1),l=w(()=>({setLoading:g,setError:(a,d)=>u.write.setError(a,d),setValue:a=>o(a),getUploadKey:()=>p.current,setUploadKey:a=>{p.current=a}}),[u,o]),B=C(E(e,t,l),[e,t,l]),f=C(I(e,s,l),[e,s,l]);return w(()=>({value:i,setValue:o,error:x,isValidating:c||m,upload:B,remove:f}),[i,o,x,c,m,B,f])}export{D as BitFormProvider,z as useBitArray,V as useBitField,K as useBitForm,N as useBitHistory,O as useBitPersist,q as useBitScope,A as useBitSteps,U as useBitStore,Y as useBitUpload,L 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 BitPath,\n BitPathValue,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport type {\n BitFieldInputEvent,\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.observe.subscribeHistoryMeta(() => cb()),\n [store],\n );\n\n const meta = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const undo = useCallback(() => {\n store.feature.undo();\n }, [store]);\n\n const redo = useCallback(() => {\n store.feature.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 type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitUploadResult } from \"./types\";\nimport { useBitField } from \"./use-bit-field\";\n\nexport function useBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\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.write.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
+ {"version":3,"sources":["../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport {\n BitPath,\n BitPathValue,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport type { BitFieldInputEvent, UseBitFieldResult } from \"./types\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\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 const {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n } = metaState;\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 const props = useMemo(\n () => ({\n value: displayValue,\n onChange,\n onBlur,\n }),\n [displayValue, onChange, onBlur],\n );\n\n const meta = useMemo(\n () => ({\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n }),\n [\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n ],\n );\n\n return useMemo(\n () => ({\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 // Metadata (grouped)\n meta,\n }),\n [value, displayValue, setValue, setBlur, onChange, onBlur, props, meta],\n );\n}\n","import { useCallback, useMemo, 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.observe.subscribeHistoryMeta(() => cb()),\n [store],\n );\n\n const meta = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const undo = useCallback(() => {\n store.feature.undo();\n }, [store]);\n\n const redo = useCallback(() => {\n store.feature.redo();\n }, [store]);\n\n return useMemo(\n () => ({\n ...meta,\n undo,\n redo,\n }),\n [meta, undo, 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, useMemo, useRef, useState } from \"react\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitUploadResult } from \"./types\";\nimport { useBitField } from \"./use-bit-field\";\n\nexport function useBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): UseBitUploadResult {\n const store = useBitStore<any>();\n const field = useBitField(fieldPath);\n const { value, setValue, meta } = field;\n const error = meta?.error;\n const fieldIsValidating = !!meta?.isValidating;\n const uploadKeyRef = useRef<string | null>(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const kernelCallbacks = useMemo(\n () => ({\n setLoading: setIsUploading,\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => setValue(val as any),\n getUploadKey: () => uploadKeyRef.current,\n setUploadKey: (key: string | null) => {\n uploadKeyRef.current = key;\n },\n }),\n [store, setValue],\n );\n\n const upload = useCallback(\n createUploadHandler(fieldPath, uploadFn, kernelCallbacks),\n [fieldPath, uploadFn, kernelCallbacks],\n );\n\n const remove = useCallback(\n createRemoveHandler(fieldPath, deleteFile, kernelCallbacks),\n [fieldPath, deleteFile, kernelCallbacks],\n );\n\n return useMemo(\n () => ({\n value,\n setValue,\n error,\n isValidating: fieldIsValidating || isUploading,\n upload,\n remove,\n }),\n [value, setValue, error, fieldIsValidating, isUploading, upload, remove],\n );\n}\n"],"mappings":"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","names":["useCallback","useMemo","useBitField","path","fieldState","setBlur","store","useBitFieldBase","fieldController","useMemo","createFrameworkMaskedFieldBinding","displayValue","setValue","useCallback","val","value","metaState","deriveFieldMeta","error","touched","invalid","isDirty","isValidating","isHidden","isRequired","hasError","onChange","e","isBitFieldInputEventObject","onBlur","props","meta","useCallback","useMemo","useRef","useSyncExternalStore","useBitHistory","store","useBitStore","lastMeta","useRef","getSnapshot","useCallback","nextMeta","readHistoryMetaSnapshot","subscribe","cb","meta","useSyncExternalStore","undo","redo","useMemo","useCallback","useMemo","useRef","useState","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","value","setValue","meta","error","fieldIsValidating","uploadKeyRef","useRef","isUploading","setIsUploading","useState","kernelCallbacks","useMemo","path","msg","val","key","upload","useCallback","createUploadHandler","remove","createRemoveHandler"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkIB2BMG4Fcjs = require('../chunk-IB2BMG4F.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-CIZ6UW2J.cjs');var _chunkAVUK52JWcjs = require('../chunk-AVUK52JW.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-PFPGASVZ.cjs');var _react = require('react');function g(i){let{fieldState:r,setBlur:o,store:l}=_chunkIB2BMG4Fcjs.d.call(void 0, i),{fieldController:t}=_react.useMemo.call(void 0, ()=>_chunkAVUK52JWcjs.h.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=_chunk3KI3GEU3cjs.a.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 = _chunkIB2BMG4Fcjs.a; exports.useBitArray = _chunkIB2BMG4Fcjs.e; exports.useBitField = g; exports.useBitForm = _chunkIB2BMG4Fcjs.c; exports.useBitPersist = _chunkIB2BMG4Fcjs.i; exports.useBitScope = _chunkIB2BMG4Fcjs.f; exports.useBitSteps = _chunkIB2BMG4Fcjs.g; exports.useBitStore = _chunkIB2BMG4Fcjs.b; exports.useBitWatch = _chunkIB2BMG4Fcjs.h;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFRKHIMXOcjs = require('../chunk-FRKHIMXO.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-HHDHVLGP.cjs');var _chunkAVUK52JWcjs = require('../chunk-AVUK52JW.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');require('../chunk-PFPGASVZ.cjs');var _react = require('react');function g(i){let{fieldState:r,setBlur:o,store:l}=_chunkFRKHIMXOcjs.d.call(void 0, i),{fieldController:t}=_react.useMemo.call(void 0, ()=>_chunkAVUK52JWcjs.h.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=_chunk3KI3GEU3cjs.a.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 = _chunkFRKHIMXOcjs.a; exports.useBitArray = _chunkFRKHIMXOcjs.e; exports.useBitField = g; exports.useBitForm = _chunkFRKHIMXOcjs.c; exports.useBitPersist = _chunkFRKHIMXOcjs.i; exports.useBitScope = _chunkFRKHIMXOcjs.f; exports.useBitSteps = _chunkFRKHIMXOcjs.g; exports.useBitStore = _chunkFRKHIMXOcjs.b; exports.useBitWatch = _chunkFRKHIMXOcjs.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","setBlur","store","useBitFieldBase","fieldController","useMemo","createFrameworkMaskedFieldBinding","displayValue","handleChange","useCallback","text","setValue","val","value","metaState","deriveFieldMeta","onBlur"],"mappings":"AAAA,kIAAiG,iCAA8B,iCAA8B,yDAA0C,iCAA8B,iCAA8B,yDAA0C,iCAA8B,iCAA8B,iCAA8B,8BCAlW,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
+ {"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,iCAA8B,iCAA8B,yDAA0C,iCAA8B,iCAA8B,yDAA0C,iCAA8B,iCAA8B,iCAA8B,iCAA8B,8BCAhY,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,12 +1,11 @@
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-DDxV21AN.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-Dt264zYz.cjs';
2
2
  import { d as BitPath, e as BitPathValue } from '../state-types-8bUndWfg.cjs';
3
3
  import '../bus-DzTqgkZ4.cjs';
4
4
  export { S as ScopeStatus, V as ValidateScopeResult } from '../runtime-types-D1SRZr-n.cjs';
5
- import 'react/jsx-runtime';
6
5
  import 'react';
7
- import '../store-api-types-DSgYwMS3.cjs';
6
+ import '../store-api-types-CVQuHPhm.cjs';
8
7
  import '../types-CUXh7PqD.cjs';
9
- import '../config-types-5eR82k2V.cjs';
8
+ import '../config-types-CewC0AIS.cjs';
10
9
  import '../meta-types-BC1VLABk.cjs';
11
10
  import '../upload-C4JqIaU2.cjs';
12
11
  import '../field-binding-X5TkvfUt.cjs';
@@ -1,12 +1,11 @@
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-Bd1H2fge.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-BhMBUSzN.js';
2
2
  import { d as BitPath, e as BitPathValue } from '../state-types-8bUndWfg.js';
3
3
  import '../bus-BFOBGmd9.js';
4
4
  export { S as ScopeStatus, V as ValidateScopeResult } from '../runtime-types-D1SRZr-n.js';
5
- import 'react/jsx-runtime';
6
5
  import 'react';
7
- import '../store-api-types-Bozwlwyb.js';
6
+ import '../store-api-types-Cy-zEhRU.js';
8
7
  import '../types-CUXh7PqD.js';
9
- import '../config-types-D9n-rQLk.js';
8
+ import '../config-types-BgIAuvzu.js';
10
9
  import '../meta-types-BC1VLABk.js';
11
10
  import '../upload-ao6skK9K.js';
12
11
  import '../field-binding-Bi1g-D8X.js';
@@ -1,2 +1,2 @@
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-VSNLUHZQ.js";import"../chunk-5NA2TFPG.js";import"../chunk-KMOB6DB6.js";import{h as m}from"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import{a as p}from"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.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};
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-PGLND5EZ.js";import"../chunk-5NA2TFPG.js";import"../chunk-PQYTA2OP.js";import{h as m}from"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import{a as p}from"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.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 {\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":"8XAAA,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
+ {"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":"2ZAAA,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,6 +1,6 @@
1
1
  import { B as BitMask } from './types-CUXh7PqD.cjs';
2
2
  import { c as BitFormGlobal } from './bus-DzTqgkZ4.cjs';
3
- import { e as BitConfig, V as ValidatorFn, i as BitFieldDefinition, v as BitPersistResolvedConfig, p as BitPlugin, w as BitOperationalErrorSource } from './config-types-5eR82k2V.cjs';
3
+ import { e as BitConfig, V as ValidatorFn, i as BitFieldDefinition, v as BitPersistResolvedConfig, p as BitPlugin, w as BitOperationalErrorSource } from './config-types-CewC0AIS.cjs';
4
4
  import { g as BitState, d as BitPath, c as BitFieldState, e as BitPathValue, f as BitPersistMetadata, D as DeepPartial, b as BitErrors, a as BitArrayPath, B as BitArrayItem } from './state-types-8bUndWfg.cjs';
5
5
  import { D as DevToolsOptions, b as BitIdFactory, B as BitScheduler, S as ScopeStatus, a as BitSubmitResult } from './runtime-types-D1SRZr-n.cjs';
6
6
  import { a as BitHistoryMetadata, B as BitFormMeta, c as BitServerErrorOptions, b as BitValidationOptions } from './meta-types-BC1VLABk.cjs';
@@ -36,7 +36,6 @@ interface BitFrameworkConfig<T extends object = Record<string, unknown>> extends
36
36
  enabled: boolean;
37
37
  limit: number;
38
38
  };
39
- masks?: Record<string, BitMask>;
40
39
  fields?: Record<string, BitFieldDefinition<T>>;
41
40
  devTools?: boolean | DevToolsOptions;
42
41
  persist: BitPersistResolvedConfig<T>;
@@ -1,6 +1,6 @@
1
1
  import { B as BitMask } from './types-CUXh7PqD.js';
2
2
  import { c as BitFormGlobal } from './bus-BFOBGmd9.js';
3
- import { e as BitConfig, V as ValidatorFn, i as BitFieldDefinition, v as BitPersistResolvedConfig, p as BitPlugin, w as BitOperationalErrorSource } from './config-types-D9n-rQLk.js';
3
+ import { e as BitConfig, V as ValidatorFn, i as BitFieldDefinition, v as BitPersistResolvedConfig, p as BitPlugin, w as BitOperationalErrorSource } from './config-types-BgIAuvzu.js';
4
4
  import { g as BitState, d as BitPath, c as BitFieldState, e as BitPathValue, f as BitPersistMetadata, D as DeepPartial, b as BitErrors, a as BitArrayPath, B as BitArrayItem } from './state-types-8bUndWfg.js';
5
5
  import { D as DevToolsOptions, b as BitIdFactory, B as BitScheduler, S as ScopeStatus, a as BitSubmitResult } from './runtime-types-D1SRZr-n.js';
6
6
  import { a as BitHistoryMetadata, B as BitFormMeta, c as BitServerErrorOptions, b as BitValidationOptions } from './meta-types-BC1VLABk.js';
@@ -36,7 +36,6 @@ interface BitFrameworkConfig<T extends object = Record<string, unknown>> extends
36
36
  enabled: boolean;
37
37
  limit: number;
38
38
  };
39
- masks?: Record<string, BitMask>;
40
39
  fields?: Record<string, BitFieldDefinition<T>>;
41
40
  devTools?: boolean | DevToolsOptions;
42
41
  persist: BitPersistResolvedConfig<T>;
@@ -1,6 +1,5 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import React from 'react';
3
- import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-Bozwlwyb.js';
2
+ import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-Cy-zEhRU.js';
4
3
  import './bus-BFOBGmd9.js';
5
4
  import { d as BitPath, e as BitPathValue, f as BitPersistMetadata, b as BitErrors, h as BitTouched, D as DeepPartial, a as BitArrayPath, B as BitArrayItem } from './state-types-8bUndWfg.js';
6
5
  import { c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, a as BitArrayBindingField } from './upload-ao6skK9K.js';
@@ -8,10 +7,19 @@ import { S as ScopeStatus, V as ValidateScopeResult } from './runtime-types-D1SR
8
7
  import { a as BitHistoryMetadata, b as BitValidationOptions } from './meta-types-BC1VLABk.js';
9
8
  import { B as BitFieldInputEvent } from './field-binding-Bi1g-D8X.js';
10
9
 
11
- declare const BitFormProvider: ({ store, children, }: {
12
- store: BitFrameworkStoreApi<any> | BitStoreApi<any>;
10
+ interface BitFormProviderProps<T extends object> {
11
+ store: BitFrameworkStoreApi<T> | BitStoreApi<T>;
13
12
  children: React.ReactNode;
14
- }) => react_jsx_runtime.JSX.Element;
13
+ }
14
+ interface BitFormProviderRuntimeProps {
15
+ store: unknown;
16
+ children: React.ReactNode;
17
+ }
18
+ type BitFormProviderComponent = {
19
+ <T extends object>(props: BitFormProviderProps<T>): React.ReactElement;
20
+ (props: BitFormProviderRuntimeProps): React.ReactElement;
21
+ };
22
+ declare const BitFormProvider: BitFormProviderComponent;
15
23
  declare const useBitStore: <T extends object>() => BitFrameworkStoreApi<T>;
16
24
 
17
25
  /**
@@ -1,6 +1,5 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import React from 'react';
3
- import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-DSgYwMS3.cjs';
2
+ import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-CVQuHPhm.cjs';
4
3
  import './bus-DzTqgkZ4.cjs';
5
4
  import { d as BitPath, e as BitPathValue, f as BitPersistMetadata, b as BitErrors, h as BitTouched, D as DeepPartial, a as BitArrayPath, B as BitArrayItem } from './state-types-8bUndWfg.cjs';
6
5
  import { c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, a as BitArrayBindingField } from './upload-C4JqIaU2.cjs';
@@ -8,10 +7,19 @@ import { S as ScopeStatus, V as ValidateScopeResult } from './runtime-types-D1SR
8
7
  import { a as BitHistoryMetadata, b as BitValidationOptions } from './meta-types-BC1VLABk.cjs';
9
8
  import { B as BitFieldInputEvent } from './field-binding-X5TkvfUt.cjs';
10
9
 
11
- declare const BitFormProvider: ({ store, children, }: {
12
- store: BitFrameworkStoreApi<any> | BitStoreApi<any>;
10
+ interface BitFormProviderProps<T extends object> {
11
+ store: BitFrameworkStoreApi<T> | BitStoreApi<T>;
13
12
  children: React.ReactNode;
14
- }) => react_jsx_runtime.JSX.Element;
13
+ }
14
+ interface BitFormProviderRuntimeProps {
15
+ store: unknown;
16
+ children: React.ReactNode;
17
+ }
18
+ type BitFormProviderComponent = {
19
+ <T extends object>(props: BitFormProviderProps<T>): React.ReactElement;
20
+ (props: BitFormProviderRuntimeProps): React.ReactElement;
21
+ };
22
+ declare const BitFormProvider: BitFormProviderComponent;
15
23
  declare const useBitStore: <T extends object>() => BitFrameworkStoreApi<T>;
16
24
 
17
25
  /**
@@ -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 _chunk4EMYM7JFcjs = require('../chunk-4EMYM7JF.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkCIZ6UW2Jcjs = require('../chunk-CIZ6UW2J.cjs');var _chunkAVUK52JWcjs = require('../chunk-AVUK52JW.cjs');var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');var _chunkFTXV2NZOcjs = require('../chunk-FTXV2NZO.cjs');require('../chunk-PFPGASVZ.cjs');var _vue = require('vue');var G=Symbol("BIT_STORE");function te(t){_vue.provide.call(void 0, G,_chunkCIZ6UW2Jcjs.d.call(void 0, t))}function a(){let t=_vue.inject.call(void 0, G);if(!t)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return t}function se(){let t=a(),e=_vue.shallowRef.call(void 0, {isValid:!0,isDirty:!1,isSubmitting:!1}),o=_vue.ref.call(void 0, null),r=_vue.ref.call(void 0, null),i=_chunkAVUK52JWcjs.c.call(void 0, t,v=>{e.value=v});_vue.onUnmounted.call(void 0, i);let{controller:s,actions:n}=_chunkAVUK52JWcjs.i.call(void 0, t,{clearSubmissionState:()=>{o.value=null,r.value=null},setSubmissionResult:v=>{r.value=v},setSubmissionError:v=>{o.value=v}}),d=_vue.computed.call(void 0, ()=>e.value.isValid),u=_vue.computed.call(void 0, ()=>e.value.isSubmitting),p=_vue.computed.call(void 0, ()=>e.value.isDirty),c=s.onSubmit,S=s.reset;return{meta:{isValid:d,isDirty:p,isSubmitting:u,submitError:o,lastResponse:r},getValues:s.getValues,getErrors:s.getErrors,getTouched:s.getTouched,getDirtyValues:s.getDirtyValues,submit:s.submit,onSubmit:c,reset:S,...n}}function T(t){let e=a(),{fieldController:o}=_chunkAVUK52JWcjs.h.call(void 0, e,t),r=_vue.shallowRef.call(void 0, e.read.getFieldState(t)),i=e.observe.subscribeFieldState(t,f=>{r.value=f});_vue.onUnmounted.call(void 0, ()=>{i(),_chunkAVUK52JWcjs.j.call(void 0, e,t)});let s=_vue.computed.call(void 0, ()=>r.value.value),n=_vue.computed.call(void 0, ()=>o.displayValue(s.value)),d=_vue.computed.call(void 0, {get:()=>n.value,set:f=>{o.setValue(f)}}),u=_vue.computed.call(void 0, ()=>_chunk3KI3GEU3cjs.a.call(void 0, r.value)),p=_vue.computed.call(void 0, ()=>u.value.error),c=_vue.computed.call(void 0, ()=>u.value.touched),S=_vue.computed.call(void 0, ()=>u.value.invalid),b=_vue.computed.call(void 0, ()=>u.value.isValidating),v=_vue.computed.call(void 0, ()=>u.value.isDirty),P=_vue.computed.call(void 0, ()=>u.value.isHidden),V=_vue.computed.call(void 0, ()=>u.value.isRequired),x=_vue.computed.call(void 0, ()=>u.value.hasError),F=f=>{o.setValue(f)},l=()=>o.setBlur();return{value:s,displayValue:n,modelValue:d,setValue:F,setBlur:l,onInput:f=>{F(f)},onBlur:()=>{l()},meta:{error:p,touched:c,invalid:S,isValidating:b,isDirty:v,isHidden:P,isRequired:V,hasError:x}}}function le(t){let e=a(),o=_chunkAVUK52JWcjs.g.call(void 0, e,t),r=_vue.shallowRef.call(void 0, o.readItems()),i=e.observe.subscribePath(t,()=>{r.value=o.readItems()});_vue.onUnmounted.call(void 0, ()=>{i(),_chunkAVUK52JWcjs.k.call(void 0, e,`${t}.`)});let s=_vue.computed.call(void 0, ()=>o.getFields(r.value)),n=_vue.computed.call(void 0, ()=>r.value.length);return{fields:s,length:n,append:o.append,prepend:o.prepend,insert:o.insert,remove:o.remove,move:o.move,swap:o.swap,replace:o.replace,clear:o.clear}}function pe(){let t=a(),e=_vue.shallowRef.call(void 0, _chunkRHMJPKNVcjs.f.call(void 0, t)),o=_chunkRHMJPKNVcjs.g.call(void 0, t,s=>{e.value=s});_vue.onUnmounted.call(void 0, o);let r=()=>t.feature.undo(),i=()=>t.feature.redo();return{canUndo:_vue.computed.call(void 0, ()=>e.value.canUndo),canRedo:_vue.computed.call(void 0, ()=>e.value.canRedo),historyIndex:_vue.computed.call(void 0, ()=>e.value.historyIndex),historySize:_vue.computed.call(void 0, ()=>e.value.historySize),undo:r,redo:i}}function Se(t){let e=a(),o=_vue.ref.call(void 0, e.read.getScopeStatus(t)),r;_vue.onMounted.call(void 0, ()=>{r=_chunkBSGJ3T5Scjs.a.call(void 0, e,t,p=>{o.value=p})}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([r, 'optionalCall', _2 => _2()])});let i=async()=>{let p=await e.feature.validate({scope:t}),c=e.read.getScopeErrors(t);return{valid:p,errors:c}},s=()=>e.read.getScopeErrors(t),n=_vue.computed.call(void 0, ()=>!o.value.hasErrors),d=_vue.computed.call(void 0, ()=>o.value.isDirty),u=_vue.computed.call(void 0, ()=>o.value.errors);return{scopeName:t,status:o,errors:u,validate:i,getErrors:s,isValid:n,isDirty:d}}function be(t){let e=a(),o=_vue.ref.call(void 0, 0),r=_vue.computed.call(void 0, ()=>_nullishCoalesce(t[o.value], () => (""))),i=_vue.ref.call(void 0, e.read.getScopeStatus(r.value)),s;_vue.watch.call(void 0, r,l=>{i.value=e.read.getScopeStatus(l),_optionalChain([s, 'optionalCall', _3 => _3()]),s=e.observe.subscribeScopeStatus(l,n)});let n=()=>{let l=r.value,B=e.read.getScopeStatus(l);_chunkRHMJPKNVcjs.b.call(void 0, i.value,B)||(i.value=B)};_vue.onMounted.call(void 0, ()=>{s=e.observe.subscribeScopeStatus(r.value,n)}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([s, 'optionalCall', _4 => _4()])});let d=async()=>{let l=r.value,B=await e.feature.validate({scope:l}),g=e.read.getScopeErrors(l);return{valid:B,errors:g}},u=()=>e.read.getScopeErrors(r.value),p=async()=>{let l=r.value,B=e.read.getScopeFields(l);if(e.feature.hasValidationsInProgress(B))return!1;let g=await e.feature.validate({scope:l});if(g)o.value=Math.min(o.value+1,t.length-1);else{let f=e.read.getScopeErrors(l),E=Object.keys(f);E.length>0&&e.write.markFieldsTouched(E)}return g},c=()=>{o.value=Math.max(o.value-1,0)},S=l=>{o.value=Math.max(0,Math.min(l-1,t.length-1))},b=_vue.computed.call(void 0, ()=>o.value+1),v=_vue.computed.call(void 0, ()=>o.value===0),P=_vue.computed.call(void 0, ()=>o.value>=t.length-1),V=_vue.computed.call(void 0, ()=>!i.value.hasErrors),x=_vue.computed.call(void 0, ()=>i.value.isDirty),F=_vue.computed.call(void 0, ()=>i.value.errors);return{step:b,stepIndex:o,scope:r,next:p,prev:c,goTo:S,isFirst:v,isLast:P,status:i,errors:F,isValid:V,isDirty:x,validate:d,getErrors:u}}function Ve(t){let e=a(),o=_chunkFTXV2NZOcjs.f.call(void 0, e.read.getState().values,t),r=_vue.ref.call(void 0, o),i=e.observe.subscribePath(t,s=>{_chunkFTXV2NZOcjs.c.call(void 0, r.value,s)||(r.value=s)});return _vue.onUnmounted.call(void 0, i),_vue.readonly.call(void 0, r)}function Re(t,e,o){let r=a(),i=T(t),s=null,n=_vue.ref.call(void 0, !1),d={setLoading:c=>{n.value=c},setError:(c,S)=>r.write.setError(c,S),setValue:c=>i.setValue(c),getUploadKey:()=>s,setUploadKey:c=>{s=c}},u=_chunk4EMYM7JFcjs.a.call(void 0, t,e,d),p=_chunk4EMYM7JFcjs.b.call(void 0, t,o,d);return{value:i.value,setValue:i.setValue,error:_vue.computed.call(void 0, ()=>i.meta.error.value),isValidating:_vue.computed.call(void 0, ()=>!!i.meta.isValidating.value||n.value),upload:u,remove:p}}function we(){let t=a(),e=_vue.ref.call(void 0, t.read.getPersistMetadata()),o=_chunkAVUK52JWcjs.f.call(void 0, t,n=>{e.value=n});return _vue.onUnmounted.call(void 0, ()=>o()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:_vue.computed.call(void 0, ()=>e.value.isSaving),isRestoring:_vue.computed.call(void 0, ()=>e.value.isRestoring),error:_vue.computed.call(void 0, ()=>e.value.error)}}}exports.provideBitStore = te; exports.useBitArray = le; exports.useBitField = T; exports.useBitForm = se; exports.useBitHistory = pe; exports.useBitPersist = we; exports.useBitScope = Se; exports.useBitSteps = be; exports.useBitStore = a; exports.useBitUpload = Re; exports.useBitWatch = Ve;
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 _chunkWLOKGOW6cjs = require('../chunk-WLOKGOW6.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkHHDHVLGPcjs = require('../chunk-HHDHVLGP.cjs');var _chunkAVUK52JWcjs = require('../chunk-AVUK52JW.cjs');var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');var _chunkFTXV2NZOcjs = require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');require('../chunk-PFPGASVZ.cjs');var _vue = require('vue');var G=Symbol("BIT_STORE");function te(t){_vue.provide.call(void 0, G,_chunkHHDHVLGPcjs.d.call(void 0, t))}function a(){let t=_vue.inject.call(void 0, G);if(!t)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return t}function se(){let t=a(),e=_vue.shallowRef.call(void 0, {isValid:!0,isDirty:!1,isSubmitting:!1}),o=_vue.ref.call(void 0, null),r=_vue.ref.call(void 0, null),i=_chunkAVUK52JWcjs.c.call(void 0, t,v=>{e.value=v});_vue.onUnmounted.call(void 0, i);let{controller:s,actions:n}=_chunkAVUK52JWcjs.i.call(void 0, t,{clearSubmissionState:()=>{o.value=null,r.value=null},setSubmissionResult:v=>{r.value=v},setSubmissionError:v=>{o.value=v}}),d=_vue.computed.call(void 0, ()=>e.value.isValid),u=_vue.computed.call(void 0, ()=>e.value.isSubmitting),p=_vue.computed.call(void 0, ()=>e.value.isDirty),c=s.onSubmit,S=s.reset;return{meta:{isValid:d,isDirty:p,isSubmitting:u,submitError:o,lastResponse:r},getValues:s.getValues,getErrors:s.getErrors,getTouched:s.getTouched,getDirtyValues:s.getDirtyValues,submit:s.submit,onSubmit:c,reset:S,...n}}function T(t){let e=a(),{fieldController:o}=_chunkAVUK52JWcjs.h.call(void 0, e,t),r=_vue.shallowRef.call(void 0, e.read.getFieldState(t)),i=e.observe.subscribeFieldState(t,f=>{r.value=f});_vue.onUnmounted.call(void 0, ()=>{i(),_chunkAVUK52JWcjs.j.call(void 0, e,t)});let s=_vue.computed.call(void 0, ()=>r.value.value),n=_vue.computed.call(void 0, ()=>o.displayValue(s.value)),d=_vue.computed.call(void 0, {get:()=>n.value,set:f=>{o.setValue(f)}}),u=_vue.computed.call(void 0, ()=>_chunk3KI3GEU3cjs.a.call(void 0, r.value)),p=_vue.computed.call(void 0, ()=>u.value.error),c=_vue.computed.call(void 0, ()=>u.value.touched),S=_vue.computed.call(void 0, ()=>u.value.invalid),b=_vue.computed.call(void 0, ()=>u.value.isValidating),v=_vue.computed.call(void 0, ()=>u.value.isDirty),P=_vue.computed.call(void 0, ()=>u.value.isHidden),V=_vue.computed.call(void 0, ()=>u.value.isRequired),x=_vue.computed.call(void 0, ()=>u.value.hasError),F=f=>{o.setValue(f)},l=()=>o.setBlur();return{value:s,displayValue:n,modelValue:d,setValue:F,setBlur:l,onInput:f=>{F(f)},onBlur:()=>{l()},meta:{error:p,touched:c,invalid:S,isValidating:b,isDirty:v,isHidden:P,isRequired:V,hasError:x}}}function le(t){let e=a(),o=_chunkAVUK52JWcjs.g.call(void 0, e,t),r=_vue.shallowRef.call(void 0, o.readItems()),i=e.observe.subscribePath(t,()=>{r.value=o.readItems()});_vue.onUnmounted.call(void 0, ()=>{i(),_chunkAVUK52JWcjs.k.call(void 0, e,`${t}.`)});let s=_vue.computed.call(void 0, ()=>o.getFields(r.value)),n=_vue.computed.call(void 0, ()=>r.value.length);return{fields:s,length:n,append:o.append,prepend:o.prepend,insert:o.insert,remove:o.remove,move:o.move,swap:o.swap,replace:o.replace,clear:o.clear}}function pe(){let t=a(),e=_vue.shallowRef.call(void 0, _chunkRHMJPKNVcjs.f.call(void 0, t)),o=_chunkRHMJPKNVcjs.g.call(void 0, t,s=>{e.value=s});_vue.onUnmounted.call(void 0, o);let r=()=>t.feature.undo(),i=()=>t.feature.redo();return{canUndo:_vue.computed.call(void 0, ()=>e.value.canUndo),canRedo:_vue.computed.call(void 0, ()=>e.value.canRedo),historyIndex:_vue.computed.call(void 0, ()=>e.value.historyIndex),historySize:_vue.computed.call(void 0, ()=>e.value.historySize),undo:r,redo:i}}function Se(t){let e=a(),o=_vue.ref.call(void 0, e.read.getScopeStatus(t)),r;_vue.onMounted.call(void 0, ()=>{r=_chunkBSGJ3T5Scjs.a.call(void 0, e,t,p=>{o.value=p})}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([r, 'optionalCall', _2 => _2()])});let i=async()=>{let p=await e.feature.validate({scope:t}),c=e.read.getScopeErrors(t);return{valid:p,errors:c}},s=()=>e.read.getScopeErrors(t),n=_vue.computed.call(void 0, ()=>!o.value.hasErrors),d=_vue.computed.call(void 0, ()=>o.value.isDirty),u=_vue.computed.call(void 0, ()=>o.value.errors);return{scopeName:t,status:o,errors:u,validate:i,getErrors:s,isValid:n,isDirty:d}}function be(t){let e=a(),o=_vue.ref.call(void 0, 0),r=_vue.computed.call(void 0, ()=>_nullishCoalesce(t[o.value], () => (""))),i=_vue.ref.call(void 0, e.read.getScopeStatus(r.value)),s;_vue.watch.call(void 0, r,l=>{i.value=e.read.getScopeStatus(l),_optionalChain([s, 'optionalCall', _3 => _3()]),s=e.observe.subscribeScopeStatus(l,n)});let n=()=>{let l=r.value,B=e.read.getScopeStatus(l);_chunkRHMJPKNVcjs.b.call(void 0, i.value,B)||(i.value=B)};_vue.onMounted.call(void 0, ()=>{s=e.observe.subscribeScopeStatus(r.value,n)}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([s, 'optionalCall', _4 => _4()])});let d=async()=>{let l=r.value,B=await e.feature.validate({scope:l}),g=e.read.getScopeErrors(l);return{valid:B,errors:g}},u=()=>e.read.getScopeErrors(r.value),p=async()=>{let l=r.value,B=e.read.getScopeFields(l);if(e.feature.hasValidationsInProgress(B))return!1;let g=await e.feature.validate({scope:l});if(g)o.value=Math.min(o.value+1,t.length-1);else{let f=e.read.getScopeErrors(l),E=Object.keys(f);E.length>0&&e.write.markFieldsTouched(E)}return g},c=()=>{o.value=Math.max(o.value-1,0)},S=l=>{o.value=Math.max(0,Math.min(l-1,t.length-1))},b=_vue.computed.call(void 0, ()=>o.value+1),v=_vue.computed.call(void 0, ()=>o.value===0),P=_vue.computed.call(void 0, ()=>o.value>=t.length-1),V=_vue.computed.call(void 0, ()=>!i.value.hasErrors),x=_vue.computed.call(void 0, ()=>i.value.isDirty),F=_vue.computed.call(void 0, ()=>i.value.errors);return{step:b,stepIndex:o,scope:r,next:p,prev:c,goTo:S,isFirst:v,isLast:P,status:i,errors:F,isValid:V,isDirty:x,validate:d,getErrors:u}}function Ve(t){let e=a(),o=_chunkFTXV2NZOcjs.f.call(void 0, e.read.getState().values,t),r=_vue.ref.call(void 0, o),i=e.observe.subscribePath(t,s=>{_chunkFTXV2NZOcjs.c.call(void 0, r.value,s)||(r.value=s)});return _vue.onUnmounted.call(void 0, i),_vue.readonly.call(void 0, r)}function Re(t,e,o){let r=a(),i=T(t),s=null,n=_vue.ref.call(void 0, !1),d={setLoading:c=>{n.value=c},setError:(c,S)=>r.write.setError(c,S),setValue:c=>i.setValue(c),getUploadKey:()=>s,setUploadKey:c=>{s=c}},u=_chunkWLOKGOW6cjs.a.call(void 0, t,e,d),p=_chunkWLOKGOW6cjs.b.call(void 0, t,o,d);return{value:i.value,setValue:i.setValue,error:_vue.computed.call(void 0, ()=>i.meta.error.value),isValidating:_vue.computed.call(void 0, ()=>!!i.meta.isValidating.value||n.value),upload:u,remove:p}}function we(){let t=a(),e=_vue.ref.call(void 0, t.read.getPersistMetadata()),o=_chunkAVUK52JWcjs.f.call(void 0, t,n=>{e.value=n});return _vue.onUnmounted.call(void 0, ()=>o()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:_vue.computed.call(void 0, ()=>e.value.isSaving),isRestoring:_vue.computed.call(void 0, ()=>e.value.isRestoring),error:_vue.computed.call(void 0, ()=>e.value.error)}}}exports.provideBitStore = te; exports.useBitArray = le; exports.useBitField = T; exports.useBitForm = se; exports.useBitHistory = pe; exports.useBitPersist = we; exports.useBitScope = Se; exports.useBitSteps = be; exports.useBitStore = a; exports.useBitUpload = Re; exports.useBitWatch = Ve;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/vue/index.cjs","../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts"],"names":["BIT_STORE_KEY","provideBitStore","store","provide","createFrameworkStoreAdapter","useBitStore","inject","useBitForm","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","onUnmounted","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","useBitField","path","fieldController","createFrameworkMaskedFieldBinding","nextState","cleanupRegisteredField","rawValue","displayValue","modelValue","val","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","hasError","setValue","setBlur","useBitArray","createArrayBinding","values","cleanupRegisteredPrefix"],"mappings":"AAAA,0uBAAgD,iCAA8B,yDAA0C,yDAAoF,yDAA0C,yDAAwD,yDAA0C,iCAA8B,yDAAiD,iCAA8B,0BCAvZ,IAKjCA,CAAAA,CACX,MAAA,CAAO,WAAW,CAAA,CAEb,SAASC,EAAAA,CACdC,CAAAA,CACA,CACAC,0BAAAA,CAAQH,CAAeI,iCAAAA,CAAoC,CAAC,CAC9D,CAEO,SAASC,CAAAA,CAAAA,CAAgC,CAC9C,IAAMH,CAAAA,CAAQI,yBAAAA,CAAoB,CAAA,CAClC,EAAA,CAAI,CAACJ,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,2DACF,CAAA,CACF,OAAOA,CACT,CCrBA,SAKgBK,EAAAA,CAAAA,CAAoD,CAClE,IAAML,CAAAA,CAAQG,CAAAA,CAAe,CAAA,CACvBG,CAAAA,CAAQC,6BAAAA,CACZ,OAAA,CAAS,CAAA,CAAA,CACT,OAAA,CAAS,CAAA,CAAA,CACT,YAAA,CAAc,CAAA,CAChB,CAAC,CAAA,CACKC,CAAAA,CAAcC,sBAAAA,IAAsB,CAAA,CACpCC,CAAAA,CAAeD,sBAAAA,IAAiB,CAAA,CAEhCE,CAAAA,CAAcC,iCAAAA,CAAwBZ,CAAQa,CAAAA,EAAa,CAC/DP,CAAAA,CAAM,KAAA,CAAQO,CAChB,CAAC,CAAA,CAEDC,8BAAAA,CAAuB,CAAA,CAEvB,GAAM,CAAE,UAAA,CAAAC,CAAAA,CAAY,OAAA,CAAAC,CAAQ,CAAA,CAAIC,iCAAAA,CAA2BjB,CAAO,CAChE,oBAAA,CAAsB,CAAA,CAAA,EAAM,CAC1BQ,CAAAA,CAAY,KAAA,CAAQ,IAAA,CACpBE,CAAAA,CAAa,KAAA,CAAQ,IACvB,CAAA,CACA,mBAAA,CAAsBQ,CAAAA,EAAW,CAC/BR,CAAAA,CAAa,KAAA,CAAQQ,CACvB,CAAA,CACA,kBAAA,CAAqBC,CAAAA,EAAU,CAC7BX,CAAAA,CAAY,KAAA,CAAQW,CACtB,CACF,CAAC,CAAA,CAEKC,CAAAA,CAAUC,2BAAAA,CAAS,CAAA,EAAMf,CAAAA,CAAM,KAAA,CAAM,OAAO,CAAA,CAC5CgB,CAAAA,CAAeD,2BAAAA,CAAS,CAAA,EAAMf,CAAAA,CAAM,KAAA,CAAM,YAAY,CAAA,CACtDiB,CAAAA,CAAUF,2BAAAA,CAAS,CAAA,EAAMf,CAAAA,CAAM,KAAA,CAAM,OAAO,CAAA,CAE5CkB,CAAAA,CAAWT,CAAAA,CAAW,QAAA,CACtBU,CAAAA,CAAQV,CAAAA,CAAW,KAAA,CAUzB,MAAO,CAEL,IAAA,CAVW,CACX,OAAA,CAAAK,CAAAA,CACA,OAAA,CAAAG,CAAAA,CACA,YAAA,CAAAD,CAAAA,CACA,WAAA,CAAAd,CAAAA,CACA,YAAA,CAAAE,CACF,CAAA,CAME,SAAA,CAAWK,CAAAA,CAAW,SAAA,CACtB,SAAA,CAAWA,CAAAA,CAAW,SAAA,CACtB,UAAA,CAAYA,CAAAA,CAAW,UAAA,CACvB,cAAA,CAAgBA,CAAAA,CAAW,cAAA,CAE3B,MAAA,CAAQA,CAAAA,CAAW,MAAA,CACnB,QAAA,CAAAS,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,GAAGT,CACL,CACF,CC/DA,SAUgBU,CAAAA,CAGdC,CAAAA,CAAuD,CACvD,IAAM3B,CAAAA,CAAQG,CAAAA,CAAmB,CAAA,CAE3B,CAAE,eAAA,CAAAyB,CAAgB,CAAA,CAAIC,iCAAAA,CAAkC7B,CAAO2B,CAAI,CAAA,CAEnErB,CAAAA,CAAQC,6BAAAA,CAAWP,CAAM,IAAA,CAAK,aAAA,CAAc2B,CAAI,CAAC,CAAA,CAEjDhB,CAAAA,CAAcX,CAAAA,CAAM,OAAA,CAAQ,mBAAA,CAAoB2B,CAAAA,CAAOG,CAAAA,EAAc,CACzExB,CAAAA,CAAM,KAAA,CAAQwB,CAChB,CAAC,CAAA,CAEDhB,8BAAAA,CAAY,CAAA,EAAM,CAChBH,CAAAA,CAAY,CAAA,CACZoB,iCAAAA,CAAuB/B,CAAO2B,CAAc,CAC9C,CAAC,CAAA,CAED,IAAMK,CAAAA,CAAWX,2BAAAA,CAAS,CAAA,EAAMf,CAAAA,CAAM,KAAA,CAAM,KAA+B,CAAA,CAErE2B,CAAAA,CAAeZ,2BAAAA,CAAS,CAAA,EAC5BO,CAAAA,CAAgB,YAAA,CAAaI,CAAAA,CAAS,KAAK,CAC7C,CAAA,CAEME,CAAAA,CAAab,2BAAAA,CACjB,GAAA,CAAK,CAAA,CAAA,EAAMY,CAAAA,CAAa,KAAA,CACxB,GAAA,CAAME,CAAAA,EAAgB,CACpBP,CAAAA,CAAgB,QAAA,CAASO,CAAG,CAC9B,CACF,CAAC,CAAA,CAEKC,CAAAA,CAAYf,2BAAAA,CAAS,CAAA,EAAMgB,iCAAAA,CAAgB/B,CAAM,KAAK,CAAC,CAAA,CACvDa,CAAAA,CAAQE,2BAAAA,CAAS,CAAA,EAAMe,CAAAA,CAAU,KAAA,CAAM,KAAK,CAAA,CAC5CE,CAAAA,CAAUjB,2BAAAA,CAAS,CAAA,EAAMe,CAAAA,CAAU,KAAA,CAAM,OAAO,CAAA,CAChDG,CAAAA,CAAUlB,2BAAAA,CAAS,CAAA,EAAMe,CAAAA,CAAU,KAAA,CAAM,OAAO,CAAA,CAChDI,CAAAA,CAAenB,2BAAAA,CAAS,CAAA,EAAMe,CAAAA,CAAU,KAAA,CAAM,YAAY,CAAA,CAC1Db,CAAAA,CAAUF,2BAAAA,CAAS,CAAA,EAAMe,CAAAA,CAAU,KAAA,CAAM,OAAO,CAAA,CAChDK,CAAAA,CAAWpB,2BAAAA,CAAS,CAAA,EAAMe,CAAAA,CAAU,KAAA,CAAM,QAAQ,CAAA,CAClDM,CAAAA,CAAarB,2BAAAA,CAAS,CAAA,EAAMe,CAAAA,CAAU,KAAA,CAAM,UAAU,CAAA,CACtDO,CAAAA,CAAWtB,2BAAAA,CAAS,CAAA,EAAMe,CAAAA,CAAU,KAAA,CAAM,QAAQ,CAAA,CAElDQ,CAAAA,CACJT,CAAAA,EACG,CACHP,CAAAA,CAAgB,QAAA,CAASO,CAAG,CAC9B,CAAA,CAEMU,CAAAA,CAAU,CAAA,CAAA,EAAMjB,CAAAA,CAAgB,OAAA,CAAQ,CAAA,CAY9C,MAAO,CAEL,KAAA,CAAOI,CAAAA,CACP,YAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,QAAA,CAAAU,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAhBAV,CAAAA,EACG,CACHS,CAAAA,CAAST,CAAG,CACd,CAAA,CAcE,MAAA,CAZa,CAAA,CAAA,EAAM,CACnBU,CAAAA,CAAQ,CACV,CAAA,CAYE,IAAA,CAAM,CACJ,KAAA,CAAA1B,CAAAA,CACA,OAAA,CAAAmB,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,OAAA,CAAAjB,CAAAA,CACA,QAAA,CAAAkB,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CACF,CACF,CC3FA,SAQgBG,EAAAA,CAGdnB,CAAAA,CAAS,CACT,IAAM3B,CAAAA,CAAQG,CAAAA,CAAmB,CAAA,CAC3BY,CAAAA,CAAagC,iCAAAA,CAA6B/C,CAAO2B,CAAI,CAAA,CACrDqB,CAAAA,CAASzC,6BAAAA,CAAWQ,CAAW,SAAA,CAAU,CAAC,CAAA,CAE1CJ,CAAAA,CAAcX,CAAAA,CAAM,OAAA,CAAQ,aAAA,CAAc2B,CAAAA,CAAM,CAAA,CAAA,EAAM,CAC1DqB,CAAAA,CAAO,KAAA,CAAQjC,CAAAA,CAAW,SAAA,CAAU,CACtC,CAAC,CAAA,CAEDD,8BAAAA,CAAY,CAAA,EAAM,CAChBH,CAAAA,CAAY,CAAA,CACZsC,iCAAAA,CAAwBjD,CAAO,CAAA,EAAA","file":"/home/runner/work/bit-form/bit-form/dist/vue/index.cjs","sourcesContent":[null,"import { inject, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\n// Chave única para evitar colisões\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n provide(BIT_STORE_KEY, createFrameworkStoreAdapter<T>(store));\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n const state = shallowRef({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = ref<Error | null>(null);\n const lastResponse = ref<unknown>(null);\n\n const unsubscribe = observeFormMetaSnapshot(store, (nextMeta) => {\n state.value = nextMeta;\n });\n\n onUnmounted(unsubscribe);\n\n const { controller, actions } = createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n submitError.value = null;\n lastResponse.value = null;\n },\n setSubmissionResult: (result) => {\n lastResponse.value = result;\n },\n setSubmissionError: (error) => {\n submitError.value = error;\n },\n });\n\n const isValid = computed(() => state.value.isValid);\n const isSubmitting = computed(() => state.value.isSubmitting);\n const isDirty = computed(() => state.value.isDirty);\n\n const onSubmit = controller.onSubmit;\n const reset = controller.reset;\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError,\n lastResponse,\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit,\n reset,\n ...actions,\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string) => {\n fieldController.setValue(val);\n },\n });\n\n const metaState = computed(() => deriveFieldMeta(state.value));\n const error = computed(() => metaState.value.error);\n const touched = computed(() => metaState.value.touched);\n const invalid = computed(() => metaState.value.invalid);\n const isValidating = computed(() => metaState.value.isValidating);\n const isDirty = computed(() => metaState.value.isDirty);\n const isHidden = computed(() => metaState.value.isHidden);\n const isRequired = computed(() => metaState.value.isRequired);\n const hasError = computed(() => metaState.value.hasError);\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const onInput = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n setValue(val);\n };\n\n const onBlur = () => {\n setBlur();\n };\n\n return {\n // Main handlers and values (flat)\n value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBinding<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/vue/index.cjs","../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts"],"names":["BIT_STORE_KEY","provideBitStore","store","provide","createFrameworkStoreAdapter","useBitStore","inject","useBitForm","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","onUnmounted","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","useBitField","path","fieldController","createFrameworkMaskedFieldBinding","nextState","cleanupRegisteredField","rawValue","displayValue","modelValue","val","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","hasError","setValue","setBlur","useBitArray","createArrayBinding","values","cleanupRegisteredPrefix"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/vue/index.cjs","sourcesContent":[null,"import { inject, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\n// Chave única para evitar colisões\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n provide(BIT_STORE_KEY, createFrameworkStoreAdapter<T>(store));\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n const state = shallowRef({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = ref<Error | null>(null);\n const lastResponse = ref<unknown>(null);\n\n const unsubscribe = observeFormMetaSnapshot(store, (nextMeta) => {\n state.value = nextMeta;\n });\n\n onUnmounted(unsubscribe);\n\n const { controller, actions } = createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n submitError.value = null;\n lastResponse.value = null;\n },\n setSubmissionResult: (result) => {\n lastResponse.value = result;\n },\n setSubmissionError: (error) => {\n submitError.value = error;\n },\n });\n\n const isValid = computed(() => state.value.isValid);\n const isSubmitting = computed(() => state.value.isSubmitting);\n const isDirty = computed(() => state.value.isDirty);\n\n const onSubmit = controller.onSubmit;\n const reset = controller.reset;\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError,\n lastResponse,\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit,\n reset,\n ...actions,\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string) => {\n fieldController.setValue(val);\n },\n });\n\n const metaState = computed(() => deriveFieldMeta(state.value));\n const error = computed(() => metaState.value.error);\n const touched = computed(() => metaState.value.touched);\n const invalid = computed(() => metaState.value.invalid);\n const isValidating = computed(() => metaState.value.isValidating);\n const isDirty = computed(() => metaState.value.isDirty);\n const isHidden = computed(() => metaState.value.isHidden);\n const isRequired = computed(() => metaState.value.isRequired);\n const hasError = computed(() => metaState.value.hasError);\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const onInput = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n setValue(val);\n };\n\n const onBlur = () => {\n setBlur();\n };\n\n return {\n // Main handlers and values (flat)\n value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBinding<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-DSgYwMS3.cjs';
1
+ import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-CVQuHPhm.cjs';
2
2
  import '../bus-DzTqgkZ4.cjs';
3
3
  import { f as BitPersistMetadata, b as BitErrors, h as BitTouched, D as DeepPartial, d as BitPath, e as BitPathValue, a as BitArrayPath, B as BitArrayItem } from '../state-types-8bUndWfg.cjs';
4
4
  import { S as ScopeStatus, V as ValidateScopeResult } from '../runtime-types-D1SRZr-n.cjs';
@@ -8,7 +8,7 @@ import * as vue from 'vue';
8
8
  import { ComputedRef, Ref } from 'vue';
9
9
  import * as _vue_shared from '@vue/shared';
10
10
  import '../types-CUXh7PqD.cjs';
11
- import '../config-types-5eR82k2V.cjs';
11
+ import '../config-types-CewC0AIS.cjs';
12
12
 
13
13
  declare function provideBitStore<T extends object>(store: BitFrameworkStoreApi<T> | BitStoreApi<T>): void;
14
14
  declare function useBitStore<T extends object>(): BitFrameworkStoreApi<T>;
@@ -1,4 +1,4 @@
1
- import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-Bozwlwyb.js';
1
+ import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-Cy-zEhRU.js';
2
2
  import '../bus-BFOBGmd9.js';
3
3
  import { f as BitPersistMetadata, b as BitErrors, h as BitTouched, D as DeepPartial, d as BitPath, e as BitPathValue, a as BitArrayPath, B as BitArrayItem } from '../state-types-8bUndWfg.js';
4
4
  import { S as ScopeStatus, V as ValidateScopeResult } from '../runtime-types-D1SRZr-n.js';
@@ -8,7 +8,7 @@ import * as vue from 'vue';
8
8
  import { ComputedRef, Ref } from 'vue';
9
9
  import * as _vue_shared from '@vue/shared';
10
10
  import '../types-CUXh7PqD.js';
11
- import '../config-types-D9n-rQLk.js';
11
+ import '../config-types-BgIAuvzu.js';
12
12
 
13
13
  declare function provideBitStore<T extends object>(store: BitFrameworkStoreApi<T> | BitStoreApi<T>): void;
14
14
  declare function useBitStore<T extends object>(): BitFrameworkStoreApi<T>;
package/dist/vue/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as Y,b as $}from"../chunk-NFKYWPEV.js";import"../chunk-5NA2TFPG.js";import{d as I}from"../chunk-KMOB6DB6.js";import{c as H,f as K,g as q,h as C,i as O,j as W,k as _}from"../chunk-SYEUXL2E.js";import{a as z}from"../chunk-W2E5UIXT.js";import{b as D,f as A,g as j}from"../chunk-UIKO6GGW.js";import{a as L}from"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import{c as k,f as M}from"../chunk-G3EHXKOS.js";import"../chunk-3NUJVIAM.js";import{inject as N,provide as ee}from"vue";var G=Symbol("BIT_STORE");function te(t){ee(G,I(t))}function a(){let t=N(G);if(!t)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return t}import{computed as R,onUnmounted as oe,shallowRef as re,ref as J}from"vue";function se(){let t=a(),e=re({isValid:!0,isDirty:!1,isSubmitting:!1}),o=J(null),r=J(null),i=H(t,v=>{e.value=v});oe(i);let{controller:s,actions:n}=O(t,{clearSubmissionState:()=>{o.value=null,r.value=null},setSubmissionResult:v=>{r.value=v},setSubmissionError:v=>{o.value=v}}),d=R(()=>e.value.isValid),u=R(()=>e.value.isSubmitting),p=R(()=>e.value.isDirty),c=s.onSubmit,S=s.reset;return{meta:{isValid:d,isDirty:p,isSubmitting:u,submitError:o,lastResponse:r},getValues:s.getValues,getErrors:s.getErrors,getTouched:s.getTouched,getDirtyValues:s.getDirtyValues,submit:s.submit,onSubmit:c,reset:S,...n}}import{computed as m,onUnmounted as ie,shallowRef as ae}from"vue";function T(t){let e=a(),{fieldController:o}=C(e,t),r=ae(e.read.getFieldState(t)),i=e.observe.subscribeFieldState(t,f=>{r.value=f});ie(()=>{i(),W(e,t)});let s=m(()=>r.value.value),n=m(()=>o.displayValue(s.value)),d=m({get:()=>n.value,set:f=>{o.setValue(f)}}),u=m(()=>L(r.value)),p=m(()=>u.value.error),c=m(()=>u.value.touched),S=m(()=>u.value.invalid),b=m(()=>u.value.isValidating),v=m(()=>u.value.isDirty),P=m(()=>u.value.isHidden),V=m(()=>u.value.isRequired),x=m(()=>u.value.hasError),F=f=>{o.setValue(f)},l=()=>o.setBlur();return{value:s,displayValue:n,modelValue:d,setValue:F,setBlur:l,onInput:f=>{F(f)},onBlur:()=>{l()},meta:{error:p,touched:c,invalid:S,isValidating:b,isDirty:v,isHidden:P,isRequired:V,hasError:x}}}import{computed as Q,onUnmounted as ne,shallowRef as ue}from"vue";function le(t){let e=a(),o=q(e,t),r=ue(o.readItems()),i=e.observe.subscribePath(t,()=>{r.value=o.readItems()});ne(()=>{i(),_(e,`${t}.`)});let s=Q(()=>o.getFields(r.value)),n=Q(()=>r.value.length);return{fields:s,length:n,append:o.append,prepend:o.prepend,insert:o.insert,remove:o.remove,move:o.move,swap:o.swap,replace:o.replace,clear:o.clear}}import{computed as h,onUnmounted as ce,shallowRef as me}from"vue";function pe(){let t=a(),e=me(A(t)),o=j(t,s=>{e.value=s});ce(o);let r=()=>t.feature.undo(),i=()=>t.feature.redo();return{canUndo:h(()=>e.value.canUndo),canRedo:h(()=>e.value.canRedo),historyIndex:h(()=>e.value.historyIndex),historySize:h(()=>e.value.historySize),undo:r,redo:i}}import{computed as U,onMounted as de,onUnmounted as ve,ref as fe}from"vue";function Se(t){let e=a(),o=fe(e.read.getScopeStatus(t)),r;de(()=>{r=z(e,t,p=>{o.value=p})}),ve(()=>{r?.()});let i=async()=>{let p=await e.feature.validate({scope:t}),c=e.read.getScopeErrors(t);return{valid:p,errors:c}},s=()=>e.read.getScopeErrors(t),n=U(()=>!o.value.hasErrors),d=U(()=>o.value.isDirty),u=U(()=>o.value.errors);return{scopeName:t,status:o,errors:u,validate:i,getErrors:s,isValid:n,isDirty:d}}import{computed as y,onMounted as Be,onUnmounted as ye,ref as X,watch as ge}from"vue";function be(t){let e=a(),o=X(0),r=y(()=>t[o.value]??""),i=X(e.read.getScopeStatus(r.value)),s;ge(r,l=>{i.value=e.read.getScopeStatus(l),s?.(),s=e.observe.subscribeScopeStatus(l,n)});let n=()=>{let l=r.value,B=e.read.getScopeStatus(l);D(i.value,B)||(i.value=B)};Be(()=>{s=e.observe.subscribeScopeStatus(r.value,n)}),ye(()=>{s?.()});let d=async()=>{let l=r.value,B=await e.feature.validate({scope:l}),g=e.read.getScopeErrors(l);return{valid:B,errors:g}},u=()=>e.read.getScopeErrors(r.value),p=async()=>{let l=r.value,B=e.read.getScopeFields(l);if(e.feature.hasValidationsInProgress(B))return!1;let g=await e.feature.validate({scope:l});if(g)o.value=Math.min(o.value+1,t.length-1);else{let f=e.read.getScopeErrors(l),E=Object.keys(f);E.length>0&&e.write.markFieldsTouched(E)}return g},c=()=>{o.value=Math.max(o.value-1,0)},S=l=>{o.value=Math.max(0,Math.min(l-1,t.length-1))},b=y(()=>o.value+1),v=y(()=>o.value===0),P=y(()=>o.value>=t.length-1),V=y(()=>!i.value.hasErrors),x=y(()=>i.value.isDirty),F=y(()=>i.value.errors);return{step:b,stepIndex:o,scope:r,next:p,prev:c,goTo:S,isFirst:v,isLast:P,status:i,errors:F,isValid:V,isDirty:x,validate:d,getErrors:u}}import{ref as Fe,onUnmounted as he,readonly as Pe}from"vue";function Ve(t){let e=a(),o=M(e.read.getState().values,t),r=Fe(o),i=e.observe.subscribePath(t,s=>{k(r.value,s)||(r.value=s)});return he(i),Pe(r)}import{computed as Z,ref as xe}from"vue";function Re(t,e,o){let r=a(),i=T(t),s=null,n=xe(!1),d={setLoading:c=>{n.value=c},setError:(c,S)=>r.write.setError(c,S),setValue:c=>i.setValue(c),getUploadKey:()=>s,setUploadKey:c=>{s=c}},u=Y(t,e,d),p=$(t,o,d);return{value:i.value,setValue:i.setValue,error:Z(()=>i.meta.error.value),isValidating:Z(()=>!!i.meta.isValidating.value||n.value),upload:u,remove:p}}import{computed as w,onUnmounted as Te,ref as Ue}from"vue";function we(){let t=a(),e=Ue(t.read.getPersistMetadata()),o=K(t,n=>{e.value=n});return Te(()=>o()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:w(()=>e.value.isSaving),isRestoring:w(()=>e.value.isRestoring),error:w(()=>e.value.error)}}}export{te as provideBitStore,le as useBitArray,T as useBitField,se as useBitForm,pe as useBitHistory,we as useBitPersist,Se as useBitScope,be as useBitSteps,a as useBitStore,Re as useBitUpload,Ve as useBitWatch};
1
+ import{a as Y,b as $}from"../chunk-L7RLUUSB.js";import"../chunk-5NA2TFPG.js";import{d as I}from"../chunk-PQYTA2OP.js";import{c as H,f as K,g as q,h as C,i as O,j as W,k as _}from"../chunk-SYEUXL2E.js";import{a as z}from"../chunk-W2E5UIXT.js";import{b as D,f as A,g as j}from"../chunk-UIKO6GGW.js";import{a as L}from"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import{c as k,f as M}from"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";import"../chunk-3NUJVIAM.js";import{inject as N,provide as ee}from"vue";var G=Symbol("BIT_STORE");function te(t){ee(G,I(t))}function a(){let t=N(G);if(!t)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return t}import{computed as R,onUnmounted as oe,shallowRef as re,ref as J}from"vue";function se(){let t=a(),e=re({isValid:!0,isDirty:!1,isSubmitting:!1}),o=J(null),r=J(null),i=H(t,v=>{e.value=v});oe(i);let{controller:s,actions:n}=O(t,{clearSubmissionState:()=>{o.value=null,r.value=null},setSubmissionResult:v=>{r.value=v},setSubmissionError:v=>{o.value=v}}),d=R(()=>e.value.isValid),u=R(()=>e.value.isSubmitting),p=R(()=>e.value.isDirty),c=s.onSubmit,S=s.reset;return{meta:{isValid:d,isDirty:p,isSubmitting:u,submitError:o,lastResponse:r},getValues:s.getValues,getErrors:s.getErrors,getTouched:s.getTouched,getDirtyValues:s.getDirtyValues,submit:s.submit,onSubmit:c,reset:S,...n}}import{computed as m,onUnmounted as ie,shallowRef as ae}from"vue";function T(t){let e=a(),{fieldController:o}=C(e,t),r=ae(e.read.getFieldState(t)),i=e.observe.subscribeFieldState(t,f=>{r.value=f});ie(()=>{i(),W(e,t)});let s=m(()=>r.value.value),n=m(()=>o.displayValue(s.value)),d=m({get:()=>n.value,set:f=>{o.setValue(f)}}),u=m(()=>L(r.value)),p=m(()=>u.value.error),c=m(()=>u.value.touched),S=m(()=>u.value.invalid),b=m(()=>u.value.isValidating),v=m(()=>u.value.isDirty),P=m(()=>u.value.isHidden),V=m(()=>u.value.isRequired),x=m(()=>u.value.hasError),F=f=>{o.setValue(f)},l=()=>o.setBlur();return{value:s,displayValue:n,modelValue:d,setValue:F,setBlur:l,onInput:f=>{F(f)},onBlur:()=>{l()},meta:{error:p,touched:c,invalid:S,isValidating:b,isDirty:v,isHidden:P,isRequired:V,hasError:x}}}import{computed as Q,onUnmounted as ne,shallowRef as ue}from"vue";function le(t){let e=a(),o=q(e,t),r=ue(o.readItems()),i=e.observe.subscribePath(t,()=>{r.value=o.readItems()});ne(()=>{i(),_(e,`${t}.`)});let s=Q(()=>o.getFields(r.value)),n=Q(()=>r.value.length);return{fields:s,length:n,append:o.append,prepend:o.prepend,insert:o.insert,remove:o.remove,move:o.move,swap:o.swap,replace:o.replace,clear:o.clear}}import{computed as h,onUnmounted as ce,shallowRef as me}from"vue";function pe(){let t=a(),e=me(A(t)),o=j(t,s=>{e.value=s});ce(o);let r=()=>t.feature.undo(),i=()=>t.feature.redo();return{canUndo:h(()=>e.value.canUndo),canRedo:h(()=>e.value.canRedo),historyIndex:h(()=>e.value.historyIndex),historySize:h(()=>e.value.historySize),undo:r,redo:i}}import{computed as U,onMounted as de,onUnmounted as ve,ref as fe}from"vue";function Se(t){let e=a(),o=fe(e.read.getScopeStatus(t)),r;de(()=>{r=z(e,t,p=>{o.value=p})}),ve(()=>{r?.()});let i=async()=>{let p=await e.feature.validate({scope:t}),c=e.read.getScopeErrors(t);return{valid:p,errors:c}},s=()=>e.read.getScopeErrors(t),n=U(()=>!o.value.hasErrors),d=U(()=>o.value.isDirty),u=U(()=>o.value.errors);return{scopeName:t,status:o,errors:u,validate:i,getErrors:s,isValid:n,isDirty:d}}import{computed as y,onMounted as Be,onUnmounted as ye,ref as X,watch as ge}from"vue";function be(t){let e=a(),o=X(0),r=y(()=>t[o.value]??""),i=X(e.read.getScopeStatus(r.value)),s;ge(r,l=>{i.value=e.read.getScopeStatus(l),s?.(),s=e.observe.subscribeScopeStatus(l,n)});let n=()=>{let l=r.value,B=e.read.getScopeStatus(l);D(i.value,B)||(i.value=B)};Be(()=>{s=e.observe.subscribeScopeStatus(r.value,n)}),ye(()=>{s?.()});let d=async()=>{let l=r.value,B=await e.feature.validate({scope:l}),g=e.read.getScopeErrors(l);return{valid:B,errors:g}},u=()=>e.read.getScopeErrors(r.value),p=async()=>{let l=r.value,B=e.read.getScopeFields(l);if(e.feature.hasValidationsInProgress(B))return!1;let g=await e.feature.validate({scope:l});if(g)o.value=Math.min(o.value+1,t.length-1);else{let f=e.read.getScopeErrors(l),E=Object.keys(f);E.length>0&&e.write.markFieldsTouched(E)}return g},c=()=>{o.value=Math.max(o.value-1,0)},S=l=>{o.value=Math.max(0,Math.min(l-1,t.length-1))},b=y(()=>o.value+1),v=y(()=>o.value===0),P=y(()=>o.value>=t.length-1),V=y(()=>!i.value.hasErrors),x=y(()=>i.value.isDirty),F=y(()=>i.value.errors);return{step:b,stepIndex:o,scope:r,next:p,prev:c,goTo:S,isFirst:v,isLast:P,status:i,errors:F,isValid:V,isDirty:x,validate:d,getErrors:u}}import{ref as Fe,onUnmounted as he,readonly as Pe}from"vue";function Ve(t){let e=a(),o=M(e.read.getState().values,t),r=Fe(o),i=e.observe.subscribePath(t,s=>{k(r.value,s)||(r.value=s)});return he(i),Pe(r)}import{computed as Z,ref as xe}from"vue";function Re(t,e,o){let r=a(),i=T(t),s=null,n=xe(!1),d={setLoading:c=>{n.value=c},setError:(c,S)=>r.write.setError(c,S),setValue:c=>i.setValue(c),getUploadKey:()=>s,setUploadKey:c=>{s=c}},u=Y(t,e,d),p=$(t,o,d);return{value:i.value,setValue:i.setValue,error:Z(()=>i.meta.error.value),isValidating:Z(()=>!!i.meta.isValidating.value||n.value),upload:u,remove:p}}import{computed as w,onUnmounted as Te,ref as Ue}from"vue";function we(){let t=a(),e=Ue(t.read.getPersistMetadata()),o=K(t,n=>{e.value=n});return Te(()=>o()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:w(()=>e.value.isSaving),isRestoring:w(()=>e.value.isRestoring),error:w(()=>e.value.error)}}}export{te as provideBitStore,le as useBitArray,T as useBitField,se as useBitForm,pe as useBitHistory,we as useBitPersist,Se as useBitScope,be as useBitSteps,a as useBitStore,Re as useBitUpload,Ve as useBitWatch};
2
2
  //# sourceMappingURL=index.js.map