@lehnihon/bit-form 2.2.18 → 2.2.24

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 (203) hide show
  1. package/README.md +10 -13
  2. package/dist/angular/index.cjs +1 -1
  3. package/dist/angular/index.cjs.map +1 -1
  4. package/dist/angular/index.d.cts +7 -6
  5. package/dist/angular/index.d.ts +7 -6
  6. package/dist/angular/index.js +1 -1
  7. package/dist/angular/index.js.map +1 -1
  8. package/dist/{chunk-DD6XWUMR.cjs → chunk-27LJCW56.cjs} +2 -2
  9. package/dist/chunk-27LJCW56.cjs.map +1 -0
  10. package/dist/chunk-3SEB4YRQ.cjs +2 -0
  11. package/dist/chunk-3SEB4YRQ.cjs.map +1 -0
  12. package/dist/chunk-4WPLTOBT.cjs +2 -0
  13. package/dist/chunk-4WPLTOBT.cjs.map +1 -0
  14. package/dist/chunk-5ILGCBKG.cjs +2 -0
  15. package/dist/chunk-5ILGCBKG.cjs.map +1 -0
  16. package/dist/chunk-725CMNAV.cjs +2 -0
  17. package/dist/chunk-725CMNAV.cjs.map +1 -0
  18. package/dist/{chunk-GKNGJOB3.cjs → chunk-7LCFS2JM.cjs} +2 -2
  19. package/dist/chunk-7LCFS2JM.cjs.map +1 -0
  20. package/dist/{chunk-AVUK52JW.cjs → chunk-AOMXTUA4.cjs} +2 -2
  21. package/dist/chunk-AOMXTUA4.cjs.map +1 -0
  22. package/dist/chunk-BSGJ3T5S.cjs.map +1 -1
  23. package/dist/chunk-CATA7YEV.js +2 -0
  24. package/dist/chunk-CATA7YEV.js.map +1 -0
  25. package/dist/chunk-DGEGYNQL.js +2 -0
  26. package/dist/{chunk-3NUJVIAM.js.map → chunk-DGEGYNQL.js.map} +1 -1
  27. package/dist/chunk-DNHPYPJA.js +2 -0
  28. package/dist/chunk-DNHPYPJA.js.map +1 -0
  29. package/dist/chunk-H3RTOA6X.cjs +2 -0
  30. package/dist/chunk-H3RTOA6X.cjs.map +1 -0
  31. package/dist/chunk-H6HGYVRV.cjs +2 -0
  32. package/dist/chunk-H6HGYVRV.cjs.map +1 -0
  33. package/dist/chunk-HTMNDK6W.js +2 -0
  34. package/dist/chunk-HTMNDK6W.js.map +1 -0
  35. package/dist/chunk-JVRTPL7W.js +2 -0
  36. package/dist/chunk-JVRTPL7W.js.map +1 -0
  37. package/dist/{chunk-77PK7U73.cjs → chunk-K2JSAJAF.cjs} +2 -2
  38. package/dist/chunk-K2JSAJAF.cjs.map +1 -0
  39. package/dist/chunk-K2KCQEER.js +2 -0
  40. package/dist/chunk-K2KCQEER.js.map +1 -0
  41. package/dist/chunk-L57KMBXS.js +2 -0
  42. package/dist/chunk-L57KMBXS.js.map +1 -0
  43. package/dist/chunk-LY67POOF.js +2 -0
  44. package/dist/chunk-LY67POOF.js.map +1 -0
  45. package/dist/chunk-MBEQLBJB.js +2 -0
  46. package/dist/chunk-MBEQLBJB.js.map +1 -0
  47. package/dist/chunk-MFSDDSVG.cjs.map +1 -1
  48. package/dist/chunk-PDFT5E2E.cjs +2 -0
  49. package/dist/chunk-PDFT5E2E.cjs.map +1 -0
  50. package/dist/chunk-PRMNTQD5.js +2 -0
  51. package/dist/chunk-PRMNTQD5.js.map +1 -0
  52. package/dist/chunk-QKGTVKBU.cjs.map +1 -1
  53. package/dist/chunk-RHMJPKNV.cjs.map +1 -1
  54. package/dist/chunk-SFVGMVIE.js +2 -0
  55. package/dist/chunk-SFVGMVIE.js.map +1 -0
  56. package/dist/chunk-SMCFLQIA.cjs +2 -0
  57. package/dist/chunk-SMCFLQIA.cjs.map +1 -0
  58. package/dist/chunk-T36GFQHU.cjs +2 -0
  59. package/dist/chunk-T36GFQHU.cjs.map +1 -0
  60. package/dist/chunk-W5CLDRRE.cjs.map +1 -1
  61. package/dist/chunk-WEZ5Q6YO.js +2 -0
  62. package/dist/chunk-WEZ5Q6YO.js.map +1 -0
  63. package/dist/chunk-X3DGA5UC.cjs +2 -0
  64. package/dist/chunk-X3DGA5UC.cjs.map +1 -0
  65. package/dist/{chunk-HE6EQZTH.js → chunk-X3OFU2UH.js} +2 -2
  66. package/dist/chunk-XPY6TCOO.js +2 -0
  67. package/dist/{chunk-SYEUXL2E.js.map → chunk-XPY6TCOO.js.map} +1 -1
  68. package/dist/cli/index.cjs +19 -18
  69. package/dist/{config-types-bTt2lcw9.d.ts → config-types-DB6FaTiZ.d.ts} +3 -3
  70. package/dist/{config-types-Dbyt7t3D.d.cts → config-types-mZFlp2Bi.d.cts} +3 -3
  71. package/dist/core/bindings.cjs +1 -1
  72. package/dist/core/bindings.cjs.map +1 -1
  73. package/dist/core/bindings.d.cts +4 -4
  74. package/dist/core/bindings.d.ts +4 -4
  75. package/dist/core/bindings.js +1 -1
  76. package/dist/core/status.cjs.map +1 -1
  77. package/dist/core/status.d.cts +3 -3
  78. package/dist/core/status.d.ts +3 -3
  79. package/dist/core/store.cjs +1 -1
  80. package/dist/core/store.cjs.map +1 -1
  81. package/dist/core/store.d.cts +5 -5
  82. package/dist/core/store.d.ts +5 -5
  83. package/dist/core/store.js +1 -1
  84. package/dist/core/utils.cjs +1 -1
  85. package/dist/core/utils.cjs.map +1 -1
  86. package/dist/core/utils.js +1 -1
  87. package/dist/core.cjs +1 -1
  88. package/dist/core.cjs.map +1 -1
  89. package/dist/core.d.cts +4 -4
  90. package/dist/core.d.ts +4 -4
  91. package/dist/core.js +1 -1
  92. package/dist/devtools/bridge.cjs +1 -1
  93. package/dist/devtools/bridge.cjs.map +1 -1
  94. package/dist/devtools/bridge.js +1 -1
  95. package/dist/devtools/index.cjs +17 -17
  96. package/dist/devtools/index.cjs.map +1 -1
  97. package/dist/devtools/index.d.cts +2 -2
  98. package/dist/devtools/index.d.ts +2 -2
  99. package/dist/devtools/index.js +17 -17
  100. package/dist/devtools/index.js.map +1 -1
  101. package/dist/devtools/protocol.cjs.map +1 -1
  102. package/dist/index.cjs +1 -1
  103. package/dist/index.cjs.map +1 -1
  104. package/dist/index.d.cts +5 -5
  105. package/dist/index.d.ts +5 -5
  106. package/dist/index.js +1 -1
  107. package/dist/mask.cjs +1 -1
  108. package/dist/mask.cjs.map +1 -1
  109. package/dist/mask.d.cts +1 -1
  110. package/dist/mask.d.ts +1 -1
  111. package/dist/mask.js +1 -1
  112. package/dist/{meta-types-BC1VLABk.d.cts → meta-types-1Xcht8hj.d.cts} +1 -1
  113. package/dist/{meta-types-BC1VLABk.d.ts → meta-types-1Xcht8hj.d.ts} +1 -1
  114. package/dist/react/index.cjs +1 -1
  115. package/dist/react/index.cjs.map +1 -1
  116. package/dist/react/index.d.cts +6 -6
  117. package/dist/react/index.d.ts +6 -6
  118. package/dist/react/index.js +1 -1
  119. package/dist/react/index.js.map +1 -1
  120. package/dist/react-native/index.cjs +1 -1
  121. package/dist/react-native/index.cjs.map +1 -1
  122. package/dist/react-native/index.d.cts +5 -5
  123. package/dist/react-native/index.d.ts +5 -5
  124. package/dist/react-native/index.js +1 -1
  125. package/dist/react-native/index.js.map +1 -1
  126. package/dist/resolvers/index.cjs +1 -1
  127. package/dist/resolvers/index.cjs.map +1 -1
  128. package/dist/resolvers/index.js +1 -1
  129. package/dist/resolvers/joi.cjs +1 -1
  130. package/dist/resolvers/joi.cjs.map +1 -1
  131. package/dist/resolvers/joi.js +1 -1
  132. package/dist/resolvers/types.cjs.map +1 -1
  133. package/dist/resolvers/yup.cjs +1 -1
  134. package/dist/resolvers/yup.cjs.map +1 -1
  135. package/dist/resolvers/yup.js +1 -1
  136. package/dist/resolvers/zod.cjs +1 -1
  137. package/dist/resolvers/zod.cjs.map +1 -1
  138. package/dist/resolvers/zod.js +1 -1
  139. package/dist/{runtime-types-D1SRZr-n.d.cts → runtime-types-BLCkMgcy.d.cts} +1 -1
  140. package/dist/{runtime-types-D1SRZr-n.d.ts → runtime-types-BLCkMgcy.d.ts} +1 -1
  141. package/dist/{store-api-types-i-zmM25p.d.ts → store-api-types-CgRVo2DA.d.ts} +4 -4
  142. package/dist/{store-api-types-BPD27biP.d.cts → store-api-types-D7i0KWbr.d.cts} +4 -4
  143. package/dist/{use-bit-persist-BGH2Bazx.d.ts → use-bit-persist-CFcuAzwp.d.ts} +5 -5
  144. package/dist/{use-bit-persist-DiwICsEm.d.cts → use-bit-persist-Dsr69hme.d.cts} +5 -5
  145. package/dist/utils.cjs +1 -1
  146. package/dist/utils.cjs.map +1 -1
  147. package/dist/utils.js +1 -1
  148. package/dist/vue/index.cjs +1 -1
  149. package/dist/vue/index.cjs.map +1 -1
  150. package/dist/vue/index.d.cts +23 -22
  151. package/dist/vue/index.d.ts +23 -22
  152. package/dist/vue/index.js +1 -1
  153. package/dist/vue/index.js.map +1 -1
  154. package/package.json +70 -16
  155. package/dist/chunk-3774TIGK.js +0 -2
  156. package/dist/chunk-3774TIGK.js.map +0 -1
  157. package/dist/chunk-3KI3GEU3.cjs +0 -2
  158. package/dist/chunk-3KI3GEU3.cjs.map +0 -1
  159. package/dist/chunk-3NUJVIAM.js +0 -2
  160. package/dist/chunk-77PK7U73.cjs.map +0 -1
  161. package/dist/chunk-AVUK52JW.cjs.map +0 -1
  162. package/dist/chunk-CTURHI75.cjs +0 -2
  163. package/dist/chunk-CTURHI75.cjs.map +0 -1
  164. package/dist/chunk-DD6XWUMR.cjs.map +0 -1
  165. package/dist/chunk-FGJB4DHQ.js +0 -2
  166. package/dist/chunk-FGJB4DHQ.js.map +0 -1
  167. package/dist/chunk-FTXV2NZO.cjs +0 -2
  168. package/dist/chunk-FTXV2NZO.cjs.map +0 -1
  169. package/dist/chunk-G3EHXKOS.js +0 -2
  170. package/dist/chunk-G3EHXKOS.js.map +0 -1
  171. package/dist/chunk-GDRNKTHO.js +0 -2
  172. package/dist/chunk-GDRNKTHO.js.map +0 -1
  173. package/dist/chunk-GKNGJOB3.cjs.map +0 -1
  174. package/dist/chunk-GSZTHF7Z.js +0 -2
  175. package/dist/chunk-GSZTHF7Z.js.map +0 -1
  176. package/dist/chunk-GUU6EXFN.js +0 -2
  177. package/dist/chunk-GUU6EXFN.js.map +0 -1
  178. package/dist/chunk-ICYXODTQ.js +0 -2
  179. package/dist/chunk-ICYXODTQ.js.map +0 -1
  180. package/dist/chunk-L7EAZ6K6.cjs +0 -2
  181. package/dist/chunk-L7EAZ6K6.cjs.map +0 -1
  182. package/dist/chunk-LIHWJJIM.js +0 -2
  183. package/dist/chunk-LIHWJJIM.js.map +0 -1
  184. package/dist/chunk-M2XR4C7T.js +0 -2
  185. package/dist/chunk-M2XR4C7T.js.map +0 -1
  186. package/dist/chunk-P5YQ62YN.cjs +0 -2
  187. package/dist/chunk-P5YQ62YN.cjs.map +0 -1
  188. package/dist/chunk-PFPGASVZ.cjs +0 -2
  189. package/dist/chunk-PFPGASVZ.cjs.map +0 -1
  190. package/dist/chunk-QCKCONCU.js +0 -2
  191. package/dist/chunk-QCKCONCU.js.map +0 -1
  192. package/dist/chunk-RSH6LQVC.cjs +0 -2
  193. package/dist/chunk-RSH6LQVC.cjs.map +0 -1
  194. package/dist/chunk-SYEUXL2E.js +0 -2
  195. package/dist/chunk-U5TBWV74.cjs +0 -2
  196. package/dist/chunk-U5TBWV74.cjs.map +0 -1
  197. package/dist/chunk-UT63HKR6.cjs +0 -2
  198. package/dist/chunk-UT63HKR6.cjs.map +0 -1
  199. package/dist/chunk-WRNR6SXK.cjs +0 -2
  200. package/dist/chunk-WRNR6SXK.cjs.map +0 -1
  201. package/dist/chunk-YO4TZ6N6.js +0 -2
  202. package/dist/chunk-YO4TZ6N6.js.map +0 -1
  203. /package/dist/{chunk-HE6EQZTH.js.map → chunk-X3OFU2UH.js.map} +0 -0
package/README.md CHANGED
@@ -3,15 +3,12 @@
3
3
  </div>
4
4
 
5
5
  <p align="center">
6
- <i>Made with ❤️ by <a href="https://github.com/lehnihon">lehnihon</a> & contributors</i>
6
+ <i>Made with ❤️ by <a href="https://gitlab.com/kenji.ccp-group">kenji.ccp-group</a> & contributors</i>
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/lehnihon/bit-form/actions/workflows/ci.yml">
11
- <img src="https://img.shields.io/github/actions/workflow/status/lehnihon/bit-form/ci.yml?branch=main&label=tests&style=flat-square" alt="tests" />
12
- </a>
13
- <a href="https://github.com/lehnihon/bit-form/actions/workflows/ci.yml">
14
- <img src="https://img.shields.io/github/actions/workflow/status/lehnihon/bit-form/ci.yml?branch=main&label=build&style=flat-square" alt="build" />
10
+ <a href="https://gitlab.com/kenji.ccp-group/bit-form/-/pipelines">
11
+ <img src="https://gitlab.com/kenji.ccp-group/bit-form/badges/main/pipeline.svg" alt="pipeline status" />
15
12
  </a>
16
13
  <a href="https://www.npmjs.com/package/@lehnihon/bit-form">
17
14
  <img src="https://img.shields.io/npm/v/@lehnihon/bit-form?style=flat-square" alt="npm version" />
@@ -19,16 +16,16 @@
19
16
  <a href="https://www.npmjs.com/package/@lehnihon/bit-form">
20
17
  <img src="https://img.shields.io/npm/dm/@lehnihon/bit-form?style=flat-square" alt="npm downloads" />
21
18
  </a>
22
- <a href="https://github.com/lehnihon/bit-form/stargazers">
23
- <img src="https://img.shields.io/github/stars/lehnihon/bit-form?style=flat-square" alt="stars" />
19
+ <a href="https://gitlab.com/kenji.ccp-group/bit-form/-/starrers">
20
+ <img src="https://img.shields.io/gitlab/stars/kenji.ccp-group/bit-form?style=flat-square" alt="stars" />
24
21
  </a>
25
- <a href="https://github.com/lehnihon/bit-form/network/members">
26
- <img src="https://img.shields.io/github/forks/lehnihon/bit-form?style=flat-square" alt="forks" />
22
+ <a href="https://gitlab.com/kenji.ccp-group/bit-form/-/forks">
23
+ <img src="https://img.shields.io/gitlab/forks/kenji.ccp-group/bit-form?style=flat-square" alt="forks" />
27
24
  </a>
28
- <a href="https://github.com/lehnihon/bit-form/issues">
29
- <img src="https://img.shields.io/github/issues/lehnihon/bit-form?style=flat-square" alt="issues" />
25
+ <a href="https://gitlab.com/kenji.ccp-group/bit-form/-/issues">
26
+ <img src="https://img.shields.io/gitlab/issues/open/kenji.ccp-group/bit-form?style=flat-square" alt="issues" />
30
27
  </a>
31
- <a href="https://github.com/lehnihon/bit-form/blob/main/LICENSE">
28
+ <a href="https://gitlab.com/kenji.ccp-group/bit-form/-/blob/main/LICENSE">
32
29
  <img src="https://img.shields.io/npm/l/@lehnihon/bit-form?style=flat-square" alt="license" />
33
30
  </a>
34
31
  <img src="https://img.shields.io/badge/TypeScript-007ACC?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" />
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkU5TBWV74cjs = require('../chunk-U5TBWV74.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkL7EAZ6K6cjs = require('../chunk-L7EAZ6K6.cjs');var _chunkAVUK52JWcjs = require('../chunk-AVUK52JW.cjs');var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');var _chunkFTXV2NZOcjs = require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');var _chunkPFPGASVZcjs = require('../chunk-PFPGASVZ.cjs');var _core = require('@angular/core');var B=new (0, _core.InjectionToken)("BIT_STORE");function at(t){return{provide:B,useValue:_chunkL7EAZ6K6cjs.d.call(void 0, t)}}function u(){let t=_core.inject.call(void 0, B,{optional:!0});if(!t)throw new Error('BitForm: N\xE3o foi poss\xEDvel encontrar a BitStore. Certifique-se de que voc\xEA adicionou "provideBitStore(store)" nos providers do seu componente.');return t}function ut(){let t=u(),e=_core.inject.call(void 0, _core.DestroyRef),r=_core.signal.call(void 0, {isValid:!0,isDirty:!1,isSubmitting:!1}),o=_core.signal.call(void 0, null),s=_core.signal.call(void 0, null),i=_chunkAVUK52JWcjs.c.call(void 0, t,m=>{r.set(m)});e.onDestroy(()=>i());let p=_core.computed.call(void 0, ()=>r().isValid),a=_core.computed.call(void 0, ()=>r().isSubmitting),d=_core.computed.call(void 0, ()=>r().isDirty),{controller:c,actions:n}=_chunkAVUK52JWcjs.i.call(void 0, t,{clearSubmissionState:()=>{o.set(null),s.set(null)},setSubmissionResult:m=>{s.set(m)},setSubmissionError:m=>{o.set(m)}},{stopPropagation:!0});return{meta:{isValid:p,isDirty:d,isSubmitting:a,submitError:o.asReadonly(),lastResponse:s.asReadonly()},getValues:c.getValues,getErrors:c.getErrors,getTouched:c.getTouched,getDirtyValues:c.getDirtyValues,submit:c.submit,onSubmit:c.onSubmit,reset:c.reset,...n}}function E(t){let e=_core.inject.call(void 0, B),r=_core.signal.call(void 0, e.read.getFieldState(t)),o=e.observe.subscribeFieldState(t,y=>{r.set(y)});_core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>{o(),_chunkAVUK52JWcjs.j.call(void 0, e,t)});let s=_core.computed.call(void 0, ()=>r().value),i=_core.computed.call(void 0, ()=>_chunk3KI3GEU3cjs.a.call(void 0, r())),p=_core.computed.call(void 0, ()=>i().error),a=_core.computed.call(void 0, ()=>i().touched),d=_core.computed.call(void 0, ()=>i().invalid),c=_core.computed.call(void 0, ()=>i().isDirty),n=_core.computed.call(void 0, ()=>i().isValidating),f=_core.computed.call(void 0, ()=>i().isHidden),m=_core.computed.call(void 0, ()=>i().isRequired),{fieldController:j}=_chunkAVUK52JWcjs.h.call(void 0, e,t),T=_core.computed.call(void 0, ()=>j.displayValue(s())),v=y=>{j.setValue(y)},h=()=>j.setBlur(),x=_core.computed.call(void 0, ()=>i().hasError);return{value:s,displayValue:T,setValue:v,setBlur:h,update:y=>v(_chunkPFPGASVZcjs.a.call(void 0, y)?_nullishCoalesce(_optionalChain([y, 'access', _2 => _2.target, 'optionalAccess', _3 => _3.value]), () => (null)):y),meta:{error:p,touched:a,invalid:d,isDirty:c,isValidating:n,isHidden:f,isRequired:m,hasError:x}}}function ft(t){let e=_core.inject.call(void 0, B),r=_core.inject.call(void 0, _core.DestroyRef),o=_chunkAVUK52JWcjs.g.call(void 0, e,t),s=_core.signal.call(void 0, o.readItems()),i=e.observe.subscribePath(t,()=>{s.set(o.readItems())});return r.onDestroy(()=>{i(),_chunkAVUK52JWcjs.k.call(void 0, e,`${t}.`)}),{fields:_core.computed.call(void 0, ()=>o.getFields(s())),length:_core.computed.call(void 0, ()=>s().length),append:o.append,prepend:o.prepend,remove:o.remove,insert:o.insert,swap:o.swap,move:o.move,replace:o.replace,clear:o.clear}}function Rt(){let t=u(),e=_core.inject.call(void 0, _core.DestroyRef),r=_core.signal.call(void 0, _chunkRHMJPKNVcjs.f.call(void 0, t)),o=_chunkRHMJPKNVcjs.g.call(void 0, t,s=>{r.set(s)});return e.onDestroy(()=>o()),{canUndo:_core.computed.call(void 0, ()=>r().canUndo),canRedo:_core.computed.call(void 0, ()=>r().canRedo),historyIndex:_core.computed.call(void 0, ()=>r().historyIndex),historySize:_core.computed.call(void 0, ()=>r().historySize),undo:()=>t.feature.undo(),redo:()=>t.feature.redo()}}function Ft(t){let e=u(),r=e.read.getScopeStatus(t),o=_core.signal.call(void 0, r),s=_chunkBSGJ3T5Scjs.a.call(void 0, e,t,f=>{o.set(f)});_optionalChain([_core.inject.call(void 0, _core.DestroyRef,{optional:!0}), 'optionalAccess', _4 => _4.onDestroy, 'call', _5 => _5(()=>s())]);let p=async()=>{let f=await e.feature.validate({scope:t}),m=e.read.getScopeErrors(t);return{valid:f,errors:m}},a=()=>e.read.getScopeErrors(t),d=_core.computed.call(void 0, ()=>!o().hasErrors),c=_core.computed.call(void 0, ()=>o().isDirty),n=_core.computed.call(void 0, ()=>o().errors);return{scopeName:t,status:o,errors:n,validate:p,getErrors:a,isValid:d,isDirty:c,unsubscribe:s}}function ht(t){let e=u(),r=_core.signal.call(void 0, 0),o=_core.computed.call(void 0, ()=>_nullishCoalesce(t[r()], () => (""))),s=()=>_nullishCoalesce(t[r()], () => ("")),i=_core.signal.call(void 0, e.read.getScopeStatus(s())),p=()=>{let l=s(),g=e.read.getScopeStatus(l),b=i();_chunkRHMJPKNVcjs.b.call(void 0, b,g)||i.set(g)},a=e.observe.subscribeScopeStatus(s(),p),d=()=>{a(),a=e.observe.subscribeScopeStatus(s(),p)};_optionalChain([_core.inject.call(void 0, _core.DestroyRef,{optional:!0}), 'optionalAccess', _6 => _6.onDestroy, 'call', _7 => _7(()=>a())]);let n=async()=>{let l=s(),g=await e.feature.validate({scope:l}),b=e.read.getScopeErrors(l);return{valid:g,errors:b}},f=()=>e.read.getScopeErrors(s()),m=async()=>{let l=s(),g=e.read.getScopeFields(l);if(e.feature.hasValidationsInProgress(g))return!1;let b=await e.feature.validate({scope:l});if(b){let F=Math.min(r()+1,t.length-1);r.set(F),i.set(e.read.getScopeStatus(_nullishCoalesce(t[F], () => ("")))),d()}else{let F=e.read.getScopeErrors(l),A=Object.keys(F);A.length>0&&e.write.markFieldsTouched(A)}return b},j=()=>{let l=Math.max(r()-1,0);r.set(l),i.set(e.read.getScopeStatus(_nullishCoalesce(t[l], () => ("")))),d()},T=l=>{let g=Math.max(0,Math.min(l-1,t.length-1));r.set(g),i.set(e.read.getScopeStatus(_nullishCoalesce(t[g], () => ("")))),d()},v=_core.computed.call(void 0, ()=>r()+1),h=_core.computed.call(void 0, ()=>r()===0),x=_core.computed.call(void 0, ()=>r()>=t.length-1),U=_core.computed.call(void 0, ()=>!i().hasErrors),y=_core.computed.call(void 0, ()=>i().isDirty),st=_core.computed.call(void 0, ()=>i().errors);return{step:v,stepIndex:r,scope:o,next:m,prev:j,goTo:T,isFirst:h,isLast:x,status:i,errors:st,isValid:U,isDirty:y,validate:n,getErrors:f}}function Et(t){let e=u(),r=_core.inject.call(void 0, _core.DestroyRef),o=_core.signal.call(void 0, _chunkFTXV2NZOcjs.f.call(void 0, e.read.getState().values,t),{equal:_chunkFTXV2NZOcjs.c}),s=e.observe.subscribePath(t,i=>{o.set(i)});return r.onDestroy(s),o.asReadonly()}function kt(t,e,r){let o=_core.inject.call(void 0, B),s=E(t),i=null,p=_core.signal.call(void 0, !1),a={setLoading:n=>p.set(n),setError:(n,f)=>o.write.setError(n,f),setValue:n=>s.setValue(n),getUploadKey:()=>i,setUploadKey:n=>{i=n},onCallbackError:n=>o.read.config.onUnhandledError(n,"upload")},d=_chunkU5TBWV74cjs.a.call(void 0, t,e,a),c=_chunkU5TBWV74cjs.b.call(void 0, t,r,a);return{value:_core.computed.call(void 0, ()=>s.value()),setValue:s.setValue,error:_core.computed.call(void 0, ()=>s.meta.error()),isValidating:_core.computed.call(void 0, ()=>!!s.meta.isValidating()||p()),upload:d,remove:c}}function Ht(){let t=u(),e=_core.signal.call(void 0, t.read.getPersistMetadata()),r=_chunkAVUK52JWcjs.f.call(void 0, t,a=>{e.set(a)});return _optionalChain([_core.inject.call(void 0, _core.DestroyRef,{optional:!0}), 'optionalAccess', _8 => _8.onDestroy, 'call', _9 => _9(()=>r())]),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:_core.computed.call(void 0, ()=>e().isSaving),isRestoring:_core.computed.call(void 0, ()=>e().isRestoring),error:_core.computed.call(void 0, ()=>e().error)}}}exports.injectBitArray = ft; exports.injectBitField = E; exports.injectBitForm = ut; exports.injectBitHistory = Rt; exports.injectBitPersist = Ht; exports.injectBitScope = Ft; exports.injectBitSteps = ht; exports.injectBitUpload = kt; exports.injectBitWatch = Et; exports.provideBitStore = at; exports.useBitStore = u;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkH3RTOA6Xcjs = require('../chunk-H3RTOA6X.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkPDFT5E2Ecjs = require('../chunk-PDFT5E2E.cjs');var _chunkAOMXTUA4cjs = require('../chunk-AOMXTUA4.cjs');var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-7LCFS2JM.cjs');var _chunk3SEB4YRQcjs = require('../chunk-3SEB4YRQ.cjs');require('../chunk-X3DGA5UC.cjs');var _chunk725CMNAVcjs = require('../chunk-725CMNAV.cjs');var _core = require('@angular/core');var B=new (0, _core.InjectionToken)("BIT_STORE");function ct(t){let e=_chunkPDFT5E2Ecjs.d.call(void 0, t);try{_core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>{_optionalChain([e, 'access', _2 => _2.feature, 'optionalAccess', _3 => _3.cleanup, 'optionalCall', _4 => _4()])})}catch (e2){}return{provide:B,useValue:e}}function p(){let t=_core.inject.call(void 0, B,{optional:!0});if(!t)throw new Error('BitForm: N\xE3o foi poss\xEDvel encontrar a BitStore. Certifique-se de que voc\xEA adicionou "provideBitStore(store)" nos providers do seu componente.');return t}function pt(){let t=p(),e=_core.inject.call(void 0, _core.DestroyRef),r=_core.signal.call(void 0, {isValid:!0,isDirty:!1,isSubmitting:!1}),o=_core.signal.call(void 0, null),s=_core.signal.call(void 0, null),i=_chunkAOMXTUA4cjs.c.call(void 0, t,l=>{r.set(l)});e.onDestroy(()=>i());let d=_core.computed.call(void 0, ()=>r().isValid),a=_core.computed.call(void 0, ()=>r().isSubmitting),m=_core.computed.call(void 0, ()=>r().isDirty),{controller:c,actions:f}=_chunkAOMXTUA4cjs.i.call(void 0, t,{clearSubmissionState:()=>{o.set(null),s.set(null)},setSubmissionResult:l=>{s.set(l)},setSubmissionError:l=>{o.set(l)}},{stopPropagation:!0});return{meta:{isValid:d,isDirty:m,isSubmitting:a,submitError:o.asReadonly(),lastResponse:s.asReadonly()},getValues:c.getValues,getErrors:c.getErrors,getTouched:c.getTouched,getDirtyValues:c.getDirtyValues,submit:c.submit,onSubmit:c.onSubmit,reset:c.reset,...f}}function E(t){let e=_core.inject.call(void 0, B),r=_core.signal.call(void 0, e.read.getFieldState(t)),o=e.observe.subscribeFieldState(t,y=>{r.set(y)});_core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>{o(),_chunkAOMXTUA4cjs.j.call(void 0, e,t)});let s=_core.computed.call(void 0, ()=>r().value),i=_core.computed.call(void 0, ()=>_chunkH6HGYVRVcjs.a.call(void 0, r())),d=_core.computed.call(void 0, ()=>i().error),a=_core.computed.call(void 0, ()=>i().touched),m=_core.computed.call(void 0, ()=>i().invalid),c=_core.computed.call(void 0, ()=>i().isDirty),f=_core.computed.call(void 0, ()=>i().isValidating),n=_core.computed.call(void 0, ()=>i().isHidden),l=_core.computed.call(void 0, ()=>i().isRequired),{fieldController:b}=_chunkAOMXTUA4cjs.h.call(void 0, e,t),T=_core.computed.call(void 0, ()=>b.displayValue(s())),F=y=>{b.setValue(y)},h=()=>b.setBlur(),x=_core.computed.call(void 0, ()=>i().hasError);return{value:s,displayValue:T,setValue:F,setBlur:h,update:y=>F(_chunk725CMNAVcjs.a.call(void 0, y)?_nullishCoalesce(_optionalChain([y, 'access', _5 => _5.target, 'optionalAccess', _6 => _6.value]), () => (null)):y),onBlur:()=>b.setBlur(),meta:{error:d,touched:a,invalid:m,isDirty:c,isValidating:f,isHidden:n,isRequired:l,hasError:x}}}function yt(t){let e=_core.inject.call(void 0, B),r=_core.inject.call(void 0, _core.DestroyRef),o=_chunkAOMXTUA4cjs.g.call(void 0, e,t),s=_core.signal.call(void 0, o.readItems()),i=e.observe.subscribePath(t,()=>{s.set(o.readItems())});return r.onDestroy(()=>{i(),_chunkAOMXTUA4cjs.k.call(void 0, e,`${t}.`)}),{fields:_core.computed.call(void 0, ()=>o.getFields(s())),length:_core.computed.call(void 0, ()=>s().length),append:o.append,prepend:o.prepend,remove:o.remove,insert:o.insert,swap:o.swap,move:o.move,replace:o.replace,clear:o.clear}}function bt(){let t=p(),e=_core.inject.call(void 0, _core.DestroyRef),r=_core.signal.call(void 0, _chunkRHMJPKNVcjs.f.call(void 0, t)),o=_chunkRHMJPKNVcjs.g.call(void 0, t,s=>{r.set(s)});return e.onDestroy(()=>o()),{canUndo:_core.computed.call(void 0, ()=>r().canUndo),canRedo:_core.computed.call(void 0, ()=>r().canRedo),historyIndex:_core.computed.call(void 0, ()=>r().historyIndex),historySize:_core.computed.call(void 0, ()=>r().historySize),undo:()=>t.feature.undo(),redo:()=>t.feature.redo()}}function Pt(t){let e=p(),r=e.read.getScopeStatus(t),o=_core.signal.call(void 0, r),s=_chunkBSGJ3T5Scjs.a.call(void 0, e,t,n=>{o.set(n)});_core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>s());let d=async()=>{let n=await e.feature.validate({scope:t}),l=e.read.getScopeErrors(t);return{valid:n,errors:l}},a=()=>e.read.getScopeErrors(t),m=_core.computed.call(void 0, ()=>!o().hasErrors),c=_core.computed.call(void 0, ()=>o().isDirty),f=_core.computed.call(void 0, ()=>o().errors);return{scopeName:t,status:o,errors:f,validate:d,getErrors:a,isValid:m,isDirty:c,unsubscribe:s}}function xt(t){if(t.length===0)throw new Error("injectBitSteps: scopeNames must not be empty");let e=p(),r=_core.signal.call(void 0, 0),o=_core.computed.call(void 0, ()=>_nullishCoalesce(t[r()], () => (""))),s=()=>_nullishCoalesce(t[r()], () => ("")),i=_core.signal.call(void 0, e.read.getScopeStatus(s())),d=u=>{let g=e.read.getScopeStatus(u),j=i();s()===u&&!_chunkRHMJPKNVcjs.b.call(void 0, j,g)&&i.set(g)},a=e.observe.subscribeScopeStatus(s(),()=>d(s())),m=()=>{a(),a=e.observe.subscribeScopeStatus(s(),()=>d(s()))};_core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>a());let f=async()=>{let u=s(),g=await e.feature.validate({scope:u}),j=e.read.getScopeErrors(u);return{valid:g,errors:j}},n=()=>e.read.getScopeErrors(s()),l=async()=>{let u=s(),g=e.read.getScopeFields(u);if(e.feature.hasValidationsInProgress(g))return!1;let j=await e.feature.validate({scope:u});if(j){let v=Math.min(r()+1,t.length-1);r.set(v),i.set(e.read.getScopeStatus(_nullishCoalesce(t[v], () => ("")))),m()}else{let v=e.read.getScopeErrors(u),M=Object.keys(v);M.length>0&&e.write.markFieldsTouched(M)}return j},b=()=>{let u=Math.max(r()-1,0);r.set(u),i.set(e.read.getScopeStatus(_nullishCoalesce(t[u], () => ("")))),m()},T=u=>{let g=Math.max(0,Math.min(u-1,t.length-1));r.set(g),i.set(e.read.getScopeStatus(_nullishCoalesce(t[g], () => ("")))),m()},F=_core.computed.call(void 0, ()=>r()+1),h=_core.computed.call(void 0, ()=>r()===0),x=_core.computed.call(void 0, ()=>r()>=t.length-1),U=_core.computed.call(void 0, ()=>!i().hasErrors),A=_core.computed.call(void 0, ()=>i().isDirty),y=_core.computed.call(void 0, ()=>i().errors);return{step:F,stepIndex:r,scope:o,next:l,prev:b,goTo:T,isFirst:h,isLast:x,status:i,errors:y,isValid:U,isDirty:A,validate:f,getErrors:n}}function Dt(t){let e=p(),r=_core.inject.call(void 0, _core.DestroyRef),o=_core.signal.call(void 0, _chunk3SEB4YRQcjs.f.call(void 0, e.read.getState().values,t),{equal:_chunk3SEB4YRQcjs.c}),s=e.observe.subscribePath(t,i=>{o.set(i)});return r.onDestroy(s),o.asReadonly()}function Ut(t,e,r){let o=_core.inject.call(void 0, B),s=E(t),i=null,d=_core.signal.call(void 0, !1),a={current:0},m={setLoading:n=>d.set(n),setError:(n,l)=>o.write.setError(n,l),setValue:n=>s.setValue(n),getUploadKey:()=>i,setUploadKey:n=>{i=n},onCallbackError:n=>o.read.config.onUnhandledError(n,"upload")},c=_chunkH3RTOA6Xcjs.a.call(void 0, t,e,m,a),f=_chunkH3RTOA6Xcjs.b.call(void 0, t,r,m,a);return{value:_core.computed.call(void 0, ()=>s.value()),setValue:s.setValue,error:_core.computed.call(void 0, ()=>s.meta.error()),isValidating:_core.computed.call(void 0, ()=>!!s.meta.isValidating()||d()),upload:c,remove:f}}function Ot(){let t=p(),e=_core.signal.call(void 0, t.read.getPersistMetadata()),r=_chunkAOMXTUA4cjs.f.call(void 0, t,a=>{e.set(a)});return _core.inject.call(void 0, _core.DestroyRef).onDestroy(()=>r()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:_core.computed.call(void 0, ()=>e().isSaving),isRestoring:_core.computed.call(void 0, ()=>e().isRestoring),error:_core.computed.call(void 0, ()=>e().error)}}}exports.injectBitArray = yt; exports.injectBitField = E; exports.injectBitForm = pt; exports.injectBitHistory = bt; exports.injectBitPersist = Ot; exports.injectBitScope = Pt; exports.injectBitSteps = xt; exports.injectBitUpload = Ut; exports.injectBitWatch = Dt; exports.provideBitStore = ct; exports.useBitStore = p;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/angular/index.cjs","../../src/angular/provider.ts","../../src/angular/inject-bit-form.ts","../../src/angular/inject-bit-field.ts","../../src/angular/inject-bit-array.ts"],"names":["BIT_STORE_TOKEN","InjectionToken","provideBitStore","store","createFrameworkStoreAdapter","useBitStore","inject","injectBitForm","destroyRef","stateSignal","signal","submitError","lastResponse","sub","observeFormMetaSnapshot","nextMeta","isValid","computed","isSubmitting","isDirty","controller","actions","createFrameworkFormBinding","result","error","injectBitField","path","unsubscribe","nextState","cleanupRegisteredField","value","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","fieldController","createFrameworkMaskedFieldBinding","displayValue","setValue","val","setBlur","hasError","e","isBitFieldInputEventObject","injectBitArray","createArrayBinding","valuesSig","unsub","cleanupRegisteredPrefix"],"mappings":"AAAA,0uBAAgD,iCAA8B,yDAA0C,yDAAoF,yDAA0C,yDAAwD,yDAA0C,iCAA8B,yDAAiD,iCAA8B,yDAA0C,qCCA9b,IAIpCA,CAAAA,CAAkB,IAAIC,yBAAAA,CACjC,WACF,CAAA,CAEO,SAASC,EAAAA,CACdC,CAAAA,CACU,CACV,MAAO,CACL,OAAA,CAASH,CAAAA,CACT,QAAA,CAAUI,iCAAAA,CAAoC,CAChD,CACF,CAEO,SAASC,CAAAA,CAAAA,CAAgC,CAC9C,IAAMF,CAAAA,CAAQG,0BAAAA,CAAON,CAAiB,CAAE,QAAA,CAAU,CAAA,CAAK,CAAC,CAAA,CAExD,EAAA,CAAI,CAACG,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,wJAEF,CAAA,CAGF,OAAOA,CACT,CC5BA,SAKgBI,EAAAA,CAAAA,CAA0D,CACxE,IAAMJ,CAAAA,CAAQE,CAAAA,CAAe,CAAA,CACvBG,CAAAA,CAAaF,0BAAAA,gBAAiB,CAAA,CAC9BG,CAAAA,CAAcC,0BAAAA,CAClB,OAAA,CAAS,CAAA,CAAA,CACT,OAAA,CAAS,CAAA,CAAA,CACT,YAAA,CAAc,CAAA,CAChB,CAAC,CAAA,CACKC,CAAAA,CAAcD,0BAAAA,IAAyB,CAAA,CACvCE,CAAAA,CAAeF,0BAAAA,IAAoB,CAAA,CAEnCG,CAAAA,CAAMC,iCAAAA,CAAwBX,CAAQY,CAAAA,EAAa,CACvDN,CAAAA,CAAY,GAAA,CAAIM,CAAQ,CAC1B,CAAC,CAAA,CAEDP,CAAAA,CAAW,SAAA,CAAU,CAAA,CAAA,EAAMK,CAAAA,CAAI,CAAC,CAAA,CAEhC,IAAMG,CAAAA,CAAUC,4BAAAA,CAAS,CAAA,EAAMR,CAAAA,CAAY,CAAA,CAAE,OAAO,CAAA,CAC9CS,CAAAA,CAAeD,4BAAAA,CAAS,CAAA,EAAMR,CAAAA,CAAY,CAAA,CAAE,YAAY,CAAA,CACxDU,CAAAA,CAAUF,4BAAAA,CAAS,CAAA,EAAMR,CAAAA,CAAY,CAAA,CAAE,OAAO,CAAA,CAE9C,CAAE,UAAA,CAAAW,CAAAA,CAAY,OAAA,CAAAC,CAAQ,CAAA,CAAIC,iCAAAA,CAC9BnB,CACA,CACE,oBAAA,CAAsB,CAAA,CAAA,EAAM,CAC1BQ,CAAAA,CAAY,GAAA,CAAI,IAAI,CAAA,CACpBC,CAAAA,CAAa,GAAA,CAAI,IAAI,CACvB,CAAA,CACA,mBAAA,CAAsBW,CAAAA,EAAW,CAC/BX,CAAAA,CAAa,GAAA,CAAIW,CAAM,CACzB,CAAA,CACA,kBAAA,CAAqBC,CAAAA,EAAU,CAC7Bb,CAAAA,CAAY,GAAA,CAAIa,CAAK,CACvB,CACF,CAAA,CACA,CAAE,eAAA,CAAiB,CAAA,CAAK,CAC1B,CAAA,CAUA,MAAO,CAEL,IAAA,CAVW,CACX,OAAA,CAAAR,CAAAA,CACA,OAAA,CAAAG,CAAAA,CACA,YAAA,CAAAD,CAAAA,CACA,WAAA,CAAaP,CAAAA,CAAY,UAAA,CAAW,CAAA,CACpC,YAAA,CAAcC,CAAAA,CAAa,UAAA,CAAW,CACxC,CAAA,CAME,SAAA,CAAWQ,CAAAA,CAAW,SAAA,CACtB,SAAA,CAAWA,CAAAA,CAAW,SAAA,CACtB,UAAA,CAAYA,CAAAA,CAAW,UAAA,CACvB,cAAA,CAAgBA,CAAAA,CAAW,cAAA,CAE3B,MAAA,CAAQA,CAAAA,CAAW,MAAA,CACnB,QAAA,CAAUA,CAAAA,CAAW,QAAA,CACrB,KAAA,CAAOA,CAAAA,CAAW,KAAA,CAClB,GAAGC,CACL,CACF,CCjEA,SAYgBI,CAAAA,CAIdC,CAAAA,CAAyC,CACzC,IAAMvB,CAAAA,CAAQG,0BAAAA,CAAsB,CAAA,CAE9BG,CAAAA,CAAcC,0BAAAA,CAAOP,CAAM,IAAA,CAAK,aAAA,CAAcuB,CAAI,CAAC,CAAA,CAEnDC,CAAAA,CAAcxB,CAAAA,CAAM,OAAA,CAAQ,mBAAA,CAAoBuB,CAAAA,CAAOE,CAAAA,EAAc,CACzEnB,CAAAA,CAAY,GAAA,CAAImB,CAAS,CAC3B,CAAC,CAAA,CAEDtB,0BAAAA,gBAAiB,CAAA,CAAE,SAAA,CAAU,CAAA,CAAA,EAAM,CACjCqB,CAAAA,CAAY,CAAA,CACZE,iCAAAA,CAAuB1B,CAAOuB,CAAc,CAC9C,CAAC,CAAA,CAED,IAAMI,CAAAA,CAAQb,4BAAAA,CAAS,CAAA,EAAMR,CAAAA,CAAY,CAAA,CAAE,KAA+B,CAAA,CACpEsB,CAAAA,CAAYd,4BAAAA,CAAS,CAAA,EAAMe,iCAAAA,CAAgBvB,CAAY,CAAC,CAAC,CAAA,CACzDe,CAAAA,CAAQP,4BAAAA,CAAS,CAAA,EAAMc,CAAAA,CAAU,CAAA,CAAE,KAAK,CAAA,CACxCE,CAAAA,CAAUhB,4BAAAA,CAAS,CAAA,EAAMc,CAAAA,CAAU,CAAA,CAAE,OAAO,CAAA,CAC5CG,CAAAA,CAAUjB,4BAAAA,CAAS,CAAA,EAAMc,CAAAA,CAAU,CAAA,CAAE,OAAO,CAAA,CAC5CZ,CAAAA,CAAUF,4BAAAA,CAAS,CAAA,EAAMc,CAAAA,CAAU,CAAA,CAAE,OAAO,CAAA,CAC5CI,CAAAA,CAAelB,4BAAAA,CAAS,CAAA,EAAMc,CAAAA,CAAU,CAAA,CAAE,YAAY,CAAA,CACtDK,CAAAA,CAAWnB,4BAAAA,CAAS,CAAA,EAAMc,CAAAA,CAAU,CAAA,CAAE,QAAQ,CAAA,CAC9CM,CAAAA,CAAapB,4BAAAA,CAAS,CAAA,EAAMc,CAAAA,CAAU,CAAA,CAAE,UAAU,CAAA,CAElD,CAAE,eAAA,CAAAO,CAAgB,CAAA,CAAIC,iCAAAA,CAAkCpC,CAAOuB,CAAI,CAAA,CAEnEc,CAAAA,CAAevB,4BAAAA,CAAS,CAAA,EAAMqB,CAAAA,CAAgB,YAAA,CAAaR,CAAAA,CAAM,CAAC,CAAC,CAAA,CAEnEW,CAAAA,CACJC,CAAAA,EACG,CACHJ,CAAAA,CAAgB,QAAA,CAASI,CAAG,CAC9B,CAAA,CAEMC,CAAAA,CAAU,CAAA,CAAA,EAAML,CAAAA,CAAgB,OAAA,CAAQ,CAAA,CAExCM,CAAAA,CAAW3B,4BAAAA,CAAS,CAAA,EAAMc,CAAAA,CAAU,CAAA,CAAE,QAAQ,CAAA,CAKpD,MAAO,CAEL,KAAA,CAAAD,CAAAA,CACA,YAAA,CAAAU,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAAAE,CAAAA,CACA,MAAA,CATcE,CAAAA,EACdJ,CAAAA,CAASK,iCAAAA,CAA4B,CAAA,kCAAKD,CAAAA,qBAAE,MAAA,6BAAQ,OAAA,SAAS,MAAA,CAAQA,CAAC,CAAA,CAUtE,IAAA,CAAM,CACJ,KAAA,CAAArB,CAAAA,CACA,OAAA,CAAAS,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAf,CAAAA,CACA,YAAA,CAAAgB,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,QAAA,CAAAO,CACF,CACF,CACF,CC5EA,SAUgBG,EAAAA,CAGdrB,CAAAA,CAAS,CACT,IAAMvB,CAAAA,CAAQG,0BAAAA,CAAsB,CAAA,CAC9BE,CAAAA,CAAaF,0BAAAA,gBAAiB,CAAA,CAC9Bc,CAAAA,CAAa4B,iCAAAA,CAA6B7C,CAAOuB,CAAI,CAAA,CAErDuB,CAAAA,CAAYvC,0BAAAA,CAChBU,CAAW,SAAA,CAAU,CACvB,CAAA,CAEM8B,CAAAA,CAAQ/C,CAAAA,CAAM,OAAA,CAAQ,aAAA,CAAcuB,CAAAA,CAAM,CAAA,CAAA,EAAM,CACpDuB,CAAAA,CAAU,GAAA,CAAI7B,CAAAA,CAAW,SAAA,CAAU,CAAC,CACtC,CAAC,CAAA,CAED,OAAAZ,CAAAA,CAAW,SAAA,CAAU,CAAA,CAAA,EAAM,CACzB0C,CAAAA,CAAM,CAAA,CACNC,iCAAAA,CAAwBhD,CAAO,CAAA,EAAA","file":"/home/runner/work/bit-form/bit-form/dist/angular/index.cjs","sourcesContent":[null,"import { inject, InjectionToken, Provider } from \"@angular/core\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_TOKEN = new InjectionToken<BitFrameworkStoreApi<any>>(\n \"BIT_STORE\",\n);\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n): Provider {\n return {\n provide: BIT_STORE_TOKEN,\n useValue: createFrameworkStoreAdapter<T>(store),\n };\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_TOKEN, { optional: true });\n\n if (!store) {\n throw new Error(\n \"BitForm: Não foi possível encontrar a BitStore. \" +\n 'Certifique-se de que você adicionou \"provideBitStore(store)\" nos providers do seu componente.',\n );\n }\n\n return store as BitFrameworkStoreApi<T>;\n}\n","import { signal, computed, inject, DestroyRef } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { InjectBitFormResult } from \"./types\";\n\nexport function injectBitForm<T extends object>(): InjectBitFormResult<T> {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n const stateSignal = signal({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = signal<Error | null>(null);\n const lastResponse = signal<unknown>(null);\n\n const sub = observeFormMetaSnapshot(store, (nextMeta) => {\n stateSignal.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n const isValid = computed(() => stateSignal().isValid);\n const isSubmitting = computed(() => stateSignal().isSubmitting);\n const isDirty = computed(() => stateSignal().isDirty);\n\n const { controller, actions } = createFrameworkFormBinding(\n store,\n {\n clearSubmissionState: () => {\n submitError.set(null);\n lastResponse.set(null);\n },\n setSubmissionResult: (result) => {\n lastResponse.set(result);\n },\n setSubmissionError: (error) => {\n submitError.set(error);\n },\n },\n { stopPropagation: true },\n );\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError: submitError.asReadonly(),\n lastResponse: lastResponse.asReadonly(),\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit: controller.onSubmit,\n reset: controller.reset,\n ...actions,\n };\n}\n","import { DestroyRef, computed, inject, signal } from \"@angular/core\";\nimport {\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { BitFieldInputEvent, InjectBitFieldResult } from \"./types\";\n\nexport function injectBitField<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): InjectBitFieldResult<TForm, P> {\n const store = inject(BIT_STORE_TOKEN);\n\n const stateSignal = signal(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n stateSignal.set(nextState);\n });\n\n inject(DestroyRef).onDestroy(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const value = computed(() => stateSignal().value as BitPathValue<TForm, P>);\n const metaState = computed(() => deriveFieldMeta(stateSignal()));\n const error = computed(() => metaState().error);\n const touched = computed(() => metaState().touched);\n const invalid = computed(() => metaState().invalid);\n const isDirty = computed(() => metaState().isDirty);\n const isValidating = computed(() => metaState().isValidating);\n const isHidden = computed(() => metaState().isHidden);\n const isRequired = computed(() => metaState().isRequired);\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const displayValue = computed(() => fieldController.displayValue(value()));\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const hasError = computed(() => metaState().hasError);\n\n const update = (e: BitFieldInputEvent) =>\n setValue(isBitFieldInputEventObject(e) ? (e.target?.value ?? null) : e);\n\n return {\n // Main handlers and values (flat)\n value,\n displayValue,\n setValue,\n setBlur,\n update,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\n\nexport function injectBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = inject(BIT_STORE_TOKEN);\n const destroyRef = inject(DestroyRef);\n const controller = createArrayBinding<TForm, P>(store, path);\n\n const valuesSig = signal<BitArrayItem<BitPathValue<TForm, P>>[]>(\n controller.readItems(),\n );\n\n const unsub = store.observe.subscribePath(path, () => {\n valuesSig.set(controller.readItems());\n });\n\n destroyRef.onDestroy(() => {\n unsub();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n return {\n fields: computed(() => controller.getFields(valuesSig())),\n length: computed(() => valuesSig().length),\n append: controller.append,\n prepend: controller.prepend,\n remove: controller.remove,\n insert: controller.insert,\n swap: controller.swap,\n move: controller.move,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/angular/index.cjs","../../src/angular/provider.ts","../../src/angular/inject-bit-form.ts","../../src/angular/inject-bit-field.ts","../../src/angular/inject-bit-array.ts"],"names":["BIT_STORE_TOKEN","InjectionToken","provideBitStore","store","adapted","createFrameworkStoreAdapter","inject","useBitStore","injectBitForm","destroyRef","stateSignal","signal","submitError","lastResponse","sub","observeFormMetaSnapshot","nextMeta","isValid","computed","isSubmitting","isDirty","controller","actions","createFrameworkFormBinding","result","error","injectBitField","path","unsubscribe","nextState","cleanupRegisteredField","value","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","fieldController","createFrameworkMaskedFieldBinding","displayValue","setValue","val","setBlur","hasError","e","isBitFieldInputEventObject","injectBitArray","createArrayBinding","valuesSig","unsub","cleanupRegisteredPrefix"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/angular/index.cjs","sourcesContent":[null,"import { DestroyRef, inject, InjectionToken, Provider } from \"@angular/core\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_TOKEN = new InjectionToken<BitFrameworkStoreApi<any>>(\n \"BIT_STORE\",\n);\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n): Provider {\n const adapted = createFrameworkStoreAdapter<T>(store);\n\n try {\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => {\n (adapted as any).feature?.cleanup?.();\n });\n } catch {\n // Called outside injection context (e.g., root module) — cleanup is\n // the caller's responsibility.\n }\n\n return {\n provide: BIT_STORE_TOKEN,\n useValue: adapted,\n };\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_TOKEN, { optional: true });\n\n if (!store) {\n throw new Error(\n \"BitForm: Não foi possível encontrar a BitStore. \" +\n 'Certifique-se de que você adicionou \"provideBitStore(store)\" nos providers do seu componente.',\n );\n }\n\n return store as BitFrameworkStoreApi<T>;\n}\n","import { signal, computed, inject, DestroyRef } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { InjectBitFormResult } from \"./types\";\n\nexport function injectBitForm<T extends object>(): InjectBitFormResult<T> {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n const stateSignal = signal({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = signal<Error | null>(null);\n const lastResponse = signal<unknown>(null);\n\n const sub = observeFormMetaSnapshot(store, (nextMeta) => {\n stateSignal.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n const isValid = computed(() => stateSignal().isValid);\n const isSubmitting = computed(() => stateSignal().isSubmitting);\n const isDirty = computed(() => stateSignal().isDirty);\n\n const { controller, actions } = createFrameworkFormBinding(\n store,\n {\n clearSubmissionState: () => {\n submitError.set(null);\n lastResponse.set(null);\n },\n setSubmissionResult: (result) => {\n lastResponse.set(result);\n },\n setSubmissionError: (error) => {\n submitError.set(error);\n },\n },\n { stopPropagation: true },\n );\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError: submitError.asReadonly(),\n lastResponse: lastResponse.asReadonly(),\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit: controller.onSubmit,\n reset: controller.reset,\n ...actions,\n };\n}\n","import { DestroyRef, computed, inject, signal } from \"@angular/core\";\nimport {\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { BitFieldInputEvent, InjectBitFieldResult } from \"./types\";\n\nexport function injectBitField<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): InjectBitFieldResult<TForm, P> {\n const store = inject(BIT_STORE_TOKEN);\n\n const stateSignal = signal(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n stateSignal.set(nextState);\n });\n\n inject(DestroyRef).onDestroy(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const value = computed(() => stateSignal().value as BitPathValue<TForm, P>);\n const metaState = computed(() => deriveFieldMeta(stateSignal()));\n const error = computed(() => metaState().error);\n const touched = computed(() => metaState().touched);\n const invalid = computed(() => metaState().invalid);\n const isDirty = computed(() => metaState().isDirty);\n const isValidating = computed(() => metaState().isValidating);\n const isHidden = computed(() => metaState().isHidden);\n const isRequired = computed(() => metaState().isRequired);\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const displayValue = computed(() => fieldController.displayValue(value()));\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const hasError = computed(() => metaState().hasError);\n\n const onBlur = () => fieldController.setBlur();\n\n const update = (e: BitFieldInputEvent) =>\n setValue(isBitFieldInputEventObject(e) ? (e.target?.value ?? null) : e);\n\n return {\n // Main handlers and values (flat)\n value,\n displayValue,\n setValue,\n setBlur,\n update,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\n\nexport function injectBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = inject(BIT_STORE_TOKEN);\n const destroyRef = inject(DestroyRef);\n const controller = createArrayBinding<TForm, P>(store, path);\n\n const valuesSig = signal<BitArrayItem<BitPathValue<TForm, P>>[]>(\n controller.readItems(),\n );\n\n const unsub = store.observe.subscribePath(path, () => {\n valuesSig.set(controller.readItems());\n });\n\n destroyRef.onDestroy(() => {\n unsub();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n return {\n fields: computed(() => controller.getFields(valuesSig())),\n length: computed(() => valuesSig().length),\n append: controller.append,\n prepend: controller.prepend,\n remove: controller.remove,\n insert: controller.insert,\n swap: controller.swap,\n move: controller.move,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
@@ -1,14 +1,14 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Provider, Signal } from '@angular/core';
3
- import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-BPD27biP.cjs';
3
+ import { b as BitFrameworkStoreApi, f as BitStoreApi } from '../store-api-types-D7i0KWbr.cjs';
4
4
  import '../bus-DzTqgkZ4.cjs';
5
- import { d as BitPath, e as BitPathValue, f as BitPersistMetadata, b as BitErrors, h as BitTouched, D as DeepPartial, a as BitArrayPath, B as BitArrayItem } from '../state-types-8bUndWfg.cjs';
6
- import { V as ValidateScopeResult, S as ScopeStatus } from '../runtime-types-D1SRZr-n.cjs';
7
- import { b as BitValidationOptions } from '../meta-types-BC1VLABk.cjs';
5
+ import { d as BitPath, e as BitPathValue, b as BitErrors, h as BitTouched, D as DeepPartial, f as BitPersistMetadata, a as BitArrayPath, B as BitArrayItem } from '../state-types-8bUndWfg.cjs';
6
+ import { V as ValidateScopeResult, S as ScopeStatus } from '../runtime-types-BLCkMgcy.cjs';
7
+ import { c as BitValidationOptions } from '../meta-types-1Xcht8hj.cjs';
8
8
  import { B as BitFieldInputEvent } from '../field-binding-X5TkvfUt.cjs';
9
9
  import { c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, a as BitArrayBindingField, g as BitUploadFn, b as BitDeleteUploadFn } from '../upload-C4JqIaU2.cjs';
10
10
  import '../types-CUXh7PqD.cjs';
11
- import '../config-types-Dbyt7t3D.cjs';
11
+ import '../config-types-mZFlp2Bi.cjs';
12
12
 
13
13
  declare function provideBitStore<T extends object>(store: BitFrameworkStoreApi<T> | BitStoreApi<T>): Provider;
14
14
  declare function useBitStore<T extends object>(): BitFrameworkStoreApi<T>;
@@ -36,6 +36,7 @@ interface InjectBitFieldResult<TForm extends object = any, P extends BitPath<TFo
36
36
  setValue: (val: BitPathValue<TForm, P> | string | number | null | undefined) => void;
37
37
  setBlur: () => void;
38
38
  update: (e: BitFieldInputEvent) => void;
39
+ onBlur: () => void;
39
40
  meta: InjectBitFieldMeta;
40
41
  }
41
42
  /**
@@ -131,4 +132,4 @@ declare function injectBitUpload<TMetadata extends Record<string, unknown> = Rec
131
132
 
132
133
  declare function injectBitPersist<T extends object = any>(): InjectBitPersistResult;
133
134
 
134
- export { type InjectBitFieldMeta, type InjectBitFieldResult, type InjectBitHistoryResult, type InjectBitPersistResult, type InjectBitStepsResult, type InjectBitUploadResult, ScopeStatus, ValidateScopeResult, injectBitArray, injectBitField, injectBitForm, injectBitHistory, injectBitPersist, injectBitScope, injectBitSteps, injectBitUpload, injectBitWatch, provideBitStore, useBitStore };
135
+ export { type InjectBitFieldMeta, type InjectBitFieldResult, type InjectBitFormResult, type InjectBitHistoryResult, type InjectBitPersistResult, type InjectBitStepsResult, type InjectBitUploadResult, ScopeStatus, ValidateScopeResult, injectBitArray, injectBitField, injectBitForm, injectBitHistory, injectBitPersist, injectBitScope, injectBitSteps, injectBitUpload, injectBitWatch, provideBitStore, useBitStore };
@@ -1,14 +1,14 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Provider, Signal } from '@angular/core';
3
- import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-i-zmM25p.js';
3
+ import { b as BitFrameworkStoreApi, f as BitStoreApi } from '../store-api-types-CgRVo2DA.js';
4
4
  import '../bus-BFOBGmd9.js';
5
- import { d as BitPath, e as BitPathValue, f as BitPersistMetadata, b as BitErrors, h as BitTouched, D as DeepPartial, a as BitArrayPath, B as BitArrayItem } from '../state-types-8bUndWfg.js';
6
- import { V as ValidateScopeResult, S as ScopeStatus } from '../runtime-types-D1SRZr-n.js';
7
- import { b as BitValidationOptions } from '../meta-types-BC1VLABk.js';
5
+ import { d as BitPath, e as BitPathValue, b as BitErrors, h as BitTouched, D as DeepPartial, f as BitPersistMetadata, a as BitArrayPath, B as BitArrayItem } from '../state-types-8bUndWfg.js';
6
+ import { V as ValidateScopeResult, S as ScopeStatus } from '../runtime-types-BLCkMgcy.js';
7
+ import { c as BitValidationOptions } from '../meta-types-1Xcht8hj.js';
8
8
  import { B as BitFieldInputEvent } from '../field-binding-Bi1g-D8X.js';
9
9
  import { c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, a as BitArrayBindingField, g as BitUploadFn, b as BitDeleteUploadFn } from '../upload-ao6skK9K.js';
10
10
  import '../types-CUXh7PqD.js';
11
- import '../config-types-bTt2lcw9.js';
11
+ import '../config-types-DB6FaTiZ.js';
12
12
 
13
13
  declare function provideBitStore<T extends object>(store: BitFrameworkStoreApi<T> | BitStoreApi<T>): Provider;
14
14
  declare function useBitStore<T extends object>(): BitFrameworkStoreApi<T>;
@@ -36,6 +36,7 @@ interface InjectBitFieldResult<TForm extends object = any, P extends BitPath<TFo
36
36
  setValue: (val: BitPathValue<TForm, P> | string | number | null | undefined) => void;
37
37
  setBlur: () => void;
38
38
  update: (e: BitFieldInputEvent) => void;
39
+ onBlur: () => void;
39
40
  meta: InjectBitFieldMeta;
40
41
  }
41
42
  /**
@@ -131,4 +132,4 @@ declare function injectBitUpload<TMetadata extends Record<string, unknown> = Rec
131
132
 
132
133
  declare function injectBitPersist<T extends object = any>(): InjectBitPersistResult;
133
134
 
134
- export { type InjectBitFieldMeta, type InjectBitFieldResult, type InjectBitHistoryResult, type InjectBitPersistResult, type InjectBitStepsResult, type InjectBitUploadResult, ScopeStatus, ValidateScopeResult, injectBitArray, injectBitField, injectBitForm, injectBitHistory, injectBitPersist, injectBitScope, injectBitSteps, injectBitUpload, injectBitWatch, provideBitStore, useBitStore };
135
+ export { type InjectBitFieldMeta, type InjectBitFieldResult, type InjectBitFormResult, type InjectBitHistoryResult, type InjectBitPersistResult, type InjectBitStepsResult, type InjectBitUploadResult, ScopeStatus, ValidateScopeResult, injectBitArray, injectBitField, injectBitForm, injectBitHistory, injectBitPersist, injectBitScope, injectBitSteps, injectBitUpload, injectBitWatch, provideBitStore, useBitStore };
@@ -1,2 +1,2 @@
1
- import{a as Z,b as N}from"../chunk-3774TIGK.js";import"../chunk-5NA2TFPG.js";import{d as K}from"../chunk-LIHWJJIM.js";import{c as C,f as W,g as z,h as $,i as G,j as J,k as Q}from"../chunk-SYEUXL2E.js";import{a as X}from"../chunk-W2E5UIXT.js";import{b as O,f as _,g as q}from"../chunk-UIKO6GGW.js";import{a as Y}from"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import{c as M,f as H}from"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";import{a as L}from"../chunk-3NUJVIAM.js";import{inject as it,InjectionToken as nt}from"@angular/core";var B=new nt("BIT_STORE");function at(t){return{provide:B,useValue:K(t)}}function u(){let t=it(B,{optional:!0});if(!t)throw new Error('BitForm: N\xE3o foi poss\xEDvel encontrar a BitStore. Certifique-se de que voc\xEA adicionou "provideBitStore(store)" nos providers do seu componente.');return t}import{signal as V,computed as I,inject as ct,DestroyRef as lt}from"@angular/core";function ut(){let t=u(),e=ct(lt),r=V({isValid:!0,isDirty:!1,isSubmitting:!1}),o=V(null),s=V(null),i=C(t,m=>{r.set(m)});e.onDestroy(()=>i());let p=I(()=>r().isValid),a=I(()=>r().isSubmitting),d=I(()=>r().isDirty),{controller:c,actions:n}=G(t,{clearSubmissionState:()=>{o.set(null),s.set(null)},setSubmissionResult:m=>{s.set(m)},setSubmissionError:m=>{o.set(m)}},{stopPropagation:!0});return{meta:{isValid:p,isDirty:d,isSubmitting:a,submitError:o.asReadonly(),lastResponse:s.asReadonly()},getValues:c.getValues,getErrors:c.getErrors,getTouched:c.getTouched,getDirtyValues:c.getDirtyValues,submit:c.submit,onSubmit:c.onSubmit,reset:c.reset,...n}}import{DestroyRef as pt,computed as S,inject as tt,signal as dt}from"@angular/core";function E(t){let e=tt(B),r=dt(e.read.getFieldState(t)),o=e.observe.subscribeFieldState(t,y=>{r.set(y)});tt(pt).onDestroy(()=>{o(),J(e,t)});let s=S(()=>r().value),i=S(()=>Y(r())),p=S(()=>i().error),a=S(()=>i().touched),d=S(()=>i().invalid),c=S(()=>i().isDirty),n=S(()=>i().isValidating),f=S(()=>i().isHidden),m=S(()=>i().isRequired),{fieldController:j}=$(e,t),T=S(()=>j.displayValue(s())),v=y=>{j.setValue(y)},h=()=>j.setBlur(),x=S(()=>i().hasError);return{value:s,displayValue:T,setValue:v,setBlur:h,update:y=>v(L(y)?y.target?.value??null:y),meta:{error:p,touched:a,invalid:d,isDirty:c,isValidating:n,isHidden:f,isRequired:m,hasError:x}}}import{computed as et,DestroyRef as mt,inject as rt,signal as St}from"@angular/core";function ft(t){let e=rt(B),r=rt(mt),o=z(e,t),s=St(o.readItems()),i=e.observe.subscribePath(t,()=>{s.set(o.readItems())});return r.onDestroy(()=>{i(),Q(e,`${t}.`)}),{fields:et(()=>o.getFields(s())),length:et(()=>s().length),append:o.append,prepend:o.prepend,remove:o.remove,insert:o.insert,swap:o.swap,move:o.move,replace:o.replace,clear:o.clear}}import{computed as P,DestroyRef as yt,inject as gt,signal as Bt}from"@angular/core";function Rt(){let t=u(),e=gt(yt),r=Bt(_(t)),o=q(t,s=>{r.set(s)});return e.onDestroy(()=>o()),{canUndo:P(()=>r().canUndo),canRedo:P(()=>r().canRedo),historyIndex:P(()=>r().historyIndex),historySize:P(()=>r().historySize),undo:()=>t.feature.undo(),redo:()=>t.feature.redo()}}import{computed as D,DestroyRef as bt,inject as jt,signal as vt}from"@angular/core";function Ft(t){let e=u(),r=e.read.getScopeStatus(t),o=vt(r),s=X(e,t,f=>{o.set(f)});jt(bt,{optional:!0})?.onDestroy(()=>s());let p=async()=>{let f=await e.feature.validate({scope:t}),m=e.read.getScopeErrors(t);return{valid:f,errors:m}},a=()=>e.read.getScopeErrors(t),d=D(()=>!o().hasErrors),c=D(()=>o().isDirty),n=D(()=>o().errors);return{scopeName:t,status:o,errors:n,validate:p,getErrors:a,isValid:d,isDirty:c,unsubscribe:s}}import{computed as R,DestroyRef as Pt,inject as Tt,signal as ot}from"@angular/core";function ht(t){let e=u(),r=ot(0),o=R(()=>t[r()]??""),s=()=>t[r()]??"",i=ot(e.read.getScopeStatus(s())),p=()=>{let l=s(),g=e.read.getScopeStatus(l),b=i();O(b,g)||i.set(g)},a=e.observe.subscribeScopeStatus(s(),p),d=()=>{a(),a=e.observe.subscribeScopeStatus(s(),p)};Tt(Pt,{optional:!0})?.onDestroy(()=>a());let n=async()=>{let l=s(),g=await e.feature.validate({scope:l}),b=e.read.getScopeErrors(l);return{valid:g,errors:b}},f=()=>e.read.getScopeErrors(s()),m=async()=>{let l=s(),g=e.read.getScopeFields(l);if(e.feature.hasValidationsInProgress(g))return!1;let b=await e.feature.validate({scope:l});if(b){let F=Math.min(r()+1,t.length-1);r.set(F),i.set(e.read.getScopeStatus(t[F]??"")),d()}else{let F=e.read.getScopeErrors(l),A=Object.keys(F);A.length>0&&e.write.markFieldsTouched(A)}return b},j=()=>{let l=Math.max(r()-1,0);r.set(l),i.set(e.read.getScopeStatus(t[l]??"")),d()},T=l=>{let g=Math.max(0,Math.min(l-1,t.length-1));r.set(g),i.set(e.read.getScopeStatus(t[g]??"")),d()},v=R(()=>r()+1),h=R(()=>r()===0),x=R(()=>r()>=t.length-1),U=R(()=>!i().hasErrors),y=R(()=>i().isDirty),st=R(()=>i().errors);return{step:v,stepIndex:r,scope:o,next:m,prev:j,goTo:T,isFirst:h,isLast:x,status:i,errors:st,isValid:U,isDirty:y,validate:n,getErrors:f}}import{DestroyRef as xt,signal as Vt,inject as It}from"@angular/core";function Et(t){let e=u(),r=It(xt),o=Vt(H(e.read.getState().values,t),{equal:M}),s=e.observe.subscribePath(t,i=>{o.set(i)});return r.onDestroy(s),o.asReadonly()}import{computed as w,inject as Dt,signal as wt}from"@angular/core";function kt(t,e,r){let o=Dt(B),s=E(t),i=null,p=wt(!1),a={setLoading:n=>p.set(n),setError:(n,f)=>o.write.setError(n,f),setValue:n=>s.setValue(n),getUploadKey:()=>i,setUploadKey:n=>{i=n},onCallbackError:n=>o.read.config.onUnhandledError(n,"upload")},d=Z(t,e,a),c=N(t,r,a);return{value:w(()=>s.value()),setValue:s.setValue,error:w(()=>s.meta.error()),isValidating:w(()=>!!s.meta.isValidating()||p()),upload:d,remove:c}}import{computed as k,DestroyRef as Ut,inject as At,signal as Mt}from"@angular/core";function Ht(){let t=u(),e=Mt(t.read.getPersistMetadata()),r=W(t,a=>{e.set(a)});return At(Ut,{optional:!0})?.onDestroy(()=>r()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:k(()=>e().isSaving),isRestoring:k(()=>e().isRestoring),error:k(()=>e().error)}}}export{ft as injectBitArray,E as injectBitField,ut as injectBitForm,Rt as injectBitHistory,Ht as injectBitPersist,Ft as injectBitScope,ht as injectBitSteps,kt as injectBitUpload,Et as injectBitWatch,at as provideBitStore,u as useBitStore};
1
+ import{a as N,b as tt}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import{d as C}from"../chunk-PRMNTQD5.js";import{c as W,f as z,g as L,h as $,i as J,j as Q,k as X}from"../chunk-XPY6TCOO.js";import{a as Y}from"../chunk-W2E5UIXT.js";import{b as _,f as q,g as K}from"../chunk-UIKO6GGW.js";import{a as Z}from"../chunk-L57KMBXS.js";import"../chunk-X3OFU2UH.js";import{c as H,f as O}from"../chunk-JVRTPL7W.js";import"../chunk-MBEQLBJB.js";import{a as G}from"../chunk-DGEGYNQL.js";import{DestroyRef as nt,inject as et,InjectionToken as at}from"@angular/core";var B=new at("BIT_STORE");function ct(t){let e=C(t);try{et(nt).onDestroy(()=>{e.feature?.cleanup?.()})}catch{}return{provide:B,useValue:e}}function p(){let t=et(B,{optional:!0});if(!t)throw new Error('BitForm: N\xE3o foi poss\xEDvel encontrar a BitStore. Certifique-se de que voc\xEA adicionou "provideBitStore(store)" nos providers do seu componente.');return t}import{signal as V,computed as I,inject as ut,DestroyRef as lt}from"@angular/core";function pt(){let t=p(),e=ut(lt),r=V({isValid:!0,isDirty:!1,isSubmitting:!1}),o=V(null),s=V(null),i=W(t,l=>{r.set(l)});e.onDestroy(()=>i());let d=I(()=>r().isValid),a=I(()=>r().isSubmitting),m=I(()=>r().isDirty),{controller:c,actions:f}=J(t,{clearSubmissionState:()=>{o.set(null),s.set(null)},setSubmissionResult:l=>{s.set(l)},setSubmissionError:l=>{o.set(l)}},{stopPropagation:!0});return{meta:{isValid:d,isDirty:m,isSubmitting:a,submitError:o.asReadonly(),lastResponse:s.asReadonly()},getValues:c.getValues,getErrors:c.getErrors,getTouched:c.getTouched,getDirtyValues:c.getDirtyValues,submit:c.submit,onSubmit:c.onSubmit,reset:c.reset,...f}}import{DestroyRef as dt,computed as S,inject as rt,signal as mt}from"@angular/core";function E(t){let e=rt(B),r=mt(e.read.getFieldState(t)),o=e.observe.subscribeFieldState(t,y=>{r.set(y)});rt(dt).onDestroy(()=>{o(),Q(e,t)});let s=S(()=>r().value),i=S(()=>Z(r())),d=S(()=>i().error),a=S(()=>i().touched),m=S(()=>i().invalid),c=S(()=>i().isDirty),f=S(()=>i().isValidating),n=S(()=>i().isHidden),l=S(()=>i().isRequired),{fieldController:b}=$(e,t),T=S(()=>b.displayValue(s())),F=y=>{b.setValue(y)},h=()=>b.setBlur(),x=S(()=>i().hasError);return{value:s,displayValue:T,setValue:F,setBlur:h,update:y=>F(G(y)?y.target?.value??null:y),onBlur:()=>b.setBlur(),meta:{error:d,touched:a,invalid:m,isDirty:c,isValidating:f,isHidden:n,isRequired:l,hasError:x}}}import{computed as ot,DestroyRef as St,inject as st,signal as ft}from"@angular/core";function yt(t){let e=st(B),r=st(St),o=L(e,t),s=ft(o.readItems()),i=e.observe.subscribePath(t,()=>{s.set(o.readItems())});return r.onDestroy(()=>{i(),X(e,`${t}.`)}),{fields:ot(()=>o.getFields(s())),length:ot(()=>s().length),append:o.append,prepend:o.prepend,remove:o.remove,insert:o.insert,swap:o.swap,move:o.move,replace:o.replace,clear:o.clear}}import{computed as P,DestroyRef as gt,inject as Bt,signal as Rt}from"@angular/core";function bt(){let t=p(),e=Bt(gt),r=Rt(q(t)),o=K(t,s=>{r.set(s)});return e.onDestroy(()=>o()),{canUndo:P(()=>r().canUndo),canRedo:P(()=>r().canRedo),historyIndex:P(()=>r().historyIndex),historySize:P(()=>r().historySize),undo:()=>t.feature.undo(),redo:()=>t.feature.redo()}}import{computed as D,DestroyRef as jt,inject as Ft,signal as vt}from"@angular/core";function Pt(t){let e=p(),r=e.read.getScopeStatus(t),o=vt(r),s=Y(e,t,n=>{o.set(n)});Ft(jt).onDestroy(()=>s());let d=async()=>{let n=await e.feature.validate({scope:t}),l=e.read.getScopeErrors(t);return{valid:n,errors:l}},a=()=>e.read.getScopeErrors(t),m=D(()=>!o().hasErrors),c=D(()=>o().isDirty),f=D(()=>o().errors);return{scopeName:t,status:o,errors:f,validate:d,getErrors:a,isValid:m,isDirty:c,unsubscribe:s}}import{computed as R,DestroyRef as Tt,inject as ht,signal as it}from"@angular/core";function xt(t){if(t.length===0)throw new Error("injectBitSteps: scopeNames must not be empty");let e=p(),r=it(0),o=R(()=>t[r()]??""),s=()=>t[r()]??"",i=it(e.read.getScopeStatus(s())),d=u=>{let g=e.read.getScopeStatus(u),j=i();s()===u&&!_(j,g)&&i.set(g)},a=e.observe.subscribeScopeStatus(s(),()=>d(s())),m=()=>{a(),a=e.observe.subscribeScopeStatus(s(),()=>d(s()))};ht(Tt).onDestroy(()=>a());let f=async()=>{let u=s(),g=await e.feature.validate({scope:u}),j=e.read.getScopeErrors(u);return{valid:g,errors:j}},n=()=>e.read.getScopeErrors(s()),l=async()=>{let u=s(),g=e.read.getScopeFields(u);if(e.feature.hasValidationsInProgress(g))return!1;let j=await e.feature.validate({scope:u});if(j){let v=Math.min(r()+1,t.length-1);r.set(v),i.set(e.read.getScopeStatus(t[v]??"")),m()}else{let v=e.read.getScopeErrors(u),M=Object.keys(v);M.length>0&&e.write.markFieldsTouched(M)}return j},b=()=>{let u=Math.max(r()-1,0);r.set(u),i.set(e.read.getScopeStatus(t[u]??"")),m()},T=u=>{let g=Math.max(0,Math.min(u-1,t.length-1));r.set(g),i.set(e.read.getScopeStatus(t[g]??"")),m()},F=R(()=>r()+1),h=R(()=>r()===0),x=R(()=>r()>=t.length-1),U=R(()=>!i().hasErrors),A=R(()=>i().isDirty),y=R(()=>i().errors);return{step:F,stepIndex:r,scope:o,next:l,prev:b,goTo:T,isFirst:h,isLast:x,status:i,errors:y,isValid:U,isDirty:A,validate:f,getErrors:n}}import{DestroyRef as Vt,signal as It,inject as Et}from"@angular/core";function Dt(t){let e=p(),r=Et(Vt),o=It(O(e.read.getState().values,t),{equal:H}),s=e.observe.subscribePath(t,i=>{o.set(i)});return r.onDestroy(s),o.asReadonly()}import{computed as w,inject as wt,signal as kt}from"@angular/core";function Ut(t,e,r){let o=wt(B),s=E(t),i=null,d=kt(!1),a={current:0},m={setLoading:n=>d.set(n),setError:(n,l)=>o.write.setError(n,l),setValue:n=>s.setValue(n),getUploadKey:()=>i,setUploadKey:n=>{i=n},onCallbackError:n=>o.read.config.onUnhandledError(n,"upload")},c=N(t,e,m,a),f=tt(t,r,m,a);return{value:w(()=>s.value()),setValue:s.setValue,error:w(()=>s.meta.error()),isValidating:w(()=>!!s.meta.isValidating()||d()),upload:c,remove:f}}import{computed as k,DestroyRef as At,inject as Mt,signal as Ht}from"@angular/core";function Ot(){let t=p(),e=Ht(t.read.getPersistMetadata()),r=z(t,a=>{e.set(a)});return Mt(At).onDestroy(()=>r()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:k(()=>e().isSaving),isRestoring:k(()=>e().isRestoring),error:k(()=>e().error)}}}export{yt as injectBitArray,E as injectBitField,pt as injectBitForm,bt as injectBitHistory,Ot as injectBitPersist,Pt as injectBitScope,xt as injectBitSteps,Ut as injectBitUpload,Dt as injectBitWatch,ct as provideBitStore,p as useBitStore};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/angular/provider.ts","../../src/angular/inject-bit-form.ts","../../src/angular/inject-bit-field.ts","../../src/angular/inject-bit-array.ts","../../src/angular/inject-bit-history.ts","../../src/angular/inject-bit-scope.ts","../../src/angular/inject-bit-steps.ts","../../src/angular/inject-bit-watch.ts","../../src/angular/inject-bit-upload.ts","../../src/angular/inject-bit-persist.ts"],"sourcesContent":["import { inject, InjectionToken, Provider } from \"@angular/core\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_TOKEN = new InjectionToken<BitFrameworkStoreApi<any>>(\n \"BIT_STORE\",\n);\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n): Provider {\n return {\n provide: BIT_STORE_TOKEN,\n useValue: createFrameworkStoreAdapter<T>(store),\n };\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_TOKEN, { optional: true });\n\n if (!store) {\n throw new Error(\n \"BitForm: Não foi possível encontrar a BitStore. \" +\n 'Certifique-se de que você adicionou \"provideBitStore(store)\" nos providers do seu componente.',\n );\n }\n\n return store as BitFrameworkStoreApi<T>;\n}\n","import { signal, computed, inject, DestroyRef } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { InjectBitFormResult } from \"./types\";\n\nexport function injectBitForm<T extends object>(): InjectBitFormResult<T> {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n const stateSignal = signal({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = signal<Error | null>(null);\n const lastResponse = signal<unknown>(null);\n\n const sub = observeFormMetaSnapshot(store, (nextMeta) => {\n stateSignal.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n const isValid = computed(() => stateSignal().isValid);\n const isSubmitting = computed(() => stateSignal().isSubmitting);\n const isDirty = computed(() => stateSignal().isDirty);\n\n const { controller, actions } = createFrameworkFormBinding(\n store,\n {\n clearSubmissionState: () => {\n submitError.set(null);\n lastResponse.set(null);\n },\n setSubmissionResult: (result) => {\n lastResponse.set(result);\n },\n setSubmissionError: (error) => {\n submitError.set(error);\n },\n },\n { stopPropagation: true },\n );\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError: submitError.asReadonly(),\n lastResponse: lastResponse.asReadonly(),\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit: controller.onSubmit,\n reset: controller.reset,\n ...actions,\n };\n}\n","import { DestroyRef, computed, inject, signal } from \"@angular/core\";\nimport {\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { BitFieldInputEvent, InjectBitFieldResult } from \"./types\";\n\nexport function injectBitField<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): InjectBitFieldResult<TForm, P> {\n const store = inject(BIT_STORE_TOKEN);\n\n const stateSignal = signal(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n stateSignal.set(nextState);\n });\n\n inject(DestroyRef).onDestroy(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const value = computed(() => stateSignal().value as BitPathValue<TForm, P>);\n const metaState = computed(() => deriveFieldMeta(stateSignal()));\n const error = computed(() => metaState().error);\n const touched = computed(() => metaState().touched);\n const invalid = computed(() => metaState().invalid);\n const isDirty = computed(() => metaState().isDirty);\n const isValidating = computed(() => metaState().isValidating);\n const isHidden = computed(() => metaState().isHidden);\n const isRequired = computed(() => metaState().isRequired);\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const displayValue = computed(() => fieldController.displayValue(value()));\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const hasError = computed(() => metaState().hasError);\n\n const update = (e: BitFieldInputEvent) =>\n setValue(isBitFieldInputEventObject(e) ? (e.target?.value ?? null) : e);\n\n return {\n // Main handlers and values (flat)\n value,\n displayValue,\n setValue,\n setBlur,\n update,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\n\nexport function injectBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = inject(BIT_STORE_TOKEN);\n const destroyRef = inject(DestroyRef);\n const controller = createArrayBinding<TForm, P>(store, path);\n\n const valuesSig = signal<BitArrayItem<BitPathValue<TForm, P>>[]>(\n controller.readItems(),\n );\n\n const unsub = store.observe.subscribePath(path, () => {\n valuesSig.set(controller.readItems());\n });\n\n destroyRef.onDestroy(() => {\n unsub();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n return {\n fields: computed(() => controller.getFields(valuesSig())),\n length: computed(() => valuesSig().length),\n append: controller.append,\n prepend: controller.prepend,\n remove: controller.remove,\n insert: controller.insert,\n swap: controller.swap,\n move: controller.move,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport { observeHistoryMetaSnapshot, readHistoryMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitHistoryResult } from \"./types\";\n\nexport function injectBitHistory<\n T extends object = any,\n>(): InjectBitHistoryResult {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n\n const meta = signal(readHistoryMetaSnapshot(store));\n\n const sub = observeHistoryMetaSnapshot(store, (nextMeta) => {\n meta.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n return {\n canUndo: computed(() => meta().canUndo),\n canRedo: computed(() => meta().canRedo),\n historyIndex: computed(() => meta().historyIndex),\n historySize: computed(() => meta().historySize),\n undo: () => store.feature.undo(),\n redo: () => store.feature.redo(),\n };\n}\n","import type { Signal } from \"@angular/core\";\nimport { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { observeScopeStatusSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\ninterface InjectBitScopeResult {\n scopeName: string;\n status: Signal<ScopeStatus>;\n errors: Signal<Record<string, string>>;\n validate: () => Promise<ValidateScopeResult>;\n getErrors: () => Record<string, string>;\n isValid: Signal<boolean>;\n isDirty: Signal<boolean>;\n unsubscribe: () => void;\n}\n\nexport function injectBitScope(scopeName: string): InjectBitScopeResult {\n const store = useBitStore();\n const initialStatus = store.read.getScopeStatus(scopeName);\n\n const status = signal<ScopeStatus>(initialStatus);\n\n const unsubscribe = observeScopeStatusSnapshot(\n store,\n scopeName,\n (nextStatus) => {\n status.set(nextStatus);\n },\n );\n\n const destroyRef = inject(DestroyRef, { optional: true });\n destroyRef?.onDestroy(() => unsubscribe());\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(scopeName);\n\n const isValid = computed(() => !status().hasErrors);\n const isDirty = computed(() => status().isDirty);\n const errors = computed(() => status().errors);\n\n return {\n scopeName,\n status,\n errors,\n validate,\n getErrors,\n isValid,\n isDirty,\n unsubscribe,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitStepsResult } from \"./types\";\n\nexport function injectBitSteps(scopeNames: string[]): InjectBitStepsResult {\n const store = useBitStore();\n const stepIndex = signal(0);\n\n const scope = computed(() => scopeNames[stepIndex()] ?? \"\");\n\n const getCurrentScope = () => scopeNames[stepIndex()] ?? \"\";\n const status = signal<ScopeStatus>(\n store.read.getScopeStatus(getCurrentScope()),\n );\n\n const updateStatus = () => {\n const scopeName = getCurrentScope();\n const newStatus = store.read.getScopeStatus(scopeName);\n const current = status();\n if (!isScopeStatusEqual(current, newStatus)) {\n status.set(newStatus);\n }\n };\n\n let unsubscribe = store.observe.subscribeScopeStatus(\n getCurrentScope(),\n updateStatus,\n );\n\n const rebindScopeSubscription = () => {\n unsubscribe();\n unsubscribe = store.observe.subscribeScopeStatus(\n getCurrentScope(),\n updateStatus,\n );\n };\n\n const destroyRef = inject(DestroyRef, { optional: true });\n destroyRef?.onDestroy(() => unsubscribe());\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const scopeName = getCurrentScope();\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(getCurrentScope());\n\n const next = async (): Promise<boolean> => {\n const scopeName = getCurrentScope();\n\n const scopeFields = store.read.getScopeFields(scopeName);\n if (store.feature.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.feature.validate({ scope: scopeName });\n if (valid) {\n const newIndex = Math.min(stepIndex() + 1, scopeNames.length - 1);\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n } else {\n const errors = store.read.getScopeErrors(scopeName);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.write.markFieldsTouched(pathsWithErrors);\n }\n }\n return valid;\n };\n\n const prev = () => {\n const newIndex = Math.max(stepIndex() - 1, 0);\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n };\n\n const goTo = (targetStep: number) => {\n const newIndex = Math.max(\n 0,\n Math.min(targetStep - 1, scopeNames.length - 1),\n );\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n };\n\n const step = computed(() => stepIndex() + 1);\n const isFirst = computed(() => stepIndex() === 0);\n const isLast = computed(() => stepIndex() >= scopeNames.length - 1);\n const isValid = computed(() => !status().hasErrors);\n const isDirty = computed(() => status().isDirty);\n const errors = computed(() => status().errors);\n\n return {\n step,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors,\n isValid,\n isDirty,\n validate,\n getErrors,\n };\n}\n","import { DestroyRef, signal, Signal, inject } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { getDeepValue, valueEqual, BitPath, BitPathValue } from \"../core\";\n\nexport function injectBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): Signal<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n const destroyRef = inject(DestroyRef);\n const valueSig = signal<BitPathValue<TForm, P>>(\n getDeepValue(store.read.getState().values, path as string) as BitPathValue<\n TForm,\n P\n >,\n { equal: valueEqual },\n );\n\n const unsub = store.observe.subscribePath(path, (v) => {\n valueSig.set(v as BitPathValue<TForm, P>);\n });\n\n destroyRef.onDestroy(unsub);\n\n return valueSig.asReadonly();\n}\n","/**\n * Angular Dependency Injection for File Upload\n *\n * Minimal upload API integrated with global field validation lifecycle.\n */\n\nimport { computed, inject, signal } from \"@angular/core\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { injectBitField } from \"./inject-bit-field\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { InjectBitUploadResult } from \"./types\";\n\nexport function injectBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): InjectBitUploadResult {\n const store = inject(BIT_STORE_TOKEN);\n const field = injectBitField(fieldPath);\n let uploadKey: string | null = null;\n const isUploading = signal(false);\n\n const kernelCallbacks = {\n setLoading: (val: boolean) => isUploading.set(val),\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => field.setValue(val),\n getUploadKey: () => uploadKey,\n setUploadKey: (key: string | null) => {\n uploadKey = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n };\n\n const upload = createUploadHandler(fieldPath, uploadFn, kernelCallbacks);\n const remove = createRemoveHandler(fieldPath, deleteFile, kernelCallbacks);\n\n return {\n value: computed(() => field.value()),\n setValue: field.setValue,\n error: computed(() => field.meta.error()),\n isValidating: computed(() => !!field.meta.isValidating() || isUploading()),\n upload,\n remove,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport { observePersistMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitPersistResult } from \"./types\";\n\nexport function injectBitPersist<\n T extends object = any,\n>(): InjectBitPersistResult {\n const store = useBitStore<T>();\n const persist = signal(store.read.getPersistMetadata());\n\n const unsubscribe = observePersistMetaSnapshot(store, (nextPersist) => {\n persist.set(nextPersist);\n });\n\n const destroyRef = inject(DestroyRef, { optional: true });\n destroyRef?.onDestroy(() => unsubscribe());\n\n const restore = async (): Promise<boolean> => {\n return store.feature.restorePersisted();\n };\n\n const save = async (): Promise<void> => {\n await store.feature.forceSave();\n };\n\n const clear = async (): Promise<void> => {\n await store.feature.clearPersisted();\n };\n\n return {\n restore,\n save,\n clear,\n meta: {\n isSaving: computed(() => persist().isSaving),\n isRestoring: computed(() => persist().isRestoring),\n error: computed(() => persist().error),\n },\n };\n}\n"],"mappings":"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","names":["inject","InjectionToken","BIT_STORE_TOKEN","InjectionToken","provideBitStore","store","createFrameworkStoreAdapter","useBitStore","inject","signal","computed","inject","DestroyRef","injectBitForm","store","useBitStore","destroyRef","inject","DestroyRef","stateSignal","signal","submitError","lastResponse","sub","observeFormMetaSnapshot","nextMeta","isValid","computed","isSubmitting","isDirty","controller","actions","createFrameworkFormBinding","result","error","DestroyRef","computed","inject","signal","injectBitField","path","store","inject","BIT_STORE_TOKEN","stateSignal","signal","unsubscribe","nextState","DestroyRef","cleanupRegisteredField","value","computed","metaState","deriveFieldMeta","error","touched","invalid","isDirty","isValidating","isHidden","isRequired","fieldController","createFrameworkMaskedFieldBinding","displayValue","setValue","val","setBlur","hasError","e","isBitFieldInputEventObject","computed","DestroyRef","inject","signal","injectBitArray","path","store","inject","BIT_STORE_TOKEN","destroyRef","DestroyRef","controller","createArrayBinding","valuesSig","signal","unsub","cleanupRegisteredPrefix","computed","computed","DestroyRef","inject","signal","injectBitHistory","store","useBitStore","destroyRef","inject","DestroyRef","meta","signal","readHistoryMetaSnapshot","sub","observeHistoryMetaSnapshot","nextMeta","computed","computed","DestroyRef","inject","signal","injectBitScope","scopeName","store","useBitStore","initialStatus","status","signal","unsubscribe","observeScopeStatusSnapshot","nextStatus","inject","DestroyRef","validate","valid","errors","getErrors","isValid","computed","isDirty","computed","DestroyRef","inject","signal","injectBitSteps","scopeNames","store","useBitStore","stepIndex","signal","scope","computed","getCurrentScope","status","updateStatus","scopeName","newStatus","current","isScopeStatusEqual","unsubscribe","rebindScopeSubscription","inject","DestroyRef","validate","valid","errors","getErrors","next","scopeFields","newIndex","pathsWithErrors","prev","goTo","targetStep","step","isFirst","isLast","isValid","isDirty","DestroyRef","signal","inject","injectBitWatch","path","store","useBitStore","destroyRef","inject","DestroyRef","valueSig","signal","getDeepValue","valueEqual","unsub","v","computed","inject","signal","injectBitUpload","fieldPath","uploadFn","deleteFile","store","inject","BIT_STORE_TOKEN","field","injectBitField","uploadKey","isUploading","signal","kernelCallbacks","val","path","msg","key","e","upload","createUploadHandler","remove","createRemoveHandler","computed","computed","DestroyRef","inject","signal","injectBitPersist","store","useBitStore","persist","signal","unsubscribe","observePersistMetaSnapshot","nextPersist","inject","DestroyRef","computed"]}
1
+ {"version":3,"sources":["../../src/angular/provider.ts","../../src/angular/inject-bit-form.ts","../../src/angular/inject-bit-field.ts","../../src/angular/inject-bit-array.ts","../../src/angular/inject-bit-history.ts","../../src/angular/inject-bit-scope.ts","../../src/angular/inject-bit-steps.ts","../../src/angular/inject-bit-watch.ts","../../src/angular/inject-bit-upload.ts","../../src/angular/inject-bit-persist.ts"],"sourcesContent":["import { DestroyRef, inject, InjectionToken, Provider } from \"@angular/core\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_TOKEN = new InjectionToken<BitFrameworkStoreApi<any>>(\n \"BIT_STORE\",\n);\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n): Provider {\n const adapted = createFrameworkStoreAdapter<T>(store);\n\n try {\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => {\n (adapted as any).feature?.cleanup?.();\n });\n } catch {\n // Called outside injection context (e.g., root module) — cleanup is\n // the caller's responsibility.\n }\n\n return {\n provide: BIT_STORE_TOKEN,\n useValue: adapted,\n };\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_TOKEN, { optional: true });\n\n if (!store) {\n throw new Error(\n \"BitForm: Não foi possível encontrar a BitStore. \" +\n 'Certifique-se de que você adicionou \"provideBitStore(store)\" nos providers do seu componente.',\n );\n }\n\n return store as BitFrameworkStoreApi<T>;\n}\n","import { signal, computed, inject, DestroyRef } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { InjectBitFormResult } from \"./types\";\n\nexport function injectBitForm<T extends object>(): InjectBitFormResult<T> {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n const stateSignal = signal({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = signal<Error | null>(null);\n const lastResponse = signal<unknown>(null);\n\n const sub = observeFormMetaSnapshot(store, (nextMeta) => {\n stateSignal.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n const isValid = computed(() => stateSignal().isValid);\n const isSubmitting = computed(() => stateSignal().isSubmitting);\n const isDirty = computed(() => stateSignal().isDirty);\n\n const { controller, actions } = createFrameworkFormBinding(\n store,\n {\n clearSubmissionState: () => {\n submitError.set(null);\n lastResponse.set(null);\n },\n setSubmissionResult: (result) => {\n lastResponse.set(result);\n },\n setSubmissionError: (error) => {\n submitError.set(error);\n },\n },\n { stopPropagation: true },\n );\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError: submitError.asReadonly(),\n lastResponse: lastResponse.asReadonly(),\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit: controller.onSubmit,\n reset: controller.reset,\n ...actions,\n };\n}\n","import { DestroyRef, computed, inject, signal } from \"@angular/core\";\nimport {\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { BitFieldInputEvent, InjectBitFieldResult } from \"./types\";\n\nexport function injectBitField<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): InjectBitFieldResult<TForm, P> {\n const store = inject(BIT_STORE_TOKEN);\n\n const stateSignal = signal(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n stateSignal.set(nextState);\n });\n\n inject(DestroyRef).onDestroy(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const value = computed(() => stateSignal().value as BitPathValue<TForm, P>);\n const metaState = computed(() => deriveFieldMeta(stateSignal()));\n const error = computed(() => metaState().error);\n const touched = computed(() => metaState().touched);\n const invalid = computed(() => metaState().invalid);\n const isDirty = computed(() => metaState().isDirty);\n const isValidating = computed(() => metaState().isValidating);\n const isHidden = computed(() => metaState().isHidden);\n const isRequired = computed(() => metaState().isRequired);\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const displayValue = computed(() => fieldController.displayValue(value()));\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const hasError = computed(() => metaState().hasError);\n\n const onBlur = () => fieldController.setBlur();\n\n const update = (e: BitFieldInputEvent) =>\n setValue(isBitFieldInputEventObject(e) ? (e.target?.value ?? null) : e);\n\n return {\n // Main handlers and values (flat)\n value,\n displayValue,\n setValue,\n setBlur,\n update,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\n\nexport function injectBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = inject(BIT_STORE_TOKEN);\n const destroyRef = inject(DestroyRef);\n const controller = createArrayBinding<TForm, P>(store, path);\n\n const valuesSig = signal<BitArrayItem<BitPathValue<TForm, P>>[]>(\n controller.readItems(),\n );\n\n const unsub = store.observe.subscribePath(path, () => {\n valuesSig.set(controller.readItems());\n });\n\n destroyRef.onDestroy(() => {\n unsub();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n return {\n fields: computed(() => controller.getFields(valuesSig())),\n length: computed(() => valuesSig().length),\n append: controller.append,\n prepend: controller.prepend,\n remove: controller.remove,\n insert: controller.insert,\n swap: controller.swap,\n move: controller.move,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport { observeHistoryMetaSnapshot, readHistoryMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitHistoryResult } from \"./types\";\n\nexport function injectBitHistory<\n T extends object = any,\n>(): InjectBitHistoryResult {\n const store = useBitStore<T>();\n const destroyRef = inject(DestroyRef);\n\n const meta = signal(readHistoryMetaSnapshot(store));\n\n const sub = observeHistoryMetaSnapshot(store, (nextMeta) => {\n meta.set(nextMeta);\n });\n\n destroyRef.onDestroy(() => sub());\n\n return {\n canUndo: computed(() => meta().canUndo),\n canRedo: computed(() => meta().canRedo),\n historyIndex: computed(() => meta().historyIndex),\n historySize: computed(() => meta().historySize),\n undo: () => store.feature.undo(),\n redo: () => store.feature.redo(),\n };\n}\n","import type { Signal } from \"@angular/core\";\nimport { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { observeScopeStatusSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\ninterface InjectBitScopeResult {\n scopeName: string;\n status: Signal<ScopeStatus>;\n errors: Signal<Record<string, string>>;\n validate: () => Promise<ValidateScopeResult>;\n getErrors: () => Record<string, string>;\n isValid: Signal<boolean>;\n isDirty: Signal<boolean>;\n unsubscribe: () => void;\n}\n\nexport function injectBitScope(scopeName: string): InjectBitScopeResult {\n const store = useBitStore();\n const initialStatus = store.read.getScopeStatus(scopeName);\n\n const status = signal<ScopeStatus>(initialStatus);\n\n const unsubscribe = observeScopeStatusSnapshot(\n store,\n scopeName,\n (nextStatus) => {\n status.set(nextStatus);\n },\n );\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => unsubscribe());\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(scopeName);\n\n const isValid = computed(() => !status().hasErrors);\n const isDirty = computed(() => status().isDirty);\n const errors = computed(() => status().errors);\n\n return {\n scopeName,\n status,\n errors,\n validate,\n getErrors,\n isValid,\n isDirty,\n unsubscribe,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitStepsResult } from \"./types\";\n\nexport function injectBitSteps(scopeNames: string[]): InjectBitStepsResult {\n if (scopeNames.length === 0) {\n throw new Error(\"injectBitSteps: scopeNames must not be empty\");\n }\n const store = useBitStore();\n const stepIndex = signal(0);\n\n const scope = computed(() => scopeNames[stepIndex()] ?? \"\");\n\n const getCurrentScope = () => scopeNames[stepIndex()] ?? \"\";\n const status = signal<ScopeStatus>(\n store.read.getScopeStatus(getCurrentScope()),\n );\n\n const updateStatus = (scopeName: string) => {\n const newStatus = store.read.getScopeStatus(scopeName);\n const current = status();\n if (getCurrentScope() === scopeName && !isScopeStatusEqual(current, newStatus)) {\n status.set(newStatus);\n }\n };\n\n let unsubscribe = store.observe.subscribeScopeStatus(\n getCurrentScope(),\n () => updateStatus(getCurrentScope()),\n );\n\n const rebindScopeSubscription = () => {\n unsubscribe();\n unsubscribe = store.observe.subscribeScopeStatus(\n getCurrentScope(),\n () => updateStatus(getCurrentScope()),\n );\n };\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => unsubscribe());\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const scopeName = getCurrentScope();\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(getCurrentScope());\n\n const next = async (): Promise<boolean> => {\n const scopeName = getCurrentScope();\n\n const scopeFields = store.read.getScopeFields(scopeName);\n if (store.feature.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.feature.validate({ scope: scopeName });\n if (valid) {\n const newIndex = Math.min(stepIndex() + 1, scopeNames.length - 1);\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n } else {\n const errors = store.read.getScopeErrors(scopeName);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.write.markFieldsTouched(pathsWithErrors);\n }\n }\n return valid;\n };\n\n const prev = () => {\n const newIndex = Math.max(stepIndex() - 1, 0);\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n };\n\n const goTo = (targetStep: number) => {\n const newIndex = Math.max(\n 0,\n Math.min(targetStep - 1, scopeNames.length - 1),\n );\n stepIndex.set(newIndex);\n status.set(store.read.getScopeStatus(scopeNames[newIndex] ?? \"\"));\n rebindScopeSubscription();\n };\n\n const step = computed(() => stepIndex() + 1);\n const isFirst = computed(() => stepIndex() === 0);\n const isLast = computed(() => stepIndex() >= scopeNames.length - 1);\n const isValid = computed(() => !status().hasErrors);\n const isDirty = computed(() => status().isDirty);\n const errors = computed(() => status().errors);\n\n return {\n step,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors,\n isValid,\n isDirty,\n validate,\n getErrors,\n };\n}\n","import { DestroyRef, signal, Signal, inject } from \"@angular/core\";\nimport { useBitStore } from \"./provider\";\nimport { getDeepValue, valueEqual, BitPath, BitPathValue } from \"../core\";\n\nexport function injectBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): Signal<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n const destroyRef = inject(DestroyRef);\n const valueSig = signal<BitPathValue<TForm, P>>(\n getDeepValue(store.read.getState().values, path as string) as BitPathValue<\n TForm,\n P\n >,\n { equal: valueEqual },\n );\n\n const unsub = store.observe.subscribePath(path, (v) => {\n valueSig.set(v as BitPathValue<TForm, P>);\n });\n\n destroyRef.onDestroy(unsub);\n\n return valueSig.asReadonly();\n}\n","/**\n * Angular Dependency Injection for File Upload\n *\n * Minimal upload API integrated with global field validation lifecycle.\n */\n\nimport { computed, inject, signal } from \"@angular/core\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { injectBitField } from \"./inject-bit-field\";\nimport { BIT_STORE_TOKEN } from \"./provider\";\nimport type { InjectBitUploadResult } from \"./types\";\n\nexport function injectBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): InjectBitUploadResult {\n const store = inject(BIT_STORE_TOKEN);\n const field = injectBitField(fieldPath);\n let uploadKey: string | null = null;\n const isUploading = signal(false);\n const sharedGen = { current: 0 };\n\n const kernelCallbacks = {\n setLoading: (val: boolean) => isUploading.set(val),\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => field.setValue(val),\n getUploadKey: () => uploadKey,\n setUploadKey: (key: string | null) => {\n uploadKey = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n };\n\n const upload = createUploadHandler(fieldPath, uploadFn, kernelCallbacks, sharedGen);\n const remove = createRemoveHandler(fieldPath, deleteFile, kernelCallbacks, sharedGen);\n\n return {\n value: computed(() => field.value()),\n setValue: field.setValue,\n error: computed(() => field.meta.error()),\n isValidating: computed(() => !!field.meta.isValidating() || isUploading()),\n upload,\n remove,\n };\n}\n","import { computed, DestroyRef, inject, signal } from \"@angular/core\";\nimport { observePersistMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./provider\";\nimport type { InjectBitPersistResult } from \"./types\";\n\nexport function injectBitPersist<\n T extends object = any,\n>(): InjectBitPersistResult {\n const store = useBitStore<T>();\n const persist = signal(store.read.getPersistMetadata());\n\n const unsubscribe = observePersistMetaSnapshot(store, (nextPersist) => {\n persist.set(nextPersist);\n });\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => unsubscribe());\n\n const restore = async (): Promise<boolean> => {\n return store.feature.restorePersisted();\n };\n\n const save = async (): Promise<void> => {\n await store.feature.forceSave();\n };\n\n const clear = async (): Promise<void> => {\n await store.feature.clearPersisted();\n };\n\n return {\n restore,\n save,\n clear,\n meta: {\n isSaving: computed(() => persist().isSaving),\n isRestoring: computed(() => persist().isRestoring),\n error: computed(() => persist().error),\n },\n };\n}\n"],"mappings":"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","names":["DestroyRef","inject","InjectionToken","BIT_STORE_TOKEN","InjectionToken","provideBitStore","store","adapted","createFrameworkStoreAdapter","inject","DestroyRef","useBitStore","signal","computed","inject","DestroyRef","injectBitForm","store","useBitStore","destroyRef","inject","DestroyRef","stateSignal","signal","submitError","lastResponse","sub","observeFormMetaSnapshot","nextMeta","isValid","computed","isSubmitting","isDirty","controller","actions","createFrameworkFormBinding","result","error","DestroyRef","computed","inject","signal","injectBitField","path","store","inject","BIT_STORE_TOKEN","stateSignal","signal","unsubscribe","nextState","DestroyRef","cleanupRegisteredField","value","computed","metaState","deriveFieldMeta","error","touched","invalid","isDirty","isValidating","isHidden","isRequired","fieldController","createFrameworkMaskedFieldBinding","displayValue","setValue","val","setBlur","hasError","e","isBitFieldInputEventObject","computed","DestroyRef","inject","signal","injectBitArray","path","store","inject","BIT_STORE_TOKEN","destroyRef","DestroyRef","controller","createArrayBinding","valuesSig","signal","unsub","cleanupRegisteredPrefix","computed","computed","DestroyRef","inject","signal","injectBitHistory","store","useBitStore","destroyRef","inject","DestroyRef","meta","signal","readHistoryMetaSnapshot","sub","observeHistoryMetaSnapshot","nextMeta","computed","computed","DestroyRef","inject","signal","injectBitScope","scopeName","store","useBitStore","initialStatus","status","signal","unsubscribe","observeScopeStatusSnapshot","nextStatus","inject","DestroyRef","validate","valid","errors","getErrors","isValid","computed","isDirty","computed","DestroyRef","inject","signal","injectBitSteps","scopeNames","store","useBitStore","stepIndex","signal","scope","computed","getCurrentScope","status","updateStatus","scopeName","newStatus","current","isScopeStatusEqual","unsubscribe","rebindScopeSubscription","inject","DestroyRef","validate","valid","errors","getErrors","next","scopeFields","newIndex","pathsWithErrors","prev","goTo","targetStep","step","isFirst","isLast","isValid","isDirty","DestroyRef","signal","inject","injectBitWatch","path","store","useBitStore","destroyRef","inject","DestroyRef","valueSig","signal","getDeepValue","valueEqual","unsub","v","computed","inject","signal","injectBitUpload","fieldPath","uploadFn","deleteFile","store","inject","BIT_STORE_TOKEN","field","injectBitField","uploadKey","isUploading","signal","sharedGen","kernelCallbacks","val","path","msg","key","e","upload","createUploadHandler","remove","createRemoveHandler","computed","computed","DestroyRef","inject","signal","injectBitPersist","store","useBitStore","persist","signal","unsubscribe","observePersistMetaSnapshot","nextPersist","inject","DestroyRef","computed"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkCTURHI75cjs = require('./chunk-CTURHI75.cjs');var m=(n,r)=>async(a,l)=>{let{error:o}=n.validate(a,{abortEarly:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _ => _.abortEarly]), () => (!1)),allowUnknown:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _2 => _2.allowUnknown]), () => (!1)),stripUnknown:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _3 => _3.stripUnknown]), () => (!1))});if(!o)return{};let e={};return o.details.forEach(t=>{let p=t.path.join(".");_chunkCTURHI75cjs.b.call(void 0, e,p,t.message)}),_chunkCTURHI75cjs.c.call(void 0, e,_optionalChain([l, 'optionalAccess', _4 => _4.scopeFields]))};exports.a = m;
2
- //# sourceMappingURL=chunk-DD6XWUMR.cjs.map
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 _chunk4WPLTOBTcjs = require('./chunk-4WPLTOBT.cjs');var f=(a,r)=>async(l,p)=>{let{error:o}=a.validate(l,{abortEarly:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _ => _.abortEarly]), () => (!1)),allowUnknown:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _2 => _2.allowUnknown]), () => (!1)),stripUnknown:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _3 => _3.stripUnknown]), () => (!1))});if(!o)return{};let e={};return o.details.forEach(t=>{let c=_chunk4WPLTOBTcjs.a.call(void 0, t.path.join("."));_chunk4WPLTOBTcjs.b.call(void 0, e,c,t.message)}),_chunk4WPLTOBTcjs.c.call(void 0, e,_optionalChain([p, 'optionalAccess', _4 => _4.scopeFields]))};exports.a = f;
2
+ //# sourceMappingURL=chunk-27LJCW56.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-27LJCW56.cjs","../src/resolvers/joi.ts"],"names":["joiResolver","schema","config","values","options","error","errors","detail","path","normalizeErrorPath","setFirstError","filterErrorsByScope"],"mappings":"AAAA,yuBAAsD,ICKzCA,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,CAAAA,EAEO,KAAA,CACLC,CAAAA,CACAC,CAAAA,CAAAA,EAC0B,CAC1B,GAAM,CAAE,KAAA,CAAAC,CAAM,CAAA,CAAIJ,CAAAA,CAAO,QAAA,CAASE,CAAAA,CAAQ,CACxC,UAAA,kCAAYD,CAAAA,2BAAQ,YAAA,SAAc,CAAA,GAAA,CAClC,YAAA,kCAAcA,CAAAA,6BAAQ,cAAA,SAAgB,CAAA,GAAA,CACtC,YAAA,kCAAcA,CAAAA,6BAAQ,cAAA,SAAgB,CAAA,GACxC,CAAC,CAAA,CAED,EAAA,CAAI,CAACG,CAAAA,CAAO,MAAO,CAAC,CAAA,CAEpB,IAAMC,CAAAA,CAAuB,CAAC,CAAA,CAE9B,OAAAD,CAAAA,CAAM,OAAA,CAAQ,OAAA,CAASE,CAAAA,EAAW,CAChC,IAAMC,CAAAA,CAAOC,iCAAAA,CAAmBF,CAAO,IAAA,CAAK,IAAA,CAAK,GAAG,CAAC,CAAA,CAErDG,iCAAAA,CAAcJ,CAAQE,CAAAA,CAAMD,CAAAA,CAAO,OAAO,CAC5C,CAAC,CAAA,CAEMI,iCAAAA,CAAoBL,iBAAQF,CAAAA,6BAAS,aAAW,CACzD,CAAA,CAAA,cAAA","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-27LJCW56.cjs","sourcesContent":[null,"import { ObjectSchema } from \"joi\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError, normalizeErrorPath } from \"./utils\";\nimport { BitJoiResolverConfig, BitResolverScopeOptions } from \"./types\";\n\nexport const joiResolver = <T extends object>(\n schema: ObjectSchema<T>,\n config?: BitJoiResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const { error } = schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n allowUnknown: config?.allowUnknown ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n\n if (!error) return {};\n\n const errors: BitErrors<T> = {};\n\n error.details.forEach((detail) => {\n const path = normalizeErrorPath(detail.path.join(\".\"));\n\n setFirstError(errors, path, detail.message);\n });\n\n return filterErrorsByScope(errors, options?.scopeFields);\n };\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(); } } 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; }function l(e,n=new WeakMap){if(e===null||typeof e!="object")return e;if(typeof structuredClone=="function")try{return structuredClone(e)}catch (e2){}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(n.has(e))return n.get(e);if(e instanceof Map){let r=new Map;return n.set(e,r),e.forEach((c,t)=>{r.set(l(t,n),l(c,n))}),r}if(e instanceof Set){let r=new Set;return n.set(e,r),e.forEach(c=>{r.add(l(c,n))}),r}if(Array.isArray(e)){let r=[];n.set(e,r);for(let c of e)r.push(l(c,n));return r}if(ArrayBuffer.isView(e))return new e.constructor(e);if(e instanceof ArrayBuffer)return e.slice(0);if(e instanceof WeakMap||e instanceof WeakSet)return e;if(e instanceof Promise)return e.then(r=>l(r,new WeakMap));let s=Object.getPrototypeOf(e);if(!(s===Object.prototype||s===null)){let r=Object.create(s);n.set(e,r);for(let c of Reflect.ownKeys(e)){let t=Object.getOwnPropertyDescriptor(e,c);t&&("value"in t&&(t.value=l(t.value,n)),Object.defineProperty(r,c,t))}return r}let a={};n.set(e,a);for(let r of Reflect.ownKeys(e)){if(typeof r=="string"&&(r==="__proto__"||r==="constructor"))continue;let c=Object.getOwnPropertyDescriptor(e,r);c&&"value"in c&&(a[r]=l(e[r],n))}return a}function k(e){return l(e)}function R(e,n,s=new WeakMap){if(n===void 0)return k(e);if(n===null||typeof n!="object"||n instanceof Date||n instanceof RegExp||Array.isArray(n))return k(n);let o=n;if(s.has(o))return s.get(o);let a=e&&typeof e=="object"&&!Array.isArray(e)?k(e):{};s.set(o,a);let r=new Set(["__proto__","constructor","prototype"]);try{for(let c of Object.keys(n)){if(r.has(c))continue;let t=n[c],i=a[c];if(t!==null&&typeof t=="object"&&!Array.isArray(t)&&!(t instanceof Date)&&!(t instanceof RegExp)){a[c]=R(i,t,s);continue}a[c]=k(t)}}finally{s.delete(o)}return a}function w(e,n){return Number.isNaN(e)&&Number.isNaN(n)||e===n?!0:e===null||typeof e!="object"||n===null||typeof n!="object"?!1:N(e,n)}function N(e,n){return T(e,n,new WeakMap)}function T(e,n,s){if(Number.isNaN(e)&&Number.isNaN(n)||e===n)return!0;if(e===null||typeof e!="object"||n===null||typeof n!="object")return!1;let o=s.get(e);if(_optionalChain([o, 'optionalAccess', _2 => _2.has, 'call', _3 => _3(n)]))return!0;if(o?o.add(n):s.set(e,new WeakSet([n])),Array.isArray(e)!==Array.isArray(n)||e.constructor!==null&&n.constructor!==null&&e.constructor!==n.constructor)return!1;if(e instanceof Date&&n instanceof Date)return e.getTime()===n.getTime();if(e instanceof RegExp&&n instanceof RegExp)return e.toString()===n.toString();let a=Object.keys(e),r=Object.keys(n);if(a.length!==r.length)return!1;for(let c of a)if(!Object.prototype.hasOwnProperty.call(n,c)||!T(e[c],n[c],s))return!1;return!0}function O(e,n,s="",o=new Set,a=new Map){if(w(e,n))return o;if(e===null||typeof e!="object"||n===null||typeof n!="object")return s&&o.add(s),o;let r=a.get(e);if(_optionalChain([r, 'optionalAccess', _4 => _4.has, 'call', _5 => _5(n)]))return o;r?r.add(n):a.set(e,new Set([n]));try{if(Array.isArray(e)||Array.isArray(n))return!w(e,n)&&s&&o.add(s),o;let c=new Set;for(let t of Object.keys(e||{}))c.add(t);for(let t of Object.keys(n||{}))c.add(t);for(let t of c){let i=s?`${s}.${t}`:t;O(_optionalChain([e, 'optionalAccess', _6 => _6[t]]),_optionalChain([n, 'optionalAccess', _7 => _7[t]]),i,o,a)}return o}finally{let c=a.get(e);_optionalChain([c, 'optionalAccess', _8 => _8.delete, 'call', _9 => _9(n)]),c&&c.size===0&&a.delete(e)}}var p=new Map,b=new Set(["__proto__"]);function E(e,n){if(p.has(e))p.delete(e);else if(p.size>=5e3){let s=p.keys().next().value;s!==void 0&&p.delete(s)}p.set(e,n)}function d(e){let n=p.get(e);if(n)return n;let s=e.split(".").filter(o=>o.length>0);return E(e,s),s}function A(e){for(let n=0;n<e.length;n++){let s=e[n];if(b.has(s)||s==="constructor"&&e[n+1]==="prototype")return!0}return!1}function K(e,n){if(!n)return e;let s=d(n);if(A(s))return;let o=e;for(let a of s){if(o==null)return;o=o[a]}return o}function V(e,n,s){if(!n)return s;let o=d(n);if(A(o))return e;let a=Array.isArray(e)?[...e]:{...e},r=a;for(let c=0;c<o.length-1;c++){let t=o[c],i=o[c+1],u=Number(i),y=Number.isInteger(u)&&String(u)===i,f=r[t];f==null?r[t]=y?[]:{}:r[t]=Array.isArray(f)?[...f]:{...f},r=r[t]}return r[o[o.length-1]]=s,a}function D(e,n){if(n.length===0)return e;let s=n.filter(([r])=>{let c=d(r);return!A(c)});if(s.length===0)return e;let o=Array.isArray(e)?[...e]:{...e},a=new WeakSet;o&&typeof o=="object"&&a.add(o);for(let[r,c]of s){let t=d(r),i=o;for(let u=0;u<t.length-1;u++){let y=t[u],f=t[u+1],m=Number(f),x=Number.isInteger(m)&&String(m)===f,g=i[y];g==null?(i[y]=x?[]:{},a.add(i[y])):typeof g=="object"?a.has(g)||(i[y]=Array.isArray(g)?[...g]:{...g},a.add(i[y])):(typeof g<"u"&&console.warn(`BitStore: overwriting non-object value at "${t.slice(0,u).join(".")}"`),i[y]=x?[]:{},a.add(i[y])),i=i[y]}i[t[t.length-1]]=c}return o}function _(e,n){if(n.length===0)return e;let s=n.filter(r=>{if(!r)return!0;let c=d(r);return!A(c)});if(s.length===0)return e;let o=Array.isArray(e)?[...e]:{...e},a=new WeakSet;o&&typeof o=="object"&&a.add(o);for(let r of s){if(!r)continue;let c=d(r),t=o;for(let u=0;u<c.length-1;u++){let y=c[u],f=_optionalChain([t, 'optionalAccess', _10 => _10[y]]);if(f==null){t=void 0;break}if(typeof f=="object")a.has(f)||(t[y]=Array.isArray(f)?[...f]:{...f},a.add(t[y]));else{t=void 0;break}t=t[y]}if(!t)continue;let i=c[c.length-1];if(Array.isArray(t)){let u=Number(i);Number.isInteger(u)&&u>=0&&t.splice(u,1)}else t&&typeof t=="object"&&delete t[i]}return o}function W(e,n){let s={},o=`${n}.`;for(let a of Object.keys(e))a!==n&&!a.startsWith(o)&&(s[a]=e[a]);return s}function M(e,n,s){let o={},a={},r={},c=`${n}.`;for(let t of Object.keys(e.errors)){let i=h(t,c,s);i&&(o[i]=e.errors[t])}for(let t of Object.keys(e.touched)){let i=h(t,c,s);i&&(a[i]=e.touched[t])}for(let t of Object.keys(e.isValidating)){let i=h(t,c,s);i&&(r[i]=e.isValidating[t])}return{errors:o,touched:a,isValidating:r}}function h(e,n,s){if(!e.startsWith(n))return e;let a=e.substring(n.length).split("."),r=Number(a[0]);if(!Number.isInteger(r)||r<0)return e;let c=s(r);if(c===null)return null;let t=a.slice(1).join(".");return t?`${n}${c}.${t}`:`${n}${c}`}function S(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=_nullishCoalesce(e.errors, () => (e));if(typeof n!="object"||n===null||Array.isArray(n))return!1;let s=Object.entries(n);return s.length===0?!1:s.every(([o,a])=>o.length>0&&(typeof a=="string"||Array.isArray(a)&&a.every(r=>typeof r=="string")||typeof a=="object"&&a!==null&&"message"in a&&typeof a.message=="string"))}function P(e){return S(e)?_nullishCoalesce(e.errors, () => (e)):{}}exports.a = k; exports.b = R; exports.c = w; exports.d = N; exports.e = O; exports.f = K; exports.g = V; exports.h = D; exports.i = _; exports.j = W; exports.k = M; exports.l = h; exports.m = S; exports.n = P;
2
+ //# sourceMappingURL=chunk-3SEB4YRQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/utils/clone.ts","../src/core/utils/structural.ts"],"names":["cloneValue","obj","visited","clone","value","key","item","v","prototype","descriptor","desc","deepClone","deepMerge","target","source","activeMerges","sourceObject","base","BLOCKED_KEYS","sourceValue","baseValue","valueEqual","a","b","deepEqual","deepEqualInner","visitedPairs","visitedTargets","keysA","keysB","collectDirtyPaths","initial","prefix","result","activePairs","activeInitials","allKeys","k","p"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-3SEB4YRQ.cjs","sourcesContent":["export function cloneValue<T>(\n obj: T,\n visited: WeakMap<object, unknown> = new WeakMap(),\n): T {\n if (obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (typeof structuredClone === \"function\") {\n try {\n return structuredClone(obj);\n } catch {\n // Alguns runtimes lançam para payloads não suportados (ex.: funções).\n // Nesses casos, seguimos para o clone recursivo para manter fail-open.\n }\n }\n\n if (obj instanceof Date) {\n return new Date(obj.getTime()) as any as T;\n }\n\n if (obj instanceof RegExp) {\n return new RegExp(obj.source, obj.flags) as any as T;\n }\n\n if (visited.has(obj as object)) {\n return visited.get(obj as object) as T;\n }\n\n if (obj instanceof Map) {\n const clone = new Map<unknown, unknown>();\n visited.set(obj as object, clone);\n\n obj.forEach((value, key) => {\n clone.set(cloneValue(key, visited), cloneValue(value, visited));\n });\n\n return clone as T;\n }\n\n if (obj instanceof Set) {\n const clone = new Set<unknown>();\n visited.set(obj as object, clone);\n\n obj.forEach((value) => {\n clone.add(cloneValue(value, visited));\n });\n\n return clone as T;\n }\n\n if (Array.isArray(obj)) {\n const clone: unknown[] = [];\n visited.set(obj as object, clone);\n\n for (const item of obj) {\n clone.push(cloneValue(item, visited));\n }\n\n return clone as T;\n }\n\n if (ArrayBuffer.isView(obj)) {\n return new (obj.constructor as any)(obj) as T;\n }\n\n if (obj instanceof ArrayBuffer) {\n return obj.slice(0) as T;\n }\n\n if (obj instanceof WeakMap || obj instanceof WeakSet) {\n return obj;\n }\n\n if (obj instanceof Promise) {\n return obj.then((v) => cloneValue(v, new WeakMap())) as T;\n }\n\n const prototype = Object.getPrototypeOf(obj);\n const isPlainObject = prototype === Object.prototype || prototype === null;\n\n if (!isPlainObject) {\n const clone = Object.create(prototype) as Record<PropertyKey, unknown>;\n visited.set(obj as object, clone);\n\n for (const key of Reflect.ownKeys(obj as object)) {\n const descriptor = Object.getOwnPropertyDescriptor(obj as object, key);\n if (!descriptor) {\n continue;\n }\n\n if (\"value\" in descriptor) {\n descriptor.value = cloneValue(descriptor.value, visited);\n }\n\n Object.defineProperty(clone, key, descriptor);\n }\n\n return clone as T;\n }\n\n const clone: any = {};\n visited.set(obj as object, clone);\n\n for (const key of Reflect.ownKeys(obj as object)) {\n if (\n typeof key === \"string\" &&\n (key === \"__proto__\" || key === \"constructor\")\n ) {\n continue;\n }\n const desc = Object.getOwnPropertyDescriptor(obj as object, key);\n if (desc && \"value\" in desc) {\n clone[key] = cloneValue((obj as any)[key], visited);\n }\n }\n\n return clone as T;\n}\n","import { cloneValue } from \"./clone\";\n\nexport function deepClone<T>(obj: T): T {\n return cloneValue(obj);\n}\n\nexport function deepMerge<T>(\n target: T,\n source: any,\n activeMerges: WeakMap<object, unknown> = new WeakMap(),\n): T {\n if (source === undefined) {\n return deepClone(target);\n }\n\n if (\n source === null ||\n typeof source !== \"object\" ||\n source instanceof Date ||\n source instanceof RegExp ||\n Array.isArray(source)\n ) {\n return deepClone(source as T);\n }\n\n const sourceObject = source as object;\n if (activeMerges.has(sourceObject)) {\n return activeMerges.get(sourceObject) as T;\n }\n\n const base =\n target && typeof target === \"object\" && !Array.isArray(target)\n ? deepClone(target as any)\n : ({} as Record<string, unknown>);\n\n activeMerges.set(sourceObject, base);\n\n const BLOCKED_KEYS = new Set([\"__proto__\", \"constructor\", \"prototype\"]);\n\n try {\n for (const key of Object.keys(source)) {\n if (BLOCKED_KEYS.has(key)) {\n continue;\n }\n\n const sourceValue = source[key];\n const baseValue = (base as Record<string, unknown>)[key];\n\n if (\n sourceValue !== null &&\n typeof sourceValue === \"object\" &&\n !Array.isArray(sourceValue) &&\n !(sourceValue instanceof Date) &&\n !(sourceValue instanceof RegExp)\n ) {\n (base as Record<string, unknown>)[key] = deepMerge(\n baseValue,\n sourceValue,\n activeMerges,\n );\n continue;\n }\n\n (base as Record<string, unknown>)[key] = deepClone(sourceValue);\n }\n } finally {\n activeMerges.delete(sourceObject);\n }\n\n return base as T;\n}\n\nexport function valueEqual(a: any, b: any): boolean {\n if (Number.isNaN(a) && Number.isNaN(b)) return true;\n if (a === b) return true;\n if (\n a === null ||\n typeof a !== \"object\" ||\n b === null ||\n typeof b !== \"object\"\n ) {\n return false;\n }\n return deepEqual(a, b);\n}\n\nexport function deepEqual(a: any, b: any): boolean {\n return deepEqualInner(a, b, new WeakMap());\n}\n\nfunction deepEqualInner(\n a: any,\n b: any,\n visitedPairs: WeakMap<object, WeakSet<object>>,\n): boolean {\n if (Number.isNaN(a) && Number.isNaN(b)) return true;\n if (a === b) return true;\n if (\n a === null ||\n typeof a !== \"object\" ||\n b === null ||\n typeof b !== \"object\"\n ) {\n return false;\n }\n\n const visitedTargets = visitedPairs.get(a);\n if (visitedTargets?.has(b)) return true;\n\n if (visitedTargets) {\n visitedTargets.add(b);\n } else {\n visitedPairs.set(a, new WeakSet([b]));\n }\n\n if (Array.isArray(a) !== Array.isArray(b)) return false;\n if (a.constructor !== null && b.constructor !== null && a.constructor !== b.constructor) return false;\n\n if (a instanceof Date && b instanceof Date)\n return a.getTime() === b.getTime();\n if (a instanceof RegExp && b instanceof RegExp)\n return a.toString() === b.toString();\n\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) return false;\n\n for (const key of keysA) {\n if (\n !Object.prototype.hasOwnProperty.call(b, key) ||\n !deepEqualInner(a[key], b[key], visitedPairs)\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function collectDirtyPaths(\n obj: any,\n initial: any,\n prefix = \"\",\n result: Set<string> = new Set(),\n activePairs: Map<object, Set<object>> = new Map(),\n): Set<string> {\n if (valueEqual(obj, initial)) return result;\n if (\n obj === null ||\n typeof obj !== \"object\" ||\n initial === null ||\n typeof initial !== \"object\"\n ) {\n if (prefix) result.add(prefix);\n return result;\n }\n\n const activeInitials = activePairs.get(obj as object);\n if (activeInitials?.has(initial as object)) {\n return result;\n }\n\n if (activeInitials) {\n activeInitials.add(initial as object);\n } else {\n activePairs.set(obj as object, new Set([initial as object]));\n }\n\n try {\n if (Array.isArray(obj) || Array.isArray(initial)) {\n if (!valueEqual(obj, initial) && prefix) result.add(prefix);\n return result;\n }\n const allKeys = new Set<string>();\n for (const key of Object.keys(obj || {})) {\n allKeys.add(key);\n }\n for (const key of Object.keys(initial || {})) {\n allKeys.add(key);\n }\n for (const k of allKeys) {\n const p = prefix ? `${prefix}.${k}` : k;\n collectDirtyPaths(\n (obj as any)?.[k],\n (initial as any)?.[k],\n p,\n result,\n activePairs,\n );\n }\n return result;\n } finally {\n const nextActiveInitials = activePairs.get(obj as object);\n nextActiveInitials?.delete(initial as object);\n\n if (nextActiveInitials && nextActiveInitials.size === 0) {\n activePairs.delete(obj as object);\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});function s(r){return r.replace(/\[(\d+)\]/g,".$1").replace(/^\.+/,"").replace(/\.{2,}/g,".")}function a(r,t){return r===t||r.startsWith(`${t}.`)||t.startsWith(`${r}.`)}function l(r,t,n){let e=s(t);!e||!n||e==="__proto__"||e==="constructor"||e==="prototype"||r[e]||(r[e]=n)}function p(r,t){if(!t||t.length===0)return r;let n=t.map(o=>s(o)).filter(o=>o.length>0);if(n.length===0)return{};let e={};for(let[o,f]of Object.entries(r)){let c=s(o);if(f&&n.some(i=>a(c,i))){let i=o;e[i]=f}}return e}exports.a = s; exports.b = l; exports.c = p;
2
+ //# sourceMappingURL=chunk-4WPLTOBT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/resolvers/utils.ts"],"names":["normalizeErrorPath","path","matchScopePath","errorPath","scopePath"],"mappings":"AAEO,kFAASA,CAAAA,CAAmBC,CAAAA,CAAsB,CACvD,OAAOA,CAAAA,CACJ,OAAA,CAAQ,YAAA,CAAc,KAAK,CAAA,CAC3B,OAAA,CAAQ,MAAA,CAAQ,EAAE,CAAA,CAClB,OAAA,CAAQ,SAAA,CAAW,GAAG,CAC3B,CAEA,SAASC,CAAAA,CAAeC,CAAAA,CAAmBC,CAAAA,CAA4B,CACrE,OACED,CAAAA,GAAcC,CAAAA,EACdD,CAAAA,CAAU,UAAA,CAAW,CAAA,EAAA","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-4WPLTOBT.cjs","sourcesContent":["import { BitErrors } from \"../core\";\n\nexport function normalizeErrorPath(path: string): string {\n return path\n .replace(/\\[(\\d+)\\]/g, \".$1\")\n .replace(/^\\.+/, \"\")\n .replace(/\\.{2,}/g, \".\");\n}\n\nfunction matchScopePath(errorPath: string, scopePath: string): boolean {\n return (\n errorPath === scopePath ||\n errorPath.startsWith(`${scopePath}.`) ||\n scopePath.startsWith(`${errorPath}.`)\n );\n}\n\nexport function setFirstError<T extends object>(\n errors: BitErrors<T>,\n path: string,\n message: string | undefined,\n) {\n const normalizedPath = normalizeErrorPath(path);\n\n if (!normalizedPath || !message) {\n return;\n }\n\n if (\n normalizedPath === \"__proto__\" ||\n normalizedPath === \"constructor\" ||\n normalizedPath === \"prototype\"\n ) {\n return;\n }\n\n if (!errors[normalizedPath as keyof BitErrors<T>]) {\n errors[normalizedPath as keyof BitErrors<T>] = message;\n }\n}\n\nexport function filterErrorsByScope<T extends object>(\n errors: BitErrors<T>,\n scopeFields?: string[],\n): BitErrors<T> {\n if (!scopeFields || scopeFields.length === 0) {\n return errors;\n }\n\n const normalizedScopeFields = scopeFields\n .map((scopeField) => normalizeErrorPath(scopeField))\n .filter((scopeField) => scopeField.length > 0);\n\n if (normalizedScopeFields.length === 0) {\n return {};\n }\n\n const filtered: BitErrors<T> = {};\n\n for (const [key, message] of Object.entries(errors)) {\n const normalizedKey = normalizeErrorPath(key);\n if (\n message &&\n normalizedScopeFields.some((scopeField) =>\n matchScopePath(normalizedKey, scopeField),\n )\n ) {\n const typedKey = key as keyof BitErrors<T>;\n filtered[typedKey] = message as BitErrors<T>[typeof typedKey];\n }\n }\n\n return filtered;\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(); } } 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 _chunk4WPLTOBTcjs = require('./chunk-4WPLTOBT.cjs');var _yup = require('yup');var y=(l,s)=>async(p,o)=>{let e={};if(_optionalChain([o, 'optionalAccess', _ => _.scopeFields])&&o.scopeFields.length>0)return await Promise.all(o.scopeFields.map(async t=>{try{await l.validateAt(t,p,{abortEarly:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _2 => _2.abortEarly]), () => (!1))})}catch(r){if(r instanceof _yup.ValidationError)if(r.inner&&r.inner.length>0)for(let n of r.inner)n.path&&_chunk4WPLTOBTcjs.b.call(void 0, e,_chunk4WPLTOBTcjs.a.call(void 0, n.path),n.message);else r.path&&_chunk4WPLTOBTcjs.b.call(void 0, e,_chunk4WPLTOBTcjs.a.call(void 0, r.path),r.message);else throw r}})),e;try{return await l.validate(p,{abortEarly:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _3 => _3.abortEarly]), () => (!1)),stripUnknown:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _4 => _4.stripUnknown]), () => (!1))}),{}}catch(t){if(t instanceof _yup.ValidationError){for(let r of _nullishCoalesce(t.inner, () => ([])))r.path&&_chunk4WPLTOBTcjs.b.call(void 0, e,_chunk4WPLTOBTcjs.a.call(void 0, r.path),r.message);return _chunk4WPLTOBTcjs.c.call(void 0, e,_optionalChain([o, 'optionalAccess', _5 => _5.scopeFields]))}throw t}};exports.a = y;
2
+ //# sourceMappingURL=chunk-5ILGCBKG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-5ILGCBKG.cjs","../src/resolvers/yup.ts"],"names":["yupResolver","schema","config","values","options","errors","field","error","ValidationError","item","setFirstError","normalizeErrorPath","filterErrorsByScope"],"mappings":"AAAA,yuBAAsD,0BCAd,IAS3BA,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,CAAAA,EAEO,KAAA,CACLC,CAAAA,CACAC,CAAAA,CAAAA,EAC0B,CAC1B,IAAMC,CAAAA,CAAuB,CAAC,CAAA,CAE9B,EAAA,iBAAID,CAAAA,2BAAS,aAAA,EAAeA,CAAAA,CAAQ,WAAA,CAAY,MAAA,CAAS,CAAA,CACvD,OAAA,MAAM,OAAA,CAAQ,GAAA,CACZA,CAAAA,CAAQ,WAAA,CAAY,GAAA,CAAI,MAAOE,CAAAA,EAAU,CACvC,GAAI,CACF,MAAML,CAAAA,CAAO,UAAA,CAAWK,CAAAA,CAAOH,CAAAA,CAAQ,CACrC,UAAA,kCAAYD,CAAAA,6BAAQ,YAAA,SAAc,CAAA,GACpC,CAAC,CACH,CAAA,KAAA,CAASK,CAAAA,CAAgB,CACvB,EAAA,CAAIA,EAAAA,WAAiBC,oBAAAA,CACnB,EAAA,CAAID,CAAAA,CAAM,KAAA,EAASA,CAAAA,CAAM,KAAA,CAAM,MAAA,CAAS,CAAA,CACtC,GAAA,CAAA,IAAWE,EAAAA,GAAQF,CAAAA,CAAM,KAAA,CACnBE,CAAAA,CAAK,IAAA,EACPC,iCAAAA,CAAcL,CAAQM,iCAAAA,CAAmBF,CAAK,IAAI,CAAA,CAAGA,CAAAA,CAAK,OAAO,CAAA,CAAA,KAG5DF,CAAAA,CAAM,IAAA,EACfG,iCAAAA,CAAcL,CAAQM,iCAAAA,CAAmBJ,CAAM,IAAI,CAAA,CAAGA,CAAAA,CAAM,OAAO,CAAA,CAAA,KAGrE,MAAMA,CAEV,CACF,CAAC,CACH,CAAA,CACOF,CAAAA,CAGT,GAAI,CACF,OAAA,MAAMJ,CAAAA,CAAO,QAAA,CAASE,CAAAA,CAAQ,CAC5B,UAAA,kCAAYD,CAAAA,6BAAQ,YAAA,SAAc,CAAA,GAAA,CAClC,YAAA,kCAAcA,CAAAA,6BAAQ,cAAA,SAAgB,CAAA,GACxC,CAAC,CAAA,CACM,CAAC,CACV,CAAA,KAAA,CAASK,CAAAA,CAAgB,CACvB,EAAA,CAAIA,EAAAA,WAAiBC,oBAAAA,CAAiB,CACpC,GAAA,CAAA,IAAWC,EAAAA,oBAAQF,CAAAA,CAAM,KAAA,SAAS,CAAC,GAAA,CAC7BE,CAAAA,CAAK,IAAA,EACPC,iCAAAA,CAAcL,CAAQM,iCAAAA,CAAmBF,CAAK,IAAI,CAAA,CAAGA,CAAAA,CAAK,OAAO,CAAA,CAIrE,OAAOG,iCAAAA,CAAoBP,iBAAQD,CAAAA,6BAAS,aAAW,CACzD,CAEA,MAAMG,CACR,CACF,CAAA,CAAA,cAAA","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-5ILGCBKG.cjs","sourcesContent":[null,"import { ValidationError, Schema } from \"yup\";\nimport { BitErrors } from \"../core\";\nimport {\n filterErrorsByScope,\n normalizeErrorPath,\n setFirstError,\n} from \"./utils\";\nimport { BitResolverScopeOptions, BitYupResolverConfig } from \"./types\";\n\nexport const yupResolver = <T extends object>(\n schema: Schema<T>,\n config?: BitYupResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const errors: BitErrors<T> = {};\n\n if (options?.scopeFields && options.scopeFields.length > 0) {\n await Promise.all(\n options.scopeFields.map(async (field) => {\n try {\n await schema.validateAt(field, values, {\n abortEarly: config?.abortEarly ?? false,\n });\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n if (error.inner && error.inner.length > 0) {\n for (const item of error.inner) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n } else if (error.path) {\n setFirstError(errors, normalizeErrorPath(error.path), error.message);\n }\n } else {\n throw error;\n }\n }\n }),\n );\n return errors;\n }\n\n try {\n await schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n return {};\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n for (const item of error.inner ?? []) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n\n throw error;\n }\n };\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(); } }function r(t){return t!=null&&typeof t=="object"&&"target"in t}var e=(t,n)=>{if(t==null||t==="")return"";if(!n)return String(t);try{return n.format(t)}catch (e2){return String(t)}},i= exports.c =(t,n)=>{if(!n)return t;try{return n.parse(String(_nullishCoalesce(t, () => (""))))}catch (e3){return String(_nullishCoalesce(t, () => ("")))}};exports.a = r; exports.b = e; exports.c = i;
2
+ //# sourceMappingURL=chunk-725CMNAV.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/mask/field-binding.ts"],"names":["isBitFieldInputEventObject","value","formatMaskedValue","mask","parseMaskedInput"],"mappings":"AAkBO,sLAASA,CAAAA,CACdC,CAAAA,CAIA,CACA,OAAOA,CAAAA,EAAS,IAAA,EAAQ,OAAOA,CAAAA,EAAU,QAAA,EAAY,QAAA,GAAYA,CACnE,CAEO,IAAMC,CAAAA,CAAoB,CAACD,CAAAA,CAAgBE,CAAAA,CAAAA,EAA2B,CAC3E,EAAA,CAA2BF,CAAAA,EAAU,IAAA,EAAQA,CAAAA,GAAU,EAAA,CACrD,MAAO,EAAA,CAGT,EAAA,CAAI,CAACE,CAAAA,CACH,OAAO,MAAA,CAAOF,CAAK,CAAA,CAGrB,GAAI,CACF,OAAOE,CAAAA,CAAK,MAAA,CAAOF,CAAK,CAC1B,CAAA,UAAQ,CACN,OAAO,MAAA,CAAOA,CAAK,CACrB,CACF,CAAA,CAEaG,CAAAA,aAAmB,CAACH,CAAAA,CAAgBE,CAAAA,CAAAA,EAA4B,CAC3E,EAAA,CAAI,CAACA,CAAAA,CACH,OAAOF,CAAAA,CAGT,GAAI,CACF,OAAOE,CAAAA,CAAK,KAAA,CAAM,MAAA,kBAAOF,CAAAA,SAAS,IAAE,CAAC,CACvC,CAAA,UAAQ,CACN,OAAO,MAAA,kBAAOA,CAAAA,SAAS,IAAE,CAC3B,CACF,CAAA,CAAA,4CAAA","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-725CMNAV.cjs","sourcesContent":["import type { BitMask } from \"./types\";\n\n/**\n * Tipo de entrada aceito pelos handlers de campo.\n * Cobre eventos nativos (`e.target.value`), eventos sintéticos e valores diretos.\n * Definido aqui para ser compartilhado entre todos os frameworks.\n */\nexport type BitFieldInputEvent =\n | { target?: { value?: string | number | null } }\n | string\n | number\n | null\n | undefined;\n\n/**\n * Type guard: verifica se o valor de entrada é um objeto de evento\n * (com propriedade `target`), diferenciando-o de um valor direto.\n */\nexport function isBitFieldInputEventObject(\n value: BitFieldInputEvent,\n): value is Extract<\n BitFieldInputEvent,\n { target?: { value?: string | number | null } }\n> {\n return value != null && typeof value === \"object\" && \"target\" in value;\n}\n\nexport const formatMaskedValue = (value: unknown, mask?: BitMask): string => {\n if (value === undefined || value === null || value === \"\") {\n return \"\";\n }\n\n if (!mask) {\n return String(value);\n }\n\n try {\n return mask.format(value);\n } catch {\n return String(value);\n }\n};\n\nexport const parseMaskedInput = (value: unknown, mask?: BitMask): unknown => {\n if (!mask) {\n return value;\n }\n\n try {\n return mask.parse(String(value ?? \"\"));\n } catch {\n return String(value ?? \"\");\n }\n};\n"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFTXV2NZOcjs = require('./chunk-FTXV2NZO.cjs');function o(i,e){return e&&e.value===i.value&&e.error===i.error&&e.touched===i.touched&&e.isHidden===i.isHidden&&e.isRequired===i.isRequired&&e.isDirty===i.isDirty&&e.isValidating===i.isValidating?e:{value:i.value,error:i.error,touched:i.touched,isHidden:i.isHidden,isRequired:i.isRequired,isDirty:i.isDirty,isValidating:i.isValidating}}function d(i,e){return i===e?!0:!i||!e?!1:_chunkFTXV2NZOcjs.d.call(void 0, i.value,e.value)&&i.error===e.error&&i.touched===e.touched&&i.isHidden===e.isHidden&&i.isRequired===e.isRequired&&i.isDirty===e.isDirty&&i.isValidating===e.isValidating}var n=d;exports.a = o; exports.b = d; exports.c = n;
2
- //# sourceMappingURL=chunk-GKNGJOB3.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3SEB4YRQcjs = require('./chunk-3SEB4YRQ.cjs');function o(i,e){return e&&e.value===i.value&&e.error===i.error&&e.touched===i.touched&&e.isHidden===i.isHidden&&e.isRequired===i.isRequired&&e.isDirty===i.isDirty&&e.isValidating===i.isValidating?e:{value:i.value,error:i.error,touched:i.touched,isHidden:i.isHidden,isRequired:i.isRequired,isDirty:i.isDirty,isValidating:i.isValidating}}function d(i,e){return i===e?!0:!i||!e?!1:_chunk3SEB4YRQcjs.d.call(void 0, i.value,e.value)&&i.error===e.error&&i.touched===e.touched&&i.isHidden===e.isHidden&&i.isRequired===e.isRequired&&i.isDirty===e.isDirty&&i.isValidating===e.isValidating}var n=d;exports.a = o; exports.b = d; exports.c = n;
2
+ //# sourceMappingURL=chunk-7LCFS2JM.cjs.map