@lehnihon/bit-form 2.2.16 → 2.2.18
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.
- package/README.md +2 -1
- package/dist/angular/index.cjs +1 -1
- package/dist/angular/index.d.cts +2 -2
- package/dist/angular/index.d.ts +2 -2
- package/dist/angular/index.js +1 -1
- package/dist/angular/index.js.map +1 -1
- package/dist/chunk-3774TIGK.js +2 -0
- package/dist/chunk-3774TIGK.js.map +1 -0
- package/dist/{chunk-PGLND5EZ.js → chunk-GSZTHF7Z.js} +2 -2
- package/dist/chunk-L7EAZ6K6.cjs +2 -0
- package/dist/chunk-L7EAZ6K6.cjs.map +1 -0
- package/dist/chunk-LIHWJJIM.js +2 -0
- package/dist/chunk-LIHWJJIM.js.map +1 -0
- package/dist/{chunk-UIBR5FS6.cjs → chunk-P5YQ62YN.cjs} +2 -2
- package/dist/{chunk-UIBR5FS6.cjs.map → chunk-P5YQ62YN.cjs.map} +1 -1
- package/dist/{chunk-FRKHIMXO.cjs → chunk-RSH6LQVC.cjs} +2 -2
- package/dist/{chunk-FRKHIMXO.cjs.map → chunk-RSH6LQVC.cjs.map} +1 -1
- package/dist/chunk-U5TBWV74.cjs +2 -0
- package/dist/chunk-U5TBWV74.cjs.map +1 -0
- package/dist/{chunk-HNSQFNCR.js → chunk-YO4TZ6N6.js} +2 -2
- package/dist/{config-types-CewC0AIS.d.cts → config-types-Dbyt7t3D.d.cts} +11 -3
- package/dist/{config-types-BgIAuvzu.d.ts → config-types-bTt2lcw9.d.ts} +11 -3
- package/dist/core/bindings.d.cts +2 -2
- package/dist/core/bindings.d.ts +2 -2
- package/dist/core/store.cjs +1 -1
- package/dist/core/store.d.cts +3 -3
- package/dist/core/store.d.ts +3 -3
- package/dist/core/store.js +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.d.cts +2 -2
- package/dist/core.d.ts +2 -2
- package/dist/core.js +1 -1
- package/dist/devtools/bridge.cjs +1 -1
- package/dist/devtools/bridge.js +1 -1
- package/dist/devtools/index.cjs +2 -2
- package/dist/devtools/index.d.cts +1 -1
- package/dist/devtools/index.d.ts +1 -1
- package/dist/devtools/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +4 -4
- package/dist/react/index.d.ts +4 -4
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-native/index.cjs +1 -1
- package/dist/react-native/index.d.cts +3 -3
- package/dist/react-native/index.d.ts +3 -3
- package/dist/react-native/index.js +1 -1
- package/dist/{store-api-types-CVQuHPhm.d.cts → store-api-types-BPD27biP.d.cts} +2 -1
- package/dist/{store-api-types-Cy-zEhRU.d.ts → store-api-types-i-zmM25p.d.ts} +2 -1
- package/dist/{use-bit-persist-BhMBUSzN.d.ts → use-bit-persist-BGH2Bazx.d.ts} +1 -1
- package/dist/{use-bit-persist-Dt264zYz.d.cts → use-bit-persist-DiwICsEm.d.cts} +1 -1
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.d.cts +2 -2
- package/dist/vue/index.d.ts +2 -2
- package/dist/vue/index.js +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-HHDHVLGP.cjs +0 -2
- package/dist/chunk-HHDHVLGP.cjs.map +0 -1
- package/dist/chunk-L7RLUUSB.js +0 -2
- package/dist/chunk-L7RLUUSB.js.map +0 -1
- package/dist/chunk-PQYTA2OP.js +0 -2
- package/dist/chunk-PQYTA2OP.js.map +0 -1
- package/dist/chunk-WLOKGOW6.cjs +0 -2
- package/dist/chunk-WLOKGOW6.cjs.map +0 -1
- /package/dist/{chunk-PGLND5EZ.js.map → chunk-GSZTHF7Z.js.map} +0 -0
- /package/dist/{chunk-HNSQFNCR.js.map → chunk-YO4TZ6N6.js.map} +0 -0
package/dist/react/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkRSH6LQVCcjs = require('../chunk-RSH6LQVC.cjs');var _chunkU5TBWV74cjs = require('../chunk-U5TBWV74.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-L7EAZ6K6.cjs');var _chunkAVUK52JWcjs = require('../chunk-AVUK52JW.cjs');require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');var _chunkPFPGASVZcjs = require('../chunk-PFPGASVZ.cjs');var _react = require('react');function V(t){let{fieldState:r,setBlur:i,store:u}=_chunkRSH6LQVCcjs.d.call(void 0, t),{fieldController:d}=_react.useMemo.call(void 0, ()=>_chunkAVUK52JWcjs.h.call(void 0, u,t),[u,t]),a=_react.useMemo.call(void 0, ()=>d.displayValue(r.value),[r.value,d]),n=_react.useCallback.call(void 0, g=>{d.setValue(g)},[d]),{value:o}=r,R=_chunk3KI3GEU3cjs.a.call(void 0, r),{error:p,touched:m,invalid:B,isDirty:f,isValidating:s,isHidden:c,isRequired:y,hasError:U}=R,e=_react.useCallback.call(void 0, g=>{let K=_chunkPFPGASVZcjs.a.call(void 0, g)?_optionalChain([g, 'access', _ => _.target, 'optionalAccess', _2 => _2.value]):g;n(K)},[n]),l=_react.useCallback.call(void 0, ()=>{i()},[i]),E=_react.useMemo.call(void 0, ()=>({value:a,onChange:e,onBlur:l}),[a,e,l]),k=_react.useMemo.call(void 0, ()=>({error:p,touched:m,invalid:B,isDirty:f,isValidating:s,isHidden:c,isRequired:y,hasError:U}),[p,m,B,f,s,c,y,U]);return _react.useMemo.call(void 0, ()=>({value:o,displayValue:a,setValue:n,setBlur:i,onChange:e,onBlur:l,props:E,meta:k}),[o,a,n,i,e,l,E,k])}function N(){let t=_chunkRSH6LQVCcjs.b.call(void 0, ),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let o=_chunkRHMJPKNVcjs.f.call(void 0, t);return r.current&&r.current.canUndo===o.canUndo&&r.current.canRedo===o.canRedo&&r.current.historyIndex===o.historyIndex&&r.current.historySize===o.historySize?r.current:(r.current=o,o)},[t]),u=_react.useCallback.call(void 0, o=>t.observe.subscribeHistoryMeta(()=>o()),[t]),d=_react.useSyncExternalStore.call(void 0, u,i,i),a=_react.useCallback.call(void 0, ()=>{t.feature.undo()},[t]),n=_react.useCallback.call(void 0, ()=>{t.feature.redo()},[t]);return _react.useMemo.call(void 0, ()=>({...d,undo:a,redo:n}),[d,a,n])}function X(t,r,i){let u=_chunkRSH6LQVCcjs.b.call(void 0, ),d=V(t),{value:a,setValue:n,meta:o}=d,R=_optionalChain([o, 'optionalAccess', _3 => _3.error]),p=!!_optionalChain([o, 'optionalAccess', _4 => _4.isValidating]),m=_react.useRef.call(void 0, null),[B,f]=_react.useState.call(void 0, !1),s=_react.useRef.call(void 0, {setLoading:f,setError:(e,l)=>u.write.setError(e,l),setValue:e=>n(e),getUploadKey:()=>m.current,setUploadKey:e=>{m.current=e},onCallbackError:e=>u.read.config.onUnhandledError(e,"upload")});s.current.setLoading=f,s.current.setError=(e,l)=>u.write.setError(e,l),s.current.setValue=e=>n(e),s.current.onCallbackError=e=>u.read.config.onUnhandledError(e,"upload");let c=_react.useMemo.call(void 0, ()=>({setLoading:e=>s.current.setLoading(e),setError:(e,l)=>s.current.setError(e,l),setValue:e=>s.current.setValue(e),getUploadKey:()=>s.current.getUploadKey(),setUploadKey:e=>s.current.setUploadKey(e),onCallbackError:e=>_optionalChain([s, 'access', _5 => _5.current, 'access', _6 => _6.onCallbackError, 'optionalCall', _7 => _7(e)])}),[]),y=_react.useMemo.call(void 0, ()=>_chunkU5TBWV74cjs.a.call(void 0, t,r,c),[t,r,c]),U=_react.useMemo.call(void 0, ()=>_chunkU5TBWV74cjs.b.call(void 0, t,i,c),[t,i,c]);return _react.useMemo.call(void 0, ()=>({value:a,setValue:n,error:R,isValidating:p||B,upload:y,remove:U}),[a,n,R,p,B,y,U])}exports.BitFormProvider = _chunkRSH6LQVCcjs.a; exports.useBitArray = _chunkRSH6LQVCcjs.e; exports.useBitField = V; exports.useBitForm = _chunkRSH6LQVCcjs.c; exports.useBitHistory = N; exports.useBitPersist = _chunkRSH6LQVCcjs.i; exports.useBitScope = _chunkRSH6LQVCcjs.f; exports.useBitSteps = _chunkRSH6LQVCcjs.g; exports.useBitStore = _chunkRSH6LQVCcjs.b; exports.useBitUpload = X; exports.useBitWatch = _chunkRSH6LQVCcjs.h;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/react/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/react/index.cjs","../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"names":["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","useBitHistory","useBitStore","lastMeta","useRef","getSnapshot","nextMeta","readHistoryMetaSnapshot","subscribe","cb","useSyncExternalStore","undo","redo","useBitUpload","fieldPath","uploadFn","deleteFile","field","fieldIsValidating","uploadKeyRef","isUploading","setIsUploading","useState","kernelCallbacks","msg","key","upload","createUploadHandler","remove","createRemoveHandler"],"mappings":"AAAA,soBAAiG,yDAAiD,iCAA8B,iCAA8B,yDAA0C,iCAA8B,yDAA0C,yDAA0C,iCAA8B,iCAA8B,iCAA8B,yDAA0C,8BCAzc,SAWrBA,CAAAA,CAGdC,CAAAA,CAAsC,CACtC,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,CAAWC,gCAAAA,CACdC,EAAqE,CACpEN,CAAAA,CAAgB,QAAA,CAASM,CAAG,CAC9B,CAAA,CACA,CAACN,CAAe,CAClB,CAAA,CAEM,CAAE,KAAA,CAAAO,CAAM,CAAA,CAAIX,CAAAA,CACZY,CAAAA,CAAYC,iCAAAA,CAA0B,CAAA,CACtC,CACJ,KAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,CAAIT,CAAAA,CAEEU,CAAAA,CAAWb,gCAAAA,CACdc,EAA0B,CACzB,IAAMb,CAAAA,CAAMc,iCAAAA,CAA4B,CAAA,iBAAID,CAAAA,mBAAE,MAAA,6BAAQ,OAAA,CAAQA,CAAAA,CAC9Df,CAAAA,CAASE,CAAG,CACd,CAAA,CACA,CAACF,CAAQ,CACX,CAAA,CAEMiB,CAAAA,CAAShB,gCAAAA,CAAY,CAAA,EAAM,CAC/BR,CAAAA,CAAQ,CACV,CAAA,CAAG,CAACA,CAAO,CAAC,CAAA,CAENyB,CAAAA,CAAQrB,4BAAAA,CACZ,CAAA,EAAA,CAAO,CACL,KAAA,CAAOE,CAAAA,CACP,QAAA,CAAAe,CAAAA,CACA,MAAA,CAAAG,CACF,CAAA,CAAA,CACA,CAAClB,CAAAA,CAAce,CAAAA,CAAUG,CAAM,CACjC,CAAA,CAEME,CAAAA,CAAOtB,4BAAAA,CACX,CAAA,EAAA,CAAO,CACL,KAAA,CAAAS,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,CAAA,CACA,CACEP,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CACF,CACF,CAAA,CAEA,OAAOhB,4BAAAA,CACL,CAAA,EAAA,CAAO,CAEL,KAAA,CAAOM,CAAAA,CACP,YAAA,CAAAJ,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAAAP,CAAAA,CACA,QAAA,CAAAqB,CAAAA,CACA,MAAA,CAAAG,CAAAA,CAEA,KAAA,CAAAC,CAAAA,CAEA,IAAA,CAAAC,CACF,CAAA,CAAA,CACA,CAAChB,CAAAA,CAAOJ,CAAAA,CAAcC,CAAAA,CAAUP,CAAAA,CAASqB,CAAAA,CAAUG,CAAAA,CAAQC,CAAAA,CAAOC,CAAI,CACxE,CACF,CC9GA,SAKgBC,CAAAA,CAAAA,CAA6D,CAC3E,IAAM1B,CAAAA,CAAQ2B,iCAAAA,CAAe,CACvBC,CAAAA,CAAWC,2BAAAA,IAA+B,CAAA,CAE1CC,CAAAA,CAAcvB,gCAAAA,CAAY,CAAA,EAAM,CACpC,IAAMwB,CAAAA,CAAWC,iCAAAA,CAA6B,CAAA,CAE9C,OACEJ,CAAAA,CAAS,OAAA,EACTA,CAAAA,CAAS,OAAA,CAAQ,OAAA,GAAYG,CAAAA,CAAS,OAAA,EACtCH,CAAAA,CAAS,OAAA,CAAQ,OAAA,GAAYG,CAAAA,CAAS,OAAA,EACtCH,CAAAA,CAAS,OAAA,CAAQ,YAAA,GAAiBG,CAAAA,CAAS,YAAA,EAC3CH,CAAAA,CAAS,OAAA,CAAQ,WAAA,GAAgBG,CAAAA,CAAS,WAAA,CAEnCH,CAAAA,CAAS,OAAA,CAAA,CAGlBA,CAAAA,CAAS,OAAA,CAAUG,CAAAA,CACZA,CAAAA,CACT,CAAA,CAAG,CAAC/B,CAAK,CAAC,CAAA,CAEJiC,CAAAA,CAAY1B,gCAAAA,CACf2B,EAAmBlC,CAAAA,CAAM,OAAA,CAAQ,oBAAA,CAAqB,CAAA,CAAA,EAAMkC,CAAAA,CAAG,CAAC,CAAA,CACjE,CAAClC,CAAK,CACR,CAAA,CAEMyB,CAAAA,CAAOU,yCAAAA,CAAqBF,CAAWH,CAAAA,CAAaA,CAAW,CAAA,CAE/DM,CAAAA,CAAO7B,gCAAAA,CAAY,CAAA,EAAM,CAC7BP,CAAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,CACrB,CAAA,CAAG,CAACA,CAAK,CAAC,CAAA,CAEJqC,CAAAA,CAAO9B,gCAAAA,CAAY,CAAA,EAAM,CAC7BP,CAAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,CACrB,CAAA,CAAG,CAACA,CAAK,CAAC,CAAA,CAEV,OAAOG,4BAAAA,CACL,CAAA,EAAA,CAAO,CACL,GAAGsB,CAAAA,CACH,IAAA,CAAAW,CAAAA,CACA,IAAA,CAAAC,CACF,CAAA,CAAA,CACA,CAACZ,CAAAA,CAAMW,CAAAA,CAAMC,CAAI,CACnB,CACF,CC3BA,SAOgBC,CAAAA,CAGdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACoB,CACpB,IAAMzC,CAAAA,CAAQ2B,iCAAAA,CAAiB,CACzBe,CAAAA,CAAQ9C,CAAAA,CAAY2C,CAAS,CAAA,CAC7B,CAAE,KAAA,CAAA9B,CAAAA,CAAO,QAAA,CAAAH,CAAAA,CAAU,IAAA,CAAAmB,CAAK,CAAA,CAAIiB,CAAAA,CAC5B9B,CAAAA,iBAAQa,CAAAA,6BAAM,OAAA,CACdkB,CAAAA,CAAoB,CAAC,iBAAClB,CAAAA,6BAAM,cAAA,CAC5BmB,CAAAA,CAAef,2BAAAA,IAA0B,CAAA,CACzC,CAACgB,CAAAA,CAAaC,CAAc,CAAA,CAAIC,6BAAAA,CAAS,CAAK,CAAA,CAE9CC,CAAAA,CAAkB7C,4BAAAA,CACtB,CAAA,EAAA,CAAO,CACL,UAAA,CAAY2C,CAAAA,CACZ,QAAA,CAAU,CAACjD,CAAAA,CAAcoD,CAAAA,CAAAA,EACvBjD,CAAAA,CAAM,KAAA,CAAM,QAAA,CAASH,CAAAA,CAAMoD,CAAG,CAAA,CAChC,QAAA,CAAWzC,CAAAA,EAAuBF,CAAAA,CAASE,CAAU,CAAA,CACrD,YAAA,CAAc,CAAA,CAAA,EAAMoC,CAAAA,CAAa,OAAA,CACjC,YAAA,CAAeM,CAAAA,EAAuB,CACpCN,CAAAA,CAAa,OAAA,CAAUM,CACzB,CACF,CAAA,CAAA,CACA,CAAClD,CAAAA,CAAOM,CAAQ,CAClB,CAAA,CAEM6C,CAAAA,CAAS5C,gCAAAA,iCACb6C,CAAoBb,CAAWC,CAAAA,CAAUQ,CAAe,CAAA,CACxD,CAACT,CAAAA,CAAWC,CAAAA,CAAUQ,CAAe,CACvC,CAAA,CAEMK,CAAAA,CAAS9C,gCAAAA,iCACb+C,CAAoBf,CAAWE,CAAAA,CAAYO,CAAe,CAAA,CAC1D,CAACT,CAAAA,CAAWE,CAAAA,CAAYO,CAAe,CACzC,CAAA,CAEA,OAAO7C,4BAAAA,CACL,CAAA,EAAA,CAAO,CACL,KAAA,CAAAM,CAAAA,CACA,QAAA,CAAAH,CAAAA,CACA,KAAA,CAAAM,CAAAA,CACA,YAAA,CAAc+B,CAAAA,EAAqBE,CAAAA,CACnC,MAAA,CAAAM,CAAAA,CACA,MAAA,CAAAE,CACF,CAAA,CAAA,CACA,CAAC5C,CAAAA,CAAOH,CAAAA,CAAUM,CAAAA,CAAO+B,CAAAA,CAAmBE,CAAAA,CAAaM,CAAAA,CAAQE,CAAM,CACzE,CACF,CAAA,0aAAA","file":"/home/runner/work/bit-form/bit-form/dist/react/index.cjs","sourcesContent":[null,"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"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/react/index.cjs","../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"names":["useBitField","path","fieldState","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","useBitHistory","useBitStore","lastMeta","useRef","getSnapshot","nextMeta","readHistoryMetaSnapshot","subscribe","cb","useSyncExternalStore","undo","redo","useBitUpload","fieldPath","uploadFn","deleteFile","field","fieldIsValidating","uploadKeyRef","isUploading","setIsUploading","useState","callbacksRef","msg","key","stableCallbacks","upload","createUploadHandler","remove","createRemoveHandler"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/react/index.cjs","sourcesContent":[null,"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 { 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 // Ref que sempre aponta para os valores mais recentes de render,\n // permitindo que o handler factory (e seu `currentGeneration`) seja\n // criado uma única vez por (fieldPath, uploadFn). Sem este padrão,\n // qualquer re-render que gere nova referência de callbacks zeraria\n // `currentGeneration` e perderia silenciosamente a URL de upload.\n const callbacksRef = useRef({\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 onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n });\n // Mantém os closures da ref atualizados a cada render sem recriar o objeto.\n callbacksRef.current.setLoading = setIsUploading;\n callbacksRef.current.setError = (path, msg) =>\n store.write.setError(path, msg);\n callbacksRef.current.setValue = (val) => setValue(val as any);\n callbacksRef.current.onCallbackError = (e) =>\n store.read.config.onUnhandledError(e, \"upload\");\n\n const stableCallbacks = useMemo(\n () => ({\n setLoading: (val: boolean) => callbacksRef.current.setLoading(val),\n setError: (path: string, msg: string | undefined) =>\n callbacksRef.current.setError(path, msg),\n setValue: (val: string | null) => callbacksRef.current.setValue(val),\n getUploadKey: () => callbacksRef.current.getUploadKey(),\n setUploadKey: (key: string | null) =>\n callbacksRef.current.setUploadKey(key),\n onCallbackError: (e: unknown) =>\n callbacksRef.current.onCallbackError?.(e),\n }),\n [], // estável para todo o lifetime do componente\n );\n\n const upload = useMemo(\n () => createUploadHandler(fieldPath, uploadFn, stableCallbacks),\n [fieldPath, uploadFn, stableCallbacks],\n );\n\n const remove = useMemo(\n () => createRemoveHandler(fieldPath, deleteFile, stableCallbacks),\n [fieldPath, deleteFile, stableCallbacks],\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"]}
|
package/dist/react/index.d.cts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-
|
|
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-
|
|
1
|
+
import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-DiwICsEm.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-DiwICsEm.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
7
|
import 'react';
|
|
8
|
-
import '../store-api-types-
|
|
8
|
+
import '../store-api-types-BPD27biP.cjs';
|
|
9
9
|
import '../types-CUXh7PqD.cjs';
|
|
10
|
-
import '../config-types-
|
|
10
|
+
import '../config-types-Dbyt7t3D.cjs';
|
|
11
11
|
import '../meta-types-BC1VLABk.cjs';
|
|
12
12
|
import '../field-binding-X5TkvfUt.cjs';
|
|
13
13
|
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-
|
|
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-
|
|
1
|
+
import { g as UseBitFieldResult, h as UseBitHistoryResult, i as UseBitUploadResult } from '../use-bit-persist-BGH2Bazx.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-BGH2Bazx.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
7
|
import 'react';
|
|
8
|
-
import '../store-api-types-
|
|
8
|
+
import '../store-api-types-i-zmM25p.js';
|
|
9
9
|
import '../types-CUXh7PqD.js';
|
|
10
|
-
import '../config-types-
|
|
10
|
+
import '../config-types-bTt2lcw9.js';
|
|
11
11
|
import '../meta-types-BC1VLABk.js';
|
|
12
12
|
import '../field-binding-Bi1g-D8X.js';
|
|
13
13
|
|
package/dist/react/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as L,b as F,c as j,d as T,e as D,f as z,g as q,h as A,i as O}from"../chunk-GSZTHF7Z.js";import{a as C,b as w}from"../chunk-3774TIGK.js";import"../chunk-5NA2TFPG.js";import"../chunk-LIHWJJIM.js";import{h}from"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import{f as M}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 P}from"../chunk-3NUJVIAM.js";import{useCallback as S,useMemo as x}from"react";function V(t){let{fieldState:r,setBlur:i,store:u}=T(t),{fieldController:d}=x(()=>h(u,t),[u,t]),a=x(()=>d.displayValue(r.value),[r.value,d]),n=S(g=>{d.setValue(g)},[d]),{value:o}=r,R=H(r),{error:p,touched:m,invalid:B,isDirty:f,isValidating:s,isHidden:c,isRequired:y,hasError:U}=R,e=S(g=>{let K=P(g)?g.target?.value:g;n(K)},[n]),l=S(()=>{i()},[i]),E=x(()=>({value:a,onChange:e,onBlur:l}),[a,e,l]),k=x(()=>({error:p,touched:m,invalid:B,isDirty:f,isValidating:s,isHidden:c,isRequired:y,hasError:U}),[p,m,B,f,s,c,y,U]);return x(()=>({value:o,displayValue:a,setValue:n,setBlur:i,onChange:e,onBlur:l,props:E,meta:k}),[o,a,n,i,e,l,E,k])}import{useCallback as b,useMemo as W,useRef as G,useSyncExternalStore as J}from"react";function N(){let t=F(),r=G(null),i=b(()=>{let o=M(t);return r.current&&r.current.canUndo===o.canUndo&&r.current.canRedo===o.canRedo&&r.current.historyIndex===o.historyIndex&&r.current.historySize===o.historySize?r.current:(r.current=o,o)},[t]),u=b(o=>t.observe.subscribeHistoryMeta(()=>o()),[t]),d=J(u,i,i),a=b(()=>{t.feature.undo()},[t]),n=b(()=>{t.feature.redo()},[t]);return W(()=>({...d,undo:a,redo:n}),[d,a,n])}import{useMemo as v,useRef as I,useState as Q}from"react";function X(t,r,i){let u=F(),d=V(t),{value:a,setValue:n,meta:o}=d,R=o?.error,p=!!o?.isValidating,m=I(null),[B,f]=Q(!1),s=I({setLoading:f,setError:(e,l)=>u.write.setError(e,l),setValue:e=>n(e),getUploadKey:()=>m.current,setUploadKey:e=>{m.current=e},onCallbackError:e=>u.read.config.onUnhandledError(e,"upload")});s.current.setLoading=f,s.current.setError=(e,l)=>u.write.setError(e,l),s.current.setValue=e=>n(e),s.current.onCallbackError=e=>u.read.config.onUnhandledError(e,"upload");let c=v(()=>({setLoading:e=>s.current.setLoading(e),setError:(e,l)=>s.current.setError(e,l),setValue:e=>s.current.setValue(e),getUploadKey:()=>s.current.getUploadKey(),setUploadKey:e=>s.current.setUploadKey(e),onCallbackError:e=>s.current.onCallbackError?.(e)}),[]),y=v(()=>C(t,r,c),[t,r,c]),U=v(()=>w(t,i,c),[t,i,c]);return v(()=>({value:a,setValue:n,error:R,isValidating:p||B,upload:y,remove:U}),[a,n,R,p,B,y,U])}export{L as BitFormProvider,D as useBitArray,V as useBitField,j as useBitForm,N as useBitHistory,O as useBitPersist,z as useBitScope,q as useBitSteps,F as useBitStore,X as useBitUpload,A as useBitWatch};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/react/index.js.map
CHANGED
|
@@ -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 { 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
|
+
{"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 { 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 // Ref que sempre aponta para os valores mais recentes de render,\n // permitindo que o handler factory (e seu `currentGeneration`) seja\n // criado uma única vez por (fieldPath, uploadFn). Sem este padrão,\n // qualquer re-render que gere nova referência de callbacks zeraria\n // `currentGeneration` e perderia silenciosamente a URL de upload.\n const callbacksRef = useRef({\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 onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n });\n // Mantém os closures da ref atualizados a cada render sem recriar o objeto.\n callbacksRef.current.setLoading = setIsUploading;\n callbacksRef.current.setError = (path, msg) =>\n store.write.setError(path, msg);\n callbacksRef.current.setValue = (val) => setValue(val as any);\n callbacksRef.current.onCallbackError = (e) =>\n store.read.config.onUnhandledError(e, \"upload\");\n\n const stableCallbacks = useMemo(\n () => ({\n setLoading: (val: boolean) => callbacksRef.current.setLoading(val),\n setError: (path: string, msg: string | undefined) =>\n callbacksRef.current.setError(path, msg),\n setValue: (val: string | null) => callbacksRef.current.setValue(val),\n getUploadKey: () => callbacksRef.current.getUploadKey(),\n setUploadKey: (key: string | null) =>\n callbacksRef.current.setUploadKey(key),\n onCallbackError: (e: unknown) =>\n callbacksRef.current.onCallbackError?.(e),\n }),\n [], // estável para todo o lifetime do componente\n );\n\n const upload = useMemo(\n () => createUploadHandler(fieldPath, uploadFn, stableCallbacks),\n [fieldPath, uploadFn, stableCallbacks],\n );\n\n const remove = useMemo(\n () => createRemoveHandler(fieldPath, deleteFile, stableCallbacks),\n [fieldPath, deleteFile, stableCallbacks],\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","useMemo","useRef","useState","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","value","setValue","meta","error","fieldIsValidating","uploadKeyRef","useRef","isUploading","setIsUploading","useState","callbacksRef","path","msg","val","key","stableCallbacks","useMemo","upload","createUploadHandler","remove","createRemoveHandler"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRSH6LQVCcjs = require('../chunk-RSH6LQVC.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-L7EAZ6K6.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}=_chunkRSH6LQVCcjs.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 = _chunkRSH6LQVCcjs.a; exports.useBitArray = _chunkRSH6LQVCcjs.e; exports.useBitField = g; exports.useBitForm = _chunkRSH6LQVCcjs.c; exports.useBitPersist = _chunkRSH6LQVCcjs.i; exports.useBitScope = _chunkRSH6LQVCcjs.f; exports.useBitSteps = _chunkRSH6LQVCcjs.g; exports.useBitStore = _chunkRSH6LQVCcjs.b; exports.useBitWatch = _chunkRSH6LQVCcjs.h;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,11 +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-
|
|
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-DiwICsEm.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
5
|
import 'react';
|
|
6
|
-
import '../store-api-types-
|
|
6
|
+
import '../store-api-types-BPD27biP.cjs';
|
|
7
7
|
import '../types-CUXh7PqD.cjs';
|
|
8
|
-
import '../config-types-
|
|
8
|
+
import '../config-types-Dbyt7t3D.cjs';
|
|
9
9
|
import '../meta-types-BC1VLABk.cjs';
|
|
10
10
|
import '../upload-C4JqIaU2.cjs';
|
|
11
11
|
import '../field-binding-X5TkvfUt.cjs';
|
|
@@ -1,11 +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-
|
|
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-BGH2Bazx.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
5
|
import 'react';
|
|
6
|
-
import '../store-api-types-
|
|
6
|
+
import '../store-api-types-i-zmM25p.js';
|
|
7
7
|
import '../types-CUXh7PqD.js';
|
|
8
|
-
import '../config-types-
|
|
8
|
+
import '../config-types-bTt2lcw9.js';
|
|
9
9
|
import '../meta-types-BC1VLABk.js';
|
|
10
10
|
import '../upload-ao6skK9K.js';
|
|
11
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-
|
|
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-GSZTHF7Z.js";import"../chunk-5NA2TFPG.js";import"../chunk-LIHWJJIM.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,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-
|
|
3
|
+
import { e as BitConfig, V as ValidatorFn, i as BitFieldDefinition, v as BitPersistResolvedConfig, p as BitPlugin, w as BitOperationalErrorSource } from './config-types-Dbyt7t3D.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';
|
|
@@ -35,6 +35,7 @@ interface BitFrameworkConfig<T extends object = Record<string, unknown>> extends
|
|
|
35
35
|
history: {
|
|
36
36
|
enabled: boolean;
|
|
37
37
|
limit: number;
|
|
38
|
+
debounceMs: number;
|
|
38
39
|
};
|
|
39
40
|
fields?: Record<string, BitFieldDefinition<T>>;
|
|
40
41
|
devTools?: boolean | DevToolsOptions;
|
|
@@ -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-
|
|
3
|
+
import { e as BitConfig, V as ValidatorFn, i as BitFieldDefinition, v as BitPersistResolvedConfig, p as BitPlugin, w as BitOperationalErrorSource } from './config-types-bTt2lcw9.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';
|
|
@@ -35,6 +35,7 @@ interface BitFrameworkConfig<T extends object = Record<string, unknown>> extends
|
|
|
35
35
|
history: {
|
|
36
36
|
enabled: boolean;
|
|
37
37
|
limit: number;
|
|
38
|
+
debounceMs: number;
|
|
38
39
|
};
|
|
39
40
|
fields?: Record<string, BitFieldDefinition<T>>;
|
|
40
41
|
devTools?: boolean | DevToolsOptions;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-
|
|
2
|
+
import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-i-zmM25p.js';
|
|
3
3
|
import './bus-BFOBGmd9.js';
|
|
4
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';
|
|
5
5
|
import { c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, a as BitArrayBindingField } from './upload-ao6skK9K.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-
|
|
2
|
+
import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-BPD27biP.cjs';
|
|
3
3
|
import './bus-DzTqgkZ4.cjs';
|
|
4
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';
|
|
5
5
|
import { c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, a as BitArrayBindingField } from './upload-C4JqIaU2.cjs';
|
package/dist/vue/index.cjs
CHANGED
|
@@ -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
|
|
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 _chunkU5TBWV74cjs = require('../chunk-U5TBWV74.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkL7EAZ6K6cjs = require('../chunk-L7EAZ6K6.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,_chunkL7EAZ6K6cjs.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:u}=_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),l=_vue.computed.call(void 0, ()=>e.value.isSubmitting),p=_vue.computed.call(void 0, ()=>e.value.isDirty),n=s.onSubmit,S=s.reset;return{meta:{isValid:d,isDirty:p,isSubmitting:l,submitError:o,lastResponse:r},getValues:s.getValues,getErrors:s.getErrors,getTouched:s.getTouched,getDirtyValues:s.getDirtyValues,submit:s.submit,onSubmit:n,reset:S,...u}}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),u=_vue.computed.call(void 0, ()=>o.displayValue(s.value)),d=_vue.computed.call(void 0, {get:()=>u.value,set:f=>{o.setValue(f)}}),l=_vue.computed.call(void 0, ()=>_chunk3KI3GEU3cjs.a.call(void 0, r.value)),p=_vue.computed.call(void 0, ()=>l.value.error),n=_vue.computed.call(void 0, ()=>l.value.touched),S=_vue.computed.call(void 0, ()=>l.value.invalid),b=_vue.computed.call(void 0, ()=>l.value.isValidating),v=_vue.computed.call(void 0, ()=>l.value.isDirty),P=_vue.computed.call(void 0, ()=>l.value.isHidden),V=_vue.computed.call(void 0, ()=>l.value.isRequired),x=_vue.computed.call(void 0, ()=>l.value.hasError),F=f=>{o.setValue(f)},c=()=>o.setBlur();return{value:s,displayValue:u,modelValue:d,setValue:F,setBlur:c,onInput:f=>{F(f)},onBlur:()=>{c()},meta:{error:p,touched:n,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)),u=_vue.computed.call(void 0, ()=>r.value.length);return{fields:s,length:u,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}),n=e.read.getScopeErrors(t);return{valid:p,errors:n}},s=()=>e.read.getScopeErrors(t),u=_vue.computed.call(void 0, ()=>!o.value.hasErrors),d=_vue.computed.call(void 0, ()=>o.value.isDirty),l=_vue.computed.call(void 0, ()=>o.value.errors);return{scopeName:t,status:o,errors:l,validate:i,getErrors:s,isValid:u,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,c=>{i.value=e.read.getScopeStatus(c),_optionalChain([s, 'optionalCall', _3 => _3()]),s=e.observe.subscribeScopeStatus(c,u)});let u=()=>{let c=r.value,B=e.read.getScopeStatus(c);_chunkRHMJPKNVcjs.b.call(void 0, i.value,B)||(i.value=B)};_vue.onMounted.call(void 0, ()=>{s=e.observe.subscribeScopeStatus(r.value,u)}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([s, 'optionalCall', _4 => _4()])});let d=async()=>{let c=r.value,B=await e.feature.validate({scope:c}),g=e.read.getScopeErrors(c);return{valid:B,errors:g}},l=()=>e.read.getScopeErrors(r.value),p=async()=>{let c=r.value,B=e.read.getScopeFields(c);if(e.feature.hasValidationsInProgress(B))return!1;let g=await e.feature.validate({scope:c});if(g)o.value=Math.min(o.value+1,t.length-1);else{let f=e.read.getScopeErrors(c),E=Object.keys(f);E.length>0&&e.write.markFieldsTouched(E)}return g},n=()=>{o.value=Math.max(o.value-1,0)},S=c=>{o.value=Math.max(0,Math.min(c-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:n,goTo:S,isFirst:v,isLast:P,status:i,errors:F,isValid:V,isDirty:x,validate:d,getErrors:l}}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,u=_vue.ref.call(void 0, !1),d={setLoading:n=>{u.value=n},setError:(n,S)=>r.write.setError(n,S),setValue:n=>i.setValue(n),getUploadKey:()=>s,setUploadKey:n=>{s=n},onCallbackError:n=>r.read.config.onUnhandledError(n,"upload")},l=_chunkU5TBWV74cjs.a.call(void 0, t,e,d),p=_chunkU5TBWV74cjs.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||u.value),upload:l,remove:p}}function we(){let t=a(),e=_vue.ref.call(void 0, t.read.getPersistMetadata()),o=_chunkAVUK52JWcjs.f.call(void 0, t,u=>{e.value=u});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
|
package/dist/vue/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-
|
|
1
|
+
import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-BPD27biP.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-
|
|
11
|
+
import '../config-types-Dbyt7t3D.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>;
|
package/dist/vue/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-
|
|
1
|
+
import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-i-zmM25p.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-
|
|
11
|
+
import '../config-types-bTt2lcw9.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-
|
|
1
|
+
import{a as Y,b as $}from"../chunk-3774TIGK.js";import"../chunk-5NA2TFPG.js";import{d as I}from"../chunk-LIHWJJIM.js";import{c as H,f as K,g as C,h as q,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:u}=O(t,{clearSubmissionState:()=>{o.value=null,r.value=null},setSubmissionResult:v=>{r.value=v},setSubmissionError:v=>{o.value=v}}),d=R(()=>e.value.isValid),l=R(()=>e.value.isSubmitting),p=R(()=>e.value.isDirty),n=s.onSubmit,S=s.reset;return{meta:{isValid:d,isDirty:p,isSubmitting:l,submitError:o,lastResponse:r},getValues:s.getValues,getErrors:s.getErrors,getTouched:s.getTouched,getDirtyValues:s.getDirtyValues,submit:s.submit,onSubmit:n,reset:S,...u}}import{computed as m,onUnmounted as ie,shallowRef as ae}from"vue";function T(t){let e=a(),{fieldController:o}=q(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),u=m(()=>o.displayValue(s.value)),d=m({get:()=>u.value,set:f=>{o.setValue(f)}}),l=m(()=>L(r.value)),p=m(()=>l.value.error),n=m(()=>l.value.touched),S=m(()=>l.value.invalid),b=m(()=>l.value.isValidating),v=m(()=>l.value.isDirty),P=m(()=>l.value.isHidden),V=m(()=>l.value.isRequired),x=m(()=>l.value.hasError),F=f=>{o.setValue(f)},c=()=>o.setBlur();return{value:s,displayValue:u,modelValue:d,setValue:F,setBlur:c,onInput:f=>{F(f)},onBlur:()=>{c()},meta:{error:p,touched:n,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=C(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)),u=Q(()=>r.value.length);return{fields:s,length:u,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}),n=e.read.getScopeErrors(t);return{valid:p,errors:n}},s=()=>e.read.getScopeErrors(t),u=U(()=>!o.value.hasErrors),d=U(()=>o.value.isDirty),l=U(()=>o.value.errors);return{scopeName:t,status:o,errors:l,validate:i,getErrors:s,isValid:u,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,c=>{i.value=e.read.getScopeStatus(c),s?.(),s=e.observe.subscribeScopeStatus(c,u)});let u=()=>{let c=r.value,B=e.read.getScopeStatus(c);D(i.value,B)||(i.value=B)};Be(()=>{s=e.observe.subscribeScopeStatus(r.value,u)}),ye(()=>{s?.()});let d=async()=>{let c=r.value,B=await e.feature.validate({scope:c}),g=e.read.getScopeErrors(c);return{valid:B,errors:g}},l=()=>e.read.getScopeErrors(r.value),p=async()=>{let c=r.value,B=e.read.getScopeFields(c);if(e.feature.hasValidationsInProgress(B))return!1;let g=await e.feature.validate({scope:c});if(g)o.value=Math.min(o.value+1,t.length-1);else{let f=e.read.getScopeErrors(c),E=Object.keys(f);E.length>0&&e.write.markFieldsTouched(E)}return g},n=()=>{o.value=Math.max(o.value-1,0)},S=c=>{o.value=Math.max(0,Math.min(c-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:n,goTo:S,isFirst:v,isLast:P,status:i,errors:F,isValid:V,isDirty:x,validate:d,getErrors:l}}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,u=xe(!1),d={setLoading:n=>{u.value=n},setError:(n,S)=>r.write.setError(n,S),setValue:n=>i.setValue(n),getUploadKey:()=>s,setUploadKey:n=>{s=n},onCallbackError:n=>r.read.config.onUnhandledError(n,"upload")},l=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||u.value),upload:l,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,u=>{e.value=u});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
|