@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.
Files changed (40) hide show
  1. package/dist/angular/index.cjs +1 -1
  2. package/dist/angular/index.cjs.map +1 -1
  3. package/dist/angular/index.js +1 -1
  4. package/dist/angular/index.js.map +1 -1
  5. package/dist/{chunk-3MWOSR4W.js → chunk-4U32VQD5.js} +2 -2
  6. package/dist/{chunk-77RIH3KJ.js → chunk-FF6WALLN.js} +2 -2
  7. package/dist/chunk-FF6WALLN.js.map +1 -0
  8. package/dist/{chunk-CTQXXT26.cjs → chunk-K3QLAMDG.cjs} +2 -2
  9. package/dist/{chunk-CTQXXT26.cjs.map → chunk-K3QLAMDG.cjs.map} +1 -1
  10. package/dist/chunk-KEINCG6A.js +2 -0
  11. package/dist/chunk-KEINCG6A.js.map +1 -0
  12. package/dist/{chunk-G6EG5AWJ.cjs → chunk-LBWJK3IC.cjs} +2 -2
  13. package/dist/{chunk-G6EG5AWJ.cjs.map → chunk-LBWJK3IC.cjs.map} +1 -1
  14. package/dist/chunk-UNBTMNY3.cjs +2 -0
  15. package/dist/chunk-UNBTMNY3.cjs.map +1 -0
  16. package/dist/core/store.cjs +1 -1
  17. package/dist/core/store.js +1 -1
  18. package/dist/core.cjs +1 -1
  19. package/dist/core.js +1 -1
  20. package/dist/devtools/bridge.cjs +1 -1
  21. package/dist/devtools/bridge.js +1 -1
  22. package/dist/devtools/index.cjs +2 -2
  23. package/dist/devtools/index.js +1 -1
  24. package/dist/index.cjs +1 -1
  25. package/dist/index.js +1 -1
  26. package/dist/react/index.cjs +1 -1
  27. package/dist/react/index.js +1 -1
  28. package/dist/react-native/index.cjs +1 -1
  29. package/dist/react-native/index.js +1 -1
  30. package/dist/vue/index.cjs +1 -1
  31. package/dist/vue/index.cjs.map +1 -1
  32. package/dist/vue/index.js +1 -1
  33. package/dist/vue/index.js.map +1 -1
  34. package/package.json +3 -3
  35. package/dist/chunk-77RIH3KJ.js.map +0 -1
  36. package/dist/chunk-KDNY7F5Q.cjs +0 -2
  37. package/dist/chunk-KDNY7F5Q.cjs.map +0 -1
  38. package/dist/chunk-V22XASFK.js +0 -2
  39. package/dist/chunk-V22XASFK.js.map +0 -1
  40. /package/dist/{chunk-3MWOSR4W.js.map → chunk-4U32VQD5.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-CTQXXT26.cjs","../src/core/store/engines/store-field-query-engine.ts","../src/core/store/orchestration/framework-store-brand.ts","../src/core/store/orchestration/hook-brand.ts","../src/core/store/managers/core/baseline-manager.ts","../src/core/store/managers/core/computed-manager.ts"],"names":["resolveFieldMask","args","path","getFieldConfig","masks","maskOption","createFieldStateSnapshot","state","value","isHidden","isRequired","isDirty","isValidating","pathKey","BIT_FRAMEWORK_STORE_SYMBOL","BIT_HOOKS_API_SYMBOL","BitBaselineManager","baselineValues","deepClone","values","BitComputedManager","getComputedEntries","onError","changedPaths","computedEntries","entriesToRun","nextValues","failedPaths","computedTouched","entry","dep","prefix","failed","newValue","error","currentValue","getDeepValue","cached","valuesEqual","canUseScalarCache","deepEqual","setDeepValue","entries","map","dependents","childIdx","segments","len","children","reverseDependencies","affectedPaths","queue","queueIndex","currentPath","dependentPath","orderedAllEntries","indexByPath","affectedEntries","entryIndex","left","right","item","entryByPath","inDegree","dependencyPath","nextDependents","orderedPaths","head","nextDegree","signature","ordered","orderedEntries","index"],"mappings":"AAAA,6jCAAuE,wDAA0C,wDAAmI,wDAA0C,SCU9QA,EAAAA,CAAmCC,CAAAA,CAI3B,CACtB,GAAM,CAAE,IAAA,CAAAC,CAAAA,CAAM,cAAA,CAAAC,CAAAA,CAAgB,KAAA,CAAAC,CAAM,CAAA,CAAIH,CAAAA,CAClCI,CAAAA,iBAAaF,CAAAA,mBAAeD,CAAI,CAAA,6BAAG,MAAA,CAEzC,EAAA,CAAKG,CAAAA,CAIL,OAAI,OAAOA,CAAAA,EAAe,QAAA,iBACjBD,CAAAA,4BAAAA,CAAQC,CAAgC,GAAA,CAG1CA,CACT,CAEO,SAASC,EAAAA,CAGdL,CAAAA,CAQ+C,CAC/C,GAAM,CAAE,KAAA,CAAAM,CAAAA,CAAO,IAAA,CAAAL,CAAAA,CAAM,KAAA,CAAAM,CAAAA,CAAO,QAAA,CAAAC,CAAAA,CAAU,UAAA,CAAAC,CAAAA,CAAY,OAAA,CAAAC,CAAAA,CAAS,YAAA,CAAAC,CAAa,CAAA,CACtEX,CAAAA,CACIY,CAAAA,CAAUX,CAAAA,CAEhB,MAAO,CACL,KAAA,CAAAM,CAAAA,CACA,KAAA,CAAOD,CAAAA,CAAM,MAAA,CAAOM,CAAiC,CAAA,CACrD,OAAA,CAAS,CAAC,CAACN,CAAAA,CAAM,OAAA,CAAQM,CAAqC,CAAA,CAC9D,QAAA,CAAAJ,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CACF,CACF,CCtDO,IAAME,CAAAA,CAA6B,MAAA,CAAO,GAAA,CAC/C,8BACF,CAAA,CCFO,IAAMC,CAAAA,CAAuB,MAAA,CAAO,GAAA,CAAI,oBAAoB,CAAA,CCE5D,IAAMC,CAAAA,CAAN,KAA2C,CAChD,WAAA,CAAYC,CAAAA,CAAmB,CAC7B,IAAA,CAAK,cAAA,CAAiBC,iCAAAA,CAAwB,CAChD,CAEQ,SAGR,CAAA,CAAe,CACb,OAAK,IAAA,CAAK,gBAAA,EAAA,CACR,IAAA,CAAK,gBAAA,CAAmB,MAAA,CAAO,MAAA,CAAOA,iCAAAA,IAAU,CAAK,cAAc,CAAC,CAAA,CAAA,CAG/D,IAAA,CAAK,gBACd,CAEA,SAAA,CAAUC,CAAAA,CAAiB,CACzB,IAAA,CAAK,cAAA,CAAiBD,iCAAAA,CAAgB,CAAA,CACtC,IAAA,CAAK,gBAAA,CAAmB,KAAA,CAC1B,CACF,CAAA,CCbO,IAAME,CAAAA,WAAN,KAA2C,CAkBhD,WAAA,CACUC,CAAAA,CACAC,CAAAA,CACR,6PAFQ,IAAA,CAAA,kBAAA,CAAAD,CAAAA,CACA,IAAA,CAAA,OAAA,CAAAC,CACP,gBApBK,aAAA,CAAgB,IAAI,IAAA,gBAIpB,gBAAA,CAAoD,KAAA,gBACpD,cAAA,CAAkD,KAAA,gBAClD,yBAAA,CAA2C,KAAA,gBAC3C,mBAAA,CAAoD,KAAA,gBACpD,sBAAA,CAGG,KAAA,gBACH,uBAAA,CAGG,KAAA,iBAOH,CAAkBd,CAAAA,CAAyB,CACjD,OACEA,CAAAA,GAAU,IAAA,EACT,OAAOA,CAAAA,EAAU,QAAA,EAAY,OAAOA,CAAAA,EAAU,UAEnD,CAEA,qBAAA,CAAA,CAA8B,CAC5B,IAAA,CAAK,gBAAA,CAAmB,IAAA,CACxB,IAAA,CAAK,cAAA,CAAiB,IAAA,CACtB,IAAA,CAAK,sBAAA,CAAyB,IAAA,CAC9B,IAAA,CAAK,yBAAA,CAA4B,IAAA,CACjC,IAAA,CAAK,mBAAA,CAAsB,IAAA,CAC3B,IAAA,CAAK,uBAAA,CAA0B,IAAA,CAC/B,IAAA,CAAK,aAAA,CAAc,KAAA,CAAM,CAC3B,CAEA,KAAA,CAAMW,CAAAA,CAAWI,CAAAA,CAGf,CACA,IAAMC,CAAAA,CAAkB,IAAA,CAAK,kBAAA,CAAmBL,CAAM,CAAA,CACtD,EAAA,CAAIK,CAAAA,CAAgB,MAAA,GAAW,CAAA,CAC7B,MAAO,CAAE,MAAA,CAAAL,CAAAA,CAAQ,oBAAA,CAAsB,CAAC,CAAE,CAAA,CAG5C,IAAA,CAAK,qBAAA,CAAsBK,CAAe,CAAA,CAE1C,IAAMC,CAAAA,CAAe,IAAA,CAAK,mBAAA,CACxBD,CAAAA,CACAD,CACF,CAAA,CAEA,EAAA,CAAIE,CAAAA,CAAa,MAAA,GAAW,CAAA,CAC1B,MAAO,CAAE,MAAA,CAAAN,CAAAA,CAAQ,oBAAA,CAAsB,CAAC,CAAE,CAAA,CAG5C,IAAIO,CAAAA,CAAaP,CAAAA,CACXQ,CAAAA,CAAc,IAAI,GAAA,CAClBC,CAAAA,CAAkB,IAAI,GAAA,CAE5B,GAAA,CAAA,IAAWC,EAAAA,GAASJ,CAAAA,CAAc,CAChC,EAAA,CAAII,CAAAA,CAAM,SAAA,CAAU,IAAA,CAAMC,CAAAA,EAAQ,CAChC,EAAA,CAAIH,CAAAA,CAAY,GAAA,CAAIG,CAAG,CAAA,CAAG,MAAO,CAAA,CAAA,CACjC,IAAMC,CAAAA,CAASD,CAAAA,CAAM,GAAA,CACrB,GAAA,CAAA,IAAWE,EAAAA,GAAUL,CAAAA,CACnB,EAAA,CAAIK,CAAAA,CAAO,UAAA,CAAWD,CAAM,CAAA,CAAG,MAAO,CAAA,CAAA,CAExC,MAAO,CAAA,CACT,CAAC,CAAA,CAAG,CACFJ,CAAAA,CAAY,GAAA,CAAIE,CAAAA,CAAM,IAAI,CAAA,CAC1B,QACF,CAEA,IAAII,CAAAA,CACJ,GAAI,CACFA,CAAAA,CAAWJ,CAAAA,CAAM,OAAA,CAAQH,CAAU,CACrC,CAAA,KAAA,CAASQ,CAAAA,CAAO,iBACd,IAAA,qBAAK,OAAA,0BAAA,CAAUA,CAAAA,CAAOL,CAAAA,CAAM,IAAI,GAAA,CAChCF,CAAAA,CAAY,GAAA,CAAIE,CAAAA,CAAM,IAAI,CAAA,CAC1B,QACF,CAEA,IAAIM,CAAAA,CACJ,GAAI,CACFA,CAAAA,CAAeC,iCAAAA,CAAaV,CAAYG,CAAAA,CAAM,IAAI,CACpD,CAAA,KAAA,CAASK,CAAAA,CAAO,iBACd,IAAA,qBAAK,OAAA,0BAAA,CAAUA,CAAAA,CAAOL,CAAAA,CAAM,IAAI,GAAA,CAChCF,CAAAA,CAAY,GAAA,CAAIE,CAAAA,CAAM,IAAI,CAAA,CAC1B,QACF,CAEA,IAAMQ,CAAAA,CAAS,IAAA,CAAK,aAAA,CAAc,GAAA,CAAIR,CAAAA,CAAM,IAAI,CAAA,CAC5CS,CAAAA,CACEC,CAAAA,CACJ,IAAA,CAAK,iBAAA,CAAkBJ,CAAY,CAAA,EACnC,IAAA,CAAK,iBAAA,CAAkBF,CAAQ,CAAA,CAEjC,GAAI,CAEAM,CAAAA,EACAF,CAAAA,EACAA,CAAAA,CAAO,OAAA,GAAYF,CAAAA,EACnBE,CAAAA,CAAO,IAAA,GAASJ,CAAAA,CAEhBK,CAAAA,CAAcD,CAAAA,CAAO,KAAA,CAErBC,CAAAA,CAAcE,iCAAAA,CAAUL,CAAcF,CAAQ,CAElD,CAAA,KAAA,CAASC,CAAAA,CAAO,iBACd,IAAA,qBAAK,OAAA,4BAAA,CAAUA,CAAAA,CAAOL,CAAAA,CAAM,IAAI,GAAA,CAChCF,CAAAA,CAAY,GAAA,CAAIE,CAAAA,CAAM,IAAI,CAAA,CAC1B,QACF,CAeA,EAAA,CAbIU,CAAAA,CAAAA,CACE,IAAA,CAAK,aAAA,CAAc,IAAA,CAAO,GAAA,EAC5B,IAAA,CAAK,aAAA,CAAc,KAAA,CAAM,CAAA,CAE3B,IAAA,CAAK,aAAA,CAAc,GAAA,CAAIV,CAAAA,CAAM,IAAA,CAAM,CACjC,OAAA,CAASM,CAAAA,CACT,IAAA,CAAMF,CAAAA,CACN,KAAA,CAAOK,CACT,CAAC,CAAA,CAAA,CAED,IAAA,CAAK,aAAA,CAAc,MAAA,CAAOT,CAAAA,CAAM,IAAI,CAAA,CAGlC,CAACS,CAAAA,CACH,GAAI,CACFZ,CAAAA,CAAae,iCAAAA,CAAaf,CAAYG,CAAAA,CAAM,IAAA,CAAMI,CAAQ,CAAA,CAC1DL,CAAAA,CAAgB,GAAA,CAAIC,CAAAA,CAAM,IAAI,CAChC,CAAA,KAAA,CAASK,CAAAA,CAAO,iBACd,IAAA,uBAAK,OAAA,4BAAA,CAAUA,CAAAA,CAAOL,CAAAA,CAAM,IAAI,GAAA,CAChCF,CAAAA,CAAY,GAAA,CAAIE,CAAAA,CAAM,IAAI,CAAA,CAC1B,QACF,CAEJ,CACA,MAAO,CACL,MAAA,CAAQH,CAAAA,CACR,oBAAA,CAAsB,CAAC,GAAGE,CAAe,CAC3C,CACF,CAEQ,sBAAA,CACNc,CAAAA,CAC0B,CAC1B,EAAA,CAAI,IAAA,CAAK,gBAAA,CAAkB,OAAO,IAAA,CAAK,gBAAA,CAEvC,IAAMC,CAAAA,CAAM,IAAI,GAAA,CAEhB,GAAA,CAAA,IAAWd,EAAAA,GAASa,CAAAA,CAClB,GAAA,CAAA,IAAWZ,EAAAA,GAAOD,CAAAA,CAAM,SAAA,CAAW,CACjC,IAAIe,CAAAA,CAAaD,CAAAA,CAAI,GAAA,CAAIb,CAAG,CAAA,CACvBc,CAAAA,EAAAA,CACHA,CAAAA,CAAa,IAAI,GAAA,CACjBD,CAAAA,CAAI,GAAA,CAAIb,CAAAA,CAAKc,CAAU,CAAA,CAAA,CAEzBA,CAAAA,CAAW,GAAA,CAAIf,CAAAA,CAAM,IAAI,CAC3B,CAGF,IAAMgB,CAAAA,CAAW,IAAI,GAAA,CAErB,GAAA,CAAA,IAAWf,EAAAA,GAAOa,CAAAA,CAAI,IAAA,CAAK,CAAA,CAAG,CAC5B,IAAMG,CAAAA,CAAWhB,CAAAA,CAAI,KAAA,CAAM,GAAG,CAAA,CAC9B,GAAA,CAAA,IAASiB,CAAAA,CAAM,CAAA,CAAGA,CAAAA,CAAMD,CAAAA,CAAS,MAAA,CAAQC,CAAAA,EAAAA,CAAO,CAC9C,IAAMhB,CAAAA,CAASe,CAAAA,CAAS,KAAA,CAAM,CAAA,CAAGC,CAAG,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,CAC1CC,CAAAA,CAAWH,CAAAA,CAAS,GAAA,CAAId,CAAM,CAAA,CAC7BiB,CAAAA,EAAAA,CACHA,CAAAA,CAAW,IAAI,GAAA,CACfH,CAAAA,CAAS,GAAA,CAAId,CAAAA,CAAQiB,CAAQ,CAAA,CAAA,CAE/BA,CAAAA,CAAS,GAAA,CAAIlB,CAAG,CAClB,CACF,CAEA,OAAA,IAAA,CAAK,gBAAA,CAAmBa,CAAAA,CACxB,IAAA,CAAK,cAAA,CAAiBE,CAAAA,CACfF,CACT,CAEQ,mBAAA,CACND,CAAAA,CACAnB,CAAAA,CACuB,CACvB,EAAA,CACE,CAACA,CAAAA,EACDA,CAAAA,CAAa,MAAA,GAAW,CAAA,EACxBA,CAAAA,CAAa,QAAA,CAAS,GAAG,CAAA,CAEzB,OAAO,IAAA,CAAK,oBAAA,CAAqBmB,CAAO,CAAA,CAG1C,IAAMO,CAAAA,CAAsB,IAAA,CAAK,sBAAA,CAAuBP,CAAO,CAAA,CACzDQ,CAAAA,CAAgB,IAAI,GAAA,CACpBC,CAAAA,CAAQ,CAAC,GAAG5B,CAAY,CAAA,CAC1B6B,CAAAA,CAAa,CAAA,CAEjB,GAAA,CAAA,CAAOA,CAAAA,CAAaD,CAAAA,CAAM,MAAA,CAAA,CAAQ,CAChC,IAAME,CAAAA,CAAcF,CAAAA,CAAMC,CAAAA,EAAY,CAAA,CAChCR,CAAAA,CAAa,IAAA,CAAK,oBAAA,CACtBK,CAAAA,CACAI,CACF,CAAA,CAEA,EAAA,CAAKT,CAAAA,CAIL,GAAA,CAAA,IAAWU,EAAAA,GAAiBV,CAAAA,CACtBM,CAAAA,CAAc,GAAA,CAAII,CAAa,CAAA,EAAA,CAInCJ,CAAAA,CAAc,GAAA,CAAII,CAAa,CAAA,CAC/BH,CAAAA,CAAM,IAAA,CAAKG,CAAa,CAAA,CAE5B,CAEA,EAAA,CAAIJ,CAAAA,CAAc,IAAA,GAAS,CAAA,CACzB,MAAO,CAAC,CAAA,CAGV,IAAMK,CAAAA,CAAoB,IAAA,CAAK,oBAAA,CAAqBb,CAAO,CAAA,CACrDc,CAAAA,CAAc,IAAA,CAAK,qBAAA,CAAsBd,CAAAA,CAASa,CAAiB,CAAA,CACnEE,CAAAA,CAGD,CAAC,CAAA,CAEN,OAAAP,CAAAA,CAAc,OAAA,CAAShD,CAAAA,EAAS,CAC9B,IAAMwD,CAAAA,CAAaF,CAAAA,CAAY,GAAA,CAAItD,CAAI,CAAA,CACvC,EAAA,CAAIwD,CAAAA,GAAe,KAAA,CAAA,CACjB,MAAA,CAGF,IAAM7B,CAAAA,CAAQ0B,CAAAA,CAAkBG,CAAU,CAAA,CACrC7B,CAAAA,EAIL4B,CAAAA,CAAgB,IAAA,CAAK,CAAE,KAAA,CAAOC,CAAAA,CAAY,KAAA,CAAA7B,CAAM,CAAC,CACnD,CAAC,CAAA,CAED4B,CAAAA,CAAgB,IAAA,CAAK,CAACE,CAAAA,CAAMC,CAAAA,CAAAA,EAAUD,CAAAA,CAAK,KAAA,CAAQC,CAAAA,CAAM,KAAK,CAAA,CACvDH,CAAAA,CAAgB,GAAA,CAAKI,CAAAA,EAASA,CAAAA,CAAK,KAAK,CACjD,CAEQ,YAAA,CAAanB,CAAAA,CAAgC,CACnD,EAAA,CAAIA,CAAAA,CAAQ,MAAA,EAAU,CAAA,CACpB,OAAOA,CAAAA,CAGT,IAAMoB,CAAAA,CAAc,IAAI,GAAA,CAAIpB,CAAAA,CAAQ,GAAA,CAAKb,CAAAA,EAAU,CAACA,CAAAA,CAAM,IAAA,CAAMA,CAAK,CAAC,CAAC,CAAA,CACjEkC,CAAAA,CAAW,IAAI,GAAA,CACfnB,CAAAA,CAAa,IAAI,GAAA,CAEvBF,CAAAA,CAAQ,OAAA,CAASb,CAAAA,EAAUkC,CAAAA,CAAS,GAAA,CAAIlC,CAAAA,CAAM,IAAA,CAAM,CAAC,CAAC,CAAA,CAEtDa,CAAAA,CAAQ,OAAA,CAASb,CAAAA,EAAU,CACzBA,CAAAA,CAAM,SAAA,CAAU,OAAA,CAASmC,CAAAA,EAAmB,CAC1C,EAAA,CAAI,CAACF,CAAAA,CAAY,GAAA,CAAIE,CAAc,CAAA,CACjC,MAAA,CAGF,IAAMC,CAAAA,kBAAiBrB,CAAAA,CAAW,GAAA,CAAIoB,CAAc,CAAA,SAAK,IAAI,KAAA,CACxDC,CAAAA,CAAe,GAAA,CAAIpC,CAAAA,CAAM,IAAI,CAAA,EAAA,CAChCoC,CAAAA,CAAe,GAAA,CAAIpC,CAAAA,CAAM,IAAI,CAAA,CAC7Be,CAAAA,CAAW,GAAA,CAAIoB,CAAAA,CAAgBC,CAAc,CAAA,CAC7CF,CAAAA,CAAS,GAAA,CAAIlC,CAAAA,CAAM,IAAA,CAAA,kBAAOkC,CAAAA,CAAS,GAAA,CAAIlC,CAAAA,CAAM,IAAI,CAAA,SAAK,GAAA,CAAA,CAAK,CAAC,CAAA,CAEhE,CAAC,CACH,CAAC,CAAA,CAED,IAAMsB,CAAAA,CAAQT,CAAAA,CACX,MAAA,CAAQb,CAAAA,EAAAA,kBAAWkC,CAAAA,CAAS,GAAA,CAAIlC,CAAAA,CAAM,IAAI,CAAA,SAAK,GAAA,CAAA,GAAO,CAAC,CAAA,CACvD,GAAA,CAAKA,CAAAA,EAAUA,CAAAA,CAAM,IAAI,CAAA,CACtBqC,CAAAA,CAAyB,CAAC,CAAA,CAE5BC,CAAAA,CAAO,CAAA,CACX,GAAA,CAAA,CAAOA,CAAAA,CAAOhB,CAAAA,CAAM,MAAA,CAAA,CAAQ,CAC1B,IAAME,CAAAA,CAAcF,CAAAA,CAAMgB,CAAAA,EAAM,CAAA,CAChCD,CAAAA,CAAa,IAAA,CAAKb,CAAW,CAAA,CAE7B,IAAMY,CAAAA,CAAiBrB,CAAAA,CAAW,GAAA,CAAIS,CAAW,CAAA,CAC5CY,CAAAA,EAILA,CAAAA,CAAe,OAAA,CAASX,CAAAA,EAAkB,CACxC,IAAMc,CAAAA,CAAAA,kBAAcL,CAAAA,CAAS,GAAA,CAAIT,CAAa,CAAA,SAAK,GAAA,CAAA,CAAK,CAAA,CACxDS,CAAAA,CAAS,GAAA,CAAIT,CAAAA,CAAec,CAAU,CAAA,CAElCA,CAAAA,GAAe,CAAA,EACjBjB,CAAAA,CAAM,IAAA,CAAKG,CAAa,CAE5B,CAAC,CACH,CAEA,EAAA,CAAIY,CAAAA,CAAa,MAAA,GAAWxB,CAAAA,CAAQ,MAAA,CAClC,MAAM,IAAI,KAAA,CACR,uFACF,CAAA,CAGF,OAAOwB,CAAAA,CAAa,GAAA,CAAKhE,CAAAA,EAAS4D,CAAAA,CAAY,GAAA,CAAI5D,CAAI,CAAE,CAC1D,CAEQ,oBAAA,CAAqBwC,CAAAA,CAAgC,CAC3D,IAAM2B,CAAAA,CAAY,IAAA,CAAK,sBAAA,CAAuB3B,CAAO,CAAA,CACrD,EAAA,CACE,IAAA,CAAK,sBAAA,EACL,IAAA,CAAK,sBAAA,CAAuB,SAAA,GAAc2B,CAAAA,CAE1C,OAAO,IAAA,CAAK,sBAAA,CAAuB,OAAA,CAGrC,IAAMC,CAAAA,CAAU,IAAA,CAAK,YAAA,CAAa5B,CAAO,CAAA,CACzC,OAAA,IAAA,CAAK,sBAAA,CAAyB,CAAE,SAAA,CAAA2B,CAAAA,CAAW,OAAA,CAAAC,CAAQ,CAAA,CAC5CA,CACT,CAEQ,qBAAA,CACN5B,CAAAA,CACA6B,CAAAA,CACqB,CACrB,IAAMF,CAAAA,CAAY,IAAA,CAAK,sBAAA,CAAuB3B,CAAO,CAAA,CACrD,EAAA,CACE,IAAA,CAAK,uBAAA,EACL,IAAA,CAAK,uBAAA,CAAwB,SAAA,GAAc2B,CAAAA,CAE3C,OAAO,IAAA,CAAK,uBAAA,CAAwB,WAAA,CAGtC,IAAMb,CAAAA,CAAc,IAAI,GAAA,CACxB,OAAAe,CAAAA,CAAe,OAAA,CAAQ,CAAC1C,CAAAA,CAAO2C,CAAAA,CAAAA,EAAU,CACvChB,CAAAA,CAAY,GAAA,CAAI3B,CAAAA,CAAM,IAAA,CAAM2C,CAAK,CACnC,CAAC,CAAA,CAED,IAAA,CAAK,uBAAA,CAA0B,CAAE,SAAA,CAAAH,CAAAA,CAAW,WAAA,CAAAb,CAAY,CAAA,CACjDA,CACT,CAEQ,qBAAA,CAAsBd,CAAAA,CAAgC,CAC5D,EAAA,CAAI,IAAA,CAAK,mBAAA,GAAwBA,CAAAA,CAC/B,MAAA,CAGF,IAAM2B,CAAAA,CAAY,IAAA,CAAK,sBAAA,CAAuB3B,CAAO,CAAA,CACrD,EAAA,CAAI,IAAA,CAAK,yBAAA,GAA8B2B,CAAAA,CAAW,CAChD,IAAA,CAAK,mBAAA,CAAsB3B,CAAAA,CAC3B,MACF,CAEAA,CAAAA,CAAQ,OAAA,CAASb,CAAAA,EAAU,IAAA,CAAK,kBAAA,CAAmBA,CAAK,CAAC,CAAA,CACzD,IAAA,CAAK,qBAAA,CAAsB,CAAA,CAC3B,IAAA,CAAK,yBAAA,CAA4BwC,CAAAA,CACjC,IAAA,CAAK,mBAAA,CAAsB3B,CAC7B,CAEQ,sBAAA,CAAuBA,CAAAA,CAAwC,CACrE,OAAOA,CAAAA,CACJ,GAAA,CAAKb,CAAAA,EAAU,CAAA,EAAA","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-CTQXXT26.cjs","sourcesContent":[null,"import type { BitMask, BitMaskName } from \"../../mask/types\";\nimport type {\n BitErrors,\n BitFieldDefinition,\n BitFieldState,\n BitPath,\n BitPathValue,\n BitState,\n} from \"../contracts/types\";\n\nexport function resolveFieldMask<T extends object>(args: {\n path: string;\n getFieldConfig: (path: string) => BitFieldDefinition<T> | undefined;\n masks: Record<BitMaskName, BitMask> | undefined;\n}): BitMask | undefined {\n const { path, getFieldConfig, masks } = args;\n const maskOption = getFieldConfig(path)?.mask;\n\n if (!maskOption) {\n return undefined;\n }\n\n if (typeof maskOption === \"string\") {\n return masks?.[maskOption as keyof typeof masks];\n }\n\n return maskOption;\n}\n\nexport function createFieldStateSnapshot<\n TForm extends object,\n P extends BitPath<TForm>,\n>(args: {\n state: Readonly<BitState<TForm>>;\n path: P;\n value: BitPathValue<TForm, P>;\n isHidden: boolean;\n isRequired: boolean;\n isDirty: boolean;\n isValidating: boolean;\n}): BitFieldState<TForm, BitPathValue<TForm, P>> {\n const { state, path, value, isHidden, isRequired, isDirty, isValidating } =\n args;\n const pathKey = path as string;\n\n return {\n value,\n error: state.errors[pathKey as keyof BitErrors<TForm>],\n touched: !!state.touched[pathKey as keyof typeof state.touched],\n isHidden,\n isRequired,\n isDirty,\n isValidating,\n };\n}\n","export const BIT_FRAMEWORK_STORE_SYMBOL = Symbol.for(\n \"bit-form.framework-store-api\",\n);\n","export const BIT_HOOKS_API_SYMBOL = Symbol.for(\"bit-form.hooks-api\");\n","import { deepClone } from \"../../../utils\";\n\nexport class BitBaselineManager<T extends object> {\n constructor(baselineValues: T) {\n this.baselineValues = deepClone(baselineValues);\n }\n\n private baselineValues: T;\n private baselineSnapshot?: Readonly<T>;\n\n getValues(): T {\n if (!this.baselineSnapshot) {\n this.baselineSnapshot = Object.freeze(deepClone(this.baselineValues));\n }\n\n return this.baselineSnapshot as T;\n }\n\n setValues(values: T): void {\n this.baselineValues = deepClone(values);\n this.baselineSnapshot = undefined;\n }\n}\n","import { deepEqual, getDeepValue, setDeepValue } from \"../../../utils\";\nimport type { BitComputedFn } from \"../../contracts/types\";\n\nexport interface BitComputedEntry<T extends object> {\n path: string;\n compute: BitComputedFn<T>;\n dependsOn: readonly string[];\n}\n\nexport class BitComputedManager<T extends object> {\n private equalityCache = new Map<\n string,\n { current: unknown; next: unknown; equal: boolean }\n >();\n private reverseDepsCache: Map<string, Set<string>> | null = null;\n private childDepsIndex: Map<string, Set<string>> | null = null;\n private validatedEntriesSignature: string | null = null;\n private validatedEntriesRef: BitComputedEntry<T>[] | null = null;\n private orderedAllEntriesCache: {\n signature: string;\n ordered: BitComputedEntry<T>[];\n } | null = null;\n private orderedIndexByPathCache: {\n signature: string;\n indexByPath: Map<string, number>;\n } | null = null;\n\n constructor(\n private getComputedEntries: (values: T) => BitComputedEntry<T>[],\n private onError?: (error: unknown, path: string) => void,\n ) {}\n\n private isCacheableScalar(value: unknown): boolean {\n return (\n value === null ||\n (typeof value !== \"object\" && typeof value !== \"function\")\n );\n }\n\n invalidateReverseDeps(): void {\n this.reverseDepsCache = null;\n this.childDepsIndex = null;\n this.orderedAllEntriesCache = null;\n this.validatedEntriesSignature = null;\n this.validatedEntriesRef = null;\n this.orderedIndexByPathCache = null;\n this.equalityCache.clear();\n }\n\n apply(values: T, changedPaths?: readonly string[]): {\n values: T;\n changedComputedPaths: string[];\n } {\n const computedEntries = this.getComputedEntries(values);\n if (computedEntries.length === 0) {\n return { values, changedComputedPaths: [] };\n }\n\n this.ensureEntriesAreValid(computedEntries);\n\n const entriesToRun = this.resolveEntriesToRun(\n computedEntries,\n changedPaths,\n );\n\n if (entriesToRun.length === 0) {\n return { values, changedComputedPaths: [] };\n }\n\n let nextValues = values;\n const failedPaths = new Set<string>();\n const computedTouched = new Set<string>();\n\n for (const entry of entriesToRun) {\n if (entry.dependsOn.some((dep) => {\n if (failedPaths.has(dep)) return true;\n const prefix = dep + \".\";\n for (const failed of failedPaths) {\n if (failed.startsWith(prefix)) return true;\n }\n return false;\n })) {\n failedPaths.add(entry.path);\n continue;\n }\n\n let newValue: unknown;\n try {\n newValue = entry.compute(nextValues);\n } catch (error) {\n this.onError?.(error, entry.path);\n failedPaths.add(entry.path);\n continue;\n }\n\n let currentValue: unknown;\n try {\n currentValue = getDeepValue(nextValues, entry.path);\n } catch (error) {\n this.onError?.(error, entry.path);\n failedPaths.add(entry.path);\n continue;\n }\n\n const cached = this.equalityCache.get(entry.path);\n let valuesEqual: boolean;\n const canUseScalarCache =\n this.isCacheableScalar(currentValue) &&\n this.isCacheableScalar(newValue);\n\n try {\n if (\n canUseScalarCache &&\n cached &&\n cached.current === currentValue &&\n cached.next === newValue\n ) {\n valuesEqual = cached.equal;\n } else {\n valuesEqual = deepEqual(currentValue, newValue);\n }\n } catch (error) {\n this.onError?.(error, entry.path);\n failedPaths.add(entry.path);\n continue;\n }\n\n if (canUseScalarCache) {\n if (this.equalityCache.size > 1000) {\n this.equalityCache.clear();\n }\n this.equalityCache.set(entry.path, {\n current: currentValue,\n next: newValue,\n equal: valuesEqual,\n });\n } else {\n this.equalityCache.delete(entry.path);\n }\n\n if (!valuesEqual) {\n try {\n nextValues = setDeepValue(nextValues, entry.path, newValue);\n computedTouched.add(entry.path);\n } catch (error) {\n this.onError?.(error, entry.path);\n failedPaths.add(entry.path);\n continue;\n }\n }\n }\n return {\n values: nextValues,\n changedComputedPaths: [...computedTouched],\n };\n }\n\n private getReverseDependencies(\n entries: BitComputedEntry<T>[],\n ): Map<string, Set<string>> {\n if (this.reverseDepsCache) return this.reverseDepsCache;\n\n const map = new Map<string, Set<string>>();\n\n for (const entry of entries) {\n for (const dep of entry.dependsOn) {\n let dependents = map.get(dep);\n if (!dependents) {\n dependents = new Set();\n map.set(dep, dependents);\n }\n dependents.add(entry.path);\n }\n }\n\n const childIdx = new Map<string, Set<string>>();\n\n for (const dep of map.keys()) {\n const segments = dep.split(\".\");\n for (let len = 1; len < segments.length; len++) {\n const prefix = segments.slice(0, len).join(\".\");\n let children = childIdx.get(prefix);\n if (!children) {\n children = new Set();\n childIdx.set(prefix, children);\n }\n children.add(dep);\n }\n }\n\n this.reverseDepsCache = map;\n this.childDepsIndex = childIdx;\n return map;\n }\n\n private resolveEntriesToRun(\n entries: BitComputedEntry<T>[],\n changedPaths?: readonly string[],\n ): BitComputedEntry<T>[] {\n if (\n !changedPaths ||\n changedPaths.length === 0 ||\n changedPaths.includes(\"*\")\n ) {\n return this.getOrderedAllEntries(entries);\n }\n\n const reverseDependencies = this.getReverseDependencies(entries);\n const affectedPaths = new Set<string>();\n const queue = [...changedPaths];\n let queueIndex = 0;\n\n while (queueIndex < queue.length) {\n const currentPath = queue[queueIndex++]!;\n const dependents = this.getDependentsForPath(\n reverseDependencies,\n currentPath,\n );\n\n if (!dependents) {\n continue;\n }\n\n for (const dependentPath of dependents) {\n if (affectedPaths.has(dependentPath)) {\n continue;\n }\n\n affectedPaths.add(dependentPath);\n queue.push(dependentPath);\n }\n }\n\n if (affectedPaths.size === 0) {\n return [];\n }\n\n const orderedAllEntries = this.getOrderedAllEntries(entries);\n const indexByPath = this.getOrderedIndexByPath(entries, orderedAllEntries);\n const affectedEntries: Array<{\n index: number;\n entry: BitComputedEntry<T>;\n }> = [];\n\n affectedPaths.forEach((path) => {\n const entryIndex = indexByPath.get(path);\n if (entryIndex === undefined) {\n return;\n }\n\n const entry = orderedAllEntries[entryIndex];\n if (!entry) {\n return;\n }\n\n affectedEntries.push({ index: entryIndex, entry });\n });\n\n affectedEntries.sort((left, right) => left.index - right.index);\n return affectedEntries.map((item) => item.entry);\n }\n\n private orderEntries(entries: BitComputedEntry<T>[]) {\n if (entries.length <= 1) {\n return entries;\n }\n\n const entryByPath = new Map(entries.map((entry) => [entry.path, entry]));\n const inDegree = new Map<string, number>();\n const dependents = new Map<string, Set<string>>();\n\n entries.forEach((entry) => inDegree.set(entry.path, 0));\n\n entries.forEach((entry) => {\n entry.dependsOn.forEach((dependencyPath) => {\n if (!entryByPath.has(dependencyPath)) {\n return;\n }\n\n const nextDependents = dependents.get(dependencyPath) ?? new Set();\n if (!nextDependents.has(entry.path)) {\n nextDependents.add(entry.path);\n dependents.set(dependencyPath, nextDependents);\n inDegree.set(entry.path, (inDegree.get(entry.path) ?? 0) + 1);\n }\n });\n });\n\n const queue = entries\n .filter((entry) => (inDegree.get(entry.path) ?? 0) === 0)\n .map((entry) => entry.path);\n const orderedPaths: string[] = [];\n\n let head = 0;\n while (head < queue.length) {\n const currentPath = queue[head++]!;\n orderedPaths.push(currentPath);\n\n const nextDependents = dependents.get(currentPath);\n if (!nextDependents) {\n continue;\n }\n\n nextDependents.forEach((dependentPath) => {\n const nextDegree = (inDegree.get(dependentPath) ?? 0) - 1;\n inDegree.set(dependentPath, nextDegree);\n\n if (nextDegree === 0) {\n queue.push(dependentPath);\n }\n });\n }\n\n if (orderedPaths.length !== entries.length) {\n throw new Error(\n \"BitStore: cyclic computed dependencies detected. Check computedDependsOn definitions.\",\n );\n }\n\n return orderedPaths.map((path) => entryByPath.get(path)!);\n }\n\n private getOrderedAllEntries(entries: BitComputedEntry<T>[]) {\n const signature = this.createEntriesSignature(entries);\n if (\n this.orderedAllEntriesCache &&\n this.orderedAllEntriesCache.signature === signature\n ) {\n return this.orderedAllEntriesCache.ordered;\n }\n\n const ordered = this.orderEntries(entries);\n this.orderedAllEntriesCache = { signature, ordered };\n return ordered;\n }\n\n private getOrderedIndexByPath(\n entries: BitComputedEntry<T>[],\n orderedEntries: BitComputedEntry<T>[],\n ): Map<string, number> {\n const signature = this.createEntriesSignature(entries);\n if (\n this.orderedIndexByPathCache &&\n this.orderedIndexByPathCache.signature === signature\n ) {\n return this.orderedIndexByPathCache.indexByPath;\n }\n\n const indexByPath = new Map<string, number>();\n orderedEntries.forEach((entry, index) => {\n indexByPath.set(entry.path, index);\n });\n\n this.orderedIndexByPathCache = { signature, indexByPath };\n return indexByPath;\n }\n\n private ensureEntriesAreValid(entries: BitComputedEntry<T>[]) {\n if (this.validatedEntriesRef === entries) {\n return;\n }\n\n const signature = this.createEntriesSignature(entries);\n if (this.validatedEntriesSignature === signature) {\n this.validatedEntriesRef = entries;\n return;\n }\n\n entries.forEach((entry) => this.assertDependencies(entry));\n this.invalidateReverseDeps();\n this.validatedEntriesSignature = signature;\n this.validatedEntriesRef = entries;\n }\n\n private createEntriesSignature(entries: BitComputedEntry<T>[]): string {\n return entries\n .map((entry) => `${entry.path}:${entry.dependsOn.join(\",\")}`)\n .join(\"|\");\n }\n\n private getDependentsForPath(\n reverseDependencies: Map<string, Set<string>>,\n changedPath: string,\n ) {\n const dependents = new Set<string>();\n\n const collect = (dependencyPath: string) => {\n const listeners = reverseDependencies.get(dependencyPath);\n if (!listeners) {\n return;\n }\n\n listeners.forEach((path) => dependents.add(path));\n };\n\n collect(changedPath);\n\n const parentSegments = changedPath.split(\".\");\n while (parentSegments.length > 1) {\n parentSegments.pop();\n collect(parentSegments.join(\".\"));\n }\n\n const childKeys = this.childDepsIndex?.get(changedPath);\n if (childKeys) {\n for (const childDep of childKeys) {\n collect(childDep);\n }\n }\n\n return dependents;\n }\n\n private assertDependencies(entry: BitComputedEntry<T>) {\n if (entry.dependsOn.length === 0) {\n throw new Error(\n `BitStore: computed field \\`${entry.path}\\` requires explicit computedDependsOn in v4.`,\n );\n }\n\n if (entry.dependsOn.includes(entry.path)) {\n throw new Error(\n `BitStore: computed field \\`${entry.path}\\` cannot depend on itself.`,\n );\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-K3QLAMDG.cjs","../src/core/store/engines/store-field-query-engine.ts","../src/core/store/orchestration/framework-store-brand.ts","../src/core/store/orchestration/hook-brand.ts","../src/core/store/managers/core/baseline-manager.ts","../src/core/store/managers/core/computed-manager.ts"],"names":["resolveFieldMask","args","path","getFieldConfig","masks","maskOption","createFieldStateSnapshot","state","value","isHidden","isRequired","isDirty","isValidating","pathKey","BIT_FRAMEWORK_STORE_SYMBOL","BIT_HOOKS_API_SYMBOL","BitBaselineManager","baselineValues","deepClone","values","BitComputedManager","getComputedEntries","onError","changedPaths","computedEntries","entriesToRun","nextValues","failedPaths","computedTouched","entry","dep","prefix","failed","newValue","error","currentValue","getDeepValue","cached","valuesEqual","canUseScalarCache","deepEqual","setDeepValue","entries","map","dependents","childIdx","segments","len","children","reverseDependencies","affectedPaths","queue","queueIndex","currentPath","dependentPath","orderedAllEntries","indexByPath","affectedEntries","entryIndex","left","right","item","entryByPath","inDegree","dependencyPath","nextDependents","orderedPaths","head","nextDegree","signature","ordered","orderedEntries","index"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-K3QLAMDG.cjs","sourcesContent":[null,"import type { BitMask, BitMaskName } from \"../../mask/types\";\nimport type {\n BitErrors,\n BitFieldDefinition,\n BitFieldState,\n BitPath,\n BitPathValue,\n BitState,\n} from \"../contracts/types\";\n\nexport function resolveFieldMask<T extends object>(args: {\n path: string;\n getFieldConfig: (path: string) => BitFieldDefinition<T> | undefined;\n masks: Record<BitMaskName, BitMask> | undefined;\n}): BitMask | undefined {\n const { path, getFieldConfig, masks } = args;\n const maskOption = getFieldConfig(path)?.mask;\n\n if (!maskOption) {\n return undefined;\n }\n\n if (typeof maskOption === \"string\") {\n return masks?.[maskOption as keyof typeof masks];\n }\n\n return maskOption;\n}\n\nexport function createFieldStateSnapshot<\n TForm extends object,\n P extends BitPath<TForm>,\n>(args: {\n state: Readonly<BitState<TForm>>;\n path: P;\n value: BitPathValue<TForm, P>;\n isHidden: boolean;\n isRequired: boolean;\n isDirty: boolean;\n isValidating: boolean;\n}): BitFieldState<TForm, BitPathValue<TForm, P>> {\n const { state, path, value, isHidden, isRequired, isDirty, isValidating } =\n args;\n const pathKey = path as string;\n\n return {\n value,\n error: state.errors[pathKey as keyof BitErrors<TForm>],\n touched: !!state.touched[pathKey as keyof typeof state.touched],\n isHidden,\n isRequired,\n isDirty,\n isValidating,\n };\n}\n","export const BIT_FRAMEWORK_STORE_SYMBOL = Symbol.for(\n \"bit-form.framework-store-api\",\n);\n","export const BIT_HOOKS_API_SYMBOL = Symbol.for(\"bit-form.hooks-api\");\n","import { deepClone } from \"../../../utils\";\n\nexport class BitBaselineManager<T extends object> {\n constructor(baselineValues: T) {\n this.baselineValues = deepClone(baselineValues);\n }\n\n private baselineValues: T;\n private baselineSnapshot?: Readonly<T>;\n\n getValues(): T {\n if (!this.baselineSnapshot) {\n this.baselineSnapshot = Object.freeze(deepClone(this.baselineValues));\n }\n\n return this.baselineSnapshot as T;\n }\n\n setValues(values: T): void {\n this.baselineValues = deepClone(values);\n this.baselineSnapshot = undefined;\n }\n}\n","import { deepEqual, getDeepValue, setDeepValue } from \"../../../utils\";\nimport type { BitComputedFn } from \"../../contracts/types\";\n\nexport interface BitComputedEntry<T extends object> {\n path: string;\n compute: BitComputedFn<T>;\n dependsOn: readonly string[];\n}\n\nexport class BitComputedManager<T extends object> {\n private equalityCache = new Map<\n string,\n { current: unknown; next: unknown; equal: boolean }\n >();\n private reverseDepsCache: Map<string, Set<string>> | null = null;\n private childDepsIndex: Map<string, Set<string>> | null = null;\n private validatedEntriesSignature: string | null = null;\n private validatedEntriesRef: BitComputedEntry<T>[] | null = null;\n private orderedAllEntriesCache: {\n signature: string;\n ordered: BitComputedEntry<T>[];\n } | null = null;\n private orderedIndexByPathCache: {\n signature: string;\n indexByPath: Map<string, number>;\n } | null = null;\n\n constructor(\n private getComputedEntries: (values: T) => BitComputedEntry<T>[],\n private onError?: (error: unknown, path: string) => void,\n ) {}\n\n private isCacheableScalar(value: unknown): boolean {\n return (\n value === null ||\n (typeof value !== \"object\" && typeof value !== \"function\")\n );\n }\n\n invalidateReverseDeps(): void {\n this.reverseDepsCache = null;\n this.childDepsIndex = null;\n this.orderedAllEntriesCache = null;\n this.validatedEntriesSignature = null;\n this.validatedEntriesRef = null;\n this.orderedIndexByPathCache = null;\n this.equalityCache.clear();\n }\n\n apply(values: T, changedPaths?: readonly string[]): {\n values: T;\n changedComputedPaths: string[];\n } {\n const computedEntries = this.getComputedEntries(values);\n if (computedEntries.length === 0) {\n return { values, changedComputedPaths: [] };\n }\n\n this.ensureEntriesAreValid(computedEntries);\n\n const entriesToRun = this.resolveEntriesToRun(\n computedEntries,\n changedPaths,\n );\n\n if (entriesToRun.length === 0) {\n return { values, changedComputedPaths: [] };\n }\n\n let nextValues = values;\n const failedPaths = new Set<string>();\n const computedTouched = new Set<string>();\n\n for (const entry of entriesToRun) {\n if (entry.dependsOn.some((dep) => {\n if (failedPaths.has(dep)) return true;\n const prefix = dep + \".\";\n for (const failed of failedPaths) {\n if (failed.startsWith(prefix)) return true;\n }\n return false;\n })) {\n failedPaths.add(entry.path);\n continue;\n }\n\n let newValue: unknown;\n try {\n newValue = entry.compute(nextValues);\n } catch (error) {\n this.onError?.(error, entry.path);\n failedPaths.add(entry.path);\n continue;\n }\n\n let currentValue: unknown;\n try {\n currentValue = getDeepValue(nextValues, entry.path);\n } catch (error) {\n this.onError?.(error, entry.path);\n failedPaths.add(entry.path);\n continue;\n }\n\n const cached = this.equalityCache.get(entry.path);\n let valuesEqual: boolean;\n const canUseScalarCache =\n this.isCacheableScalar(currentValue) &&\n this.isCacheableScalar(newValue);\n\n try {\n if (\n canUseScalarCache &&\n cached &&\n cached.current === currentValue &&\n cached.next === newValue\n ) {\n valuesEqual = cached.equal;\n } else {\n valuesEqual = deepEqual(currentValue, newValue);\n }\n } catch (error) {\n this.onError?.(error, entry.path);\n failedPaths.add(entry.path);\n continue;\n }\n\n if (canUseScalarCache) {\n if (this.equalityCache.size > 1000) {\n this.equalityCache.clear();\n }\n this.equalityCache.set(entry.path, {\n current: currentValue,\n next: newValue,\n equal: valuesEqual,\n });\n } else {\n this.equalityCache.delete(entry.path);\n }\n\n if (!valuesEqual) {\n try {\n nextValues = setDeepValue(nextValues, entry.path, newValue);\n computedTouched.add(entry.path);\n } catch (error) {\n this.onError?.(error, entry.path);\n failedPaths.add(entry.path);\n continue;\n }\n }\n }\n return {\n values: nextValues,\n changedComputedPaths: [...computedTouched],\n };\n }\n\n private getReverseDependencies(\n entries: BitComputedEntry<T>[],\n ): Map<string, Set<string>> {\n if (this.reverseDepsCache) return this.reverseDepsCache;\n\n const map = new Map<string, Set<string>>();\n\n for (const entry of entries) {\n for (const dep of entry.dependsOn) {\n let dependents = map.get(dep);\n if (!dependents) {\n dependents = new Set();\n map.set(dep, dependents);\n }\n dependents.add(entry.path);\n }\n }\n\n const childIdx = new Map<string, Set<string>>();\n\n for (const dep of map.keys()) {\n const segments = dep.split(\".\");\n for (let len = 1; len < segments.length; len++) {\n const prefix = segments.slice(0, len).join(\".\");\n let children = childIdx.get(prefix);\n if (!children) {\n children = new Set();\n childIdx.set(prefix, children);\n }\n children.add(dep);\n }\n }\n\n this.reverseDepsCache = map;\n this.childDepsIndex = childIdx;\n return map;\n }\n\n private resolveEntriesToRun(\n entries: BitComputedEntry<T>[],\n changedPaths?: readonly string[],\n ): BitComputedEntry<T>[] {\n if (\n !changedPaths ||\n changedPaths.length === 0 ||\n changedPaths.includes(\"*\")\n ) {\n return this.getOrderedAllEntries(entries);\n }\n\n const reverseDependencies = this.getReverseDependencies(entries);\n const affectedPaths = new Set<string>();\n const queue = [...changedPaths];\n let queueIndex = 0;\n\n while (queueIndex < queue.length) {\n const currentPath = queue[queueIndex++]!;\n const dependents = this.getDependentsForPath(\n reverseDependencies,\n currentPath,\n );\n\n if (!dependents) {\n continue;\n }\n\n for (const dependentPath of dependents) {\n if (affectedPaths.has(dependentPath)) {\n continue;\n }\n\n affectedPaths.add(dependentPath);\n queue.push(dependentPath);\n }\n }\n\n if (affectedPaths.size === 0) {\n return [];\n }\n\n const orderedAllEntries = this.getOrderedAllEntries(entries);\n const indexByPath = this.getOrderedIndexByPath(entries, orderedAllEntries);\n const affectedEntries: Array<{\n index: number;\n entry: BitComputedEntry<T>;\n }> = [];\n\n affectedPaths.forEach((path) => {\n const entryIndex = indexByPath.get(path);\n if (entryIndex === undefined) {\n return;\n }\n\n const entry = orderedAllEntries[entryIndex];\n if (!entry) {\n return;\n }\n\n affectedEntries.push({ index: entryIndex, entry });\n });\n\n affectedEntries.sort((left, right) => left.index - right.index);\n return affectedEntries.map((item) => item.entry);\n }\n\n private orderEntries(entries: BitComputedEntry<T>[]) {\n if (entries.length <= 1) {\n return entries;\n }\n\n const entryByPath = new Map(entries.map((entry) => [entry.path, entry]));\n const inDegree = new Map<string, number>();\n const dependents = new Map<string, Set<string>>();\n\n entries.forEach((entry) => inDegree.set(entry.path, 0));\n\n entries.forEach((entry) => {\n entry.dependsOn.forEach((dependencyPath) => {\n if (!entryByPath.has(dependencyPath)) {\n return;\n }\n\n const nextDependents = dependents.get(dependencyPath) ?? new Set();\n if (!nextDependents.has(entry.path)) {\n nextDependents.add(entry.path);\n dependents.set(dependencyPath, nextDependents);\n inDegree.set(entry.path, (inDegree.get(entry.path) ?? 0) + 1);\n }\n });\n });\n\n const queue = entries\n .filter((entry) => (inDegree.get(entry.path) ?? 0) === 0)\n .map((entry) => entry.path);\n const orderedPaths: string[] = [];\n\n let head = 0;\n while (head < queue.length) {\n const currentPath = queue[head++]!;\n orderedPaths.push(currentPath);\n\n const nextDependents = dependents.get(currentPath);\n if (!nextDependents) {\n continue;\n }\n\n nextDependents.forEach((dependentPath) => {\n const nextDegree = (inDegree.get(dependentPath) ?? 0) - 1;\n inDegree.set(dependentPath, nextDegree);\n\n if (nextDegree === 0) {\n queue.push(dependentPath);\n }\n });\n }\n\n if (orderedPaths.length !== entries.length) {\n throw new Error(\n \"BitStore: cyclic computed dependencies detected. Check computedDependsOn definitions.\",\n );\n }\n\n return orderedPaths.map((path) => entryByPath.get(path)!);\n }\n\n private getOrderedAllEntries(entries: BitComputedEntry<T>[]) {\n const signature = this.createEntriesSignature(entries);\n if (\n this.orderedAllEntriesCache &&\n this.orderedAllEntriesCache.signature === signature\n ) {\n return this.orderedAllEntriesCache.ordered;\n }\n\n const ordered = this.orderEntries(entries);\n this.orderedAllEntriesCache = { signature, ordered };\n return ordered;\n }\n\n private getOrderedIndexByPath(\n entries: BitComputedEntry<T>[],\n orderedEntries: BitComputedEntry<T>[],\n ): Map<string, number> {\n const signature = this.createEntriesSignature(entries);\n if (\n this.orderedIndexByPathCache &&\n this.orderedIndexByPathCache.signature === signature\n ) {\n return this.orderedIndexByPathCache.indexByPath;\n }\n\n const indexByPath = new Map<string, number>();\n orderedEntries.forEach((entry, index) => {\n indexByPath.set(entry.path, index);\n });\n\n this.orderedIndexByPathCache = { signature, indexByPath };\n return indexByPath;\n }\n\n private ensureEntriesAreValid(entries: BitComputedEntry<T>[]) {\n if (this.validatedEntriesRef === entries) {\n return;\n }\n\n const signature = this.createEntriesSignature(entries);\n if (this.validatedEntriesSignature === signature) {\n this.validatedEntriesRef = entries;\n return;\n }\n\n entries.forEach((entry) => this.assertDependencies(entry));\n this.invalidateReverseDeps();\n this.validatedEntriesSignature = signature;\n this.validatedEntriesRef = entries;\n }\n\n private createEntriesSignature(entries: BitComputedEntry<T>[]): string {\n return entries\n .map((entry) => `${entry.path}:${entry.dependsOn.join(\",\")}`)\n .join(\"|\");\n }\n\n private getDependentsForPath(\n reverseDependencies: Map<string, Set<string>>,\n changedPath: string,\n ) {\n const dependents = new Set<string>();\n\n const collect = (dependencyPath: string) => {\n const listeners = reverseDependencies.get(dependencyPath);\n if (!listeners) {\n return;\n }\n\n listeners.forEach((path) => dependents.add(path));\n };\n\n collect(changedPath);\n\n const parentSegments = changedPath.split(\".\");\n while (parentSegments.length > 1) {\n parentSegments.pop();\n collect(parentSegments.join(\".\"));\n }\n\n const childKeys = this.childDepsIndex?.get(changedPath);\n if (childKeys) {\n for (const childDep of childKeys) {\n collect(childDep);\n }\n }\n\n return dependents;\n }\n\n private assertDependencies(entry: BitComputedEntry<T>) {\n if (entry.dependsOn.length === 0) {\n throw new Error(\n `BitStore: computed field \\`${entry.path}\\` requires explicit computedDependsOn in v4.`,\n );\n }\n\n if (entry.dependsOn.includes(entry.path)) {\n throw new Error(\n `BitStore: computed field \\`${entry.path}\\` cannot depend on itself.`,\n );\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{d as I}from"./chunk-FF6WALLN.js";import{a as U,b as q,d as L,e as W,g as O,i as _,j as $,k as z}from"./chunk-L42NQRVD.js";import{b as T}from"./chunk-UIKO6GGW.js";import{a as j}from"./chunk-Y7TQTZY7.js";import{c as x,f as D}from"./chunk-UBVVBVLS.js";import{createContext as X,useContext as Y,useMemo as Z}from"react";import{jsx as N}from"react/jsx-runtime";var G=X(null),yt=({store:t,children:e})=>{let r=Z(()=>I(t),[t]);return N(G.Provider,{value:r,children:e})},S=()=>{let t=Y(G);if(!t)throw new Error("BitForm hooks devem ser usados dentro de um BitFormProvider");return t};import{useCallback as d,useMemo as w,useRef as tt,useState as H,useSyncExternalStore as et}from"react";function Et(){let t=S(),[e,r]=H(null),[i,s]=H(null),o=tt(null),c=d(p=>q(t,p),[t]),l=d(()=>{let p=U(t);return o.current&&o.current.isValid===p.isValid&&o.current.isDirty===p.isDirty&&o.current.isSubmitting===p.isSubmitting?o.current:(o.current=p,p)},[t]),n=et(c,l,l),a=w(()=>_(t,{clearSubmissionState:()=>{r(null),s(null)},setSubmissionResult:p=>{s(p)},setSubmissionError:p=>{r(p)}}),[t]),{controller:m,actions:b}=a,P=d(m.submit,[m]),g=d(m.onSubmit,[m]),F=d(m.reset,[m]),y=d(m.getValues,[m]),h=d(m.getErrors,[m]),u=d(m.getTouched,[m]),B=d(m.getDirtyValues,[m]),R=w(()=>({...n,submitError:e,lastResponse:i}),[n,e,i]);return w(()=>({meta:R,getValues:y,getErrors:h,getTouched:u,getDirtyValues:B,submit:P,onSubmit:g,reset:F,...b}),[R,y,h,u,B,P,g,F,b])}import{useCallback as J,useEffect as rt,useMemo as k,useRef as st,useSyncExternalStore as ot}from"react";function Ct(t){let e=S(),r=k(()=>O(e,t),[e,t]),i=st(null),s=J(()=>{let n=r.readItems();return i.current&&x(i.current,n)?i.current:(i.current=n,n)},[r]),o=J(n=>e.observe.subscribePath(t,()=>n()),[e,t]),c=ot(o,s,s),l=k(()=>r.getFields(c),[r,c]);return rt(()=>()=>{z(e,`${t}.`)},[e,t]),k(()=>({fields:l,length:c.length,append:r.append,prepend:r.prepend,insert:r.insert,remove:r.remove,move:r.move,swap:r.swap,replace:r.replace,clear:r.clear}),[l,c.length,r])}import{useCallback as E,useMemo as nt,useRef as it,useSyncExternalStore as at}from"react";function qt(t){let e=S(),r=it(null),i=E(()=>{let n=e.read.getScopeStatus(t);return r.current&&T(r.current,n)?r.current:(r.current=n,n)},[e,t]),s=E(n=>e.observe.subscribeScopeStatus(t,()=>n()),[e,t]),o=at(s,i,i),c=E(async()=>{let n=await e.feature.validate({scope:t}),a=e.read.getScopeErrors(t);return{valid:n,errors:a}},[e,t]),l=E(()=>e.read.getScopeErrors(t),[e,t]);return nt(()=>({scopeName:t,status:o,errors:o.errors,validate:c,getErrors:l,isValid:!o.hasErrors,isDirty:o.isDirty}),[t,o,c,l])}import{useCallback as f,useMemo as ut,useRef as A,useState as ct,useSyncExternalStore as lt}from"react";function $t(t){if(t.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=S(),[r,i]=ct(0),s=t[r]??"",o=A(null),c=A(s);c.current=s;let l=A(r);l.current=r;let n=f(()=>{let u=e.read.getScopeStatus(s);return o.current&&T(o.current,u)?o.current:(o.current=u,u)},[e,s]),a=lt(f(u=>e.observe.subscribeScopeStatus(s,()=>u()),[e,s]),n,n),m=f(async()=>{let u=await e.feature.validate({scope:s}),B=e.read.getScopeErrors(s);return{valid:u,errors:B}},[e,s]),b=f(()=>e.read.getScopeErrors(s),[e,s]),P=f(async()=>{let u=c.current,B=l.current,R=e.read.getScopeFields(u);if(e.feature.hasValidationsInProgress(R))return!1;let p=await e.feature.validate({scope:u});if(B!==l.current)return!1;if(p)i(M=>Math.min(M+1,t.length-1));else{let M=e.read.getScopeErrors(u),C=Object.keys(M);C.length>0&&e.write.markFieldsTouched(C)}return p},[e,t.length]),g=f(()=>{i(u=>Math.max(u-1,0))},[]),F=f(u=>{i(Math.max(0,Math.min(u-1,t.length-1)))},[t.length]),y=r===0,h=r>=t.length-1;return ut(()=>({step:r+1,stepIndex:r,scope:s,next:P,prev:g,goTo:F,isFirst:y,isLast:h,status:a,errors:a.errors,isValid:!a.hasErrors,isDirty:a.isDirty,validate:m,getErrors:b}),[r,s,P,g,F,y,h,a,m,b])}import{useCallback as K,useSyncExternalStore as mt,useRef as pt}from"react";function Xt(t){let e=S(),r=pt(null),i=K(()=>{let o=D(e.read.getState().values,t);return r.current!==null&&x(r.current,o)?r.current:(r.current=o,o)},[e,t]),s=K(o=>e.observe.subscribePath(t,()=>o()),[e,t]);return mt(s,i,i)}import{useCallback as v,useMemo as Q,useSyncExternalStore as St,useRef as dt}from"react";function ee(){let t=S(),e=v(a=>W(t,a),[t]),r=dt(null),i=v(()=>{let a=L(t);return r.current&&r.current.isSaving===a.isSaving&&r.current.isRestoring===a.isRestoring&&r.current.error===a.error?r.current:(r.current=a,a)},[t]),s=St(e,i,i),o=v(async()=>t.feature.restorePersisted(),[t]),c=v(async()=>{await t.feature.forceSave()},[t]),l=v(async()=>{await t.feature.clearPersisted()},[t]),n=Q(()=>({isSaving:s.isSaving,isRestoring:s.isRestoring,error:s.error}),[s]);return Q(()=>({restore:o,save:c,clear:l,meta:n}),[o,c,l,n])}import{useCallback as V,useEffect as ft,useRef as Bt,useSyncExternalStore as bt}from"react";function ce(t){let e=S(),r=Bt(null);ft(()=>()=>$(e,t),[e,t]);let i=V(()=>{let n=e.read.getFieldState(t),a=j(n,r.current);return r.current=a,a},[e,t]),s=V(n=>e.observe.subscribeFieldState(t,()=>n()),[e,t]),o=bt(s,i,i),c=V(n=>e.write.setField(t,n),[e,t]),l=V(()=>e.write.blurField(t),[e,t]);return{fieldState:o,setValue:c,setBlur:l,store:e}}export{yt as a,S as b,Et as c,ce as d,Ct as e,qt as f,$t as g,Xt as h,ee as i};
2
+ //# sourceMappingURL=chunk-KEINCG6A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/react/context.tsx","../src/react/use-bit-form.ts","../src/react/use-bit-array.ts","../src/react/use-bit-scope.ts","../src/react/use-bit-steps.ts","../src/react/use-bit-watch.ts","../src/react/use-bit-persist.ts","../src/react/use-bit-field-base.ts"],"sourcesContent":["import React, { createContext, useContext, useMemo } from \"react\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nconst BitContext = createContext<BitFrameworkStoreApi<any> | null>(null);\n\ninterface BitFormProviderProps<T extends object> {\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>;\n children: React.ReactNode;\n}\n\ninterface BitFormProviderRuntimeProps {\n store: unknown;\n children: React.ReactNode;\n}\n\ntype BitFormProviderComponent = {\n <T extends object>(props: BitFormProviderProps<T>): React.ReactElement;\n (props: BitFormProviderRuntimeProps): React.ReactElement;\n};\n\nexport const BitFormProvider: BitFormProviderComponent = ({\n store,\n children,\n}: BitFormProviderRuntimeProps) => {\n const adapted = useMemo(() => createFrameworkStoreAdapter(store), [store]);\n\n return (\n <BitContext.Provider value={adapted}>\n {children}\n </BitContext.Provider>\n );\n};\n\nexport const useBitStore = <T extends object>() => {\n const store = useContext(BitContext);\n if (!store)\n throw new Error(\n \"BitForm hooks devem ser usados dentro de um BitFormProvider\",\n );\n return store as BitFrameworkStoreApi<T>;\n};\n","import {\n useCallback,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport {\n createFrameworkFormBinding,\n readFormMetaSnapshot,\n subscribeFormMetaSnapshot,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n\n const [submitError, setSubmitError] = useState<Error | null>(null);\n const [lastResponse, setLastResponse] = useState<unknown>(null);\n const lastMeta = useRef<ReturnType<typeof readFormMetaSnapshot<T>> | null>(\n null,\n );\n\n const subscribeMeta = useCallback(\n (cb: () => void) => subscribeFormMetaSnapshot(store, cb),\n [store],\n );\n const getMetaSnapshot = useCallback(() => {\n const nextMeta = readFormMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.isValid === nextMeta.isValid &&\n lastMeta.current.isDirty === nextMeta.isDirty &&\n lastMeta.current.isSubmitting === nextMeta.isSubmitting\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const metaState = useSyncExternalStore(\n subscribeMeta,\n getMetaSnapshot,\n getMetaSnapshot,\n );\n\n const binding = useMemo(\n () =>\n createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n setSubmitError(null);\n setLastResponse(null);\n },\n setSubmissionResult: (result) => {\n setLastResponse(result);\n },\n setSubmissionError: (error) => {\n setSubmitError(error);\n },\n }),\n [store],\n );\n\n const { controller, actions } = binding;\n\n const submit = useCallback(controller.submit, [controller]);\n const onSubmit = useCallback(controller.onSubmit, [controller]);\n const reset = useCallback(controller.reset, [controller]);\n\n const getValues = useCallback(controller.getValues, [controller]);\n const getErrors = useCallback(controller.getErrors, [controller]);\n const getTouched = useCallback(controller.getTouched, [controller]);\n const getDirtyValues = useCallback(controller.getDirtyValues, [controller]);\n\n const meta = useMemo(\n () => ({\n ...metaState,\n submitError,\n lastResponse,\n }),\n [metaState, submitError, lastResponse],\n );\n\n return useMemo(\n () => ({\n // Metadata (grouped)\n meta,\n // Getters\n getValues,\n getErrors,\n getTouched,\n getDirtyValues,\n // Main actions (frequent use - flat)\n submit,\n onSubmit,\n reset,\n ...actions,\n }),\n [\n meta,\n getValues,\n getErrors,\n getTouched,\n getDirtyValues,\n submit,\n onSubmit,\n reset,\n actions,\n ],\n );\n}\n","import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n} from \"react\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n valueEqual,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = useMemo(\n () => createArrayBinding<TForm, P>(store, path),\n [store, path],\n );\n type ArraySnapshot = ReturnType<typeof controller.readItems>;\n const lastSnapshotRef = useRef<ArraySnapshot | null>(null);\n\n const getSnapshot = useCallback(() => {\n const next = controller.readItems();\n\n if (lastSnapshotRef.current && valueEqual(lastSnapshotRef.current, next)) {\n return lastSnapshotRef.current;\n }\n\n lastSnapshotRef.current = next;\n return next;\n }, [controller]);\n\n const subscribeArray = useCallback(\n (cb: () => void) => store.observe.subscribePath(path, () => cb()),\n [store, path],\n );\n\n const data = useSyncExternalStore(subscribeArray, getSnapshot, getSnapshot);\n\n const fields = useMemo(() => controller.getFields(data), [controller, data]);\n\n useEffect(() => {\n return () => {\n cleanupRegisteredPrefix(store, `${path as string}.`);\n };\n }, [store, path]);\n\n return useMemo(\n () => ({\n fields,\n length: data.length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n }),\n [fields, data.length, controller],\n );\n}\n","import { useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\nexport function useBitScope(scopeName: string) {\n const store = useBitStore();\n\n const lastStatus = useRef<ScopeStatus | null>(null);\n\n const getStatusSnapshot = useCallback(() => {\n const nextStatus = store.read.getScopeStatus(scopeName);\n\n if (\n lastStatus.current &&\n isScopeStatusEqual(lastStatus.current, nextStatus)\n ) {\n return lastStatus.current;\n }\n\n lastStatus.current = nextStatus;\n return nextStatus;\n }, [store, scopeName]);\n\n // Assina apenas os slices de estado relevantes para o escopo (errors e\n // isDirty), evitando execuções desnecessárias do getStatusSnapshot em\n // mudanças não relacionadas (isSubmitting, isValidating de outros campos…)\n const subscribe = useCallback(\n (cb: () => void) =>\n store.observe.subscribeScopeStatus(scopeName, () => cb()),\n [store, scopeName],\n );\n\n const status = useSyncExternalStore(\n subscribe,\n getStatusSnapshot,\n getStatusSnapshot,\n );\n\n const validate = useCallback(async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n }, [store, scopeName]);\n\n const getErrors = useCallback(() => {\n return store.read.getScopeErrors(scopeName);\n }, [store, scopeName]);\n\n return useMemo(\n () => ({\n scopeName,\n status,\n errors: status.errors,\n validate,\n getErrors,\n isValid: !status.hasErrors,\n isDirty: status.isDirty,\n }),\n [scopeName, status, validate, getErrors],\n );\n}\n","import {\n useCallback,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitStepsResult } from \"./types\";\n\nexport function useBitSteps(scopeNames: string[]): UseBitStepsResult {\n if (scopeNames.length === 0) {\n throw new Error(\"useBitSteps: scopeNames must not be empty\");\n }\n const store = useBitStore();\n const [stepIndex, setStepIndex] = useState(0);\n\n const scope = scopeNames[stepIndex] ?? \"\";\n const lastStatus = useRef<ScopeStatus | null>(null);\n const scopeRef = useRef(scope);\n scopeRef.current = scope;\n const stepIndexRef = useRef(stepIndex);\n stepIndexRef.current = stepIndex;\n\n const getStatusSnapshot = useCallback(() => {\n const nextStatus = store.read.getScopeStatus(scope);\n\n if (\n lastStatus.current &&\n isScopeStatusEqual(lastStatus.current, nextStatus)\n ) {\n return lastStatus.current;\n }\n\n lastStatus.current = nextStatus;\n return nextStatus;\n }, [store, scope]);\n\n const status = useSyncExternalStore(\n useCallback(\n (cb: () => void) => store.observe.subscribeScopeStatus(scope, () => cb()),\n [store, scope],\n ),\n getStatusSnapshot,\n getStatusSnapshot,\n );\n\n const validate = useCallback(async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope });\n const errors = store.read.getScopeErrors(scope);\n return { valid, errors };\n }, [store, scope]);\n\n const getErrors = useCallback(() => {\n return store.read.getScopeErrors(scope);\n }, [store, scope]);\n\n const next = useCallback(async (): Promise<boolean> => {\n const capturedScope = scopeRef.current;\n const capturedStepIndex = stepIndexRef.current;\n const scopeFields = store.read.getScopeFields(capturedScope);\n\n if (store.feature.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.feature.validate({ scope: capturedScope });\n\n if (capturedStepIndex !== stepIndexRef.current) return false;\n\n if (valid) {\n setStepIndex((s) => Math.min(s + 1, scopeNames.length - 1));\n } else {\n const errors = store.read.getScopeErrors(capturedScope);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.write.markFieldsTouched(pathsWithErrors);\n }\n }\n return valid;\n }, [store, scopeNames.length]);\n\n const prev = useCallback(() => {\n setStepIndex((s) => Math.max(s - 1, 0));\n }, []);\n\n const goTo = useCallback(\n (stepNumber: number) => {\n setStepIndex(\n Math.max(0, Math.min(stepNumber - 1, scopeNames.length - 1)),\n );\n },\n [scopeNames.length],\n );\n\n const isFirst = stepIndex === 0;\n const isLast = stepIndex >= scopeNames.length - 1;\n\n return useMemo(\n () => ({\n step: stepIndex + 1,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors: status.errors,\n isValid: !status.hasErrors,\n isDirty: status.isDirty,\n validate,\n getErrors,\n }),\n [\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n validate,\n getErrors,\n ],\n );\n}\n","import { useCallback, useSyncExternalStore, useRef } from \"react\";\nimport { useBitStore } from \"./context\";\nimport { getDeepValue, valueEqual, BitPath, BitPathValue } from \"../core\";\n\nexport function useBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): BitPathValue<TForm, P> {\n const store = useBitStore<TForm>();\n const lastValue = useRef<BitPathValue<TForm, P> | null>(null);\n\n const getSnapshot = useCallback(() => {\n const value = getDeepValue(\n store.read.getState().values,\n path as string,\n ) as BitPathValue<TForm, P>;\n\n if (lastValue.current !== null && valueEqual(lastValue.current, value)) {\n return lastValue.current;\n }\n\n lastValue.current = value;\n return value;\n }, [store, path]);\n\n // Assina apenas o path monitorado → evita executar getSnapshot em toda\n // mudança de estado do store (blur, validation, outros campos, etc.)\n const subscribe = useCallback(\n (cb: () => void) => store.observe.subscribePath(path, () => cb()),\n [store, path],\n );\n\n return useSyncExternalStore(\n subscribe,\n getSnapshot,\n getSnapshot,\n ) as BitPathValue<TForm, P>;\n}\n","import { useCallback, useMemo, useSyncExternalStore, useRef } from \"react\";\nimport { readPersistMetaSnapshot, subscribePersistMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitPersistResult } from \"./types\";\n\nexport function useBitPersist(): UseBitPersistResult {\n const store = useBitStore<any>();\n\n const subscribePersistMeta = useCallback(\n (cb: () => void) => subscribePersistMetaSnapshot(store, cb),\n [store],\n );\n\n const lastMeta = useRef<ReturnType<typeof readPersistMetaSnapshot> | null>(null);\n\n const getSnapshot = useCallback(() => {\n const nextMeta = readPersistMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.isSaving === nextMeta.isSaving &&\n lastMeta.current.isRestoring === nextMeta.isRestoring &&\n lastMeta.current.error === nextMeta.error\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const persistMeta = useSyncExternalStore(\n subscribePersistMeta,\n getSnapshot,\n getSnapshot,\n );\n\n const restore = useCallback(async () => {\n return store.feature.restorePersisted();\n }, [store]);\n\n const save = useCallback(async () => {\n await store.feature.forceSave();\n }, [store]);\n\n const clear = useCallback(async () => {\n await store.feature.clearPersisted();\n }, [store]);\n\n const meta = useMemo(\n () => ({\n isSaving: persistMeta.isSaving,\n isRestoring: persistMeta.isRestoring,\n error: persistMeta.error,\n }),\n [persistMeta],\n );\n\n return useMemo(\n () => ({\n restore,\n save,\n clear,\n meta,\n }),\n [restore, save, clear, meta],\n );\n}\n","import { useCallback, useEffect, useRef, useSyncExternalStore } from \"react\";\nimport {\n BitFieldSnapshot,\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFieldStateSnapshot,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitFieldBase<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const lastSnapshot = useRef<BitFieldSnapshot<BitPathValue<TForm, P>> | null>(\n null,\n );\n\n useEffect(() => {\n return () => cleanupRegisteredField(store, path as string);\n }, [store, path]);\n\n const getSnapshot = useCallback(() => {\n const nextState = store.read.getFieldState(path);\n const snapshot = createFieldStateSnapshot(nextState, lastSnapshot.current);\n lastSnapshot.current = snapshot;\n return snapshot;\n }, [store, path]);\n\n const subscribe = useCallback(\n (cb: () => void) => store.observe.subscribeFieldState(path, () => cb()),\n [store, path],\n );\n\n const fieldState = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const setValue = useCallback(\n (val: BitPathValue<TForm, P>) => store.write.setField(path, val),\n [store, path],\n );\n\n const setBlur = useCallback(() => store.write.blurField(path), [store, path]);\n\n return { fieldState, setValue, setBlur, store };\n}\n"],"mappings":"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","names":["createContext","useContext","useMemo","jsx","BitContext","createContext","BitFormProvider","store","children","adapted","useMemo","createFrameworkStoreAdapter","useBitStore","useContext","useCallback","useMemo","useRef","useState","useSyncExternalStore","useBitForm","store","useBitStore","submitError","setSubmitError","useState","lastResponse","setLastResponse","lastMeta","useRef","subscribeMeta","useCallback","cb","subscribeFormMetaSnapshot","getMetaSnapshot","nextMeta","readFormMetaSnapshot","metaState","useSyncExternalStore","binding","useMemo","createFrameworkFormBinding","result","error","controller","actions","submit","onSubmit","reset","getValues","getErrors","getTouched","getDirtyValues","meta","useCallback","useEffect","useMemo","useRef","useSyncExternalStore","useBitArray","path","store","useBitStore","controller","useMemo","createArrayBinding","lastSnapshotRef","useRef","getSnapshot","useCallback","next","valueEqual","subscribeArray","cb","data","useSyncExternalStore","fields","useEffect","cleanupRegisteredPrefix","useCallback","useMemo","useRef","useSyncExternalStore","useBitScope","scopeName","store","useBitStore","lastStatus","useRef","getStatusSnapshot","useCallback","nextStatus","isScopeStatusEqual","subscribe","cb","status","useSyncExternalStore","validate","valid","errors","getErrors","useMemo","useCallback","useMemo","useRef","useState","useSyncExternalStore","useBitSteps","scopeNames","store","useBitStore","stepIndex","setStepIndex","useState","scope","lastStatus","useRef","scopeRef","stepIndexRef","getStatusSnapshot","useCallback","nextStatus","isScopeStatusEqual","status","useSyncExternalStore","cb","validate","valid","errors","getErrors","next","capturedScope","capturedStepIndex","scopeFields","s","pathsWithErrors","prev","goTo","stepNumber","isFirst","isLast","useMemo","useCallback","useSyncExternalStore","useRef","useBitWatch","path","store","useBitStore","lastValue","useRef","getSnapshot","useCallback","value","getDeepValue","valueEqual","subscribe","cb","useSyncExternalStore","useCallback","useMemo","useSyncExternalStore","useRef","useBitPersist","store","useBitStore","subscribePersistMeta","useCallback","cb","subscribePersistMetaSnapshot","lastMeta","useRef","getSnapshot","nextMeta","readPersistMetaSnapshot","persistMeta","useSyncExternalStore","restore","save","clear","meta","useMemo","useCallback","useEffect","useRef","useSyncExternalStore","useBitFieldBase","path","store","useBitStore","lastSnapshot","useRef","useEffect","cleanupRegisteredField","getSnapshot","useCallback","nextState","snapshot","createFieldStateSnapshot","subscribe","cb","fieldState","useSyncExternalStore","setValue","val","setBlur"]}
@@ -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 _chunkQKGTVKBUcjs = require('./chunk-QKGTVKBU.cjs');var _chunkCTQXXT26cjs = require('./chunk-CTQXXT26.cjs');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=_chunkCTQXXT26cjs.a){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(_optionalChain([o, 'optionalAccess', _ => _.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(_chunkQKGTVKBUcjs.c.call(void 0, 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}exports.a = h; exports.b = k; exports.c = W;
2
- //# sourceMappingURL=chunk-G6EG5AWJ.cjs.map
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 _chunkQKGTVKBUcjs = require('./chunk-QKGTVKBU.cjs');var _chunkK3QLAMDGcjs = require('./chunk-K3QLAMDG.cjs');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=_chunkK3QLAMDGcjs.a){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(_optionalChain([o, 'optionalAccess', _ => _.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(_chunkQKGTVKBUcjs.c.call(void 0, 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}exports.a = h; exports.b = k; exports.c = W;
2
+ //# sourceMappingURL=chunk-LBWJK3IC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-G6EG5AWJ.cjs","../src/devtools/store-snapshot.ts","../src/devtools/store-port.ts","../src/devtools/bridge.ts"],"names":["normalizeStoreState","state","createDevToolsStoreSnapshot","store","historyMeta","createDevToolsSnapshotMap","stores","snapshots","storeId","instance","e","isDevToolsReadableStore","value","candidate","isDevToolsActionableStore","getDevToolsActionableStore","activeBridgeCleanup","STATE_BATCH_INTERVAL_MS","setupRemoteBridge","url","bus","bitBus","socket","unsubscribeBus","heartbeatInterval","batchFlushTimeout","reconnectTimer","pendingStoreIds","isIntentionalDisconnect","retries","MAX_RETRY_DELAY","sendWhenOpen","message","flushPendingStoreUpdates","payload","acc","storeInstance","scheduleStoreFlush","connect","jitter","initialState","_newState","event","isDevToolsActionMessage","action","cleanedUp","cleanup"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-G6EG5AWJ.cjs","sourcesContent":[null,"import type { BitBusStorePort, BitState } from \"../core\";\nimport type { DevToolsStoreSnapshot, DevToolsStoreSnapshots } from \"./protocol\";\n\nfunction normalizeStoreState<T extends object>(\n state: Readonly<BitState<T>>,\n): Omit<DevToolsStoreSnapshot, \"_meta\"> {\n return {\n values: state.values,\n errors: state.errors as Record<string, unknown>,\n touched: state.touched as Record<string, unknown>,\n isValid: state.isValid,\n isDirty: state.isDirty,\n isSubmitting: state.isSubmitting,\n isValidating: state.isValidating as Record<string, unknown>,\n persist: state.persist,\n };\n}\n\nexport function createDevToolsStoreSnapshot<T extends object>(store: {\n getState: () => Readonly<BitState<T>>;\n getHistoryMetadata: () => {\n canUndo: boolean;\n canRedo: boolean;\n historySize: number;\n historyIndex: number;\n };\n}): DevToolsStoreSnapshot {\n const historyMeta = store.getHistoryMetadata();\n\n return {\n ...normalizeStoreState(store.getState()),\n _meta: {\n canUndo: historyMeta.canUndo,\n canRedo: historyMeta.canRedo,\n totalSteps: historyMeta.historySize,\n currentIndex: historyMeta.historyIndex,\n },\n };\n}\n\nexport function createDevToolsSnapshotMap(\n stores: Record<string, BitBusStorePort<object>>,\n): DevToolsStoreSnapshots {\n const snapshots: DevToolsStoreSnapshots = {};\n\n for (const [storeId, instance] of Object.entries(stores)) {\n try {\n snapshots[storeId] = createDevToolsStoreSnapshot(instance);\n } catch (e) {\n console.warn(`[bit-form] Failed to snapshot store \"${storeId}\":`, e);\n }\n }\n\n return snapshots;\n}\n","import type { BitBusStorePort } from \"../core\";\n\nexport type BitDevToolsReadableStore<T extends object = object> =\n BitBusStorePort<T>;\n\nexport type BitDevToolsActionableStore<T extends object = object> =\n BitBusStorePort<T>;\n\nexport function isDevToolsReadableStore(\n value: unknown,\n): value is BitDevToolsReadableStore<object> {\n if (!value || typeof value !== \"object\") {\n return false;\n }\n\n const candidate = value as unknown as Record<string, unknown>;\n\n return (\n typeof candidate.getState === \"function\" &&\n typeof candidate.getHistoryMetadata === \"function\"\n );\n}\n\nexport function isDevToolsActionableStore(\n value: unknown,\n): value is BitDevToolsActionableStore<object> {\n if (!isDevToolsReadableStore(value)) {\n return false;\n }\n\n const candidate = value as unknown as Record<string, unknown>;\n\n return (\n typeof candidate.undo === \"function\" &&\n typeof candidate.redo === \"function\" &&\n typeof candidate.reset === \"function\"\n );\n}\n\nexport function getDevToolsActionableStore(\n stores: Record<string, unknown>,\n storeId: string,\n): BitDevToolsActionableStore<object> | null {\n const candidate = stores[storeId];\n return isDevToolsActionableStore(candidate) ? candidate : null;\n}\n","import { bitBus } from \"../core\";\nimport type { BitBus } from \"../core\";\nimport type { BitBusStorePort } from \"../core\";\nimport { DEVTOOLS_PROTOCOL_VERSION, isDevToolsActionMessage } from \"./protocol\";\nimport { createDevToolsSnapshotMap } from \"./store-snapshot\";\nimport { getDevToolsActionableStore } from \"./store-port\";\n\nlet activeBridgeCleanup: (() => void) | null = null;\nconst STATE_BATCH_INTERVAL_MS = 50;\n\nexport function setupRemoteBridge(url: string, bus: BitBus = bitBus) {\n if (activeBridgeCleanup) {\n console.warn(\n \"[bit-form] Reiniciando ponte do DevTools (Fast Refresh detectado).\",\n );\n activeBridgeCleanup();\n }\n\n let socket: WebSocket | null = null;\n let unsubscribeBus: (() => void) | null = null;\n let heartbeatInterval: ReturnType<typeof setInterval> | undefined;\n let batchFlushTimeout: ReturnType<typeof setTimeout> | null = null;\n let reconnectTimer: ReturnType<typeof setTimeout> | undefined;\n const pendingStoreIds = new Set<string>();\n let isIntentionalDisconnect = false;\n let retries = 0;\n const MAX_RETRY_DELAY = 30000;\n\n const sendWhenOpen = (message: Record<string, unknown>) => {\n if (socket?.readyState !== WebSocket.OPEN) {\n return;\n }\n\n try {\n socket.send(JSON.stringify(message));\n } catch (e) {\n console.warn(\"[bit-form] Failed to serialize/send message:\", e);\n }\n };\n\n const flushPendingStoreUpdates = () => {\n if (pendingStoreIds.size === 0) {\n return;\n }\n\n try {\n const payload = createDevToolsSnapshotMap(\n Array.from(pendingStoreIds).reduce<\n Record<string, BitBusStorePort<object>>\n >((acc, storeId) => {\n const storeInstance = bus.stores[storeId];\n if (storeInstance) {\n acc[storeId] = storeInstance;\n }\n return acc;\n }, {}),\n );\n\n pendingStoreIds.clear();\n batchFlushTimeout = null;\n\n if (Object.keys(payload).length > 0) {\n sendWhenOpen({\n type: \"STATE_UPDATE\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload,\n });\n }\n } catch (e) {\n console.warn(\"[bit-form] Failed to create snapshot:\", e);\n pendingStoreIds.clear();\n batchFlushTimeout = null;\n }\n };\n\n const scheduleStoreFlush = () => {\n if (batchFlushTimeout) {\n return;\n }\n\n batchFlushTimeout = setTimeout(() => {\n flushPendingStoreUpdates();\n }, STATE_BATCH_INTERVAL_MS);\n };\n\n const connect = () => {\n isIntentionalDisconnect = false;\n try {\n socket = new WebSocket(url);\n } catch (e) {\n console.error(\"[bit-form] Failed to create WebSocket:\", e);\n const delay = Math.min(1000 * Math.pow(2, retries), MAX_RETRY_DELAY);\n const jitter = delay * (0.5 + Math.random() * 0.5);\n retries++;\n if (!isIntentionalDisconnect) {\n reconnectTimer = setTimeout(connect, jitter);\n }\n return;\n }\n\n socket.onopen = () => {\n retries = 0;\n console.log(\"[bit-form] 🔌 Conectado ao CLI DevTools via WebSocket.\");\n\n sendWhenOpen({\n type: \"HELLO\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: { role: \"server\", protocolVersion: DEVTOOLS_PROTOCOL_VERSION },\n });\n\n const initialState = createDevToolsSnapshotMap(bus.stores);\n if (Object.keys(initialState).length > 0) {\n sendWhenOpen({\n type: \"STATE_UPDATE\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: initialState,\n });\n }\n\n unsubscribeBus = bus.subscribe((storeId, _newState) => {\n pendingStoreIds.add(storeId);\n scheduleStoreFlush();\n });\n\n heartbeatInterval = setInterval(() => {\n sendWhenOpen({\n type: \"PING\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n });\n }, 30000);\n };\n\n socket.onmessage = (event) => {\n try {\n const message = JSON.parse(event.data) as unknown;\n\n if (isDevToolsActionMessage(message)) {\n const { storeId, action } = message.payload;\n const store = getDevToolsActionableStore(bus.stores, storeId);\n\n if (!store) {\n return;\n }\n\n switch (action) {\n case \"undo\":\n store.undo();\n break;\n case \"redo\":\n store.redo();\n break;\n case \"reset\":\n store.reset();\n break;\n }\n }\n } catch (e) {\n console.warn(\"[bit-form] Erro ao processar comando do CLI:\", e);\n }\n };\n\n socket.onerror = (event) => {\n console.error(\"[bit-form] WebSocket error:\", event);\n };\n\n socket.onclose = () => {\n if (unsubscribeBus) unsubscribeBus();\n if (heartbeatInterval) clearInterval(heartbeatInterval);\n if (batchFlushTimeout) {\n clearTimeout(batchFlushTimeout);\n batchFlushTimeout = null;\n }\n pendingStoreIds.clear();\n\n if (!isIntentionalDisconnect) {\n console.log(\"[bit-form] Conexão perdida. Reconectando...\");\n const delay = Math.min(1000 * Math.pow(2, retries), MAX_RETRY_DELAY);\n const jitter = delay * (0.5 + Math.random() * 0.5);\n retries++;\n reconnectTimer = setTimeout(connect, jitter);\n } else {\n console.log(\"[bit-form] Ponte antiga encerrada com sucesso.\");\n }\n };\n };\n\n connect();\n\n let cleanedUp = false;\n const cleanup = () => {\n if (cleanedUp) return;\n cleanedUp = true;\n isIntentionalDisconnect = true;\n if (reconnectTimer) {\n clearTimeout(reconnectTimer);\n reconnectTimer = undefined;\n }\n\n if (unsubscribeBus) unsubscribeBus();\n if (heartbeatInterval) clearInterval(heartbeatInterval);\n if (batchFlushTimeout) {\n clearTimeout(batchFlushTimeout);\n batchFlushTimeout = null;\n }\n pendingStoreIds.clear();\n if (\n socket &&\n (socket.readyState === WebSocket.OPEN ||\n socket.readyState === WebSocket.CONNECTING)\n ) {\n socket.close();\n }\n activeBridgeCleanup = null;\n };\n\n activeBridgeCleanup = cleanup;\n\n return cleanup;\n}\n"]}
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-LBWJK3IC.cjs","../src/devtools/store-snapshot.ts","../src/devtools/store-port.ts","../src/devtools/bridge.ts"],"names":["normalizeStoreState","state","createDevToolsStoreSnapshot","store","historyMeta","createDevToolsSnapshotMap","stores","snapshots","storeId","instance","e","isDevToolsReadableStore","value","candidate","isDevToolsActionableStore","getDevToolsActionableStore","activeBridgeCleanup","STATE_BATCH_INTERVAL_MS","setupRemoteBridge","url","bus","bitBus","socket","unsubscribeBus","heartbeatInterval","batchFlushTimeout","reconnectTimer","pendingStoreIds","isIntentionalDisconnect","retries","MAX_RETRY_DELAY","sendWhenOpen","message","flushPendingStoreUpdates","payload","acc","storeInstance","scheduleStoreFlush","connect","jitter","initialState","_newState","event","isDevToolsActionMessage","action","cleanedUp","cleanup"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-LBWJK3IC.cjs","sourcesContent":[null,"import type { BitBusStorePort, BitState } from \"../core\";\nimport type { DevToolsStoreSnapshot, DevToolsStoreSnapshots } from \"./protocol\";\n\nfunction normalizeStoreState<T extends object>(\n state: Readonly<BitState<T>>,\n): Omit<DevToolsStoreSnapshot, \"_meta\"> {\n return {\n values: state.values,\n errors: state.errors as Record<string, unknown>,\n touched: state.touched as Record<string, unknown>,\n isValid: state.isValid,\n isDirty: state.isDirty,\n isSubmitting: state.isSubmitting,\n isValidating: state.isValidating as Record<string, unknown>,\n persist: state.persist,\n };\n}\n\nexport function createDevToolsStoreSnapshot<T extends object>(store: {\n getState: () => Readonly<BitState<T>>;\n getHistoryMetadata: () => {\n canUndo: boolean;\n canRedo: boolean;\n historySize: number;\n historyIndex: number;\n };\n}): DevToolsStoreSnapshot {\n const historyMeta = store.getHistoryMetadata();\n\n return {\n ...normalizeStoreState(store.getState()),\n _meta: {\n canUndo: historyMeta.canUndo,\n canRedo: historyMeta.canRedo,\n totalSteps: historyMeta.historySize,\n currentIndex: historyMeta.historyIndex,\n },\n };\n}\n\nexport function createDevToolsSnapshotMap(\n stores: Record<string, BitBusStorePort<object>>,\n): DevToolsStoreSnapshots {\n const snapshots: DevToolsStoreSnapshots = {};\n\n for (const [storeId, instance] of Object.entries(stores)) {\n try {\n snapshots[storeId] = createDevToolsStoreSnapshot(instance);\n } catch (e) {\n console.warn(`[bit-form] Failed to snapshot store \"${storeId}\":`, e);\n }\n }\n\n return snapshots;\n}\n","import type { BitBusStorePort } from \"../core\";\n\nexport type BitDevToolsReadableStore<T extends object = object> =\n BitBusStorePort<T>;\n\nexport type BitDevToolsActionableStore<T extends object = object> =\n BitBusStorePort<T>;\n\nexport function isDevToolsReadableStore(\n value: unknown,\n): value is BitDevToolsReadableStore<object> {\n if (!value || typeof value !== \"object\") {\n return false;\n }\n\n const candidate = value as unknown as Record<string, unknown>;\n\n return (\n typeof candidate.getState === \"function\" &&\n typeof candidate.getHistoryMetadata === \"function\"\n );\n}\n\nexport function isDevToolsActionableStore(\n value: unknown,\n): value is BitDevToolsActionableStore<object> {\n if (!isDevToolsReadableStore(value)) {\n return false;\n }\n\n const candidate = value as unknown as Record<string, unknown>;\n\n return (\n typeof candidate.undo === \"function\" &&\n typeof candidate.redo === \"function\" &&\n typeof candidate.reset === \"function\"\n );\n}\n\nexport function getDevToolsActionableStore(\n stores: Record<string, unknown>,\n storeId: string,\n): BitDevToolsActionableStore<object> | null {\n const candidate = stores[storeId];\n return isDevToolsActionableStore(candidate) ? candidate : null;\n}\n","import { bitBus } from \"../core\";\nimport type { BitBus } from \"../core\";\nimport type { BitBusStorePort } from \"../core\";\nimport { DEVTOOLS_PROTOCOL_VERSION, isDevToolsActionMessage } from \"./protocol\";\nimport { createDevToolsSnapshotMap } from \"./store-snapshot\";\nimport { getDevToolsActionableStore } from \"./store-port\";\n\nlet activeBridgeCleanup: (() => void) | null = null;\nconst STATE_BATCH_INTERVAL_MS = 50;\n\nexport function setupRemoteBridge(url: string, bus: BitBus = bitBus) {\n if (activeBridgeCleanup) {\n console.warn(\n \"[bit-form] Reiniciando ponte do DevTools (Fast Refresh detectado).\",\n );\n activeBridgeCleanup();\n }\n\n let socket: WebSocket | null = null;\n let unsubscribeBus: (() => void) | null = null;\n let heartbeatInterval: ReturnType<typeof setInterval> | undefined;\n let batchFlushTimeout: ReturnType<typeof setTimeout> | null = null;\n let reconnectTimer: ReturnType<typeof setTimeout> | undefined;\n const pendingStoreIds = new Set<string>();\n let isIntentionalDisconnect = false;\n let retries = 0;\n const MAX_RETRY_DELAY = 30000;\n\n const sendWhenOpen = (message: Record<string, unknown>) => {\n if (socket?.readyState !== WebSocket.OPEN) {\n return;\n }\n\n try {\n socket.send(JSON.stringify(message));\n } catch (e) {\n console.warn(\"[bit-form] Failed to serialize/send message:\", e);\n }\n };\n\n const flushPendingStoreUpdates = () => {\n if (pendingStoreIds.size === 0) {\n return;\n }\n\n try {\n const payload = createDevToolsSnapshotMap(\n Array.from(pendingStoreIds).reduce<\n Record<string, BitBusStorePort<object>>\n >((acc, storeId) => {\n const storeInstance = bus.stores[storeId];\n if (storeInstance) {\n acc[storeId] = storeInstance;\n }\n return acc;\n }, {}),\n );\n\n pendingStoreIds.clear();\n batchFlushTimeout = null;\n\n if (Object.keys(payload).length > 0) {\n sendWhenOpen({\n type: \"STATE_UPDATE\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload,\n });\n }\n } catch (e) {\n console.warn(\"[bit-form] Failed to create snapshot:\", e);\n pendingStoreIds.clear();\n batchFlushTimeout = null;\n }\n };\n\n const scheduleStoreFlush = () => {\n if (batchFlushTimeout) {\n return;\n }\n\n batchFlushTimeout = setTimeout(() => {\n flushPendingStoreUpdates();\n }, STATE_BATCH_INTERVAL_MS);\n };\n\n const connect = () => {\n isIntentionalDisconnect = false;\n try {\n socket = new WebSocket(url);\n } catch (e) {\n console.error(\"[bit-form] Failed to create WebSocket:\", e);\n const delay = Math.min(1000 * Math.pow(2, retries), MAX_RETRY_DELAY);\n const jitter = delay * (0.5 + Math.random() * 0.5);\n retries++;\n if (!isIntentionalDisconnect) {\n reconnectTimer = setTimeout(connect, jitter);\n }\n return;\n }\n\n socket.onopen = () => {\n retries = 0;\n console.log(\"[bit-form] 🔌 Conectado ao CLI DevTools via WebSocket.\");\n\n sendWhenOpen({\n type: \"HELLO\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: { role: \"server\", protocolVersion: DEVTOOLS_PROTOCOL_VERSION },\n });\n\n const initialState = createDevToolsSnapshotMap(bus.stores);\n if (Object.keys(initialState).length > 0) {\n sendWhenOpen({\n type: \"STATE_UPDATE\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: initialState,\n });\n }\n\n unsubscribeBus = bus.subscribe((storeId, _newState) => {\n pendingStoreIds.add(storeId);\n scheduleStoreFlush();\n });\n\n heartbeatInterval = setInterval(() => {\n sendWhenOpen({\n type: \"PING\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n });\n }, 30000);\n };\n\n socket.onmessage = (event) => {\n try {\n const message = JSON.parse(event.data) as unknown;\n\n if (isDevToolsActionMessage(message)) {\n const { storeId, action } = message.payload;\n const store = getDevToolsActionableStore(bus.stores, storeId);\n\n if (!store) {\n return;\n }\n\n switch (action) {\n case \"undo\":\n store.undo();\n break;\n case \"redo\":\n store.redo();\n break;\n case \"reset\":\n store.reset();\n break;\n }\n }\n } catch (e) {\n console.warn(\"[bit-form] Erro ao processar comando do CLI:\", e);\n }\n };\n\n socket.onerror = (event) => {\n console.error(\"[bit-form] WebSocket error:\", event);\n };\n\n socket.onclose = () => {\n if (unsubscribeBus) unsubscribeBus();\n if (heartbeatInterval) clearInterval(heartbeatInterval);\n if (batchFlushTimeout) {\n clearTimeout(batchFlushTimeout);\n batchFlushTimeout = null;\n }\n pendingStoreIds.clear();\n\n if (!isIntentionalDisconnect) {\n console.log(\"[bit-form] Conexão perdida. Reconectando...\");\n const delay = Math.min(1000 * Math.pow(2, retries), MAX_RETRY_DELAY);\n const jitter = delay * (0.5 + Math.random() * 0.5);\n retries++;\n reconnectTimer = setTimeout(connect, jitter);\n } else {\n console.log(\"[bit-form] Ponte antiga encerrada com sucesso.\");\n }\n };\n };\n\n connect();\n\n let cleanedUp = false;\n const cleanup = () => {\n if (cleanedUp) return;\n cleanedUp = true;\n isIntentionalDisconnect = true;\n if (reconnectTimer) {\n clearTimeout(reconnectTimer);\n reconnectTimer = undefined;\n }\n\n if (unsubscribeBus) unsubscribeBus();\n if (heartbeatInterval) clearInterval(heartbeatInterval);\n if (batchFlushTimeout) {\n clearTimeout(batchFlushTimeout);\n batchFlushTimeout = null;\n }\n pendingStoreIds.clear();\n if (\n socket &&\n (socket.readyState === WebSocket.OPEN ||\n socket.readyState === WebSocket.CONNECTING)\n ) {\n socket.close();\n }\n activeBridgeCleanup = null;\n };\n\n activeBridgeCleanup = cleanup;\n\n return cleanup;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkK3QLAMDGcjs = require('./chunk-K3QLAMDG.cjs');var _chunkH27ROY4Fcjs = require('./chunk-H27ROY4F.cjs');var _chunkRHMJPKNVcjs = require('./chunk-RHMJPKNV.cjs');var _chunkAV7YYSFIcjs = require('./chunk-AV7YYSFI.cjs');var _chunkOWDDAM6Ccjs = require('./chunk-OWDDAM6C.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var G=_react.createContext.call(void 0, null),yt= exports.a =({store:t,children:e})=>{let r=_react.useMemo.call(void 0, ()=>_chunkK3QLAMDGcjs.d.call(void 0, t),[t]);return _jsxruntime.jsx.call(void 0, G.Provider,{value:r,children:e})},S= exports.b =()=>{let t=_react.useContext.call(void 0, G);if(!t)throw new Error("BitForm hooks devem ser usados dentro de um BitFormProvider");return t};function Et(){let t=S(),[e,r]=_react.useState.call(void 0, null),[i,s]=_react.useState.call(void 0, null),o=_react.useRef.call(void 0, null),c=_react.useCallback.call(void 0, p=>_chunkH27ROY4Fcjs.b.call(void 0, t,p),[t]),l=_react.useCallback.call(void 0, ()=>{let p=_chunkH27ROY4Fcjs.a.call(void 0, t);return o.current&&o.current.isValid===p.isValid&&o.current.isDirty===p.isDirty&&o.current.isSubmitting===p.isSubmitting?o.current:(o.current=p,p)},[t]),n=_react.useSyncExternalStore.call(void 0, c,l,l),a=_react.useMemo.call(void 0, ()=>_chunkH27ROY4Fcjs.i.call(void 0, t,{clearSubmissionState:()=>{r(null),s(null)},setSubmissionResult:p=>{s(p)},setSubmissionError:p=>{r(p)}}),[t]),{controller:m,actions:b}=a,P=_react.useCallback.call(void 0, m.submit,[m]),g=_react.useCallback.call(void 0, m.onSubmit,[m]),F=_react.useCallback.call(void 0, m.reset,[m]),y=_react.useCallback.call(void 0, m.getValues,[m]),h=_react.useCallback.call(void 0, m.getErrors,[m]),u=_react.useCallback.call(void 0, m.getTouched,[m]),B=_react.useCallback.call(void 0, m.getDirtyValues,[m]),R=_react.useMemo.call(void 0, ()=>({...n,submitError:e,lastResponse:i}),[n,e,i]);return _react.useMemo.call(void 0, ()=>({meta:R,getValues:y,getErrors:h,getTouched:u,getDirtyValues:B,submit:P,onSubmit:g,reset:F,...b}),[R,y,h,u,B,P,g,F,b])}function Ct(t){let e=S(),r=_react.useMemo.call(void 0, ()=>_chunkH27ROY4Fcjs.g.call(void 0, e,t),[e,t]),i=_react.useRef.call(void 0, null),s=_react.useCallback.call(void 0, ()=>{let n=r.readItems();return i.current&&_chunkOWDDAM6Ccjs.c.call(void 0, i.current,n)?i.current:(i.current=n,n)},[r]),o=_react.useCallback.call(void 0, n=>e.observe.subscribePath(t,()=>n()),[e,t]),c=_react.useSyncExternalStore.call(void 0, o,s,s),l=_react.useMemo.call(void 0, ()=>r.getFields(c),[r,c]);return _react.useEffect.call(void 0, ()=>()=>{_chunkH27ROY4Fcjs.k.call(void 0, e,`${t}.`)},[e,t]),_react.useMemo.call(void 0, ()=>({fields:l,length:c.length,append:r.append,prepend:r.prepend,insert:r.insert,remove:r.remove,move:r.move,swap:r.swap,replace:r.replace,clear:r.clear}),[l,c.length,r])}function qt(t){let e=S(),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let n=e.read.getScopeStatus(t);return r.current&&_chunkRHMJPKNVcjs.b.call(void 0, r.current,n)?r.current:(r.current=n,n)},[e,t]),s=_react.useCallback.call(void 0, n=>e.observe.subscribeScopeStatus(t,()=>n()),[e,t]),o=_react.useSyncExternalStore.call(void 0, s,i,i),c=_react.useCallback.call(void 0, async()=>{let n=await e.feature.validate({scope:t}),a=e.read.getScopeErrors(t);return{valid:n,errors:a}},[e,t]),l=_react.useCallback.call(void 0, ()=>e.read.getScopeErrors(t),[e,t]);return _react.useMemo.call(void 0, ()=>({scopeName:t,status:o,errors:o.errors,validate:c,getErrors:l,isValid:!o.hasErrors,isDirty:o.isDirty}),[t,o,c,l])}function $t(t){if(t.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=S(),[r,i]=_react.useState.call(void 0, 0),s=_nullishCoalesce(t[r], () => ("")),o=_react.useRef.call(void 0, null),c=_react.useRef.call(void 0, s);c.current=s;let l=_react.useRef.call(void 0, r);l.current=r;let n=_react.useCallback.call(void 0, ()=>{let u=e.read.getScopeStatus(s);return o.current&&_chunkRHMJPKNVcjs.b.call(void 0, o.current,u)?o.current:(o.current=u,u)},[e,s]),a=_react.useSyncExternalStore.call(void 0, _react.useCallback.call(void 0, u=>e.observe.subscribeScopeStatus(s,()=>u()),[e,s]),n,n),m=_react.useCallback.call(void 0, async()=>{let u=await e.feature.validate({scope:s}),B=e.read.getScopeErrors(s);return{valid:u,errors:B}},[e,s]),b=_react.useCallback.call(void 0, ()=>e.read.getScopeErrors(s),[e,s]),P=_react.useCallback.call(void 0, async()=>{let u=c.current,B=l.current,R=e.read.getScopeFields(u);if(e.feature.hasValidationsInProgress(R))return!1;let p=await e.feature.validate({scope:u});if(B!==l.current)return!1;if(p)i(M=>Math.min(M+1,t.length-1));else{let M=e.read.getScopeErrors(u),C=Object.keys(M);C.length>0&&e.write.markFieldsTouched(C)}return p},[e,t.length]),g=_react.useCallback.call(void 0, ()=>{i(u=>Math.max(u-1,0))},[]),F=_react.useCallback.call(void 0, u=>{i(Math.max(0,Math.min(u-1,t.length-1)))},[t.length]),y=r===0,h=r>=t.length-1;return _react.useMemo.call(void 0, ()=>({step:r+1,stepIndex:r,scope:s,next:P,prev:g,goTo:F,isFirst:y,isLast:h,status:a,errors:a.errors,isValid:!a.hasErrors,isDirty:a.isDirty,validate:m,getErrors:b}),[r,s,P,g,F,y,h,a,m,b])}function Xt(t){let e=S(),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let o=_chunkOWDDAM6Ccjs.f.call(void 0, e.read.getState().values,t);return r.current!==null&&_chunkOWDDAM6Ccjs.c.call(void 0, r.current,o)?r.current:(r.current=o,o)},[e,t]),s=_react.useCallback.call(void 0, o=>e.observe.subscribePath(t,()=>o()),[e,t]);return _react.useSyncExternalStore.call(void 0, s,i,i)}function ee(){let t=S(),e=_react.useCallback.call(void 0, a=>_chunkH27ROY4Fcjs.e.call(void 0, t,a),[t]),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let a=_chunkH27ROY4Fcjs.d.call(void 0, t);return r.current&&r.current.isSaving===a.isSaving&&r.current.isRestoring===a.isRestoring&&r.current.error===a.error?r.current:(r.current=a,a)},[t]),s=_react.useSyncExternalStore.call(void 0, e,i,i),o=_react.useCallback.call(void 0, async()=>t.feature.restorePersisted(),[t]),c=_react.useCallback.call(void 0, async()=>{await t.feature.forceSave()},[t]),l=_react.useCallback.call(void 0, async()=>{await t.feature.clearPersisted()},[t]),n=_react.useMemo.call(void 0, ()=>({isSaving:s.isSaving,isRestoring:s.isRestoring,error:s.error}),[s]);return _react.useMemo.call(void 0, ()=>({restore:o,save:c,clear:l,meta:n}),[o,c,l,n])}function ce(t){let e=S(),r=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>()=>_chunkH27ROY4Fcjs.j.call(void 0, e,t),[e,t]);let i=_react.useCallback.call(void 0, ()=>{let n=e.read.getFieldState(t),a=_chunkAV7YYSFIcjs.a.call(void 0, n,r.current);return r.current=a,a},[e,t]),s=_react.useCallback.call(void 0, n=>e.observe.subscribeFieldState(t,()=>n()),[e,t]),o=_react.useSyncExternalStore.call(void 0, s,i,i),c=_react.useCallback.call(void 0, n=>e.write.setField(t,n),[e,t]),l=_react.useCallback.call(void 0, ()=>e.write.blurField(t),[e,t]);return{fieldState:o,setValue:c,setBlur:l,store:e}}exports.a = yt; exports.b = S; exports.c = Et; exports.d = ce; exports.e = Ct; exports.f = qt; exports.g = $t; exports.h = Xt; exports.i = ee;
2
+ //# sourceMappingURL=chunk-UNBTMNY3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-UNBTMNY3.cjs","../src/react/context.tsx","../src/react/use-bit-form.ts","../src/react/use-bit-array.ts"],"names":["BitContext","createContext","BitFormProvider","store","children","adapted","useMemo","createFrameworkStoreAdapter","jsx","useBitStore","useContext","useBitForm","submitError","setSubmitError","useState","lastResponse","setLastResponse","lastMeta","useRef","subscribeMeta","useCallback","cb","subscribeFormMetaSnapshot","getMetaSnapshot","nextMeta","readFormMetaSnapshot","metaState","useSyncExternalStore","binding","createFrameworkFormBinding","result","error","controller","actions","submit","onSubmit","reset","getValues","getErrors","getTouched","getDirtyValues","meta","useBitArray","path","createArrayBinding","lastSnapshotRef","getSnapshot","next","valueEqual","subscribeArray","data","fields","useEffect","cleanupRegisteredPrefix"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-UNBTMNY3.cjs","sourcesContent":[null,"import React, { createContext, useContext, useMemo } from \"react\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nconst BitContext = createContext<BitFrameworkStoreApi<any> | null>(null);\n\ninterface BitFormProviderProps<T extends object> {\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>;\n children: React.ReactNode;\n}\n\ninterface BitFormProviderRuntimeProps {\n store: unknown;\n children: React.ReactNode;\n}\n\ntype BitFormProviderComponent = {\n <T extends object>(props: BitFormProviderProps<T>): React.ReactElement;\n (props: BitFormProviderRuntimeProps): React.ReactElement;\n};\n\nexport const BitFormProvider: BitFormProviderComponent = ({\n store,\n children,\n}: BitFormProviderRuntimeProps) => {\n const adapted = useMemo(() => createFrameworkStoreAdapter(store), [store]);\n\n return (\n <BitContext.Provider value={adapted}>\n {children}\n </BitContext.Provider>\n );\n};\n\nexport const useBitStore = <T extends object>() => {\n const store = useContext(BitContext);\n if (!store)\n throw new Error(\n \"BitForm hooks devem ser usados dentro de um BitFormProvider\",\n );\n return store as BitFrameworkStoreApi<T>;\n};\n","import {\n useCallback,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport {\n createFrameworkFormBinding,\n readFormMetaSnapshot,\n subscribeFormMetaSnapshot,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n\n const [submitError, setSubmitError] = useState<Error | null>(null);\n const [lastResponse, setLastResponse] = useState<unknown>(null);\n const lastMeta = useRef<ReturnType<typeof readFormMetaSnapshot<T>> | null>(\n null,\n );\n\n const subscribeMeta = useCallback(\n (cb: () => void) => subscribeFormMetaSnapshot(store, cb),\n [store],\n );\n const getMetaSnapshot = useCallback(() => {\n const nextMeta = readFormMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.isValid === nextMeta.isValid &&\n lastMeta.current.isDirty === nextMeta.isDirty &&\n lastMeta.current.isSubmitting === nextMeta.isSubmitting\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const metaState = useSyncExternalStore(\n subscribeMeta,\n getMetaSnapshot,\n getMetaSnapshot,\n );\n\n const binding = useMemo(\n () =>\n createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n setSubmitError(null);\n setLastResponse(null);\n },\n setSubmissionResult: (result) => {\n setLastResponse(result);\n },\n setSubmissionError: (error) => {\n setSubmitError(error);\n },\n }),\n [store],\n );\n\n const { controller, actions } = binding;\n\n const submit = useCallback(controller.submit, [controller]);\n const onSubmit = useCallback(controller.onSubmit, [controller]);\n const reset = useCallback(controller.reset, [controller]);\n\n const getValues = useCallback(controller.getValues, [controller]);\n const getErrors = useCallback(controller.getErrors, [controller]);\n const getTouched = useCallback(controller.getTouched, [controller]);\n const getDirtyValues = useCallback(controller.getDirtyValues, [controller]);\n\n const meta = useMemo(\n () => ({\n ...metaState,\n submitError,\n lastResponse,\n }),\n [metaState, submitError, lastResponse],\n );\n\n return useMemo(\n () => ({\n // Metadata (grouped)\n meta,\n // Getters\n getValues,\n getErrors,\n getTouched,\n getDirtyValues,\n // Main actions (frequent use - flat)\n submit,\n onSubmit,\n reset,\n ...actions,\n }),\n [\n meta,\n getValues,\n getErrors,\n getTouched,\n getDirtyValues,\n submit,\n onSubmit,\n reset,\n actions,\n ],\n );\n}\n","import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n} from \"react\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n valueEqual,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = useMemo(\n () => createArrayBinding<TForm, P>(store, path),\n [store, path],\n );\n type ArraySnapshot = ReturnType<typeof controller.readItems>;\n const lastSnapshotRef = useRef<ArraySnapshot | null>(null);\n\n const getSnapshot = useCallback(() => {\n const next = controller.readItems();\n\n if (lastSnapshotRef.current && valueEqual(lastSnapshotRef.current, next)) {\n return lastSnapshotRef.current;\n }\n\n lastSnapshotRef.current = next;\n return next;\n }, [controller]);\n\n const subscribeArray = useCallback(\n (cb: () => void) => store.observe.subscribePath(path, () => cb()),\n [store, path],\n );\n\n const data = useSyncExternalStore(subscribeArray, getSnapshot, getSnapshot);\n\n const fields = useMemo(() => controller.getFields(data), [controller, data]);\n\n useEffect(() => {\n return () => {\n cleanupRegisteredPrefix(store, `${path as string}.`);\n };\n }, [store, path]);\n\n return useMemo(\n () => ({\n fields,\n length: data.length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n }),\n [fields, data.length, controller],\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCTQXXT26cjs = require('../chunk-CTQXXT26.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');exports.bitBus = _chunkCTQXXT26cjs.a; exports.createBitBus = _chunkCTQXXT26cjs.b; exports.createBitStore = _chunkCTQXXT26cjs.e; exports.createFrameworkStoreAdapter = _chunkCTQXXT26cjs.d; exports.extractFeatureSlice = _chunkCTQXXT26cjs.i; exports.extractObserveSlice = _chunkCTQXXT26cjs.g; exports.extractReadSlice = _chunkCTQXXT26cjs.f; exports.extractSlices = _chunkCTQXXT26cjs.j; exports.extractWriteSlice = _chunkCTQXXT26cjs.h; exports.resolveBitStoreForHooks = _chunkCTQXXT26cjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkK3QLAMDGcjs = require('../chunk-K3QLAMDG.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');exports.bitBus = _chunkK3QLAMDGcjs.a; exports.createBitBus = _chunkK3QLAMDGcjs.b; exports.createBitStore = _chunkK3QLAMDGcjs.e; exports.createFrameworkStoreAdapter = _chunkK3QLAMDGcjs.d; exports.extractFeatureSlice = _chunkK3QLAMDGcjs.i; exports.extractObserveSlice = _chunkK3QLAMDGcjs.g; exports.extractReadSlice = _chunkK3QLAMDGcjs.f; exports.extractSlices = _chunkK3QLAMDGcjs.j; exports.extractWriteSlice = _chunkK3QLAMDGcjs.h; exports.resolveBitStoreForHooks = _chunkK3QLAMDGcjs.c;
2
2
  //# sourceMappingURL=store.cjs.map
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f,g,h,i,j}from"../chunk-77RIH3KJ.js";import"../chunk-UIKO6GGW.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";export{a as bitBus,b as createBitBus,e as createBitStore,d as createFrameworkStoreAdapter,i as extractFeatureSlice,g as extractObserveSlice,f as extractReadSlice,j as extractSlices,h as extractWriteSlice,c as resolveBitStoreForHooks};
1
+ import{a,b,c,d,e,f,g,h,i,j}from"../chunk-FF6WALLN.js";import"../chunk-UIKO6GGW.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";export{a as bitBus,b as createBitBus,e as createBitStore,d as createFrameworkStoreAdapter,i as extractFeatureSlice,g as extractObserveSlice,f as extractReadSlice,j as extractSlices,h as extractWriteSlice,c as resolveBitStoreForHooks};
2
2
  //# sourceMappingURL=store.js.map
package/dist/core.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkCTQXXT26cjs = require('./chunk-CTQXXT26.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');var _chunkAV7YYSFIcjs = require('./chunk-AV7YYSFI.cjs');var _chunkOWDDAM6Ccjs = require('./chunk-OWDDAM6C.cjs');require('./chunk-X3DGA5UC.cjs');var _chunk725CMNAVcjs = require('./chunk-725CMNAV.cjs');exports.areFieldSnapshotsEqual = _chunkAV7YYSFIcjs.b; exports.areScopeErrorsEqual = _chunkRHMJPKNVcjs.a; exports.bitBus = _chunkCTQXXT26cjs.a; exports.cleanPrefixedKeys = _chunkOWDDAM6Ccjs.j; exports.cleanupRegisteredField = _chunkH27ROY4Fcjs.j; exports.cleanupRegisteredPrefix = _chunkH27ROY4Fcjs.k; exports.createArrayBinding = _chunkH27ROY4Fcjs.g; exports.createBitBus = _chunkCTQXXT26cjs.b; exports.createBitStore = _chunkCTQXXT26cjs.e; exports.createFieldStateSnapshot = _chunkAV7YYSFIcjs.a; exports.createFrameworkFormBinding = _chunkH27ROY4Fcjs.i; exports.createFrameworkMaskedFieldBinding = _chunkH27ROY4Fcjs.h; exports.createFrameworkStoreAdapter = _chunkCTQXXT26cjs.d; exports.deepClone = _chunkOWDDAM6Ccjs.a; exports.deepEqual = _chunkOWDDAM6Ccjs.d; exports.deepMerge = _chunkOWDDAM6Ccjs.b; exports.deriveFieldMeta = _chunkH6HGYVRVcjs.a; exports.extractFeatureSlice = _chunkCTQXXT26cjs.i; exports.extractObserveSlice = _chunkCTQXXT26cjs.g; exports.extractReadSlice = _chunkCTQXXT26cjs.f; exports.extractServerErrors = _chunkOWDDAM6Ccjs.n; exports.extractSlices = _chunkCTQXXT26cjs.j; exports.extractWriteSlice = _chunkCTQXXT26cjs.h; exports.formatMaskedValue = _chunk725CMNAVcjs.b; exports.getDeepValue = _chunkOWDDAM6Ccjs.f; exports.getScopeSubscriptionPaths = _chunkRHMJPKNVcjs.c; exports.isBitFieldInputEventObject = _chunk725CMNAVcjs.a; exports.isHistoryMetaEqual = _chunkRHMJPKNVcjs.e; exports.isScopeStatusEqual = _chunkRHMJPKNVcjs.b; exports.isValidationErrorShape = _chunkOWDDAM6Ccjs.m; exports.observeFormMetaSnapshot = _chunkH27ROY4Fcjs.c; exports.observeHistoryMetaSnapshot = _chunkRHMJPKNVcjs.g; exports.observePersistMetaSnapshot = _chunkH27ROY4Fcjs.f; exports.observeScopeStatusSnapshot = _chunkBSGJ3T5Scjs.a; exports.parseMaskedInput = _chunk725CMNAVcjs.c; exports.readFormMetaSnapshot = _chunkH27ROY4Fcjs.a; exports.readHistoryMetaSnapshot = _chunkRHMJPKNVcjs.f; exports.readPersistMetaSnapshot = _chunkH27ROY4Fcjs.d; exports.resolveBitStoreForHooks = _chunkCTQXXT26cjs.c; exports.setDeepValue = _chunkOWDDAM6Ccjs.g; exports.subscribeFormMetaSnapshot = _chunkH27ROY4Fcjs.b; exports.subscribePersistMetaSnapshot = _chunkH27ROY4Fcjs.e; exports.valueEqual = _chunkOWDDAM6Ccjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});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');var _chunkAV7YYSFIcjs = require('./chunk-AV7YYSFI.cjs');var _chunkOWDDAM6Ccjs = require('./chunk-OWDDAM6C.cjs');require('./chunk-X3DGA5UC.cjs');var _chunk725CMNAVcjs = require('./chunk-725CMNAV.cjs');exports.areFieldSnapshotsEqual = _chunkAV7YYSFIcjs.b; exports.areScopeErrorsEqual = _chunkRHMJPKNVcjs.a; exports.bitBus = _chunkK3QLAMDGcjs.a; exports.cleanPrefixedKeys = _chunkOWDDAM6Ccjs.j; exports.cleanupRegisteredField = _chunkH27ROY4Fcjs.j; exports.cleanupRegisteredPrefix = _chunkH27ROY4Fcjs.k; exports.createArrayBinding = _chunkH27ROY4Fcjs.g; exports.createBitBus = _chunkK3QLAMDGcjs.b; exports.createBitStore = _chunkK3QLAMDGcjs.e; exports.createFieldStateSnapshot = _chunkAV7YYSFIcjs.a; exports.createFrameworkFormBinding = _chunkH27ROY4Fcjs.i; exports.createFrameworkMaskedFieldBinding = _chunkH27ROY4Fcjs.h; exports.createFrameworkStoreAdapter = _chunkK3QLAMDGcjs.d; exports.deepClone = _chunkOWDDAM6Ccjs.a; exports.deepEqual = _chunkOWDDAM6Ccjs.d; exports.deepMerge = _chunkOWDDAM6Ccjs.b; exports.deriveFieldMeta = _chunkH6HGYVRVcjs.a; exports.extractFeatureSlice = _chunkK3QLAMDGcjs.i; exports.extractObserveSlice = _chunkK3QLAMDGcjs.g; exports.extractReadSlice = _chunkK3QLAMDGcjs.f; exports.extractServerErrors = _chunkOWDDAM6Ccjs.n; exports.extractSlices = _chunkK3QLAMDGcjs.j; exports.extractWriteSlice = _chunkK3QLAMDGcjs.h; exports.formatMaskedValue = _chunk725CMNAVcjs.b; exports.getDeepValue = _chunkOWDDAM6Ccjs.f; exports.getScopeSubscriptionPaths = _chunkRHMJPKNVcjs.c; exports.isBitFieldInputEventObject = _chunk725CMNAVcjs.a; exports.isHistoryMetaEqual = _chunkRHMJPKNVcjs.e; exports.isScopeStatusEqual = _chunkRHMJPKNVcjs.b; exports.isValidationErrorShape = _chunkOWDDAM6Ccjs.m; exports.observeFormMetaSnapshot = _chunkH27ROY4Fcjs.c; exports.observeHistoryMetaSnapshot = _chunkRHMJPKNVcjs.g; exports.observePersistMetaSnapshot = _chunkH27ROY4Fcjs.f; exports.observeScopeStatusSnapshot = _chunkBSGJ3T5Scjs.a; exports.parseMaskedInput = _chunk725CMNAVcjs.c; exports.readFormMetaSnapshot = _chunkH27ROY4Fcjs.a; exports.readHistoryMetaSnapshot = _chunkRHMJPKNVcjs.f; exports.readPersistMetaSnapshot = _chunkH27ROY4Fcjs.d; exports.resolveBitStoreForHooks = _chunkK3QLAMDGcjs.c; exports.setDeepValue = _chunkOWDDAM6Ccjs.g; exports.subscribeFormMetaSnapshot = _chunkH27ROY4Fcjs.b; exports.subscribePersistMetaSnapshot = _chunkH27ROY4Fcjs.e; exports.valueEqual = _chunkOWDDAM6Ccjs.c;
2
2
  //# sourceMappingURL=core.cjs.map
package/dist/core.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-5NA2TFPG.js";import{a as j,b as k,c as t,d as u,e as v,f as w,g as x,h as y,i as z,j as A}from"./chunk-77RIH3KJ.js";import{a as B,b as C,c as D,d as E,e as F,f as G,g as H,h as L,i as M,j as N,k as O}from"./chunk-L42NQRVD.js";import{a as P}from"./chunk-W2E5UIXT.js";import{a as l,b as m,c as n,e as o,f as p,g as q}from"./chunk-UIKO6GGW.js";import{a as Q}from"./chunk-L57KMBXS.js";import{a as r,b as s}from"./chunk-Y7TQTZY7.js";import{a,b,c,d,f as e,g as f,j as g,m as h,n as i}from"./chunk-UBVVBVLS.js";import"./chunk-MBEQLBJB.js";import{a as I,b as J,c as K}from"./chunk-DGEGYNQL.js";export{s as areFieldSnapshotsEqual,l as areScopeErrorsEqual,j as bitBus,g as cleanPrefixedKeys,N as cleanupRegisteredField,O as cleanupRegisteredPrefix,H as createArrayBinding,k as createBitBus,v as createBitStore,r as createFieldStateSnapshot,M as createFrameworkFormBinding,L as createFrameworkMaskedFieldBinding,u as createFrameworkStoreAdapter,a as deepClone,d as deepEqual,b as deepMerge,Q as deriveFieldMeta,z as extractFeatureSlice,x as extractObserveSlice,w as extractReadSlice,i as extractServerErrors,A as extractSlices,y as extractWriteSlice,J as formatMaskedValue,e as getDeepValue,n as getScopeSubscriptionPaths,I as isBitFieldInputEventObject,o as isHistoryMetaEqual,m as isScopeStatusEqual,h as isValidationErrorShape,D as observeFormMetaSnapshot,q as observeHistoryMetaSnapshot,G as observePersistMetaSnapshot,P as observeScopeStatusSnapshot,K as parseMaskedInput,B as readFormMetaSnapshot,p as readHistoryMetaSnapshot,E as readPersistMetaSnapshot,t as resolveBitStoreForHooks,f as setDeepValue,C as subscribeFormMetaSnapshot,F as subscribePersistMetaSnapshot,c as valueEqual};
1
+ import"./chunk-5NA2TFPG.js";import{a as j,b as k,c as t,d as u,e as v,f as w,g as x,h as y,i as z,j as A}from"./chunk-FF6WALLN.js";import{a as B,b as C,c as D,d as E,e as F,f as G,g as H,h as L,i as M,j as N,k as O}from"./chunk-L42NQRVD.js";import{a as P}from"./chunk-W2E5UIXT.js";import{a as l,b as m,c as n,e as o,f as p,g as q}from"./chunk-UIKO6GGW.js";import{a as Q}from"./chunk-L57KMBXS.js";import{a as r,b as s}from"./chunk-Y7TQTZY7.js";import{a,b,c,d,f as e,g as f,j as g,m as h,n as i}from"./chunk-UBVVBVLS.js";import"./chunk-MBEQLBJB.js";import{a as I,b as J,c as K}from"./chunk-DGEGYNQL.js";export{s as areFieldSnapshotsEqual,l as areScopeErrorsEqual,j as bitBus,g as cleanPrefixedKeys,N as cleanupRegisteredField,O as cleanupRegisteredPrefix,H as createArrayBinding,k as createBitBus,v as createBitStore,r as createFieldStateSnapshot,M as createFrameworkFormBinding,L as createFrameworkMaskedFieldBinding,u as createFrameworkStoreAdapter,a as deepClone,d as deepEqual,b as deepMerge,Q as deriveFieldMeta,z as extractFeatureSlice,x as extractObserveSlice,w as extractReadSlice,i as extractServerErrors,A as extractSlices,y as extractWriteSlice,J as formatMaskedValue,e as getDeepValue,n as getScopeSubscriptionPaths,I as isBitFieldInputEventObject,o as isHistoryMetaEqual,m as isScopeStatusEqual,h as isValidationErrorShape,D as observeFormMetaSnapshot,q as observeHistoryMetaSnapshot,G as observePersistMetaSnapshot,P as observeScopeStatusSnapshot,K as parseMaskedInput,B as readFormMetaSnapshot,p as readHistoryMetaSnapshot,E as readPersistMetaSnapshot,t as resolveBitStoreForHooks,f as setDeepValue,C as subscribeFormMetaSnapshot,F as subscribePersistMetaSnapshot,c as valueEqual};
2
2
  //# sourceMappingURL=core.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkG6EG5AWJcjs = require('../chunk-G6EG5AWJ.cjs');require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-CTQXXT26.cjs');require('../chunk-H27ROY4F.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');exports.setupRemoteBridge = _chunkG6EG5AWJcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLBWJK3ICcjs = require('../chunk-LBWJK3IC.cjs');require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-K3QLAMDG.cjs');require('../chunk-H27ROY4F.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');exports.setupRemoteBridge = _chunkLBWJK3ICcjs.c;
2
2
  //# sourceMappingURL=bridge.cjs.map
@@ -1,2 +1,2 @@
1
- import{c as a}from"../chunk-3MWOSR4W.js";import"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import"../chunk-77RIH3KJ.js";import"../chunk-L42NQRVD.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";export{a as setupRemoteBridge};
1
+ import{c as a}from"../chunk-4U32VQD5.js";import"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import"../chunk-FF6WALLN.js";import"../chunk-L42NQRVD.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";export{a as setupRemoteBridge};
2
2
  //# sourceMappingURL=bridge.js.map
@@ -1,4 +1,4 @@
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 _class;var _chunkG6EG5AWJcjs = require('../chunk-G6EG5AWJ.cjs');var _chunkQKGTVKBUcjs = require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkCTQXXT26cjs = require('../chunk-CTQXXT26.cjs');require('../chunk-H27ROY4F.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');function E(){return`
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 _class;var _chunkLBWJK3ICcjs = require('../chunk-LBWJK3IC.cjs');var _chunkQKGTVKBUcjs = require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkK3QLAMDGcjs = require('../chunk-K3QLAMDG.cjs');require('../chunk-H27ROY4F.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');function E(){return`
2
2
  .bit-devtools-container {
3
3
  position: fixed;
4
4
  bottom: 20px;
@@ -154,5 +154,5 @@
154
154
  <button class="bit-devtools-trigger" style="transform: ${this.isOpen?"scale(0.9)":"scale(1)"};" title="Abrir DevTools">
155
155
  ${this.isOpen?"\u2716":"Bit"}
156
156
  </button>
157
- `;if(this.rootElement.innerHTML=e+a,this.isOpen&&this.activeStoreId===i&&t>0){let o=this.rootElement.querySelector(".bit-devtools-panel");o&&(o.scrollTop=t)}}}, _class);function M(s,r=_chunkCTQXXT26cjs.a){let i=new b(s,{onUndo:o=>_optionalChain([_chunkG6EG5AWJcjs.b.call(void 0, r.stores,o), 'optionalAccess', _3 => _3.undo, 'call', _4 => _4()]),onRedo:o=>_optionalChain([_chunkG6EG5AWJcjs.b.call(void 0, r.stores,o), 'optionalAccess', _5 => _5.redo, 'call', _6 => _6()]),onReset:o=>_optionalChain([_chunkG6EG5AWJcjs.b.call(void 0, r.stores,o), 'optionalAccess', _7 => _7.reset, 'call', _8 => _8()])}),t=()=>_chunkG6EG5AWJcjs.a.call(void 0, r.stores);i.updateState(t());let e,a=r.subscribe(()=>{e===void 0&&(e=requestAnimationFrame(()=>{e=void 0,i.updateState(t())}))});return{ui:i,destroy:()=>{e!==void 0&&cancelAnimationFrame(e),a(),s.innerHTML=""}}}function k(s,r="ws://localhost:3000",i){let t=null,e=l=>{if(_optionalChain([t, 'optionalAccess', _9 => _9.readyState])===WebSocket.OPEN)try{t.send(JSON.stringify(l))}catch(c){console.warn("[bit-form] Failed to send message:",c)}else console.warn("[bit-form] Tentativa de envio falhou. WebSocket n\xE3o est\xE1 aberto.")},a=(l,c)=>{e({type:"ACTION",protocolVersion:1,payload:{storeId:l,action:c}})},o=new b(s,{onUndo:l=>a(l,"undo"),onRedo:l=>a(l,"redo"),onReset:l=>a(l,"reset")}),n=!1,d,f=0,x=3e4;function w(){t&&(t.addEventListener("open",()=>{f=0,e({type:"HELLO",protocolVersion:1,payload:{role:"client",protocolVersion:1}}),console.log(`[bit-form] Conectado ao DevTools remoto em ${r}`)}),t.addEventListener("message",l=>{try{let c=JSON.parse(l.data);_chunkQKGTVKBUcjs.d.call(void 0, c)&&o.updateState(c.payload)}catch(c){console.error("[bit-form] Erro ao processar mensagem do WebSocket:",c)}}),t.addEventListener("error",l=>{console.error("[bit-form] Erro na conex\xE3o do DevTools remoto:",l)}),t.addEventListener("close",()=>{if(n)return;console.log("[bit-form] Conex\xE3o DevTools remota fechada. Reconectando...");let c=Math.min(1e3*Math.pow(2,f),x)*(.5+Math.random()*.5);f++,d=setTimeout(()=>{n||g()},c)}))}function g(){t&&(t.onopen=null,t.onmessage=null,t.onerror=null,t.onclose=null,(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close());try{t=new WebSocket(r)}catch(l){console.error("[bit-form] Failed to create WebSocket for remote devtools:",l);let h=Math.min(1e3*Math.pow(2,f),x)*(.5+Math.random()*.5);f++,n||(d=setTimeout(()=>{n||g()},h));return}w()}return g(),{ui:o,destroy:()=>{n=!0,d&&(clearTimeout(d),d=void 0),t&&(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close(),s.innerHTML=""}}}function v(s={}){let{mode:r="local",url:i,bus:t}=s,e,a=!1;if(typeof s.container=="string"){let n=document.querySelector(s.container);if(!n)throw new Error(`[bit-form] Container '${s.container}' n\xE3o encontrado na p\xE1gina.`);e=n}else s.container instanceof HTMLElement?e=s.container:(e=document.createElement("div"),e.id="bit-form-devtools-root",e.style.position="fixed",e.style.bottom="20px",e.style.right="20px",e.style.zIndex="9999",e.style.maxHeight="80vh",e.style.overflowY="auto",e.style.boxShadow="0 10px 25px rgba(0,0,0,0.1)",document.body.appendChild(e),a=!0);let o;if(r==="local")console.log("[bit-form] DevTools iniciado em modo Local."),o=M(e,t);else if(r==="remote")console.log("[bit-form] DevTools iniciado em modo Remote."),o=k(e,i,t);else throw new Error(`[bit-form] Modo DevTools inv\xE1lido: ${r}`);return{...o,destroy:()=>{o&&typeof o.destroy=="function"&&o.destroy(),a&&e.parentNode?e.parentNode.removeChild(e):e.innerHTML=""}}}function L(s){return typeof s=="boolean"?{enabled:s,mode:"local"}:{enabled:!!s,mode:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _10 => _10.mode]), () => ("local")),url:_optionalChain([s, 'optionalAccess', _11 => _11.url])}}function A(){return typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV==="production"?!0:(typeof process<"u"&&typeof process.env<"u"&&process.env.VITEST==="true",!1)}function R(s){return{name:"bit-devtools",setup:r=>{let i=L(_nullishCoalesce(s, () => (r.getConfig().devTools)));if(!i.enabled||A()&&s!==!0)return;let t=null,e=r.getConfig().bus;try{if(i.mode==="remote")t=_chunkG6EG5AWJcjs.c.call(void 0, i.url||"ws://localhost:3000",e);else{let a=v({bus:e});t=a&&typeof a.destroy=="function"?a.destroy:null}}catch (e3){}return()=>{t&&(t(),t=null)}}}}exports.DEVTOOLS_PROTOCOL_VERSION = _chunkQKGTVKBUcjs.a; exports.createDevToolsPlugin = R; exports.initDevTools = v;
157
+ `;if(this.rootElement.innerHTML=e+a,this.isOpen&&this.activeStoreId===i&&t>0){let o=this.rootElement.querySelector(".bit-devtools-panel");o&&(o.scrollTop=t)}}}, _class);function M(s,r=_chunkK3QLAMDGcjs.a){let i=new b(s,{onUndo:o=>_optionalChain([_chunkLBWJK3ICcjs.b.call(void 0, r.stores,o), 'optionalAccess', _3 => _3.undo, 'call', _4 => _4()]),onRedo:o=>_optionalChain([_chunkLBWJK3ICcjs.b.call(void 0, r.stores,o), 'optionalAccess', _5 => _5.redo, 'call', _6 => _6()]),onReset:o=>_optionalChain([_chunkLBWJK3ICcjs.b.call(void 0, r.stores,o), 'optionalAccess', _7 => _7.reset, 'call', _8 => _8()])}),t=()=>_chunkLBWJK3ICcjs.a.call(void 0, r.stores);i.updateState(t());let e,a=r.subscribe(()=>{e===void 0&&(e=requestAnimationFrame(()=>{e=void 0,i.updateState(t())}))});return{ui:i,destroy:()=>{e!==void 0&&cancelAnimationFrame(e),a(),s.innerHTML=""}}}function k(s,r="ws://localhost:3000",i){let t=null,e=l=>{if(_optionalChain([t, 'optionalAccess', _9 => _9.readyState])===WebSocket.OPEN)try{t.send(JSON.stringify(l))}catch(c){console.warn("[bit-form] Failed to send message:",c)}else console.warn("[bit-form] Tentativa de envio falhou. WebSocket n\xE3o est\xE1 aberto.")},a=(l,c)=>{e({type:"ACTION",protocolVersion:1,payload:{storeId:l,action:c}})},o=new b(s,{onUndo:l=>a(l,"undo"),onRedo:l=>a(l,"redo"),onReset:l=>a(l,"reset")}),n=!1,d,f=0,x=3e4;function w(){t&&(t.addEventListener("open",()=>{f=0,e({type:"HELLO",protocolVersion:1,payload:{role:"client",protocolVersion:1}}),console.log(`[bit-form] Conectado ao DevTools remoto em ${r}`)}),t.addEventListener("message",l=>{try{let c=JSON.parse(l.data);_chunkQKGTVKBUcjs.d.call(void 0, c)&&o.updateState(c.payload)}catch(c){console.error("[bit-form] Erro ao processar mensagem do WebSocket:",c)}}),t.addEventListener("error",l=>{console.error("[bit-form] Erro na conex\xE3o do DevTools remoto:",l)}),t.addEventListener("close",()=>{if(n)return;console.log("[bit-form] Conex\xE3o DevTools remota fechada. Reconectando...");let c=Math.min(1e3*Math.pow(2,f),x)*(.5+Math.random()*.5);f++,d=setTimeout(()=>{n||g()},c)}))}function g(){t&&(t.onopen=null,t.onmessage=null,t.onerror=null,t.onclose=null,(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close());try{t=new WebSocket(r)}catch(l){console.error("[bit-form] Failed to create WebSocket for remote devtools:",l);let h=Math.min(1e3*Math.pow(2,f),x)*(.5+Math.random()*.5);f++,n||(d=setTimeout(()=>{n||g()},h));return}w()}return g(),{ui:o,destroy:()=>{n=!0,d&&(clearTimeout(d),d=void 0),t&&(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close(),s.innerHTML=""}}}function v(s={}){let{mode:r="local",url:i,bus:t}=s,e,a=!1;if(typeof s.container=="string"){let n=document.querySelector(s.container);if(!n)throw new Error(`[bit-form] Container '${s.container}' n\xE3o encontrado na p\xE1gina.`);e=n}else s.container instanceof HTMLElement?e=s.container:(e=document.createElement("div"),e.id="bit-form-devtools-root",e.style.position="fixed",e.style.bottom="20px",e.style.right="20px",e.style.zIndex="9999",e.style.maxHeight="80vh",e.style.overflowY="auto",e.style.boxShadow="0 10px 25px rgba(0,0,0,0.1)",document.body.appendChild(e),a=!0);let o;if(r==="local")console.log("[bit-form] DevTools iniciado em modo Local."),o=M(e,t);else if(r==="remote")console.log("[bit-form] DevTools iniciado em modo Remote."),o=k(e,i,t);else throw new Error(`[bit-form] Modo DevTools inv\xE1lido: ${r}`);return{...o,destroy:()=>{o&&typeof o.destroy=="function"&&o.destroy(),a&&e.parentNode?e.parentNode.removeChild(e):e.innerHTML=""}}}function L(s){return typeof s=="boolean"?{enabled:s,mode:"local"}:{enabled:!!s,mode:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _10 => _10.mode]), () => ("local")),url:_optionalChain([s, 'optionalAccess', _11 => _11.url])}}function A(){return typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV==="production"?!0:(typeof process<"u"&&typeof process.env<"u"&&process.env.VITEST==="true",!1)}function R(s){return{name:"bit-devtools",setup:r=>{let i=L(_nullishCoalesce(s, () => (r.getConfig().devTools)));if(!i.enabled||A()&&s!==!0)return;let t=null,e=r.getConfig().bus;try{if(i.mode==="remote")t=_chunkLBWJK3ICcjs.c.call(void 0, i.url||"ws://localhost:3000",e);else{let a=v({bus:e});t=a&&typeof a.destroy=="function"?a.destroy:null}}catch (e3){}return()=>{t&&(t(),t=null)}}}}exports.DEVTOOLS_PROTOCOL_VERSION = _chunkQKGTVKBUcjs.a; exports.createDevToolsPlugin = R; exports.initDevTools = v;
158
158
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import{a as T,b as m,c as D}from"../chunk-3MWOSR4W.js";import{a as u,d as S}from"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import{a as y}from"../chunk-77RIH3KJ.js";import"../chunk-L42NQRVD.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";function E(){return`
1
+ import{a as T,b as m,c as D}from"../chunk-4U32VQD5.js";import{a as u,d as S}from"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import{a as y}from"../chunk-FF6WALLN.js";import"../chunk-L42NQRVD.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";function E(){return`
2
2
  .bit-devtools-container {
3
3
  position: fixed;
4
4
  bottom: 20px;
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkCTQXXT26cjs = require('./chunk-CTQXXT26.cjs');require('./chunk-H27ROY4F.cjs');require('./chunk-BSGJ3T5S.cjs');require('./chunk-RHMJPKNV.cjs');require('./chunk-H6HGYVRV.cjs');require('./chunk-AV7YYSFI.cjs');require('./chunk-OWDDAM6C.cjs');require('./chunk-X3DGA5UC.cjs');require('./chunk-725CMNAV.cjs');exports.createBitStore = _chunkCTQXXT26cjs.e; exports.createFrameworkStoreAdapter = _chunkCTQXXT26cjs.d; exports.resolveBitStoreForHooks = _chunkCTQXXT26cjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkK3QLAMDGcjs = require('./chunk-K3QLAMDG.cjs');require('./chunk-H27ROY4F.cjs');require('./chunk-BSGJ3T5S.cjs');require('./chunk-RHMJPKNV.cjs');require('./chunk-H6HGYVRV.cjs');require('./chunk-AV7YYSFI.cjs');require('./chunk-OWDDAM6C.cjs');require('./chunk-X3DGA5UC.cjs');require('./chunk-725CMNAV.cjs');exports.createBitStore = _chunkK3QLAMDGcjs.e; exports.createFrameworkStoreAdapter = _chunkK3QLAMDGcjs.d; exports.resolveBitStoreForHooks = _chunkK3QLAMDGcjs.c;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-5NA2TFPG.js";import{c as r,d as t,e}from"./chunk-77RIH3KJ.js";import"./chunk-L42NQRVD.js";import"./chunk-W2E5UIXT.js";import"./chunk-UIKO6GGW.js";import"./chunk-L57KMBXS.js";import"./chunk-Y7TQTZY7.js";import"./chunk-UBVVBVLS.js";import"./chunk-MBEQLBJB.js";import"./chunk-DGEGYNQL.js";export{e as createBitStore,t as createFrameworkStoreAdapter,r as resolveBitStoreForHooks};
1
+ import"./chunk-5NA2TFPG.js";import{c as r,d as t,e}from"./chunk-FF6WALLN.js";import"./chunk-L42NQRVD.js";import"./chunk-W2E5UIXT.js";import"./chunk-UIKO6GGW.js";import"./chunk-L57KMBXS.js";import"./chunk-Y7TQTZY7.js";import"./chunk-UBVVBVLS.js";import"./chunk-MBEQLBJB.js";import"./chunk-DGEGYNQL.js";export{e as createBitStore,t as createFrameworkStoreAdapter,r as resolveBitStoreForHooks};
2
2
  //# sourceMappingURL=index.js.map
@@ -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 _chunkKDNY7F5Qcjs = require('../chunk-KDNY7F5Q.cjs');var _chunkH3RTOA6Xcjs = require('../chunk-H3RTOA6X.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-CTQXXT26.cjs');var _chunkH27ROY4Fcjs = require('../chunk-H27ROY4F.cjs');require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');var _chunk725CMNAVcjs = require('../chunk-725CMNAV.cjs');var _react = require('react');function V(t){let{fieldState:r,setBlur:i,store:u}=_chunkKDNY7F5Qcjs.d.call(void 0, t),{fieldController:l}=_react.useMemo.call(void 0, ()=>_chunkH27ROY4Fcjs.h.call(void 0, u,t),[u,t]),a=_react.useMemo.call(void 0, ()=>l.displayValue(r.value),[r.value,l]),n=_react.useCallback.call(void 0, F=>{l.setValue(F)},[l]),{value:s}=r,b=_chunkH6HGYVRVcjs.a.call(void 0, r),{error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}=b,m=_react.useCallback.call(void 0, F=>{let L=_chunk725CMNAVcjs.a.call(void 0, F)?_optionalChain([F, 'access', _ => _.target, 'optionalAccess', _2 => _2.value]):F;n(L)},[n]),e=_react.useCallback.call(void 0, ()=>{i()},[i]),d=_react.useMemo.call(void 0, ()=>({value:a,onChange:m,onBlur:e}),[a,m,e]),h=_react.useMemo.call(void 0, ()=>({error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}),[f,c,y,U,B,o,p,g]);return _react.useMemo.call(void 0, ()=>({value:s,displayValue:a,setValue:n,setBlur:i,onChange:m,onBlur:e,props:d,meta:h}),[s,a,n,i,m,e,d,h])}function Q(){let t=_chunkKDNY7F5Qcjs.b.call(void 0, ),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let s=_chunkRHMJPKNVcjs.f.call(void 0, t);return r.current&&r.current.canUndo===s.canUndo&&r.current.canRedo===s.canRedo&&r.current.historyIndex===s.historyIndex&&r.current.historySize===s.historySize?r.current:(r.current=s,s)},[t]),u=_react.useCallback.call(void 0, s=>t.observe.subscribeHistoryMeta(()=>s()),[t]),l=_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, ()=>({...l,undo:a,redo:n}),[l,a,n])}function Y(t,r,i){let u=_chunkKDNY7F5Qcjs.b.call(void 0, ),l=V(t),{value:a,setValue:n,meta:s}=l,b=_optionalChain([s, 'optionalAccess', _3 => _3.error]),f=!!_optionalChain([s, 'optionalAccess', _4 => _4.isValidating]),c=_react.useRef.call(void 0, null),[y,U]=_react.useState.call(void 0, !1),B=_react.useRef.call(void 0, {current:0}).current;_react.useEffect.call(void 0, ()=>()=>{B.current++,c.current=null},[]);let o=_react.useRef.call(void 0, {setLoading:U,setError:(e,d)=>u.write.setError(e,d),setValue:e=>n(e),getUploadKey:()=>c.current,setUploadKey:e=>{c.current=e},onCallbackError:e=>u.read.config.onUnhandledError(e,"upload")});_react.useEffect.call(void 0, ()=>{o.current.setLoading=U,o.current.setError=(e,d)=>u.write.setError(e,d),o.current.setValue=e=>n(e),o.current.getUploadKey=()=>c.current,o.current.setUploadKey=e=>{c.current=e},o.current.onCallbackError=e=>u.read.config.onUnhandledError(e,"upload")});let p=_react.useMemo.call(void 0, ()=>({setLoading:e=>o.current.setLoading(e),setError:(e,d)=>o.current.setError(e,d),setValue:e=>o.current.setValue(e),getUploadKey:()=>o.current.getUploadKey(),setUploadKey:e=>o.current.setUploadKey(e),onCallbackError:e=>_optionalChain([o, 'access', _5 => _5.current, 'access', _6 => _6.onCallbackError, 'optionalCall', _7 => _7(e)])}),[]),g=_react.useMemo.call(void 0, ()=>_chunkH3RTOA6Xcjs.a.call(void 0, t,r,p,B),[t,r,p]),m=_react.useMemo.call(void 0, ()=>_chunkH3RTOA6Xcjs.b.call(void 0, t,i,p,B),[t,i,p]);return _react.useMemo.call(void 0, ()=>({value:a,setValue:n,error:b,isValidating:f||y,upload:g,remove:m}),[a,n,b,f,y,g,m])}exports.BitFormProvider = _chunkKDNY7F5Qcjs.a; exports.useBitArray = _chunkKDNY7F5Qcjs.e; exports.useBitField = V; exports.useBitForm = _chunkKDNY7F5Qcjs.c; exports.useBitHistory = Q; exports.useBitPersist = _chunkKDNY7F5Qcjs.i; exports.useBitScope = _chunkKDNY7F5Qcjs.f; exports.useBitSteps = _chunkKDNY7F5Qcjs.g; exports.useBitStore = _chunkKDNY7F5Qcjs.b; exports.useBitUpload = Y; exports.useBitWatch = _chunkKDNY7F5Qcjs.h;
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 _chunkUNBTMNY3cjs = require('../chunk-UNBTMNY3.cjs');var _chunkH3RTOA6Xcjs = require('../chunk-H3RTOA6X.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-K3QLAMDG.cjs');var _chunkH27ROY4Fcjs = require('../chunk-H27ROY4F.cjs');require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');var _chunk725CMNAVcjs = require('../chunk-725CMNAV.cjs');var _react = require('react');function V(t){let{fieldState:r,setBlur:i,store:u}=_chunkUNBTMNY3cjs.d.call(void 0, t),{fieldController:l}=_react.useMemo.call(void 0, ()=>_chunkH27ROY4Fcjs.h.call(void 0, u,t),[u,t]),a=_react.useMemo.call(void 0, ()=>l.displayValue(r.value),[r.value,l]),n=_react.useCallback.call(void 0, F=>{l.setValue(F)},[l]),{value:s}=r,b=_chunkH6HGYVRVcjs.a.call(void 0, r),{error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}=b,m=_react.useCallback.call(void 0, F=>{let L=_chunk725CMNAVcjs.a.call(void 0, F)?_optionalChain([F, 'access', _ => _.target, 'optionalAccess', _2 => _2.value]):F;n(L)},[n]),e=_react.useCallback.call(void 0, ()=>{i()},[i]),d=_react.useMemo.call(void 0, ()=>({value:a,onChange:m,onBlur:e}),[a,m,e]),h=_react.useMemo.call(void 0, ()=>({error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}),[f,c,y,U,B,o,p,g]);return _react.useMemo.call(void 0, ()=>({value:s,displayValue:a,setValue:n,setBlur:i,onChange:m,onBlur:e,props:d,meta:h}),[s,a,n,i,m,e,d,h])}function Q(){let t=_chunkUNBTMNY3cjs.b.call(void 0, ),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let s=_chunkRHMJPKNVcjs.f.call(void 0, t);return r.current&&r.current.canUndo===s.canUndo&&r.current.canRedo===s.canRedo&&r.current.historyIndex===s.historyIndex&&r.current.historySize===s.historySize?r.current:(r.current=s,s)},[t]),u=_react.useCallback.call(void 0, s=>t.observe.subscribeHistoryMeta(()=>s()),[t]),l=_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, ()=>({...l,undo:a,redo:n}),[l,a,n])}function Y(t,r,i){let u=_chunkUNBTMNY3cjs.b.call(void 0, ),l=V(t),{value:a,setValue:n,meta:s}=l,b=_optionalChain([s, 'optionalAccess', _3 => _3.error]),f=!!_optionalChain([s, 'optionalAccess', _4 => _4.isValidating]),c=_react.useRef.call(void 0, null),[y,U]=_react.useState.call(void 0, !1),B=_react.useRef.call(void 0, {current:0}).current;_react.useEffect.call(void 0, ()=>()=>{B.current++,c.current=null},[]);let o=_react.useRef.call(void 0, {setLoading:U,setError:(e,d)=>u.write.setError(e,d),setValue:e=>n(e),getUploadKey:()=>c.current,setUploadKey:e=>{c.current=e},onCallbackError:e=>u.read.config.onUnhandledError(e,"upload")});_react.useEffect.call(void 0, ()=>{o.current.setLoading=U,o.current.setError=(e,d)=>u.write.setError(e,d),o.current.setValue=e=>n(e),o.current.getUploadKey=()=>c.current,o.current.setUploadKey=e=>{c.current=e},o.current.onCallbackError=e=>u.read.config.onUnhandledError(e,"upload")});let p=_react.useMemo.call(void 0, ()=>({setLoading:e=>o.current.setLoading(e),setError:(e,d)=>o.current.setError(e,d),setValue:e=>o.current.setValue(e),getUploadKey:()=>o.current.getUploadKey(),setUploadKey:e=>o.current.setUploadKey(e),onCallbackError:e=>_optionalChain([o, 'access', _5 => _5.current, 'access', _6 => _6.onCallbackError, 'optionalCall', _7 => _7(e)])}),[]),g=_react.useMemo.call(void 0, ()=>_chunkH3RTOA6Xcjs.a.call(void 0, t,r,p,B),[t,r,p]),m=_react.useMemo.call(void 0, ()=>_chunkH3RTOA6Xcjs.b.call(void 0, t,i,p,B),[t,i,p]);return _react.useMemo.call(void 0, ()=>({value:a,setValue:n,error:b,isValidating:f||y,upload:g,remove:m}),[a,n,b,f,y,g,m])}exports.BitFormProvider = _chunkUNBTMNY3cjs.a; exports.useBitArray = _chunkUNBTMNY3cjs.e; exports.useBitField = V; exports.useBitForm = _chunkUNBTMNY3cjs.c; exports.useBitHistory = Q; exports.useBitPersist = _chunkUNBTMNY3cjs.i; exports.useBitScope = _chunkUNBTMNY3cjs.f; exports.useBitSteps = _chunkUNBTMNY3cjs.g; exports.useBitStore = _chunkUNBTMNY3cjs.b; exports.useBitUpload = Y; exports.useBitWatch = _chunkUNBTMNY3cjs.h;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{a as j,b as x,c as D,d as C,e as z,f as q,g as A,h as G,i as O}from"../chunk-V22XASFK.js";import{a as K,b as w}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import"../chunk-77RIH3KJ.js";import{h as H}from"../chunk-L42NQRVD.js";import"../chunk-W2E5UIXT.js";import{f as k}from"../chunk-UIKO6GGW.js";import{a as T}from"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import{a as P}from"../chunk-DGEGYNQL.js";import{useCallback as S,useMemo as R}from"react";function V(t){let{fieldState:r,setBlur:i,store:u}=C(t),{fieldController:l}=R(()=>H(u,t),[u,t]),a=R(()=>l.displayValue(r.value),[r.value,l]),n=S(F=>{l.setValue(F)},[l]),{value:s}=r,b=T(r),{error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}=b,m=S(F=>{let L=P(F)?F.target?.value:F;n(L)},[n]),e=S(()=>{i()},[i]),d=R(()=>({value:a,onChange:m,onBlur:e}),[a,m,e]),h=R(()=>({error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}),[f,c,y,U,B,o,p,g]);return R(()=>({value:s,displayValue:a,setValue:n,setBlur:i,onChange:m,onBlur:e,props:d,meta:h}),[s,a,n,i,m,e,d,h])}import{useCallback as v,useMemo as W,useRef as J,useSyncExternalStore as N}from"react";function Q(){let t=x(),r=J(null),i=v(()=>{let s=k(t);return r.current&&r.current.canUndo===s.canUndo&&r.current.canRedo===s.canRedo&&r.current.historyIndex===s.historyIndex&&r.current.historySize===s.historySize?r.current:(r.current=s,s)},[t]),u=v(s=>t.observe.subscribeHistoryMeta(()=>s()),[t]),l=N(u,i,i),a=v(()=>{t.feature.undo()},[t]),n=v(()=>{t.feature.redo()},[t]);return W(()=>({...l,undo:a,redo:n}),[l,a,n])}import{useMemo as E,useRef as M,useState as X,useEffect as I}from"react";function Y(t,r,i){let u=x(),l=V(t),{value:a,setValue:n,meta:s}=l,b=s?.error,f=!!s?.isValidating,c=M(null),[y,U]=X(!1),B=M({current:0}).current;I(()=>()=>{B.current++,c.current=null},[]);let o=M({setLoading:U,setError:(e,d)=>u.write.setError(e,d),setValue:e=>n(e),getUploadKey:()=>c.current,setUploadKey:e=>{c.current=e},onCallbackError:e=>u.read.config.onUnhandledError(e,"upload")});I(()=>{o.current.setLoading=U,o.current.setError=(e,d)=>u.write.setError(e,d),o.current.setValue=e=>n(e),o.current.getUploadKey=()=>c.current,o.current.setUploadKey=e=>{c.current=e},o.current.onCallbackError=e=>u.read.config.onUnhandledError(e,"upload")});let p=E(()=>({setLoading:e=>o.current.setLoading(e),setError:(e,d)=>o.current.setError(e,d),setValue:e=>o.current.setValue(e),getUploadKey:()=>o.current.getUploadKey(),setUploadKey:e=>o.current.setUploadKey(e),onCallbackError:e=>o.current.onCallbackError?.(e)}),[]),g=E(()=>K(t,r,p,B),[t,r,p]),m=E(()=>w(t,i,p,B),[t,i,p]);return E(()=>({value:a,setValue:n,error:b,isValidating:f||y,upload:g,remove:m}),[a,n,b,f,y,g,m])}export{j as BitFormProvider,z as useBitArray,V as useBitField,D as useBitForm,Q as useBitHistory,O as useBitPersist,q as useBitScope,A as useBitSteps,x as useBitStore,Y as useBitUpload,G as useBitWatch};
1
+ import{a as j,b as x,c as D,d as C,e as z,f as q,g as A,h as G,i as O}from"../chunk-KEINCG6A.js";import{a as K,b as w}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import"../chunk-FF6WALLN.js";import{h as H}from"../chunk-L42NQRVD.js";import"../chunk-W2E5UIXT.js";import{f as k}from"../chunk-UIKO6GGW.js";import{a as T}from"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import{a as P}from"../chunk-DGEGYNQL.js";import{useCallback as S,useMemo as R}from"react";function V(t){let{fieldState:r,setBlur:i,store:u}=C(t),{fieldController:l}=R(()=>H(u,t),[u,t]),a=R(()=>l.displayValue(r.value),[r.value,l]),n=S(F=>{l.setValue(F)},[l]),{value:s}=r,b=T(r),{error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}=b,m=S(F=>{let L=P(F)?F.target?.value:F;n(L)},[n]),e=S(()=>{i()},[i]),d=R(()=>({value:a,onChange:m,onBlur:e}),[a,m,e]),h=R(()=>({error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}),[f,c,y,U,B,o,p,g]);return R(()=>({value:s,displayValue:a,setValue:n,setBlur:i,onChange:m,onBlur:e,props:d,meta:h}),[s,a,n,i,m,e,d,h])}import{useCallback as v,useMemo as W,useRef as J,useSyncExternalStore as N}from"react";function Q(){let t=x(),r=J(null),i=v(()=>{let s=k(t);return r.current&&r.current.canUndo===s.canUndo&&r.current.canRedo===s.canRedo&&r.current.historyIndex===s.historyIndex&&r.current.historySize===s.historySize?r.current:(r.current=s,s)},[t]),u=v(s=>t.observe.subscribeHistoryMeta(()=>s()),[t]),l=N(u,i,i),a=v(()=>{t.feature.undo()},[t]),n=v(()=>{t.feature.redo()},[t]);return W(()=>({...l,undo:a,redo:n}),[l,a,n])}import{useMemo as E,useRef as M,useState as X,useEffect as I}from"react";function Y(t,r,i){let u=x(),l=V(t),{value:a,setValue:n,meta:s}=l,b=s?.error,f=!!s?.isValidating,c=M(null),[y,U]=X(!1),B=M({current:0}).current;I(()=>()=>{B.current++,c.current=null},[]);let o=M({setLoading:U,setError:(e,d)=>u.write.setError(e,d),setValue:e=>n(e),getUploadKey:()=>c.current,setUploadKey:e=>{c.current=e},onCallbackError:e=>u.read.config.onUnhandledError(e,"upload")});I(()=>{o.current.setLoading=U,o.current.setError=(e,d)=>u.write.setError(e,d),o.current.setValue=e=>n(e),o.current.getUploadKey=()=>c.current,o.current.setUploadKey=e=>{c.current=e},o.current.onCallbackError=e=>u.read.config.onUnhandledError(e,"upload")});let p=E(()=>({setLoading:e=>o.current.setLoading(e),setError:(e,d)=>o.current.setError(e,d),setValue:e=>o.current.setValue(e),getUploadKey:()=>o.current.getUploadKey(),setUploadKey:e=>o.current.setUploadKey(e),onCallbackError:e=>o.current.onCallbackError?.(e)}),[]),g=E(()=>K(t,r,p,B),[t,r,p]),m=E(()=>w(t,i,p,B),[t,i,p]);return E(()=>({value:a,setValue:n,error:b,isValidating:f||y,upload:g,remove:m}),[a,n,b,f,y,g,m])}export{j as BitFormProvider,z as useBitArray,V as useBitField,D as useBitForm,Q as useBitHistory,O as useBitPersist,q as useBitScope,A as useBitSteps,x as useBitStore,Y as useBitUpload,G as useBitWatch};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKDNY7F5Qcjs = require('../chunk-KDNY7F5Q.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-CTQXXT26.cjs');var _chunkH27ROY4Fcjs = require('../chunk-H27ROY4F.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');var _react = require('react');function U(u){let{fieldState:r,setBlur:o,store:m}=_chunkKDNY7F5Qcjs.d.call(void 0, u),{fieldController:t}=_react.useMemo.call(void 0, ()=>_chunkH27ROY4Fcjs.h.call(void 0, m,u),[m,u]),s=_react.useMemo.call(void 0, ()=>t.displayValue(r.value),[r.value,t]),a=_react.useCallback.call(void 0, d=>t.setValue(d),[t]),p=_react.useCallback.call(void 0, d=>t.setValue(d),[t]),{value:B}=r,e=_chunkH6HGYVRVcjs.a.call(void 0, r),l=_react.useCallback.call(void 0, ()=>{o()},[o]),c=_react.useMemo.call(void 0, ()=>({error:e.error,touched:e.touched,invalid:e.invalid,isValidating:e.isValidating,isDirty:e.isDirty,isHidden:e.isHidden,isRequired:e.isRequired,hasError:e.hasError}),[e.error,e.touched,e.invalid,e.isValidating,e.isDirty,e.isHidden,e.isRequired,e.hasError]),F=_react.useMemo.call(void 0, ()=>({value:s,onChangeText:a,onBlur:l}),[s,a,l]);return _react.useMemo.call(void 0, ()=>({value:B,displayValue:s,setValue:p,setBlur:o,onChangeText:a,onBlur:l,meta:c,props:F}),[B,s,p,o,a,l,c,F])}exports.BitFormProvider = _chunkKDNY7F5Qcjs.a; exports.useBitArray = _chunkKDNY7F5Qcjs.e; exports.useBitField = U; exports.useBitForm = _chunkKDNY7F5Qcjs.c; exports.useBitPersist = _chunkKDNY7F5Qcjs.i; exports.useBitScope = _chunkKDNY7F5Qcjs.f; exports.useBitSteps = _chunkKDNY7F5Qcjs.g; exports.useBitStore = _chunkKDNY7F5Qcjs.b; exports.useBitWatch = _chunkKDNY7F5Qcjs.h;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUNBTMNY3cjs = require('../chunk-UNBTMNY3.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-K3QLAMDG.cjs');var _chunkH27ROY4Fcjs = require('../chunk-H27ROY4F.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');var _react = require('react');function U(u){let{fieldState:r,setBlur:o,store:m}=_chunkUNBTMNY3cjs.d.call(void 0, u),{fieldController:t}=_react.useMemo.call(void 0, ()=>_chunkH27ROY4Fcjs.h.call(void 0, m,u),[m,u]),s=_react.useMemo.call(void 0, ()=>t.displayValue(r.value),[r.value,t]),a=_react.useCallback.call(void 0, d=>t.setValue(d),[t]),p=_react.useCallback.call(void 0, d=>t.setValue(d),[t]),{value:B}=r,e=_chunkH6HGYVRVcjs.a.call(void 0, r),l=_react.useCallback.call(void 0, ()=>{o()},[o]),c=_react.useMemo.call(void 0, ()=>({error:e.error,touched:e.touched,invalid:e.invalid,isValidating:e.isValidating,isDirty:e.isDirty,isHidden:e.isHidden,isRequired:e.isRequired,hasError:e.hasError}),[e.error,e.touched,e.invalid,e.isValidating,e.isDirty,e.isHidden,e.isRequired,e.hasError]),F=_react.useMemo.call(void 0, ()=>({value:s,onChangeText:a,onBlur:l}),[s,a,l]);return _react.useMemo.call(void 0, ()=>({value:B,displayValue:s,setValue:p,setBlur:o,onChangeText:a,onBlur:l,meta:c,props:F}),[B,s,p,o,a,l,c,F])}exports.BitFormProvider = _chunkUNBTMNY3cjs.a; exports.useBitArray = _chunkUNBTMNY3cjs.e; exports.useBitField = U; exports.useBitForm = _chunkUNBTMNY3cjs.c; exports.useBitPersist = _chunkUNBTMNY3cjs.i; exports.useBitScope = _chunkUNBTMNY3cjs.f; exports.useBitSteps = _chunkUNBTMNY3cjs.g; exports.useBitStore = _chunkUNBTMNY3cjs.b; exports.useBitWatch = _chunkUNBTMNY3cjs.h;
2
2
  //# sourceMappingURL=index.cjs.map