@lehnihon/bit-form 2.2.28 → 2.2.31
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/dist/angular/index.cjs +1 -1
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.js +1 -1
- package/dist/angular/index.js.map +1 -1
- package/dist/{chunk-3MWOSR4W.js → chunk-4U32VQD5.js} +2 -2
- package/dist/{chunk-77RIH3KJ.js → chunk-FF6WALLN.js} +2 -2
- package/dist/chunk-FF6WALLN.js.map +1 -0
- package/dist/{chunk-CTQXXT26.cjs → chunk-K3QLAMDG.cjs} +2 -2
- package/dist/{chunk-CTQXXT26.cjs.map → chunk-K3QLAMDG.cjs.map} +1 -1
- package/dist/chunk-KEINCG6A.js +2 -0
- package/dist/chunk-KEINCG6A.js.map +1 -0
- package/dist/{chunk-G6EG5AWJ.cjs → chunk-LBWJK3IC.cjs} +2 -2
- package/dist/{chunk-G6EG5AWJ.cjs.map → chunk-LBWJK3IC.cjs.map} +1 -1
- package/dist/chunk-UNBTMNY3.cjs +2 -0
- package/dist/chunk-UNBTMNY3.cjs.map +1 -0
- package/dist/core/store.cjs +1 -1
- package/dist/core/store.js +1 -1
- package/dist/core.cjs +1 -1
- 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.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react-native/index.cjs +1 -1
- package/dist/react-native/index.js +1 -1
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.js +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-77RIH3KJ.js.map +0 -1
- package/dist/chunk-KDNY7F5Q.cjs +0 -2
- package/dist/chunk-KDNY7F5Q.cjs.map +0 -1
- package/dist/chunk-V22XASFK.js +0 -2
- package/dist/chunk-V22XASFK.js.map +0 -1
- /package/dist/{chunk-3MWOSR4W.js.map → chunk-4U32VQD5.js.map} +0 -0
package/dist/angular/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 _chunkH3RTOA6Xcjs = require('../chunk-H3RTOA6X.cjs');require('../chunk-W5CLDRRE.cjs');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 _chunkH3RTOA6Xcjs = require('../chunk-H3RTOA6X.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkK3QLAMDGcjs = require('../chunk-K3QLAMDG.cjs');var _chunkH27ROY4Fcjs = require('../chunk-H27ROY4F.cjs');var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');var _chunkOWDDAM6Ccjs = require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');var _chunk725CMNAVcjs = require('../chunk-725CMNAV.cjs');var _core = require('@angular/core');var R=new (0, _core.InjectionToken)("BIT_STORE");function lt(t){let e=_chunkK3QLAMDGcjs.d.call(void 0, t);return{provide:R,useValue:e}}function d(){let t=_core.inject.call(void 0, R,{optional:!0});if(!t)throw new Error('BitForm: N\xE3o foi poss\xEDvel encontrar a BitStore. Certifique-se de que voc\xEA adicionou "provideBitStore(store)" nos providers do seu componente.');return t}function pt(){let t=d(),e=_core.inject.call(void 0, _core.DestroyRef),r=_core.signal.call(void 0, {isValid:!0,isDirty:!1,isSubmitting:!1}),o=_core.signal.call(void 0, null),i=_core.signal.call(void 0, null),s=_chunkH27ROY4Fcjs.c.call(void 0, t,n=>{r.set(n)});e.onDestroy(()=>s());let u=_core.computed.call(void 0, ()=>r().isValid),c=_core.computed.call(void 0, ()=>r().isSubmitting),p=_core.computed.call(void 0, ()=>r().isDirty),{controller:l,actions:S}=_chunkH27ROY4Fcjs.i.call(void 0, t,{clearSubmissionState:()=>{o.set(null),i.set(null)},setSubmissionResult:n=>{i.set(n)},setSubmissionError:n=>{o.set(n)}},{stopPropagation:!0});return{meta:{isValid:u,isDirty:p,isSubmitting:c,submitError:o.asReadonly(),lastResponse:i.asReadonly()},getValues:l.getValues,getErrors:l.getErrors,getTouched:l.getTouched,getDirtyValues:l.getDirtyValues,submit:l.submit,onSubmit:l.onSubmit,reset:l.reset,...S}}function k(t){let e=_core.inject.call(void 0, R),r=_core.signal.call(void 0, e.read.getFieldState(t)),o=e.observe.subscribeFieldState(t,g=>{r.set(g)});_core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>{o(),_chunkH27ROY4Fcjs.j.call(void 0, e,t)});let i=_core.computed.call(void 0, ()=>r().value),s=_core.computed.call(void 0, ()=>_chunkH6HGYVRVcjs.a.call(void 0, r())),u=_core.computed.call(void 0, ()=>s().error),c=_core.computed.call(void 0, ()=>s().touched),p=_core.computed.call(void 0, ()=>s().invalid),l=_core.computed.call(void 0, ()=>s().isDirty),S=_core.computed.call(void 0, ()=>s().isValidating),y=_core.computed.call(void 0, ()=>s().isHidden),n=_core.computed.call(void 0, ()=>s().isRequired),{fieldController:B}=_chunkH27ROY4Fcjs.h.call(void 0, e,t),h=_core.computed.call(void 0, ()=>B.displayValue(i())),P=g=>{B.setValue(g)},x=()=>B.setBlur(),V=_core.computed.call(void 0, ()=>s().hasError);return{value:i,displayValue:h,setValue:P,setBlur:x,update:g=>P(_chunk725CMNAVcjs.a.call(void 0, g)?_nullishCoalesce(_optionalChain([g, 'access', _2 => _2.target, 'optionalAccess', _3 => _3.value]), () => (null)):g),onBlur:()=>B.setBlur(),meta:{error:u,touched:c,invalid:p,isDirty:l,isValidating:S,isHidden:y,isRequired:n,hasError:V}}}function gt(t){let e=_core.inject.call(void 0, R),r=_core.inject.call(void 0, _core.DestroyRef),o=_chunkH27ROY4Fcjs.g.call(void 0, e,t),i=_core.signal.call(void 0, o.readItems()),s=e.observe.subscribePath(t,()=>{i.set(o.readItems())});return r.onDestroy(()=>{s(),_chunkH27ROY4Fcjs.k.call(void 0, e,`${t}.`)}),{fields:_core.computed.call(void 0, ()=>o.getFields(i())),length:_core.computed.call(void 0, ()=>i().length),append:o.append,prepend:o.prepend,remove:o.remove,insert:o.insert,swap:o.swap,move:o.move,replace:o.replace,clear:o.clear}}function jt(){let t=d(),e=_core.inject.call(void 0, _core.DestroyRef),r=_core.signal.call(void 0, _chunkRHMJPKNVcjs.f.call(void 0, t)),o=_chunkRHMJPKNVcjs.g.call(void 0, t,i=>{r.set(i)});return e.onDestroy(()=>o()),{canUndo:_core.computed.call(void 0, ()=>r().canUndo),canRedo:_core.computed.call(void 0, ()=>r().canRedo),historyIndex:_core.computed.call(void 0, ()=>r().historyIndex),historySize:_core.computed.call(void 0, ()=>r().historySize),undo:()=>t.feature.undo(),redo:()=>t.feature.redo()}}function Tt(t){let e=d(),r=e.read.getScopeStatus(t),o=_core.signal.call(void 0, r),i=_chunkBSGJ3T5Scjs.a.call(void 0, e,t,y=>{o.set(y)});_core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>i());let u=async()=>{let y=await e.feature.validate({scope:t}),n=e.read.getScopeErrors(t);return{valid:y,errors:n}},c=()=>e.read.getScopeErrors(t),p=_core.computed.call(void 0, ()=>!o().hasErrors),l=_core.computed.call(void 0, ()=>o().isDirty),S=_core.computed.call(void 0, ()=>o().errors);return{scopeName:t,status:o,errors:S,validate:u,getErrors:c,isValid:p,isDirty:l}}function Vt(t){if(t.length===0)throw new Error("injectBitSteps: scopeNames must not be empty");let e=d(),r=_core.signal.call(void 0, 0),o=_core.computed.call(void 0, ()=>_nullishCoalesce(t[r()], () => (""))),i=()=>_nullishCoalesce(t[r()], () => ("")),s=_core.signal.call(void 0, e.read.getScopeStatus(i())),u=i(),c=e.observe.subscribeScopeStatus(u,a=>{i()===u&&(_chunkRHMJPKNVcjs.b.call(void 0, s(),a)||s.set(a))}),p=()=>{let a=i(),m=e.observe.subscribeScopeStatus(a,b=>{i()===a&&(_chunkRHMJPKNVcjs.b.call(void 0, s(),b)||s.set(b))}),F=c;c=m,u=a,F()};_core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>c());let S=async()=>{let a=i(),m=r(),F=await e.feature.validate({scope:a});if(r()!==m){let j=i();return{valid:await e.feature.validate({scope:j}),errors:e.read.getScopeErrors(j)}}let b=e.read.getScopeErrors(a);return{valid:F,errors:b}},y=()=>e.read.getScopeErrors(i()),n=async()=>{let a=r(),m=_nullishCoalesce(t[a], () => (""));if(!m)return!1;let F=e.read.getScopeFields(m);if(e.feature.hasValidationsInProgress(F))return!1;let b=await e.feature.validate({scope:m});if(r()!==a)return!1;if(b){let j=Math.min(a+1,t.length-1);r.set(j),s.set(e.read.getScopeStatus(_nullishCoalesce(t[j], () => ("")))),p()}else{let j=e.read.getScopeErrors(m),I=Object.keys(j);I.length>0&&e.write.markFieldsTouched(I),s.set(e.read.getScopeStatus(m))}return b},B=()=>{let a=Math.max(r()-1,0);r.set(a),s.set(e.read.getScopeStatus(_nullishCoalesce(t[a], () => ("")))),p()},h=a=>{let m=Math.max(0,Math.min(a-1,t.length-1));r.set(m),s.set(e.read.getScopeStatus(_nullishCoalesce(t[m], () => ("")))),p()},P=_core.computed.call(void 0, ()=>r()+1),x=_core.computed.call(void 0, ()=>r()===0),V=_core.computed.call(void 0, ()=>r()>=t.length-1),H=_core.computed.call(void 0, ()=>!s().hasErrors),O=_core.computed.call(void 0, ()=>s().isDirty),g=_core.computed.call(void 0, ()=>s().errors);return{step:P,stepIndex:r,scope:o,next:n,prev:B,goTo:h,isFirst:x,isLast:V,status:s,errors:g,isValid:H,isDirty:O,validate:S,getErrors:y}}function wt(t){let e=d(),r=_core.inject.call(void 0, _core.DestroyRef),o=_core.signal.call(void 0, _chunkOWDDAM6Ccjs.f.call(void 0, e.read.getState().values,t),{equal:_chunkOWDDAM6Ccjs.c}),i=e.observe.subscribePath(t,s=>{o.set(s)});return r.onDestroy(i),o.asReadonly()}function At(t,e,r){let o=_core.inject.call(void 0, R),i=k(t),s=null,u=_core.signal.call(void 0, !1),c={current:0},p={setLoading:n=>u.set(n),setError:(n,B)=>o.write.setError(n,B),setValue:n=>i.setValue(n),getUploadKey:()=>s,setUploadKey:n=>{s=n},onCallbackError:n=>o.read.config.onUnhandledError(n,"upload")},l=_chunkH3RTOA6Xcjs.a.call(void 0, t,e,p,c),S=_chunkH3RTOA6Xcjs.b.call(void 0, t,r,p,c);return _core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>{c.current++,s=null}),{value:_core.computed.call(void 0, ()=>i.value()),setValue:i.setValue,error:_core.computed.call(void 0, ()=>i.meta.error()),isValidating:_core.computed.call(void 0, ()=>!!i.meta.isValidating()||u()),upload:l,remove:S}}function _t(){let t=d(),e=_core.signal.call(void 0, t.read.getPersistMetadata()),r=_chunkH27ROY4Fcjs.f.call(void 0, t,c=>{e.set(c)});return _core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>r()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:_core.computed.call(void 0, ()=>e().isSaving),isRestoring:_core.computed.call(void 0, ()=>e().isRestoring),error:_core.computed.call(void 0, ()=>e().error)}}}exports.injectBitArray = gt; exports.injectBitField = k; exports.injectBitForm = pt; exports.injectBitHistory = jt; exports.injectBitPersist = _t; exports.injectBitScope = Tt; exports.injectBitSteps = Vt; exports.injectBitUpload = At; exports.injectBitWatch = wt; exports.provideBitStore = lt; exports.useBitStore = d;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/angular/index.cjs","../../src/angular/provider.ts","../../src/angular/inject-bit-form.ts","../../src/angular/inject-bit-field.ts","../../src/angular/inject-bit-array.ts"],"names":["BIT_STORE_TOKEN","InjectionToken","provideBitStore","store","adapted","createFrameworkStoreAdapter","inject","error","useBitStore","injectBitForm","destroyRef","stateSignal","signal","submitError","lastResponse","sub","observeFormMetaSnapshot","nextMeta","isValid","computed","isSubmitting","isDirty","controller","actions","createFrameworkFormBinding","result","injectBitField","path","unsubscribe","nextState","cleanupRegisteredField","value","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","fieldController","createFrameworkMaskedFieldBinding","displayValue","setValue","val","setBlur","hasError","e","isBitFieldInputEventObject","injectBitArray","createArrayBinding","valuesSig","unsub","cleanupRegisteredPrefix"],"mappings":"AAAA,0uBAAkD,iCAA8B,yDAA0C,yDAAoF,yDAA0C,yDAAwD,yDAA0C,iCAA8B,yDAAiD,iCAA8B,yDAA0C,qCCApb,IAIhDA,CAAAA,CAAkB,IAAIC,yBAAAA,CACjC,WACF,CAAA,CAEO,SAASC,EAAAA,CACdC,CAAAA,CACU,CACV,IAAMC,CAAAA,CAAUC,iCAAAA,CAAoC,CAAA,CAEpD,GAAI,CACiBC,0BAAAA,gBAAiB,CAAA,CACzB,SAAA,CAAU,CAAA,CAAA,EAAM,iBACzBF,CAAAA,qBAAQ,OAAA,6BAAS,OAAA,0BAAA,CAAU,GAC7B,CAAC,CACH,CAAA,KAAA,CAASG,CAAAA,CAAgB,CACvB,EAAA,CAAI,CAAA,CAAAA,EAAAA,WAAiB,KAAA,kBAASA,CAAAA,qBAAM,OAAA,6BAAS,QAAA,mBAAS,QAAQ,GAAA,CAAA,CAG5D,MAAMA,CAEV,CAEA,MAAO,CACL,OAAA,CAASP,CAAAA,CACT,QAAA,CAAUI,CACZ,CACF,CAEO,SAASI,CAAAA,CAAAA,CAAgC,CAC9C,IAAML,CAAAA,CAAQG,0BAAAA,CAAON,CAAiB,CAAE,QAAA,CAAU,CAAA,CAAK,CAAC,CAAA,CAExD,EAAA,CAAI,CAACG,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,wJAEF,CAAA,CAGF,OAAOA,CACT,CC3CA,SAKgBM,EAAAA,CAAAA,CAA0D,CACxE,IAAMN,CAAAA,CAAQK,CAAAA,CAAe,CAAA,CACvBE,CAAAA,CAAaJ,0BAAAA,gBAAiB,CAAA,CAC9BK,CAAAA,CAAcC,0BAAAA,CAClB,OAAA,CAAS,CAAA,CAAA,CACT,OAAA,CAAS,CAAA,CAAA,CACT,YAAA,CAAc,CAAA,CAChB,CAAC,CAAA,CACKC,CAAAA,CAAcD,0BAAAA,IAAyB,CAAA,CACvCE,CAAAA,CAAeF,0BAAAA,IAAoB,CAAA,CAEnCG,CAAAA,CAAMC,iCAAAA,CAAwBb,CAAQc,CAAAA,EAAa,CACvDN,CAAAA,CAAY,GAAA,CAAIM,CAAQ,CAC1B,CAAC,CAAA,CAEDP,CAAAA,CAAW,SAAA,CAAU,CAAA,CAAA,EAAMK,CAAAA,CAAI,CAAC,CAAA,CAEhC,IAAMG,CAAAA,CAAUC,4BAAAA,CAAS,CAAA,EAAMR,CAAAA,CAAY,CAAA,CAAE,OAAO,CAAA,CAC9CS,CAAAA,CAAeD,4BAAAA,CAAS,CAAA,EAAMR,CAAAA,CAAY,CAAA,CAAE,YAAY,CAAA,CACxDU,CAAAA,CAAUF,4BAAAA,CAAS,CAAA,EAAMR,CAAAA,CAAY,CAAA,CAAE,OAAO,CAAA,CAE9C,CAAE,UAAA,CAAAW,CAAAA,CAAY,OAAA,CAAAC,CAAQ,CAAA,CAAIC,iCAAAA,CAC9BrB,CACA,CACE,oBAAA,CAAsB,CAAA,CAAA,EAAM,CAC1BU,CAAAA,CAAY,GAAA,CAAI,IAAI,CAAA,CACpBC,CAAAA,CAAa,GAAA,CAAI,IAAI,CACvB,CAAA,CACA,mBAAA,CAAsBW,CAAAA,EAAW,CAC/BX,CAAAA,CAAa,GAAA,CAAIW,CAAM,CACzB,CAAA,CACA,kBAAA,CAAqBlB,CAAAA,EAAU,CAC7BM,CAAAA,CAAY,GAAA,CAAIN,CAAK,CACvB,CACF,CAAA,CACA,CAAE,eAAA,CAAiB,CAAA,CAAK,CAC1B,CAAA,CAUA,MAAO,CAEL,IAAA,CAVW,CACX,OAAA,CAAAW,CAAAA,CACA,OAAA,CAAAG,CAAAA,CACA,YAAA,CAAAD,CAAAA,CACA,WAAA,CAAaP,CAAAA,CAAY,UAAA,CAAW,CAAA,CACpC,YAAA,CAAcC,CAAAA,CAAa,UAAA,CAAW,CACxC,CAAA,CAME,SAAA,CAAWQ,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,CAAUA,CAAAA,CAAW,QAAA,CACrB,KAAA,CAAOA,CAAAA,CAAW,KAAA,CAClB,GAAGC,CACL,CACF,CCjEA,SAYgBG,CAAAA,CAIdC,CAAAA,CAAyC,CACzC,IAAMxB,CAAAA,CAAQG,0BAAAA,CAAsB,CAAA,CAE9BK,CAAAA,CAAcC,0BAAAA,CAAOT,CAAM,IAAA,CAAK,aAAA,CAAcwB,CAAI,CAAC,CAAA,CAEnDC,CAAAA,CAAczB,CAAAA,CAAM,OAAA,CAAQ,mBAAA,CAAoBwB,CAAAA,CAAOE,CAAAA,EAAc,CACzElB,CAAAA,CAAY,GAAA,CAAIkB,CAAS,CAC3B,CAAC,CAAA,CAEDvB,0BAAAA,gBAAiB,CAAA,CAAE,SAAA,CAAU,CAAA,CAAA,EAAM,CACjCsB,CAAAA,CAAY,CAAA,CACZE,iCAAAA,CAAuB3B,CAAOwB,CAAc,CAC9C,CAAC,CAAA,CAED,IAAMI,CAAAA,CAAQZ,4BAAAA,CAAS,CAAA,EAAMR,CAAAA,CAAY,CAAA,CAAE,KAA+B,CAAA,CACpEqB,CAAAA,CAAYb,4BAAAA,CAAS,CAAA,EAAMc,iCAAAA,CAAgBtB,CAAY,CAAC,CAAC,CAAA,CACzDJ,CAAAA,CAAQY,4BAAAA,CAAS,CAAA,EAAMa,CAAAA,CAAU,CAAA,CAAE,KAAK,CAAA,CACxCE,CAAAA,CAAUf,4BAAAA,CAAS,CAAA,EAAMa,CAAAA,CAAU,CAAA,CAAE,OAAO,CAAA,CAC5CG,CAAAA,CAAUhB,4BAAAA,CAAS,CAAA,EAAMa,CAAAA,CAAU,CAAA,CAAE,OAAO,CAAA,CAC5CX,CAAAA,CAAUF,4BAAAA,CAAS,CAAA,EAAMa,CAAAA,CAAU,CAAA,CAAE,OAAO,CAAA,CAC5CI,CAAAA,CAAejB,4BAAAA,CAAS,CAAA,EAAMa,CAAAA,CAAU,CAAA,CAAE,YAAY,CAAA,CACtDK,CAAAA,CAAWlB,4BAAAA,CAAS,CAAA,EAAMa,CAAAA,CAAU,CAAA,CAAE,QAAQ,CAAA,CAC9CM,CAAAA,CAAanB,4BAAAA,CAAS,CAAA,EAAMa,CAAAA,CAAU,CAAA,CAAE,UAAU,CAAA,CAElD,CAAE,eAAA,CAAAO,CAAgB,CAAA,CAAIC,iCAAAA,CAAkCrC,CAAOwB,CAAI,CAAA,CAEnEc,CAAAA,CAAetB,4BAAAA,CAAS,CAAA,EAAMoB,CAAAA,CAAgB,YAAA,CAAaR,CAAAA,CAAM,CAAC,CAAC,CAAA,CAEnEW,CAAAA,CACJC,CAAAA,EACG,CACHJ,CAAAA,CAAgB,QAAA,CAASI,CAAG,CAC9B,CAAA,CAEMC,CAAAA,CAAU,CAAA,CAAA,EAAML,CAAAA,CAAgB,OAAA,CAAQ,CAAA,CAExCM,CAAAA,CAAW1B,4BAAAA,CAAS,CAAA,EAAMa,CAAAA,CAAU,CAAA,CAAE,QAAQ,CAAA,CAOpD,MAAO,CAEL,KAAA,CAAAD,CAAAA,CACA,YAAA,CAAAU,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAAAE,CAAAA,CACA,MAAA,CATcE,CAAAA,EACdJ,CAAAA,CAASK,iCAAAA,CAA4B,CAAA,kCAAKD,CAAAA,qBAAE,MAAA,6BAAQ,OAAA,SAAS,MAAA,CAAQA,CAAC,CAAA,CAStE,MAAA,CAZa,CAAA,CAAA,EAAMP,CAAAA,CAAgB,OAAA,CAAQ,CAAA,CAc3C,IAAA,CAAM,CACJ,KAAA,CAAAhC,CAAAA,CACA,OAAA,CAAA2B,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAd,CAAAA,CACA,YAAA,CAAAe,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,QAAA,CAAAO,CACF,CACF,CACF,CC/EA,SAUgBG,EAAAA,CAGdrB,CAAAA,CAAS,CACT,IAAMxB,CAAAA,CAAQG,0BAAAA,CAAsB,CAAA,CAC9BI,CAAAA,CAAaJ,0BAAAA,gBAAiB,CAAA,CAC9BgB,CAAAA,CAAa2B,iCAAAA,CAA6B9C,CAAOwB,CAAI,CAAA,CAErDuB,CAAAA,CAAYtC,0BAAAA,CAChBU,CAAW,SAAA,CAAU,CACvB,CAAA,CAEM6B,CAAAA,CAAQhD,CAAAA,CAAM,OAAA,CAAQ,aAAA,CAAcwB,CAAAA,CAAM,CAAA,CAAA,EAAM,CACpDuB,CAAAA,CAAU,GAAA,CAAI5B,CAAAA,CAAW,SAAA,CAAU,CAAC,CACtC,CAAC,CAAA,CAED,OAAAZ,CAAAA,CAAW,SAAA,CAAU,CAAA,CAAA,EAAM,CACzByC,CAAAA,CAAM,CAAA,CACNC,iCAAAA,CAAwBjD,CAAO,CAAA,EAAA","file":"/builds/kenji.ccp-group/bit-form/dist/angular/index.cjs","sourcesContent":[null,"import { DestroyRef, inject, InjectionToken, Provider } from \"@angular/core\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_TOKEN = new InjectionToken<BitFrameworkStoreApi<any>>(\n \"BIT_STORE\",\n);\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n): Provider {\n const adapted = createFrameworkStoreAdapter<T>(store);\n\n try {\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => {\n adapted.feature?.cleanup?.();\n });\n } catch (error: unknown) {\n if (error instanceof Error && error.message?.includes(\"inject\")) {\n // Called outside injection context (e.g., root module)\n } else {\n throw error;\n }\n }\n\n return {\n provide: BIT_STORE_TOKEN,\n useValue: adapted,\n };\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_TOKEN, { optional: true });\n\n if (!store) {\n throw new Error(\n \"BitForm: Não foi possível encontrar a BitStore. \" +\n 'Certifique-se de que você adicionou \"provideBitStore(store)\" nos providers do seu componente.',\n );\n }\n\n return store as BitFrameworkStoreApi<T>;\n}\n","import { signal, computed, inject, DestroyRef } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { InjectBitFormResult } from \"./types\";\n\nexport function injectBitForm<T extends object>(): InjectBitFormResult<T> {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n const stateSignal = signal({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = signal<Error | null>(null);\n const lastResponse = signal<unknown>(null);\n\n const sub = observeFormMetaSnapshot(store, (nextMeta) => {\n stateSignal.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n const isValid = computed(() => stateSignal().isValid);\n const isSubmitting = computed(() => stateSignal().isSubmitting);\n const isDirty = computed(() => stateSignal().isDirty);\n\n const { controller, actions } = createFrameworkFormBinding(\n store,\n {\n clearSubmissionState: () => {\n submitError.set(null);\n lastResponse.set(null);\n },\n setSubmissionResult: (result) => {\n lastResponse.set(result);\n },\n setSubmissionError: (error) => {\n submitError.set(error);\n },\n },\n { stopPropagation: true },\n );\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError: submitError.asReadonly(),\n lastResponse: lastResponse.asReadonly(),\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: controller.onSubmit,\n reset: controller.reset,\n ...actions,\n };\n}\n","import { DestroyRef, computed, inject, signal } from \"@angular/core\";\nimport {\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { BitFieldInputEvent, InjectBitFieldResult } from \"./types\";\n\nexport function injectBitField<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): InjectBitFieldResult<TForm, P> {\n const store = inject(BIT_STORE_TOKEN);\n\n const stateSignal = signal(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n stateSignal.set(nextState);\n });\n\n inject(DestroyRef).onDestroy(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const value = computed(() => stateSignal().value as BitPathValue<TForm, P>);\n const metaState = computed(() => deriveFieldMeta(stateSignal()));\n const error = computed(() => metaState().error);\n const touched = computed(() => metaState().touched);\n const invalid = computed(() => metaState().invalid);\n const isDirty = computed(() => metaState().isDirty);\n const isValidating = computed(() => metaState().isValidating);\n const isHidden = computed(() => metaState().isHidden);\n const isRequired = computed(() => metaState().isRequired);\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const displayValue = computed(() => fieldController.displayValue(value()));\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 hasError = computed(() => metaState().hasError);\n\n const onBlur = () => fieldController.setBlur();\n\n const update = (e: BitFieldInputEvent) =>\n setValue(isBitFieldInputEventObject(e) ? (e.target?.value ?? null) : e);\n\n return {\n // Main handlers and values (flat)\n value,\n displayValue,\n setValue,\n setBlur,\n update,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\n\nexport function injectBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = inject(BIT_STORE_TOKEN);\n const destroyRef = inject(DestroyRef);\n const controller = createArrayBinding<TForm, P>(store, path);\n\n const valuesSig = signal<BitArrayItem<BitPathValue<TForm, P>>[]>(\n controller.readItems(),\n );\n\n const unsub = store.observe.subscribePath(path, () => {\n valuesSig.set(controller.readItems());\n });\n\n destroyRef.onDestroy(() => {\n unsub();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n return {\n fields: computed(() => controller.getFields(valuesSig())),\n length: computed(() => valuesSig().length),\n append: controller.append,\n prepend: controller.prepend,\n remove: controller.remove,\n insert: controller.insert,\n swap: controller.swap,\n move: controller.move,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/angular/index.cjs","../../src/angular/provider.ts","../../src/angular/inject-bit-form.ts","../../src/angular/inject-bit-field.ts","../../src/angular/inject-bit-array.ts"],"names":["BIT_STORE_TOKEN","InjectionToken","provideBitStore","store","adapted","createFrameworkStoreAdapter","useBitStore","inject","injectBitForm","destroyRef","stateSignal","signal","submitError","lastResponse","sub","observeFormMetaSnapshot","nextMeta","isValid","computed","isSubmitting","isDirty","controller","actions","createFrameworkFormBinding","result","error","injectBitField","path","unsubscribe","nextState","cleanupRegisteredField","value","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","fieldController","createFrameworkMaskedFieldBinding","displayValue","setValue","val","setBlur","hasError","e","isBitFieldInputEventObject","injectBitArray","createArrayBinding","valuesSig","unsub","cleanupRegisteredPrefix"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/angular/index.cjs","sourcesContent":[null,"import { inject, InjectionToken, Provider } from \"@angular/core\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_TOKEN = new InjectionToken<BitFrameworkStoreApi<any>>(\n \"BIT_STORE\",\n);\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n): Provider {\n const adapted = createFrameworkStoreAdapter<T>(store);\n\n return {\n provide: BIT_STORE_TOKEN,\n useValue: adapted,\n };\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_TOKEN, { optional: true });\n\n if (!store) {\n throw new Error(\n \"BitForm: Não foi possível encontrar a BitStore. \" +\n 'Certifique-se de que você adicionou \"provideBitStore(store)\" nos providers do seu componente.',\n );\n }\n\n return store as BitFrameworkStoreApi<T>;\n}\n","import { signal, computed, inject, DestroyRef } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { InjectBitFormResult } from \"./types\";\n\nexport function injectBitForm<T extends object>(): InjectBitFormResult<T> {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n const stateSignal = signal({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = signal<Error | null>(null);\n const lastResponse = signal<unknown>(null);\n\n const sub = observeFormMetaSnapshot(store, (nextMeta) => {\n stateSignal.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n const isValid = computed(() => stateSignal().isValid);\n const isSubmitting = computed(() => stateSignal().isSubmitting);\n const isDirty = computed(() => stateSignal().isDirty);\n\n const { controller, actions } = createFrameworkFormBinding(\n store,\n {\n clearSubmissionState: () => {\n submitError.set(null);\n lastResponse.set(null);\n },\n setSubmissionResult: (result) => {\n lastResponse.set(result);\n },\n setSubmissionError: (error) => {\n submitError.set(error);\n },\n },\n { stopPropagation: true },\n );\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError: submitError.asReadonly(),\n lastResponse: lastResponse.asReadonly(),\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: controller.onSubmit,\n reset: controller.reset,\n ...actions,\n };\n}\n","import { DestroyRef, computed, inject, signal } from \"@angular/core\";\nimport {\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { BitFieldInputEvent, InjectBitFieldResult } from \"./types\";\n\nexport function injectBitField<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): InjectBitFieldResult<TForm, P> {\n const store = inject(BIT_STORE_TOKEN);\n\n const stateSignal = signal(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n stateSignal.set(nextState);\n });\n\n inject(DestroyRef).onDestroy(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const value = computed(() => stateSignal().value as BitPathValue<TForm, P>);\n const metaState = computed(() => deriveFieldMeta(stateSignal()));\n const error = computed(() => metaState().error);\n const touched = computed(() => metaState().touched);\n const invalid = computed(() => metaState().invalid);\n const isDirty = computed(() => metaState().isDirty);\n const isValidating = computed(() => metaState().isValidating);\n const isHidden = computed(() => metaState().isHidden);\n const isRequired = computed(() => metaState().isRequired);\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const displayValue = computed(() => fieldController.displayValue(value()));\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 hasError = computed(() => metaState().hasError);\n\n const onBlur = () => fieldController.setBlur();\n\n const update = (e: BitFieldInputEvent) =>\n setValue(isBitFieldInputEventObject(e) ? (e.target?.value ?? null) : e);\n\n return {\n // Main handlers and values (flat)\n value,\n displayValue,\n setValue,\n setBlur,\n update,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\n\nexport function injectBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = inject(BIT_STORE_TOKEN);\n const destroyRef = inject(DestroyRef);\n const controller = createArrayBinding<TForm, P>(store, path);\n\n const valuesSig = signal<BitArrayItem<BitPathValue<TForm, P>>[]>(\n controller.readItems(),\n );\n\n const unsub = store.observe.subscribePath(path, () => {\n valuesSig.set(controller.readItems());\n });\n\n destroyRef.onDestroy(() => {\n unsub();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n return {\n fields: computed(() => controller.getFields(valuesSig())),\n length: computed(() => valuesSig().length),\n append: controller.append,\n prepend: controller.prepend,\n remove: controller.remove,\n insert: controller.insert,\n swap: controller.swap,\n move: controller.move,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
|
package/dist/angular/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as tt,b as et}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import{d as W}from"../chunk-
|
|
1
|
+
import{a as tt,b as et}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import{d as W}from"../chunk-FF6WALLN.js";import{c as z,f as L,g as G,h as J,i as Q,j as X,k as Y}from"../chunk-L42NQRVD.js";import{a as Z}from"../chunk-W2E5UIXT.js";import{b as E,f as K,g as C}from"../chunk-UIKO6GGW.js";import{a as N}from"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import{c as _,f as q}from"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import{a as $}from"../chunk-DGEGYNQL.js";import{inject as at,InjectionToken as ct}from"@angular/core";var R=new ct("BIT_STORE");function lt(t){let e=W(t);return{provide:R,useValue:e}}function d(){let t=at(R,{optional:!0});if(!t)throw new Error('BitForm: N\xE3o foi poss\xEDvel encontrar a BitStore. Certifique-se de que voc\xEA adicionou "provideBitStore(store)" nos providers do seu componente.');return t}import{signal as D,computed as w,inject as ut,DestroyRef as dt}from"@angular/core";function pt(){let t=d(),e=ut(dt),r=D({isValid:!0,isDirty:!1,isSubmitting:!1}),o=D(null),i=D(null),s=z(t,n=>{r.set(n)});e.onDestroy(()=>s());let u=w(()=>r().isValid),c=w(()=>r().isSubmitting),p=w(()=>r().isDirty),{controller:l,actions:S}=Q(t,{clearSubmissionState:()=>{o.set(null),i.set(null)},setSubmissionResult:n=>{i.set(n)},setSubmissionError:n=>{o.set(n)}},{stopPropagation:!0});return{meta:{isValid:u,isDirty:p,isSubmitting:c,submitError:o.asReadonly(),lastResponse:i.asReadonly()},getValues:l.getValues,getErrors:l.getErrors,getTouched:l.getTouched,getDirtyValues:l.getDirtyValues,submit:l.submit,onSubmit:l.onSubmit,reset:l.reset,...S}}import{DestroyRef as mt,computed as f,inject as rt,signal as ft}from"@angular/core";function k(t){let e=rt(R),r=ft(e.read.getFieldState(t)),o=e.observe.subscribeFieldState(t,g=>{r.set(g)});rt(mt).onDestroy(()=>{o(),X(e,t)});let i=f(()=>r().value),s=f(()=>N(r())),u=f(()=>s().error),c=f(()=>s().touched),p=f(()=>s().invalid),l=f(()=>s().isDirty),S=f(()=>s().isValidating),y=f(()=>s().isHidden),n=f(()=>s().isRequired),{fieldController:B}=J(e,t),h=f(()=>B.displayValue(i())),P=g=>{B.setValue(g)},x=()=>B.setBlur(),V=f(()=>s().hasError);return{value:i,displayValue:h,setValue:P,setBlur:x,update:g=>P($(g)?g.target?.value??null:g),onBlur:()=>B.setBlur(),meta:{error:u,touched:c,invalid:p,isDirty:l,isValidating:S,isHidden:y,isRequired:n,hasError:V}}}import{computed as ot,DestroyRef as St,inject as st,signal as yt}from"@angular/core";function gt(t){let e=st(R),r=st(St),o=G(e,t),i=yt(o.readItems()),s=e.observe.subscribePath(t,()=>{i.set(o.readItems())});return r.onDestroy(()=>{s(),Y(e,`${t}.`)}),{fields:ot(()=>o.getFields(i())),length:ot(()=>i().length),append:o.append,prepend:o.prepend,remove:o.remove,insert:o.insert,swap:o.swap,move:o.move,replace:o.replace,clear:o.clear}}import{computed as T,DestroyRef as Bt,inject as Rt,signal as bt}from"@angular/core";function jt(){let t=d(),e=Rt(Bt),r=bt(K(t)),o=C(t,i=>{r.set(i)});return e.onDestroy(()=>o()),{canUndo:T(()=>r().canUndo),canRedo:T(()=>r().canRedo),historyIndex:T(()=>r().historyIndex),historySize:T(()=>r().historySize),undo:()=>t.feature.undo(),redo:()=>t.feature.redo()}}import{computed as U,DestroyRef as vt,inject as Ft,signal as Pt}from"@angular/core";function Tt(t){let e=d(),r=e.read.getScopeStatus(t),o=Pt(r),i=Z(e,t,y=>{o.set(y)});Ft(vt).onDestroy(()=>i());let u=async()=>{let y=await e.feature.validate({scope:t}),n=e.read.getScopeErrors(t);return{valid:y,errors:n}},c=()=>e.read.getScopeErrors(t),p=U(()=>!o().hasErrors),l=U(()=>o().isDirty),S=U(()=>o().errors);return{scopeName:t,status:o,errors:S,validate:u,getErrors:c,isValid:p,isDirty:l}}import{computed as v,DestroyRef as ht,inject as xt,signal as it}from"@angular/core";function Vt(t){if(t.length===0)throw new Error("injectBitSteps: scopeNames must not be empty");let e=d(),r=it(0),o=v(()=>t[r()]??""),i=()=>t[r()]??"",s=it(e.read.getScopeStatus(i())),u=i(),c=e.observe.subscribeScopeStatus(u,a=>{i()===u&&(E(s(),a)||s.set(a))}),p=()=>{let a=i(),m=e.observe.subscribeScopeStatus(a,b=>{i()===a&&(E(s(),b)||s.set(b))}),F=c;c=m,u=a,F()};xt(ht).onDestroy(()=>c());let S=async()=>{let a=i(),m=r(),F=await e.feature.validate({scope:a});if(r()!==m){let j=i();return{valid:await e.feature.validate({scope:j}),errors:e.read.getScopeErrors(j)}}let b=e.read.getScopeErrors(a);return{valid:F,errors:b}},y=()=>e.read.getScopeErrors(i()),n=async()=>{let a=r(),m=t[a]??"";if(!m)return!1;let F=e.read.getScopeFields(m);if(e.feature.hasValidationsInProgress(F))return!1;let b=await e.feature.validate({scope:m});if(r()!==a)return!1;if(b){let j=Math.min(a+1,t.length-1);r.set(j),s.set(e.read.getScopeStatus(t[j]??"")),p()}else{let j=e.read.getScopeErrors(m),I=Object.keys(j);I.length>0&&e.write.markFieldsTouched(I),s.set(e.read.getScopeStatus(m))}return b},B=()=>{let a=Math.max(r()-1,0);r.set(a),s.set(e.read.getScopeStatus(t[a]??"")),p()},h=a=>{let m=Math.max(0,Math.min(a-1,t.length-1));r.set(m),s.set(e.read.getScopeStatus(t[m]??"")),p()},P=v(()=>r()+1),x=v(()=>r()===0),V=v(()=>r()>=t.length-1),H=v(()=>!s().hasErrors),O=v(()=>s().isDirty),g=v(()=>s().errors);return{step:P,stepIndex:r,scope:o,next:n,prev:B,goTo:h,isFirst:x,isLast:V,status:s,errors:g,isValid:H,isDirty:O,validate:S,getErrors:y}}import{DestroyRef as It,signal as Et,inject as Dt}from"@angular/core";function wt(t){let e=d(),r=Dt(It),o=Et(q(e.read.getState().values,t),{equal:_}),i=e.observe.subscribePath(t,s=>{o.set(s)});return r.onDestroy(i),o.asReadonly()}import{computed as A,DestroyRef as kt,inject as nt,signal as Ut}from"@angular/core";function At(t,e,r){let o=nt(R),i=k(t),s=null,u=Ut(!1),c={current:0},p={setLoading:n=>u.set(n),setError:(n,B)=>o.write.setError(n,B),setValue:n=>i.setValue(n),getUploadKey:()=>s,setUploadKey:n=>{s=n},onCallbackError:n=>o.read.config.onUnhandledError(n,"upload")},l=tt(t,e,p,c),S=et(t,r,p,c);return nt(kt).onDestroy(()=>{c.current++,s=null}),{value:A(()=>i.value()),setValue:i.setValue,error:A(()=>i.meta.error()),isValidating:A(()=>!!i.meta.isValidating()||u()),upload:l,remove:S}}import{computed as M,DestroyRef as Mt,inject as Ht,signal as Ot}from"@angular/core";function _t(){let t=d(),e=Ot(t.read.getPersistMetadata()),r=L(t,c=>{e.set(c)});return Ht(Mt).onDestroy(()=>r()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:M(()=>e().isSaving),isRestoring:M(()=>e().isRestoring),error:M(()=>e().error)}}}export{gt as injectBitArray,k as injectBitField,pt as injectBitForm,jt as injectBitHistory,_t as injectBitPersist,Tt as injectBitScope,Vt as injectBitSteps,At as injectBitUpload,wt as injectBitWatch,lt as provideBitStore,d as useBitStore};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/angular/provider.ts","../../src/angular/inject-bit-form.ts","../../src/angular/inject-bit-field.ts","../../src/angular/inject-bit-array.ts","../../src/angular/inject-bit-history.ts","../../src/angular/inject-bit-scope.ts","../../src/angular/inject-bit-steps.ts","../../src/angular/inject-bit-watch.ts","../../src/angular/inject-bit-upload.ts","../../src/angular/inject-bit-persist.ts"],"sourcesContent":["import { DestroyRef, inject, InjectionToken, Provider } from \"@angular/core\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_TOKEN = new InjectionToken<BitFrameworkStoreApi<any>>(\n \"BIT_STORE\",\n);\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n): Provider {\n const adapted = createFrameworkStoreAdapter<T>(store);\n\n try {\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => {\n adapted.feature?.cleanup?.();\n });\n } catch (error: unknown) {\n if (error instanceof Error && error.message?.includes(\"inject\")) {\n // Called outside injection context (e.g., root module)\n } else {\n throw error;\n }\n }\n\n return {\n provide: BIT_STORE_TOKEN,\n useValue: adapted,\n };\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_TOKEN, { optional: true });\n\n if (!store) {\n throw new Error(\n \"BitForm: Não foi possível encontrar a BitStore. \" +\n 'Certifique-se de que você adicionou \"provideBitStore(store)\" nos providers do seu componente.',\n );\n }\n\n return store as BitFrameworkStoreApi<T>;\n}\n","import { signal, computed, inject, DestroyRef } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { InjectBitFormResult } from \"./types\";\n\nexport function injectBitForm<T extends object>(): InjectBitFormResult<T> {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n const stateSignal = signal({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = signal<Error | null>(null);\n const lastResponse = signal<unknown>(null);\n\n const sub = observeFormMetaSnapshot(store, (nextMeta) => {\n stateSignal.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n const isValid = computed(() => stateSignal().isValid);\n const isSubmitting = computed(() => stateSignal().isSubmitting);\n const isDirty = computed(() => stateSignal().isDirty);\n\n const { controller, actions } = createFrameworkFormBinding(\n store,\n {\n clearSubmissionState: () => {\n submitError.set(null);\n lastResponse.set(null);\n },\n setSubmissionResult: (result) => {\n lastResponse.set(result);\n },\n setSubmissionError: (error) => {\n submitError.set(error);\n },\n },\n { stopPropagation: true },\n );\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError: submitError.asReadonly(),\n lastResponse: lastResponse.asReadonly(),\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: controller.onSubmit,\n reset: controller.reset,\n ...actions,\n };\n}\n","import { DestroyRef, computed, inject, signal } from \"@angular/core\";\nimport {\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { BitFieldInputEvent, InjectBitFieldResult } from \"./types\";\n\nexport function injectBitField<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): InjectBitFieldResult<TForm, P> {\n const store = inject(BIT_STORE_TOKEN);\n\n const stateSignal = signal(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n stateSignal.set(nextState);\n });\n\n inject(DestroyRef).onDestroy(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const value = computed(() => stateSignal().value as BitPathValue<TForm, P>);\n const metaState = computed(() => deriveFieldMeta(stateSignal()));\n const error = computed(() => metaState().error);\n const touched = computed(() => metaState().touched);\n const invalid = computed(() => metaState().invalid);\n const isDirty = computed(() => metaState().isDirty);\n const isValidating = computed(() => metaState().isValidating);\n const isHidden = computed(() => metaState().isHidden);\n const isRequired = computed(() => metaState().isRequired);\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const displayValue = computed(() => fieldController.displayValue(value()));\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 hasError = computed(() => metaState().hasError);\n\n const onBlur = () => fieldController.setBlur();\n\n const update = (e: BitFieldInputEvent) =>\n setValue(isBitFieldInputEventObject(e) ? (e.target?.value ?? null) : e);\n\n return {\n // Main handlers and values (flat)\n value,\n displayValue,\n setValue,\n setBlur,\n update,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\n\nexport function injectBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = inject(BIT_STORE_TOKEN);\n const destroyRef = inject(DestroyRef);\n const controller = createArrayBinding<TForm, P>(store, path);\n\n const valuesSig = signal<BitArrayItem<BitPathValue<TForm, P>>[]>(\n controller.readItems(),\n );\n\n const unsub = store.observe.subscribePath(path, () => {\n valuesSig.set(controller.readItems());\n });\n\n destroyRef.onDestroy(() => {\n unsub();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n return {\n fields: computed(() => controller.getFields(valuesSig())),\n length: computed(() => valuesSig().length),\n append: controller.append,\n prepend: controller.prepend,\n remove: controller.remove,\n insert: controller.insert,\n swap: controller.swap,\n move: controller.move,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport { observeHistoryMetaSnapshot, readHistoryMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitHistoryResult } from \"./types\";\n\nexport function injectBitHistory<\n T extends object = any,\n>(): InjectBitHistoryResult {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n\n const meta = signal(readHistoryMetaSnapshot(store));\n\n const sub = observeHistoryMetaSnapshot(store, (nextMeta) => {\n meta.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n return {\n canUndo: computed(() => meta().canUndo),\n canRedo: computed(() => meta().canRedo),\n historyIndex: computed(() => meta().historyIndex),\n historySize: computed(() => meta().historySize),\n undo: () => store.feature.undo(),\n redo: () => store.feature.redo(),\n };\n}\n","import type { Signal } from \"@angular/core\";\nimport { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { observeScopeStatusSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\ninterface InjectBitScopeResult {\n scopeName: string;\n status: Signal<ScopeStatus>;\n errors: Signal<Record<string, string>>;\n validate: () => Promise<ValidateScopeResult>;\n getErrors: () => Record<string, string>;\n isValid: Signal<boolean>;\n isDirty: Signal<boolean>;\n}\n\nexport function injectBitScope(scopeName: string): InjectBitScopeResult {\n const store = useBitStore();\n const initialStatus = store.read.getScopeStatus(scopeName);\n\n const status = signal<ScopeStatus>(initialStatus);\n\n const unsubscribe = observeScopeStatusSnapshot(\n store,\n scopeName,\n (nextStatus) => {\n status.set(nextStatus);\n },\n );\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => unsubscribe());\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(scopeName);\n\n const isValid = computed(() => !status().hasErrors);\n const isDirty = computed(() => status().isDirty);\n const errors = computed(() => status().errors);\n\n return {\n scopeName,\n status,\n errors,\n validate,\n getErrors,\n isValid,\n isDirty,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitStepsResult } from \"./types\";\n\nexport function injectBitSteps(scopeNames: string[]): InjectBitStepsResult {\n if (scopeNames.length === 0) {\n throw new Error(\"injectBitSteps: scopeNames must not be empty\");\n }\n const store = useBitStore();\n const stepIndex = signal(0);\n\n const scope = computed(() => scopeNames[stepIndex()] ?? \"\");\n\n const getCurrentScope = () => scopeNames[stepIndex()] ?? \"\";\n const status = signal<ScopeStatus>(\n store.read.getScopeStatus(getCurrentScope()),\n );\n\n let currentSubscribedScope = getCurrentScope();\n let unsubscribe = store.observe.subscribeScopeStatus(\n currentSubscribedScope,\n (nextStatus) => {\n if (getCurrentScope() !== currentSubscribedScope) return;\n if (!isScopeStatusEqual(status(), nextStatus)) {\n status.set(nextStatus);\n }\n },\n );\n\n const rebindScopeSubscription = () => {\n const newScope = getCurrentScope();\n const newUnsub = store.observe.subscribeScopeStatus(\n newScope,\n (nextStatus) => {\n if (getCurrentScope() !== newScope) return;\n if (!isScopeStatusEqual(status(), nextStatus)) {\n status.set(nextStatus);\n }\n },\n );\n const oldUnsub = unsubscribe;\n unsubscribe = newUnsub;\n currentSubscribedScope = newScope;\n oldUnsub();\n };\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => unsubscribe());\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const scopeName = getCurrentScope();\n const startIndex = stepIndex();\n const valid = await store.feature.validate({ scope: scopeName });\n if (stepIndex() !== startIndex) {\n const current = getCurrentScope();\n const reValid = await store.feature.validate({ scope: current });\n return { valid: reValid, errors: store.read.getScopeErrors(current) };\n }\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(getCurrentScope());\n\n const next = async (): Promise<boolean> => {\n const startIndex = stepIndex();\n const scopeName = scopeNames[startIndex] ?? \"\";\n\n if (!scopeName) return false;\n\n const scopeFields = store.read.getScopeFields(scopeName);\n if (store.feature.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.feature.validate({ scope: scopeName });\n\n if (stepIndex() !== startIndex) return false;\n\n if (valid) {\n const newIndex = Math.min(startIndex + 1, scopeNames.length - 1);\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n } else {\n const errors = store.read.getScopeErrors(scopeName);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.write.markFieldsTouched(pathsWithErrors);\n }\n status.set(store.read.getScopeStatus(scopeName));\n }\n return valid;\n };\n\n const prev = () => {\n const newIndex = Math.max(stepIndex() - 1, 0);\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n };\n\n const goTo = (stepNumber: number) => {\n const newIndex = Math.max(\n 0,\n Math.min(stepNumber - 1, scopeNames.length - 1),\n );\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n };\n\n const step = computed(() => stepIndex() + 1);\n const isFirst = computed(() => stepIndex() === 0);\n const isLast = computed(() => stepIndex() >= scopeNames.length - 1);\n const isValid = computed(() => !status().hasErrors);\n const isDirty = computed(() => status().isDirty);\n const errors = computed(() => status().errors);\n\n return {\n step,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors,\n isValid,\n isDirty,\n validate,\n getErrors,\n };\n}\n","import { DestroyRef, signal, Signal, inject } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { getDeepValue, valueEqual, BitPath, BitPathValue } from \"../core\";\n\nexport function injectBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): Signal<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n const destroyRef = inject(DestroyRef);\n const valueSig = signal<BitPathValue<TForm, P>>(\n getDeepValue(store.read.getState().values, path as string) as BitPathValue<\n TForm,\n P\n >,\n { equal: valueEqual },\n );\n\n const unsub = store.observe.subscribePath(path, (v) => {\n valueSig.set(v as BitPathValue<TForm, P>);\n });\n\n destroyRef.onDestroy(unsub);\n\n return valueSig.asReadonly();\n}\n","/**\n * Angular Dependency Injection for File Upload\n *\n * Minimal upload API integrated with global field validation lifecycle.\n */\n\nimport { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { injectBitField } from \"./inject-bit-field\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { InjectBitUploadResult } from \"./types\";\n\nexport function injectBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): InjectBitUploadResult {\n const store = inject(BIT_STORE_TOKEN);\n const field = injectBitField(fieldPath);\n let uploadKey: string | null = null;\n const isUploading = signal(false);\n const sharedGen = { current: 0 };\n\n const kernelCallbacks = {\n setLoading: (val: boolean) => isUploading.set(val),\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => field.setValue(val),\n getUploadKey: () => uploadKey,\n setUploadKey: (key: string | null) => {\n uploadKey = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n };\n\n const upload = createUploadHandler(fieldPath, uploadFn, kernelCallbacks, sharedGen);\n const remove = createRemoveHandler(fieldPath, deleteFile, kernelCallbacks, sharedGen);\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => {\n sharedGen.current++;\n uploadKey = null;\n });\n\n return {\n value: computed(() => field.value()),\n setValue: field.setValue,\n error: computed(() => field.meta.error()),\n isValidating: computed(() => !!field.meta.isValidating() || isUploading()),\n upload,\n remove,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport { observePersistMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitPersistResult } from \"./types\";\n\nexport function injectBitPersist<\n T extends object = any,\n>(): InjectBitPersistResult {\n const store = useBitStore<T>();\n const persist = signal(store.read.getPersistMetadata());\n\n const unsubscribe = observePersistMetaSnapshot(store, (nextPersist) => {\n persist.set(nextPersist);\n });\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => unsubscribe());\n\n const restore = async (): Promise<boolean> => {\n return store.feature.restorePersisted();\n };\n\n const save = async (): Promise<void> => {\n await store.feature.forceSave();\n };\n\n const clear = async (): Promise<void> => {\n await store.feature.clearPersisted();\n };\n\n return {\n restore,\n save,\n clear,\n meta: {\n isSaving: computed(() => persist().isSaving),\n isRestoring: computed(() => persist().isRestoring),\n error: computed(() => persist().error),\n },\n };\n}\n"],"mappings":"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","names":["DestroyRef","inject","InjectionToken","BIT_STORE_TOKEN","InjectionToken","provideBitStore","store","adapted","createFrameworkStoreAdapter","inject","DestroyRef","error","useBitStore","signal","computed","inject","DestroyRef","injectBitForm","store","useBitStore","destroyRef","inject","DestroyRef","stateSignal","signal","submitError","lastResponse","sub","observeFormMetaSnapshot","nextMeta","isValid","computed","isSubmitting","isDirty","controller","actions","createFrameworkFormBinding","result","error","DestroyRef","computed","inject","signal","injectBitField","path","store","inject","BIT_STORE_TOKEN","stateSignal","signal","unsubscribe","nextState","DestroyRef","cleanupRegisteredField","value","computed","metaState","deriveFieldMeta","error","touched","invalid","isDirty","isValidating","isHidden","isRequired","fieldController","createFrameworkMaskedFieldBinding","displayValue","setValue","val","setBlur","hasError","e","isBitFieldInputEventObject","computed","DestroyRef","inject","signal","injectBitArray","path","store","inject","BIT_STORE_TOKEN","destroyRef","DestroyRef","controller","createArrayBinding","valuesSig","signal","unsub","cleanupRegisteredPrefix","computed","computed","DestroyRef","inject","signal","injectBitHistory","store","useBitStore","destroyRef","inject","DestroyRef","meta","signal","readHistoryMetaSnapshot","sub","observeHistoryMetaSnapshot","nextMeta","computed","computed","DestroyRef","inject","signal","injectBitScope","scopeName","store","useBitStore","initialStatus","status","signal","unsubscribe","observeScopeStatusSnapshot","nextStatus","inject","DestroyRef","validate","valid","errors","getErrors","isValid","computed","isDirty","computed","DestroyRef","inject","signal","injectBitSteps","scopeNames","store","useBitStore","stepIndex","signal","scope","computed","getCurrentScope","status","currentSubscribedScope","unsubscribe","nextStatus","isScopeStatusEqual","rebindScopeSubscription","newScope","newUnsub","oldUnsub","inject","DestroyRef","validate","scopeName","startIndex","valid","current","errors","getErrors","next","scopeFields","newIndex","pathsWithErrors","prev","goTo","stepNumber","step","isFirst","isLast","isValid","isDirty","DestroyRef","signal","inject","injectBitWatch","path","store","useBitStore","destroyRef","inject","DestroyRef","valueSig","signal","getDeepValue","valueEqual","unsub","v","computed","DestroyRef","inject","signal","injectBitUpload","fieldPath","uploadFn","deleteFile","store","inject","BIT_STORE_TOKEN","field","injectBitField","uploadKey","isUploading","signal","sharedGen","kernelCallbacks","val","path","msg","key","e","upload","createUploadHandler","remove","createRemoveHandler","DestroyRef","computed","computed","DestroyRef","inject","signal","injectBitPersist","store","useBitStore","persist","signal","unsubscribe","observePersistMetaSnapshot","nextPersist","inject","DestroyRef","computed"]}
|
|
1
|
+
{"version":3,"sources":["../../src/angular/provider.ts","../../src/angular/inject-bit-form.ts","../../src/angular/inject-bit-field.ts","../../src/angular/inject-bit-array.ts","../../src/angular/inject-bit-history.ts","../../src/angular/inject-bit-scope.ts","../../src/angular/inject-bit-steps.ts","../../src/angular/inject-bit-watch.ts","../../src/angular/inject-bit-upload.ts","../../src/angular/inject-bit-persist.ts"],"sourcesContent":["import { inject, InjectionToken, Provider } from \"@angular/core\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_TOKEN = new InjectionToken<BitFrameworkStoreApi<any>>(\n \"BIT_STORE\",\n);\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n): Provider {\n const adapted = createFrameworkStoreAdapter<T>(store);\n\n return {\n provide: BIT_STORE_TOKEN,\n useValue: adapted,\n };\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_TOKEN, { optional: true });\n\n if (!store) {\n throw new Error(\n \"BitForm: Não foi possível encontrar a BitStore. \" +\n 'Certifique-se de que você adicionou \"provideBitStore(store)\" nos providers do seu componente.',\n );\n }\n\n return store as BitFrameworkStoreApi<T>;\n}\n","import { signal, computed, inject, DestroyRef } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { InjectBitFormResult } from \"./types\";\n\nexport function injectBitForm<T extends object>(): InjectBitFormResult<T> {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n const stateSignal = signal({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = signal<Error | null>(null);\n const lastResponse = signal<unknown>(null);\n\n const sub = observeFormMetaSnapshot(store, (nextMeta) => {\n stateSignal.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n const isValid = computed(() => stateSignal().isValid);\n const isSubmitting = computed(() => stateSignal().isSubmitting);\n const isDirty = computed(() => stateSignal().isDirty);\n\n const { controller, actions } = createFrameworkFormBinding(\n store,\n {\n clearSubmissionState: () => {\n submitError.set(null);\n lastResponse.set(null);\n },\n setSubmissionResult: (result) => {\n lastResponse.set(result);\n },\n setSubmissionError: (error) => {\n submitError.set(error);\n },\n },\n { stopPropagation: true },\n );\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError: submitError.asReadonly(),\n lastResponse: lastResponse.asReadonly(),\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: controller.onSubmit,\n reset: controller.reset,\n ...actions,\n };\n}\n","import { DestroyRef, computed, inject, signal } from \"@angular/core\";\nimport {\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { BitFieldInputEvent, InjectBitFieldResult } from \"./types\";\n\nexport function injectBitField<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): InjectBitFieldResult<TForm, P> {\n const store = inject(BIT_STORE_TOKEN);\n\n const stateSignal = signal(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n stateSignal.set(nextState);\n });\n\n inject(DestroyRef).onDestroy(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const value = computed(() => stateSignal().value as BitPathValue<TForm, P>);\n const metaState = computed(() => deriveFieldMeta(stateSignal()));\n const error = computed(() => metaState().error);\n const touched = computed(() => metaState().touched);\n const invalid = computed(() => metaState().invalid);\n const isDirty = computed(() => metaState().isDirty);\n const isValidating = computed(() => metaState().isValidating);\n const isHidden = computed(() => metaState().isHidden);\n const isRequired = computed(() => metaState().isRequired);\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const displayValue = computed(() => fieldController.displayValue(value()));\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 hasError = computed(() => metaState().hasError);\n\n const onBlur = () => fieldController.setBlur();\n\n const update = (e: BitFieldInputEvent) =>\n setValue(isBitFieldInputEventObject(e) ? (e.target?.value ?? null) : e);\n\n return {\n // Main handlers and values (flat)\n value,\n displayValue,\n setValue,\n setBlur,\n update,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\n\nexport function injectBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = inject(BIT_STORE_TOKEN);\n const destroyRef = inject(DestroyRef);\n const controller = createArrayBinding<TForm, P>(store, path);\n\n const valuesSig = signal<BitArrayItem<BitPathValue<TForm, P>>[]>(\n controller.readItems(),\n );\n\n const unsub = store.observe.subscribePath(path, () => {\n valuesSig.set(controller.readItems());\n });\n\n destroyRef.onDestroy(() => {\n unsub();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n return {\n fields: computed(() => controller.getFields(valuesSig())),\n length: computed(() => valuesSig().length),\n append: controller.append,\n prepend: controller.prepend,\n remove: controller.remove,\n insert: controller.insert,\n swap: controller.swap,\n move: controller.move,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport { observeHistoryMetaSnapshot, readHistoryMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitHistoryResult } from \"./types\";\n\nexport function injectBitHistory<\n T extends object = any,\n>(): InjectBitHistoryResult {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n\n const meta = signal(readHistoryMetaSnapshot(store));\n\n const sub = observeHistoryMetaSnapshot(store, (nextMeta) => {\n meta.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n return {\n canUndo: computed(() => meta().canUndo),\n canRedo: computed(() => meta().canRedo),\n historyIndex: computed(() => meta().historyIndex),\n historySize: computed(() => meta().historySize),\n undo: () => store.feature.undo(),\n redo: () => store.feature.redo(),\n };\n}\n","import type { Signal } from \"@angular/core\";\nimport { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { observeScopeStatusSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\ninterface InjectBitScopeResult {\n scopeName: string;\n status: Signal<ScopeStatus>;\n errors: Signal<Record<string, string>>;\n validate: () => Promise<ValidateScopeResult>;\n getErrors: () => Record<string, string>;\n isValid: Signal<boolean>;\n isDirty: Signal<boolean>;\n}\n\nexport function injectBitScope(scopeName: string): InjectBitScopeResult {\n const store = useBitStore();\n const initialStatus = store.read.getScopeStatus(scopeName);\n\n const status = signal<ScopeStatus>(initialStatus);\n\n const unsubscribe = observeScopeStatusSnapshot(\n store,\n scopeName,\n (nextStatus) => {\n status.set(nextStatus);\n },\n );\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => unsubscribe());\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(scopeName);\n\n const isValid = computed(() => !status().hasErrors);\n const isDirty = computed(() => status().isDirty);\n const errors = computed(() => status().errors);\n\n return {\n scopeName,\n status,\n errors,\n validate,\n getErrors,\n isValid,\n isDirty,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitStepsResult } from \"./types\";\n\nexport function injectBitSteps(scopeNames: string[]): InjectBitStepsResult {\n if (scopeNames.length === 0) {\n throw new Error(\"injectBitSteps: scopeNames must not be empty\");\n }\n const store = useBitStore();\n const stepIndex = signal(0);\n\n const scope = computed(() => scopeNames[stepIndex()] ?? \"\");\n\n const getCurrentScope = () => scopeNames[stepIndex()] ?? \"\";\n const status = signal<ScopeStatus>(\n store.read.getScopeStatus(getCurrentScope()),\n );\n\n let currentSubscribedScope = getCurrentScope();\n let unsubscribe = store.observe.subscribeScopeStatus(\n currentSubscribedScope,\n (nextStatus) => {\n if (getCurrentScope() !== currentSubscribedScope) return;\n if (!isScopeStatusEqual(status(), nextStatus)) {\n status.set(nextStatus);\n }\n },\n );\n\n const rebindScopeSubscription = () => {\n const newScope = getCurrentScope();\n const newUnsub = store.observe.subscribeScopeStatus(\n newScope,\n (nextStatus) => {\n if (getCurrentScope() !== newScope) return;\n if (!isScopeStatusEqual(status(), nextStatus)) {\n status.set(nextStatus);\n }\n },\n );\n const oldUnsub = unsubscribe;\n unsubscribe = newUnsub;\n currentSubscribedScope = newScope;\n oldUnsub();\n };\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => unsubscribe());\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const scopeName = getCurrentScope();\n const startIndex = stepIndex();\n const valid = await store.feature.validate({ scope: scopeName });\n if (stepIndex() !== startIndex) {\n const current = getCurrentScope();\n const reValid = await store.feature.validate({ scope: current });\n return { valid: reValid, errors: store.read.getScopeErrors(current) };\n }\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(getCurrentScope());\n\n const next = async (): Promise<boolean> => {\n const startIndex = stepIndex();\n const scopeName = scopeNames[startIndex] ?? \"\";\n\n if (!scopeName) return false;\n\n const scopeFields = store.read.getScopeFields(scopeName);\n if (store.feature.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.feature.validate({ scope: scopeName });\n\n if (stepIndex() !== startIndex) return false;\n\n if (valid) {\n const newIndex = Math.min(startIndex + 1, scopeNames.length - 1);\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n } else {\n const errors = store.read.getScopeErrors(scopeName);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.write.markFieldsTouched(pathsWithErrors);\n }\n status.set(store.read.getScopeStatus(scopeName));\n }\n return valid;\n };\n\n const prev = () => {\n const newIndex = Math.max(stepIndex() - 1, 0);\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n };\n\n const goTo = (stepNumber: number) => {\n const newIndex = Math.max(\n 0,\n Math.min(stepNumber - 1, scopeNames.length - 1),\n );\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n };\n\n const step = computed(() => stepIndex() + 1);\n const isFirst = computed(() => stepIndex() === 0);\n const isLast = computed(() => stepIndex() >= scopeNames.length - 1);\n const isValid = computed(() => !status().hasErrors);\n const isDirty = computed(() => status().isDirty);\n const errors = computed(() => status().errors);\n\n return {\n step,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors,\n isValid,\n isDirty,\n validate,\n getErrors,\n };\n}\n","import { DestroyRef, signal, Signal, inject } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { getDeepValue, valueEqual, BitPath, BitPathValue } from \"../core\";\n\nexport function injectBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): Signal<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n const destroyRef = inject(DestroyRef);\n const valueSig = signal<BitPathValue<TForm, P>>(\n getDeepValue(store.read.getState().values, path as string) as BitPathValue<\n TForm,\n P\n >,\n { equal: valueEqual },\n );\n\n const unsub = store.observe.subscribePath(path, (v) => {\n valueSig.set(v as BitPathValue<TForm, P>);\n });\n\n destroyRef.onDestroy(unsub);\n\n return valueSig.asReadonly();\n}\n","/**\n * Angular Dependency Injection for File Upload\n *\n * Minimal upload API integrated with global field validation lifecycle.\n */\n\nimport { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { injectBitField } from \"./inject-bit-field\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { InjectBitUploadResult } from \"./types\";\n\nexport function injectBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): InjectBitUploadResult {\n const store = inject(BIT_STORE_TOKEN);\n const field = injectBitField(fieldPath);\n let uploadKey: string | null = null;\n const isUploading = signal(false);\n const sharedGen = { current: 0 };\n\n const kernelCallbacks = {\n setLoading: (val: boolean) => isUploading.set(val),\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => field.setValue(val),\n getUploadKey: () => uploadKey,\n setUploadKey: (key: string | null) => {\n uploadKey = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n };\n\n const upload = createUploadHandler(fieldPath, uploadFn, kernelCallbacks, sharedGen);\n const remove = createRemoveHandler(fieldPath, deleteFile, kernelCallbacks, sharedGen);\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => {\n sharedGen.current++;\n uploadKey = null;\n });\n\n return {\n value: computed(() => field.value()),\n setValue: field.setValue,\n error: computed(() => field.meta.error()),\n isValidating: computed(() => !!field.meta.isValidating() || isUploading()),\n upload,\n remove,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport { observePersistMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitPersistResult } from \"./types\";\n\nexport function injectBitPersist<\n T extends object = any,\n>(): InjectBitPersistResult {\n const store = useBitStore<T>();\n const persist = signal(store.read.getPersistMetadata());\n\n const unsubscribe = observePersistMetaSnapshot(store, (nextPersist) => {\n persist.set(nextPersist);\n });\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => unsubscribe());\n\n const restore = async (): Promise<boolean> => {\n return store.feature.restorePersisted();\n };\n\n const save = async (): Promise<void> => {\n await store.feature.forceSave();\n };\n\n const clear = async (): Promise<void> => {\n await store.feature.clearPersisted();\n };\n\n return {\n restore,\n save,\n clear,\n meta: {\n isSaving: computed(() => persist().isSaving),\n isRestoring: computed(() => persist().isRestoring),\n error: computed(() => persist().error),\n },\n };\n}\n"],"mappings":"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","names":["inject","InjectionToken","BIT_STORE_TOKEN","InjectionToken","provideBitStore","store","adapted","createFrameworkStoreAdapter","useBitStore","inject","signal","computed","inject","DestroyRef","injectBitForm","store","useBitStore","destroyRef","inject","DestroyRef","stateSignal","signal","submitError","lastResponse","sub","observeFormMetaSnapshot","nextMeta","isValid","computed","isSubmitting","isDirty","controller","actions","createFrameworkFormBinding","result","error","DestroyRef","computed","inject","signal","injectBitField","path","store","inject","BIT_STORE_TOKEN","stateSignal","signal","unsubscribe","nextState","DestroyRef","cleanupRegisteredField","value","computed","metaState","deriveFieldMeta","error","touched","invalid","isDirty","isValidating","isHidden","isRequired","fieldController","createFrameworkMaskedFieldBinding","displayValue","setValue","val","setBlur","hasError","e","isBitFieldInputEventObject","computed","DestroyRef","inject","signal","injectBitArray","path","store","inject","BIT_STORE_TOKEN","destroyRef","DestroyRef","controller","createArrayBinding","valuesSig","signal","unsub","cleanupRegisteredPrefix","computed","computed","DestroyRef","inject","signal","injectBitHistory","store","useBitStore","destroyRef","inject","DestroyRef","meta","signal","readHistoryMetaSnapshot","sub","observeHistoryMetaSnapshot","nextMeta","computed","computed","DestroyRef","inject","signal","injectBitScope","scopeName","store","useBitStore","initialStatus","status","signal","unsubscribe","observeScopeStatusSnapshot","nextStatus","inject","DestroyRef","validate","valid","errors","getErrors","isValid","computed","isDirty","computed","DestroyRef","inject","signal","injectBitSteps","scopeNames","store","useBitStore","stepIndex","signal","scope","computed","getCurrentScope","status","currentSubscribedScope","unsubscribe","nextStatus","isScopeStatusEqual","rebindScopeSubscription","newScope","newUnsub","oldUnsub","inject","DestroyRef","validate","scopeName","startIndex","valid","current","errors","getErrors","next","scopeFields","newIndex","pathsWithErrors","prev","goTo","stepNumber","step","isFirst","isLast","isValid","isDirty","DestroyRef","signal","inject","injectBitWatch","path","store","useBitStore","destroyRef","inject","DestroyRef","valueSig","signal","getDeepValue","valueEqual","unsub","v","computed","DestroyRef","inject","signal","injectBitUpload","fieldPath","uploadFn","deleteFile","store","inject","BIT_STORE_TOKEN","field","injectBitField","uploadKey","isUploading","signal","sharedGen","kernelCallbacks","val","path","msg","key","e","upload","createUploadHandler","remove","createRemoveHandler","DestroyRef","computed","computed","DestroyRef","inject","signal","injectBitPersist","store","useBitStore","persist","signal","unsubscribe","observePersistMetaSnapshot","nextPersist","inject","DestroyRef","computed"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as u,c as D}from"./chunk-K5X37E3U.js";import{a as R}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as u,c as D}from"./chunk-K5X37E3U.js";import{a as R}from"./chunk-FF6WALLN.js";function j(e){return{values:e.values,errors:e.errors,touched:e.touched,isValid:e.isValid,isDirty:e.isDirty,isSubmitting:e.isSubmitting,isValidating:e.isValidating,persist:e.persist}}function A(e){let t=e.getHistoryMetadata();return{...j(e.getState()),_meta:{canUndo:t.canUndo,canRedo:t.canRedo,totalSteps:t.historySize,currentIndex:t.historyIndex}}}function h(e){let t={};for(let[o,i]of Object.entries(e))try{t[o]=A(i)}catch(a){console.warn(`[bit-form] Failed to snapshot store "${o}":`,a)}return t}function O(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.getState=="function"&&typeof t.getHistoryMetadata=="function"}function x(e){if(!O(e))return!1;let t=e;return typeof t.undo=="function"&&typeof t.redo=="function"&&typeof t.reset=="function"}function k(e,t){let o=e[t];return x(o)?o:null}var b=null,E=50;function W(e,t=R){b&&(console.warn("[bit-form] Reiniciando ponte do DevTools (Fast Refresh detectado)."),b());let o=null,i=null,a,s=null,d,c=new Set,f=!1,p=0,g=3e4,S=n=>{if(o?.readyState===WebSocket.OPEN)try{o.send(JSON.stringify(n))}catch(r){console.warn("[bit-form] Failed to serialize/send message:",r)}},w=()=>{if(c.size!==0)try{let n=h(Array.from(c).reduce((r,l)=>{let m=t.stores[l];return m&&(r[l]=m),r},{}));c.clear(),s=null,Object.keys(n).length>0&&S({type:"STATE_UPDATE",protocolVersion:1,payload:n})}catch(n){console.warn("[bit-form] Failed to create snapshot:",n),c.clear(),s=null}},I=()=>{s||(s=setTimeout(()=>{w()},E))},y=()=>{f=!1;try{o=new WebSocket(e)}catch(n){console.error("[bit-form] Failed to create WebSocket:",n);let l=Math.min(1e3*Math.pow(2,p),g)*(.5+Math.random()*.5);p++,f||(d=setTimeout(y,l));return}o.onopen=()=>{p=0,console.log("[bit-form] \u{1F50C} Conectado ao CLI DevTools via WebSocket."),S({type:"HELLO",protocolVersion:1,payload:{role:"server",protocolVersion:1}});let n=h(t.stores);Object.keys(n).length>0&&S({type:"STATE_UPDATE",protocolVersion:1,payload:n}),i=t.subscribe((r,l)=>{c.add(r),I()}),a=setInterval(()=>{S({type:"PING",protocolVersion:1})},3e4)},o.onmessage=n=>{try{let r=JSON.parse(n.data);if(D(r)){let{storeId:l,action:m}=r.payload,T=k(t.stores,l);if(!T)return;switch(m){case"undo":T.undo();break;case"redo":T.redo();break;case"reset":T.reset();break}}}catch(r){console.warn("[bit-form] Erro ao processar comando do CLI:",r)}},o.onerror=n=>{console.error("[bit-form] WebSocket error:",n)},o.onclose=()=>{if(i&&i(),a&&clearInterval(a),s&&(clearTimeout(s),s=null),c.clear(),f)console.log("[bit-form] Ponte antiga encerrada com sucesso.");else{console.log("[bit-form] Conex\xE3o perdida. Reconectando...");let r=Math.min(1e3*Math.pow(2,p),g)*(.5+Math.random()*.5);p++,d=setTimeout(y,r)}}};y();let v=!1,B=()=>{v||(v=!0,f=!0,d&&(clearTimeout(d),d=void 0),i&&i(),a&&clearInterval(a),s&&(clearTimeout(s),s=null),c.clear(),o&&(o.readyState===WebSocket.OPEN||o.readyState===WebSocket.CONNECTING)&&o.close(),b=null)};return b=B,B}export{h as a,k as b,W as c};
|
|
2
|
+
//# sourceMappingURL=chunk-4U32VQD5.js.map
|