@lehnihon/bit-form 2.2.7 → 2.2.8

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 (158) hide show
  1. package/README.md +6 -6
  2. package/dist/angular/index.cjs +1 -1
  3. package/dist/angular/index.cjs.map +1 -1
  4. package/dist/angular/index.d.cts +10 -8
  5. package/dist/angular/index.d.ts +10 -8
  6. package/dist/angular/index.js +1 -1
  7. package/dist/angular/index.js.map +1 -1
  8. package/dist/{array-controller-DtkmcnUr.d.ts → array-controller-B5bfXV1W.d.cts} +4 -4
  9. package/dist/{array-controller-C1A5VKYd.d.cts → array-controller-Cx-DMH7Y.d.ts} +4 -4
  10. package/dist/bus-B2VEKrPI.d.ts +19 -0
  11. package/dist/bus-ZLQeq4Vr.d.cts +19 -0
  12. package/dist/chunk-5NA2TFPG.js +1 -0
  13. package/dist/chunk-5NA2TFPG.js.map +1 -0
  14. package/dist/chunk-63OJBMKK.js +2 -0
  15. package/dist/chunk-63OJBMKK.js.map +1 -0
  16. package/dist/chunk-BSGJ3T5S.cjs +2 -0
  17. package/dist/chunk-BSGJ3T5S.cjs.map +1 -0
  18. package/dist/chunk-CPP7ELA5.js +2 -0
  19. package/dist/chunk-CPP7ELA5.js.map +1 -0
  20. package/dist/chunk-D7JQWF6V.cjs +2 -0
  21. package/dist/chunk-D7JQWF6V.cjs.map +1 -0
  22. package/dist/chunk-E2NZR44P.js +2 -0
  23. package/dist/chunk-E2NZR44P.js.map +1 -0
  24. package/dist/chunk-EQ55DKX2.js +2 -0
  25. package/dist/chunk-EQ55DKX2.js.map +1 -0
  26. package/dist/chunk-JC4R5WCC.js +2 -0
  27. package/dist/chunk-JC4R5WCC.js.map +1 -0
  28. package/dist/chunk-M6WBNHIT.cjs +2 -0
  29. package/dist/chunk-M6WBNHIT.cjs.map +1 -0
  30. package/dist/chunk-MFSQATNZ.cjs +2 -0
  31. package/dist/chunk-MFSQATNZ.cjs.map +1 -0
  32. package/dist/chunk-MFTWAFMG.cjs +2 -0
  33. package/dist/chunk-MFTWAFMG.cjs.map +1 -0
  34. package/dist/chunk-P2YWYBWG.cjs +2 -0
  35. package/dist/chunk-P2YWYBWG.cjs.map +1 -0
  36. package/dist/chunk-RD73EBSN.js +2 -0
  37. package/dist/chunk-RD73EBSN.js.map +1 -0
  38. package/dist/chunk-T2JRSWQU.cjs +2 -0
  39. package/dist/chunk-T2JRSWQU.cjs.map +1 -0
  40. package/dist/chunk-UQ3DSUWC.js +2 -0
  41. package/dist/chunk-UQ3DSUWC.js.map +1 -0
  42. package/dist/chunk-VZHG372Q.cjs +2 -0
  43. package/dist/chunk-VZHG372Q.cjs.map +1 -0
  44. package/dist/chunk-W2E5UIXT.js +2 -0
  45. package/dist/chunk-W2E5UIXT.js.map +1 -0
  46. package/dist/chunk-W5CLDRRE.cjs +1 -0
  47. package/dist/chunk-W5CLDRRE.cjs.map +1 -0
  48. package/dist/core/bindings.cjs +2 -0
  49. package/dist/core/bindings.cjs.map +1 -0
  50. package/dist/core/bindings.d.cts +81 -0
  51. package/dist/core/bindings.d.ts +81 -0
  52. package/dist/core/bindings.js +2 -0
  53. package/dist/core/bindings.js.map +1 -0
  54. package/dist/core/status.cjs +2 -0
  55. package/dist/core/status.cjs.map +1 -0
  56. package/dist/core/status.d.cts +44 -0
  57. package/dist/core/status.d.ts +44 -0
  58. package/dist/core/status.js +2 -0
  59. package/dist/core/status.js.map +1 -0
  60. package/dist/core/store.cjs +2 -0
  61. package/dist/core/store.cjs.map +1 -0
  62. package/dist/core/store.d.cts +84 -0
  63. package/dist/core/store.d.ts +84 -0
  64. package/dist/core/store.js +2 -0
  65. package/dist/core/store.js.map +1 -0
  66. package/dist/core/utils.cjs +2 -0
  67. package/dist/core/utils.cjs.map +1 -0
  68. package/dist/core/utils.d.cts +81 -0
  69. package/dist/core/utils.d.ts +81 -0
  70. package/dist/core/utils.js +2 -0
  71. package/dist/core/utils.js.map +1 -0
  72. package/dist/core.cjs +1 -1
  73. package/dist/core.cjs.map +1 -1
  74. package/dist/core.d.cts +14 -122
  75. package/dist/core.d.ts +14 -122
  76. package/dist/core.js +1 -1
  77. package/dist/devtools/bridge.cjs +1 -1
  78. package/dist/devtools/bridge.cjs.map +1 -1
  79. package/dist/devtools/bridge.d.cts +3 -2
  80. package/dist/devtools/bridge.d.ts +3 -2
  81. package/dist/devtools/bridge.js +1 -1
  82. package/dist/devtools/index.cjs +2 -2
  83. package/dist/devtools/index.cjs.map +1 -1
  84. package/dist/devtools/index.d.cts +3 -2
  85. package/dist/devtools/index.d.ts +3 -2
  86. package/dist/devtools/index.js +1 -1
  87. package/dist/devtools/index.js.map +1 -1
  88. package/dist/{field-binding-X5TkvfUt.d.cts → field-binding-B_OX3bjp.d.cts} +1 -1
  89. package/dist/{field-binding-Bi1g-D8X.d.ts → field-binding-MX6jVQbT.d.ts} +1 -1
  90. package/dist/index.cjs +1 -1
  91. package/dist/index.cjs.map +1 -1
  92. package/dist/index.d.cts +8 -85
  93. package/dist/index.d.ts +8 -85
  94. package/dist/index.js +1 -1
  95. package/dist/mask.d.cts +2 -2
  96. package/dist/mask.d.ts +2 -2
  97. package/dist/meta-types-Bzmm21TP.d.cts +18 -0
  98. package/dist/meta-types-Bzmm21TP.d.ts +18 -0
  99. package/dist/react/index.cjs +1 -1
  100. package/dist/react/index.cjs.map +1 -1
  101. package/dist/react/index.d.cts +11 -9
  102. package/dist/react/index.d.ts +11 -9
  103. package/dist/react/index.js +1 -1
  104. package/dist/react/index.js.map +1 -1
  105. package/dist/react-native/index.cjs +1 -1
  106. package/dist/react-native/index.cjs.map +1 -1
  107. package/dist/react-native/index.d.cts +9 -7
  108. package/dist/react-native/index.d.ts +9 -7
  109. package/dist/react-native/index.js +1 -1
  110. package/dist/react-native/index.js.map +1 -1
  111. package/dist/resolvers/index.cjs +1 -1
  112. package/dist/resolvers/index.cjs.map +1 -1
  113. package/dist/resolvers/index.d.cts +3 -2
  114. package/dist/resolvers/index.d.ts +3 -2
  115. package/dist/resolvers/index.js +1 -1
  116. package/dist/resolvers/joi.d.cts +3 -2
  117. package/dist/resolvers/joi.d.ts +3 -2
  118. package/dist/resolvers/yup.d.cts +3 -2
  119. package/dist/resolvers/yup.d.ts +3 -2
  120. package/dist/resolvers/zod.d.cts +3 -2
  121. package/dist/resolvers/zod.d.ts +3 -2
  122. package/dist/store-api-types-D-ZHxzRy.d.cts +161 -0
  123. package/dist/store-api-types-DPi30jQF.d.ts +161 -0
  124. package/dist/{bus-DgilLszS.d.ts → types-CG5nYeRk.d.ts} +76 -45
  125. package/dist/{bus-rcUiufS7.d.cts → types-D6LhF5GC.d.cts} +76 -45
  126. package/dist/{types-CUXh7PqD.d.cts → types-D8DgIUhJ.d.cts} +1 -1
  127. package/dist/{types-CUXh7PqD.d.ts → types-D8DgIUhJ.d.ts} +1 -1
  128. package/dist/{upload-EXnJLq8k.d.cts → upload-C2mpfhp1.d.cts} +1 -1
  129. package/dist/{upload-EXnJLq8k.d.ts → upload-C2mpfhp1.d.ts} +1 -1
  130. package/dist/{use-bit-persist-CIKFwtdM.d.cts → use-bit-persist-BTwy8kvA.d.ts} +8 -6
  131. package/dist/{use-bit-persist-Bc06fmqZ.d.ts → use-bit-persist-C2LHNTVv.d.cts} +8 -6
  132. package/dist/utils.cjs +2 -0
  133. package/dist/utils.cjs.map +1 -0
  134. package/dist/utils.d.cts +6 -0
  135. package/dist/utils.d.ts +6 -0
  136. package/dist/utils.js +2 -0
  137. package/dist/utils.js.map +1 -0
  138. package/dist/vue/index.cjs +1 -1
  139. package/dist/vue/index.cjs.map +1 -1
  140. package/dist/vue/index.d.cts +9 -7
  141. package/dist/vue/index.d.ts +9 -7
  142. package/dist/vue/index.js +1 -1
  143. package/dist/vue/index.js.map +1 -1
  144. package/package.json +32 -10
  145. package/dist/chunk-DIEE6LUO.js +0 -2
  146. package/dist/chunk-DIEE6LUO.js.map +0 -1
  147. package/dist/chunk-FUUQB4DV.cjs +0 -2
  148. package/dist/chunk-FUUQB4DV.cjs.map +0 -1
  149. package/dist/chunk-KWLLYQOL.cjs +0 -2
  150. package/dist/chunk-KWLLYQOL.cjs.map +0 -1
  151. package/dist/chunk-LIYZPSWM.js +0 -2
  152. package/dist/chunk-LIYZPSWM.js.map +0 -1
  153. package/dist/chunk-QAL6J5GQ.cjs +0 -2
  154. package/dist/chunk-QAL6J5GQ.cjs.map +0 -1
  155. package/dist/chunk-SA47B5OP.js +0 -2
  156. package/dist/chunk-SA47B5OP.js.map +0 -1
  157. package/dist/store-api-types-9ipdute1.d.ts +0 -187
  158. package/dist/store-api-types-B6_bPoVI.d.cts +0 -187
@@ -0,0 +1,84 @@
1
+ export { createBitStore, createFrameworkStoreAdapter, resolveBitStoreForHooks } from '../index.cjs';
2
+ import { e as BitStoreApi, g as BitStoreFeatureApi, h as BitStoreObserveSliceApi, i as BitStoreReadSliceApi, j as BitStoreWriteSliceApi } from '../store-api-types-D-ZHxzRy.cjs';
3
+ export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions } from '../store-api-types-D-ZHxzRy.cjs';
4
+ export { B as BitFormMeta, a as BitHistoryMetadata, b as BitValidationOptions } from '../meta-types-Bzmm21TP.cjs';
5
+ export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitArrayItem, c as BitArrayPath, d as BitBeforeSubmitEvent, e as BitBeforeValidateEvent, f as BitBus, g as BitBusListener, h as BitBusStorePort, i as BitComputedFn, j as BitConfig, k as BitErrors, l as BitFieldChangeEvent, m as BitFieldChangeMeta, n as BitFieldConditional, o as BitFieldDefinition, p as BitFieldState, q as BitFieldValidation, r as BitFormGlobal, s as BitHistoryConfig, t as BitNormalizeFn, u as BitPath, v as BitPathValue, w as BitPersistConfig, x as BitPersistMetadata, y as BitPersistMode, z as BitPersistStorageAdapter, A as BitPlugin, C as BitPluginContext, D as BitPluginErrorEvent, E as BitPluginHooks, F as BitScheduler, G as BitState, H as BitSubmitResult, I as BitTouched, J as BitTransformFn, K as BitValidationConfig, L as DeepPartial, M as DevToolsOptions, S as ScopeStatus, V as ValidateScopeResult, N as ValidatorFn } from '../types-D6LhF5GC.cjs';
6
+ export { b as bitBus, c as createBitBus } from '../bus-ZLQeq4Vr.cjs';
7
+ import '../types-D8DgIUhJ.cjs';
8
+
9
+ /**
10
+ * Extracts the `read` slice from a BitStore instance.
11
+ *
12
+ * Use this to pass a read-only API to utility functions and services.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * function useFormValidation(read: BitStoreReadSliceApi<MyForm>) {
17
+ * const isValid = read.getIsValid();
18
+ * // ...
19
+ * }
20
+ *
21
+ * useFormValidation(extractReadSlice(store));
22
+ * ```
23
+ */
24
+ declare function extractReadSlice<T extends object>(store: BitStoreApi<T>): BitStoreReadSliceApi<T>;
25
+ /**
26
+ * Extracts the `observe` slice from a BitStore instance.
27
+ *
28
+ * Use this to pass an observation-only API to framework hooks and subscriptions.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * function useFormSubscribe(observe: BitStoreObserveSliceApi<MyForm>) {
33
+ * useEffect(() => observe.subscribe(handler), [observe]);
34
+ * }
35
+ *
36
+ * useFormSubscribe(extractObserveSlice(store));
37
+ * ```
38
+ */
39
+ declare function extractObserveSlice<T extends object>(store: BitStoreApi<T>): BitStoreObserveSliceApi<T>;
40
+ /**
41
+ * Extracts the `write` slice from a BitStore instance.
42
+ *
43
+ * Use this to pass a write-only API for form mutations.
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * function useFormActions(write: BitStoreWriteSliceApi<MyForm>) {
48
+ * const handleChange = (path: string, value: any) => {
49
+ * write.setField(path, value);
50
+ * };
51
+ * }
52
+ *
53
+ * useFormActions(extractWriteSlice(store));
54
+ * ```
55
+ */
56
+ declare function extractWriteSlice<T extends object>(store: BitStoreApi<T>): BitStoreWriteSliceApi<T>;
57
+ /**
58
+ * Extracts the `feature` slice from a BitStore instance.
59
+ *
60
+ * Use this to pass feature-specific APIs (validation, history, persistence, etc.)
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * function useFormValidation(feature: BitStoreFeatureApi<MyForm>) {
65
+ * const isValid = await feature.validate();
66
+ * }
67
+ *
68
+ * useFormValidation(extractFeatureSlice(store));
69
+ * ```
70
+ */
71
+ declare function extractFeatureSlice<T extends object>(store: BitStoreApi<T>): BitStoreFeatureApi<T>;
72
+ /**
73
+ * Extracts multiple slices at once for convenience.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const [readApi, writeApi] = extractSlices(store, ["read", "write"]);
78
+ * ```
79
+ */
80
+ declare function extractSlices<T extends object, K extends (keyof BitStoreApi<T>)[]>(store: BitStoreApi<T>, keys: readonly [...K]): {
81
+ [P in K[number]]: BitStoreApi<T>[P];
82
+ };
83
+
84
+ export { BitStoreApi, extractFeatureSlice, extractObserveSlice, extractReadSlice, extractSlices, extractWriteSlice };
@@ -0,0 +1,84 @@
1
+ export { createBitStore, createFrameworkStoreAdapter, resolveBitStoreForHooks } from '../index.js';
2
+ import { e as BitStoreApi, g as BitStoreFeatureApi, h as BitStoreObserveSliceApi, i as BitStoreReadSliceApi, j as BitStoreWriteSliceApi } from '../store-api-types-DPi30jQF.js';
3
+ export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions } from '../store-api-types-DPi30jQF.js';
4
+ export { B as BitFormMeta, a as BitHistoryMetadata, b as BitValidationOptions } from '../meta-types-Bzmm21TP.js';
5
+ export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitArrayItem, c as BitArrayPath, d as BitBeforeSubmitEvent, e as BitBeforeValidateEvent, f as BitBus, g as BitBusListener, h as BitBusStorePort, i as BitComputedFn, j as BitConfig, k as BitErrors, l as BitFieldChangeEvent, m as BitFieldChangeMeta, n as BitFieldConditional, o as BitFieldDefinition, p as BitFieldState, q as BitFieldValidation, r as BitFormGlobal, s as BitHistoryConfig, t as BitNormalizeFn, u as BitPath, v as BitPathValue, w as BitPersistConfig, x as BitPersistMetadata, y as BitPersistMode, z as BitPersistStorageAdapter, A as BitPlugin, C as BitPluginContext, D as BitPluginErrorEvent, E as BitPluginHooks, F as BitScheduler, G as BitState, H as BitSubmitResult, I as BitTouched, J as BitTransformFn, K as BitValidationConfig, L as DeepPartial, M as DevToolsOptions, S as ScopeStatus, V as ValidateScopeResult, N as ValidatorFn } from '../types-CG5nYeRk.js';
6
+ export { b as bitBus, c as createBitBus } from '../bus-B2VEKrPI.js';
7
+ import '../types-D8DgIUhJ.js';
8
+
9
+ /**
10
+ * Extracts the `read` slice from a BitStore instance.
11
+ *
12
+ * Use this to pass a read-only API to utility functions and services.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * function useFormValidation(read: BitStoreReadSliceApi<MyForm>) {
17
+ * const isValid = read.getIsValid();
18
+ * // ...
19
+ * }
20
+ *
21
+ * useFormValidation(extractReadSlice(store));
22
+ * ```
23
+ */
24
+ declare function extractReadSlice<T extends object>(store: BitStoreApi<T>): BitStoreReadSliceApi<T>;
25
+ /**
26
+ * Extracts the `observe` slice from a BitStore instance.
27
+ *
28
+ * Use this to pass an observation-only API to framework hooks and subscriptions.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * function useFormSubscribe(observe: BitStoreObserveSliceApi<MyForm>) {
33
+ * useEffect(() => observe.subscribe(handler), [observe]);
34
+ * }
35
+ *
36
+ * useFormSubscribe(extractObserveSlice(store));
37
+ * ```
38
+ */
39
+ declare function extractObserveSlice<T extends object>(store: BitStoreApi<T>): BitStoreObserveSliceApi<T>;
40
+ /**
41
+ * Extracts the `write` slice from a BitStore instance.
42
+ *
43
+ * Use this to pass a write-only API for form mutations.
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * function useFormActions(write: BitStoreWriteSliceApi<MyForm>) {
48
+ * const handleChange = (path: string, value: any) => {
49
+ * write.setField(path, value);
50
+ * };
51
+ * }
52
+ *
53
+ * useFormActions(extractWriteSlice(store));
54
+ * ```
55
+ */
56
+ declare function extractWriteSlice<T extends object>(store: BitStoreApi<T>): BitStoreWriteSliceApi<T>;
57
+ /**
58
+ * Extracts the `feature` slice from a BitStore instance.
59
+ *
60
+ * Use this to pass feature-specific APIs (validation, history, persistence, etc.)
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * function useFormValidation(feature: BitStoreFeatureApi<MyForm>) {
65
+ * const isValid = await feature.validate();
66
+ * }
67
+ *
68
+ * useFormValidation(extractFeatureSlice(store));
69
+ * ```
70
+ */
71
+ declare function extractFeatureSlice<T extends object>(store: BitStoreApi<T>): BitStoreFeatureApi<T>;
72
+ /**
73
+ * Extracts multiple slices at once for convenience.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const [readApi, writeApi] = extractSlices(store, ["read", "write"]);
78
+ * ```
79
+ */
80
+ declare function extractSlices<T extends object, K extends (keyof BitStoreApi<T>)[]>(store: BitStoreApi<T>, keys: readonly [...K]): {
81
+ [P in K[number]]: BitStoreApi<T>[P];
82
+ };
83
+
84
+ export { BitStoreApi, extractFeatureSlice, extractObserveSlice, extractReadSlice, extractSlices, extractWriteSlice };
@@ -0,0 +1,2 @@
1
+ import{a,b,c,d,e,f,g,h,i,j}from"../chunk-UQ3DSUWC.js";import"../chunk-EQ55DKX2.js";import"../chunk-RD73EBSN.js";export{a as bitBus,b as createBitBus,e as createBitStore,d as createFrameworkStoreAdapter,i as extractFeatureSlice,g as extractObserveSlice,f as extractReadSlice,j as extractSlices,h as extractWriteSlice,c as resolveBitStoreForHooks};
2
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkM6WBNHITcjs = require('../chunk-M6WBNHIT.cjs');var _chunkT2JRSWQUcjs = require('../chunk-T2JRSWQU.cjs');exports.areFieldSnapshotsEqual = _chunkM6WBNHITcjs.b; exports.cleanPrefixedKeys = _chunkT2JRSWQUcjs.j; exports.createFieldStateSnapshot = _chunkM6WBNHITcjs.a; exports.deepClone = _chunkT2JRSWQUcjs.a; exports.deepEqual = _chunkT2JRSWQUcjs.d; exports.deepMerge = _chunkT2JRSWQUcjs.b; exports.deriveFieldMeta = _chunkM6WBNHITcjs.c; exports.extractServerErrors = _chunkT2JRSWQUcjs.m; exports.getDeepValue = _chunkT2JRSWQUcjs.f; exports.isValidationErrorShape = _chunkT2JRSWQUcjs.l; exports.setDeepValue = _chunkT2JRSWQUcjs.g; exports.valueEqual = _chunkT2JRSWQUcjs.c;
2
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/core/utils.cjs"],"names":[],"mappings":"AAAA,kIAAuD,yDAA8E,mjBAAoQ","file":"/home/runner/work/bit-form/bit-form/dist/core/utils.cjs"}
@@ -0,0 +1,81 @@
1
+ export { cleanPrefixedKeys, extractServerErrors, isValidationErrorShape } from '../utils.cjs';
2
+ import { p as BitFieldState } from '../types-D6LhF5GC.cjs';
3
+ import '../types-D8DgIUhJ.cjs';
4
+
5
+ declare function deepClone<T>(obj: T): T;
6
+ declare function deepMerge<T>(target: T, source: any): T;
7
+ declare function valueEqual(a: any, b: any): boolean;
8
+ declare function deepEqual(a: any, b: any): boolean;
9
+
10
+ declare function getDeepValue(obj: any, path: string): any;
11
+ declare function setDeepValue(obj: any, path: string, value: any): any;
12
+
13
+ /**
14
+ * Field State Snapshot Utilities
15
+ *
16
+ * Shared utilities for creating and managing field state snapshots across frameworks
17
+ * (React, Vue, Angular). Reduces code duplication while maintaining type safety.
18
+ */
19
+ /**
20
+ * Represents a stable snapshot of field state that can be compared for equality.
21
+ */
22
+ interface BitFieldSnapshot<TValue = any> {
23
+ value: TValue;
24
+ error: string | undefined;
25
+ touched: boolean;
26
+ isHidden: boolean;
27
+ isRequired: boolean;
28
+ isDirty: boolean;
29
+ isValidating: boolean;
30
+ }
31
+ /**
32
+ * Creates or reuses a field state snapshot with shallow equality checking.
33
+ *
34
+ * This function prevents unnecessary re-renders in frameworks like React by
35
+ * returning the same object reference when field state hasn't changed.
36
+ *
37
+ * @param nextState - The new field state from the store
38
+ * @param lastSnapshot - The previous snapshot (can be null on first call)
39
+ * @returns A stable snapshot object that can be used for equality comparison
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * const snapshot = createFieldStateSnapshot(store.getFieldState("email"), lastSnapshot);
44
+ * if (snapshot !== lastSnapshot) {
45
+ * // Field state changed, update component
46
+ * render(snapshot);
47
+ * }
48
+ * ```
49
+ */
50
+ declare function createFieldStateSnapshot<TValue = any>(nextState: {
51
+ value: TValue;
52
+ error: string | undefined;
53
+ touched: boolean;
54
+ isHidden: boolean;
55
+ isRequired: boolean;
56
+ isDirty: boolean;
57
+ isValidating: boolean;
58
+ }, lastSnapshot: BitFieldSnapshot<TValue> | null): BitFieldSnapshot<TValue>;
59
+ /**
60
+ * Deep comparison utility for field state snapshots.
61
+ * Useful for scenarios where shallow comparison isn't sufficient (e.g., object/array values).
62
+ *
63
+ * @param snapshotA - First snapshot
64
+ * @param snapshotB - Second snapshot
65
+ * @returns true if snapshots are deeply equal
66
+ */
67
+ declare function areFieldSnapshotsEqual(snapshotA: BitFieldSnapshot | null | undefined, snapshotB: BitFieldSnapshot | null | undefined): boolean;
68
+
69
+ interface BitDerivedFieldMeta {
70
+ error: string | undefined;
71
+ touched: boolean;
72
+ invalid: boolean;
73
+ isValidating: boolean;
74
+ isDirty: boolean;
75
+ isHidden: boolean;
76
+ isRequired: boolean;
77
+ hasError: boolean;
78
+ }
79
+ declare function deriveFieldMeta<T extends object, TValue>(state: Readonly<BitFieldState<T, TValue>>): BitDerivedFieldMeta;
80
+
81
+ export { type BitDerivedFieldMeta, type BitFieldSnapshot, areFieldSnapshotsEqual, createFieldStateSnapshot, deepClone, deepEqual, deepMerge, deriveFieldMeta, getDeepValue, setDeepValue, valueEqual };
@@ -0,0 +1,81 @@
1
+ export { cleanPrefixedKeys, extractServerErrors, isValidationErrorShape } from '../utils.js';
2
+ import { p as BitFieldState } from '../types-CG5nYeRk.js';
3
+ import '../types-D8DgIUhJ.js';
4
+
5
+ declare function deepClone<T>(obj: T): T;
6
+ declare function deepMerge<T>(target: T, source: any): T;
7
+ declare function valueEqual(a: any, b: any): boolean;
8
+ declare function deepEqual(a: any, b: any): boolean;
9
+
10
+ declare function getDeepValue(obj: any, path: string): any;
11
+ declare function setDeepValue(obj: any, path: string, value: any): any;
12
+
13
+ /**
14
+ * Field State Snapshot Utilities
15
+ *
16
+ * Shared utilities for creating and managing field state snapshots across frameworks
17
+ * (React, Vue, Angular). Reduces code duplication while maintaining type safety.
18
+ */
19
+ /**
20
+ * Represents a stable snapshot of field state that can be compared for equality.
21
+ */
22
+ interface BitFieldSnapshot<TValue = any> {
23
+ value: TValue;
24
+ error: string | undefined;
25
+ touched: boolean;
26
+ isHidden: boolean;
27
+ isRequired: boolean;
28
+ isDirty: boolean;
29
+ isValidating: boolean;
30
+ }
31
+ /**
32
+ * Creates or reuses a field state snapshot with shallow equality checking.
33
+ *
34
+ * This function prevents unnecessary re-renders in frameworks like React by
35
+ * returning the same object reference when field state hasn't changed.
36
+ *
37
+ * @param nextState - The new field state from the store
38
+ * @param lastSnapshot - The previous snapshot (can be null on first call)
39
+ * @returns A stable snapshot object that can be used for equality comparison
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * const snapshot = createFieldStateSnapshot(store.getFieldState("email"), lastSnapshot);
44
+ * if (snapshot !== lastSnapshot) {
45
+ * // Field state changed, update component
46
+ * render(snapshot);
47
+ * }
48
+ * ```
49
+ */
50
+ declare function createFieldStateSnapshot<TValue = any>(nextState: {
51
+ value: TValue;
52
+ error: string | undefined;
53
+ touched: boolean;
54
+ isHidden: boolean;
55
+ isRequired: boolean;
56
+ isDirty: boolean;
57
+ isValidating: boolean;
58
+ }, lastSnapshot: BitFieldSnapshot<TValue> | null): BitFieldSnapshot<TValue>;
59
+ /**
60
+ * Deep comparison utility for field state snapshots.
61
+ * Useful for scenarios where shallow comparison isn't sufficient (e.g., object/array values).
62
+ *
63
+ * @param snapshotA - First snapshot
64
+ * @param snapshotB - Second snapshot
65
+ * @returns true if snapshots are deeply equal
66
+ */
67
+ declare function areFieldSnapshotsEqual(snapshotA: BitFieldSnapshot | null | undefined, snapshotB: BitFieldSnapshot | null | undefined): boolean;
68
+
69
+ interface BitDerivedFieldMeta {
70
+ error: string | undefined;
71
+ touched: boolean;
72
+ invalid: boolean;
73
+ isValidating: boolean;
74
+ isDirty: boolean;
75
+ isHidden: boolean;
76
+ isRequired: boolean;
77
+ hasError: boolean;
78
+ }
79
+ declare function deriveFieldMeta<T extends object, TValue>(state: Readonly<BitFieldState<T, TValue>>): BitDerivedFieldMeta;
80
+
81
+ export { type BitDerivedFieldMeta, type BitFieldSnapshot, areFieldSnapshotsEqual, createFieldStateSnapshot, deepClone, deepEqual, deepMerge, deriveFieldMeta, getDeepValue, setDeepValue, valueEqual };
@@ -0,0 +1,2 @@
1
+ import{a as j,b as k,c as l}from"../chunk-63OJBMKK.js";import{a,b,c,d,f as e,g as f,j as g,l as h,m as i}from"../chunk-RD73EBSN.js";export{k as areFieldSnapshotsEqual,g as cleanPrefixedKeys,j as createFieldStateSnapshot,a as deepClone,d as deepEqual,b as deepMerge,l as deriveFieldMeta,i as extractServerErrors,e as getDeepValue,h as isValidationErrorShape,f as setDeepValue,c as valueEqual};
2
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/core.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFUUQB4DVcjs = require('./chunk-FUUQB4DV.cjs');var _chunkPFPGASVZcjs = require('./chunk-PFPGASVZ.cjs');exports.areFieldSnapshotsEqual = _chunkFUUQB4DVcjs.v; exports.areScopeErrorsEqual = _chunkFUUQB4DVcjs.o; exports.bitBus = _chunkFUUQB4DVcjs.j; exports.cleanPrefixedKeys = _chunkFUUQB4DVcjs.g; exports.cleanupRegisteredField = _chunkFUUQB4DVcjs.G; exports.cleanupRegisteredPrefix = _chunkFUUQB4DVcjs.H; exports.createArrayBindingController = _chunkFUUQB4DVcjs.F; exports.createBitBus = _chunkFUUQB4DVcjs.k; exports.createBitStore = _chunkFUUQB4DVcjs.t; exports.createFieldStateSnapshot = _chunkFUUQB4DVcjs.u; exports.createFrameworkFormBinding = _chunkFUUQB4DVcjs.C; exports.createFrameworkMaskedFieldBinding = _chunkFUUQB4DVcjs.E; exports.deepClone = _chunkFUUQB4DVcjs.a; exports.deepEqual = _chunkFUUQB4DVcjs.d; exports.deepMerge = _chunkFUUQB4DVcjs.b; exports.deriveFieldMeta = _chunkFUUQB4DVcjs.I; exports.extractServerErrors = _chunkFUUQB4DVcjs.i; exports.formatMaskedValue = _chunkPFPGASVZcjs.b; exports.getDeepValue = _chunkFUUQB4DVcjs.e; exports.getScopeSubscriptionPaths = _chunkFUUQB4DVcjs.q; exports.isBitFieldInputEventObject = _chunkPFPGASVZcjs.a; exports.isHistoryMetaEqual = _chunkFUUQB4DVcjs.l; exports.isScopeStatusEqual = _chunkFUUQB4DVcjs.p; exports.isValidationErrorShape = _chunkFUUQB4DVcjs.h; exports.observeFormMetaSnapshot = _chunkFUUQB4DVcjs.y; exports.observeHistoryMetaSnapshot = _chunkFUUQB4DVcjs.n; exports.observePersistMetaSnapshot = _chunkFUUQB4DVcjs.B; exports.observeScopeStatusSnapshot = _chunkFUUQB4DVcjs.r; exports.parseMaskedInput = _chunkPFPGASVZcjs.c; exports.readFormMetaSnapshot = _chunkFUUQB4DVcjs.w; exports.readHistoryMetaSnapshot = _chunkFUUQB4DVcjs.m; exports.readPersistMetaSnapshot = _chunkFUUQB4DVcjs.z; exports.resolveBitStoreForHooks = _chunkFUUQB4DVcjs.s; exports.setDeepValue = _chunkFUUQB4DVcjs.f; exports.subscribeFieldState = _chunkFUUQB4DVcjs.D; exports.subscribeFormMetaSnapshot = _chunkFUUQB4DVcjs.x; exports.subscribePersistMetaSnapshot = _chunkFUUQB4DVcjs.A; exports.valueEqual = _chunkFUUQB4DVcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkVZHG372Qcjs = require('./chunk-VZHG372Q.cjs');var _chunkMFTWAFMGcjs = require('./chunk-MFTWAFMG.cjs');var _chunkBSGJ3T5Scjs = require('./chunk-BSGJ3T5S.cjs');var _chunkD7JQWF6Vcjs = require('./chunk-D7JQWF6V.cjs');var _chunkM6WBNHITcjs = require('./chunk-M6WBNHIT.cjs');var _chunkT2JRSWQUcjs = require('./chunk-T2JRSWQU.cjs');var _chunkPFPGASVZcjs = require('./chunk-PFPGASVZ.cjs');exports.areFieldSnapshotsEqual = _chunkM6WBNHITcjs.b; exports.areScopeErrorsEqual = _chunkD7JQWF6Vcjs.a; exports.bitBus = _chunkVZHG372Qcjs.a; exports.cleanPrefixedKeys = _chunkT2JRSWQUcjs.j; exports.cleanupRegisteredField = _chunkMFTWAFMGcjs.j; exports.cleanupRegisteredPrefix = _chunkMFTWAFMGcjs.k; exports.createArrayBindingController = _chunkMFTWAFMGcjs.i; exports.createBitBus = _chunkVZHG372Qcjs.b; exports.createBitStore = _chunkVZHG372Qcjs.e; exports.createFieldStateSnapshot = _chunkM6WBNHITcjs.a; exports.createFrameworkFormBinding = _chunkMFTWAFMGcjs.g; exports.createFrameworkMaskedFieldBinding = _chunkMFTWAFMGcjs.h; exports.createFrameworkStoreAdapter = _chunkVZHG372Qcjs.d; exports.deepClone = _chunkT2JRSWQUcjs.a; exports.deepEqual = _chunkT2JRSWQUcjs.d; exports.deepMerge = _chunkT2JRSWQUcjs.b; exports.deriveFieldMeta = _chunkM6WBNHITcjs.c; exports.extractFeatureSlice = _chunkVZHG372Qcjs.i; exports.extractObserveSlice = _chunkVZHG372Qcjs.g; exports.extractReadSlice = _chunkVZHG372Qcjs.f; exports.extractServerErrors = _chunkT2JRSWQUcjs.m; exports.extractSlices = _chunkVZHG372Qcjs.j; exports.extractWriteSlice = _chunkVZHG372Qcjs.h; exports.formatMaskedValue = _chunkPFPGASVZcjs.b; exports.getDeepValue = _chunkT2JRSWQUcjs.f; exports.getScopeSubscriptionPaths = _chunkD7JQWF6Vcjs.c; exports.isBitFieldInputEventObject = _chunkPFPGASVZcjs.a; exports.isHistoryMetaEqual = _chunkD7JQWF6Vcjs.e; exports.isScopeStatusEqual = _chunkD7JQWF6Vcjs.b; exports.isValidationErrorShape = _chunkT2JRSWQUcjs.l; exports.observeFormMetaSnapshot = _chunkMFTWAFMGcjs.c; exports.observeHistoryMetaSnapshot = _chunkD7JQWF6Vcjs.g; exports.observePersistMetaSnapshot = _chunkMFTWAFMGcjs.f; exports.observeScopeStatusSnapshot = _chunkBSGJ3T5Scjs.a; exports.parseMaskedInput = _chunkPFPGASVZcjs.c; exports.readFormMetaSnapshot = _chunkMFTWAFMGcjs.a; exports.readHistoryMetaSnapshot = _chunkD7JQWF6Vcjs.f; exports.readPersistMetaSnapshot = _chunkMFTWAFMGcjs.d; exports.resolveBitStoreForHooks = _chunkVZHG372Qcjs.c; exports.setDeepValue = _chunkT2JRSWQUcjs.g; exports.subscribeFormMetaSnapshot = _chunkMFTWAFMGcjs.b; exports.subscribePersistMetaSnapshot = _chunkMFTWAFMGcjs.e; exports.valueEqual = _chunkT2JRSWQUcjs.c;
2
2
  //# sourceMappingURL=core.cjs.map
package/dist/core.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/core.cjs"],"names":[],"mappings":"AAAA,iIAAqI,wDAAuD,w6DAAq9B","file":"/home/runner/work/bit-form/bit-form/dist/core.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/core.cjs"],"names":[],"mappings":"AAAA,yGAA4B,wDAAwG,wDAA+G,wDAAyC,wDAA4E,wDAAuD,wDAA6E,wDAAuD,oqEAA+kC","file":"/home/runner/work/bit-form/bit-form/dist/core.cjs"}
package/dist/core.d.cts CHANGED
@@ -1,122 +1,14 @@
1
- export { BitFieldSnapshot, areFieldSnapshotsEqual, cleanPrefixedKeys, createBitStore, createFieldStateSnapshot, deepClone, deepEqual, deepMerge, extractServerErrors, getDeepValue, isValidationErrorShape, resolveBitStoreForHooks, setDeepValue, valueEqual } from './index.cjs';
2
- import { i as BitPersistMetadata, e as BitPath, b as BitPathValue, D as DeepPartial, g as BitFieldState, S as ScopeStatus } from './bus-rcUiufS7.cjs';
3
- export { s as BitAfterSubmitEvent, t as BitAfterValidateEvent, a as BitArrayItem, B as BitArrayPath, u as BitBeforeSubmitEvent, v as BitBeforeValidateEvent, d as BitBus, w as BitBusListener, x as BitComputedFn, j as BitConfig, c as BitErrors, y as BitFieldChangeEvent, z as BitFieldChangeMeta, A as BitFieldConditional, h as BitFieldDefinition, C as BitFieldValidation, q as BitFormGlobal, E as BitHistoryConfig, F as BitPersistConfig, G as BitPersistMode, H as BitPersistStorageAdapter, o as BitPlugin, I as BitPluginContext, J as BitPluginErrorEvent, K as BitPluginHooks, p as BitScheduler, f as BitState, r as BitTouched, L as BitTransformFn, M as BitValidationConfig, l as DevToolsOptions, V as ValidateScopeResult, k as ValidatorFn, N as bitBus, O as createBitBus } from './bus-rcUiufS7.cjs';
4
- import { e as BitFormMetaBindingApi, f as BitFormMeta, b as BitFormBindingApi, d as BitValidationOptions, g as BitFieldBindingApi, c as BitHistoryMetadata } from './store-api-types-B6_bPoVI.cjs';
5
- export { B as BitArrayBindingApi, h as BitEqualityFn, i as BitFrameworkConfig, j as BitSelector, k as BitSelectorSubscriptionOptions, l as BitStoreApi, m as BitStoreArrayFeatureApi, n as BitStoreFeatureApi, o as BitStoreHistoryFeatureApi, a as BitStoreHooksApi, p as BitStoreObserveApi, q as BitStorePersistFeatureApi, r as BitStoreQueryApi, s as BitStoreRegistrationFeatureApi, t as BitStoreWriteApi } from './store-api-types-B6_bPoVI.cjs';
6
- export { a as BitDeleteUploadFn, B as BitUploadFn, b as BitUploadResult } from './upload-EXnJLq8k.cjs';
7
- export { a as BitArrayBindingController, B as BitArrayBindingField, c as createArrayBindingController } from './array-controller-C1A5VKYd.cjs';
8
- export { B as BitFieldInputEvent, f as formatMaskedValue, i as isBitFieldInputEventObject, p as parseMaskedInput } from './field-binding-X5TkvfUt.cjs';
9
- import './types-CUXh7PqD.cjs';
10
-
11
- declare function readFormMetaSnapshot<T extends object>(store: BitFormMetaBindingApi<T>): BitFormMeta;
12
- declare function subscribeFormMetaSnapshot<T extends object>(store: BitFormMetaBindingApi<T>, listener: () => void): () => void;
13
- declare function observeFormMetaSnapshot<T extends object>(store: BitFormMetaBindingApi<T>, listener: (meta: BitFormMeta) => void): () => void;
14
-
15
- declare function readPersistMetaSnapshot(store: {
16
- getPersistMetadata(): BitPersistMetadata;
17
- }): BitPersistMetadata;
18
- declare function subscribePersistMetaSnapshot(store: {
19
- subscribePersistMeta(listener: (meta: BitPersistMetadata) => void): () => void;
20
- }, listener: () => void): () => void;
21
- declare function observePersistMetaSnapshot(store: {
22
- getPersistMetadata(): BitPersistMetadata;
23
- subscribePersistMeta(listener: (meta: BitPersistMetadata) => void): () => void;
24
- }, listener: (meta: BitPersistMetadata) => void): () => void;
25
-
26
- type BitFormDomEvent = {
27
- preventDefault?: () => void;
28
- stopPropagation?: () => void;
29
- };
30
- interface BitFormControllerRuntime {
31
- clearSubmissionState: () => void;
32
- setSubmissionResult: (result: unknown) => void;
33
- setSubmissionError: (error: Error | null) => void;
34
- }
35
- interface BitFormControllerOptions {
36
- stopPropagation?: boolean;
37
- }
38
-
39
- declare function createFrameworkFormBinding<T extends object>(store: BitFormBindingApi<T>, runtime: BitFormControllerRuntime, options?: BitFormControllerOptions): {
40
- controller: {
41
- submit: (onSuccess: (values: T, dirtyValues?: Partial<T> | undefined) => void | Promise<void>) => (event?: BitFormDomEvent) => Promise<void>;
42
- onSubmit: (handler: (values: T, dirtyValues?: Partial<T> | undefined) => Promise<unknown>) => (event?: BitFormDomEvent) => Promise<void>;
43
- reset: () => void;
44
- getValues: () => T;
45
- getErrors: () => Partial<Record<BitPath<T, "">, string | undefined>>;
46
- getTouched: () => Partial<Record<BitPath<T, "">, boolean | undefined>>;
47
- getDirtyValues: () => Partial<T>;
48
- };
49
- actions: {
50
- setField: <P extends BitPath<T, "">>(path: P, value: BitPathValue<T, BitPath<T, "">>) => void;
51
- blurField: <P extends BitPath<T, "">>(path: P) => void;
52
- setValues: (values: T | DeepPartial<T>, options?: {
53
- partial?: boolean;
54
- rebase?: boolean;
55
- } | undefined) => void;
56
- setError: (path: string, message: string | undefined) => void;
57
- setErrors: (errors: Partial<Record<BitPath<T, "">, string | undefined>>) => void;
58
- setServerErrors: (serverErrors: Parameters<(serverErrors: Record<string, string[] | string>) => void>[0]) => void;
59
- validate: (options?: Parameters<(options?: BitValidationOptions) => Promise<boolean>>[0]) => Promise<boolean>;
60
- transaction: <TResult>(callback: () => TResult) => TResult;
61
- };
62
- };
63
-
64
- declare function createFrameworkMaskedFieldBinding<TForm extends object, P extends BitPath<TForm>>(store: BitFieldBindingApi<TForm>, path: P): {
65
- fieldController: {
66
- setValue: (value: unknown) => void;
67
- setBlur: () => void;
68
- displayValue: (value: unknown) => string;
69
- };
70
- };
71
-
72
- type FieldCleanupStore = {
73
- unregisterField?: (path: string) => void;
74
- };
75
- type PrefixCleanupStore = {
76
- unregisterPrefix?: (prefix: string) => void;
77
- };
78
- declare function cleanupRegisteredField(store: FieldCleanupStore, path: string): void;
79
- declare function cleanupRegisteredPrefix(store: PrefixCleanupStore, prefix: string): void;
80
-
81
- declare function subscribeFieldState<TForm extends object, P extends BitPath<TForm>>(store: BitFormBindingApi<TForm>, path: P, listener: (value: Readonly<BitFieldState<TForm, BitPathValue<TForm, P>>>) => void): () => void;
82
-
83
- /**
84
- * Subconjunto relevante de BitHistoryMetadata para comparação de igualdade.
85
- * Evita re-renders/updates desnecessários quando o estado de histórico não muda.
86
- */
87
- type HistoryMeta = Pick<BitHistoryMetadata, "canUndo" | "canRedo" | "historyIndex" | "historySize">;
88
- /**
89
- * Compara dois snapshots de metadata de histórico por valor.
90
- * Retorna `true` quando todos os campos relevantes são idênticos,
91
- * permitindo que os bindings de framework ignorem atualizações não relacionadas.
92
- */
93
- declare function isHistoryMetaEqual(a: HistoryMeta, b: HistoryMeta): boolean;
94
- declare function readHistoryMetaSnapshot<T extends object>(store: {
95
- getHistoryMetadata(): BitHistoryMetadata;
96
- }): HistoryMeta;
97
- declare function observeHistoryMetaSnapshot<T extends object>(store: {
98
- getHistoryMetadata(): BitHistoryMetadata;
99
- subscribeHistoryMeta(listener: (meta: BitHistoryMetadata) => void): () => void;
100
- }, listener: (meta: HistoryMeta) => void): () => void;
101
-
102
- declare function areScopeErrorsEqual(currentErrors: Record<string, string>, nextErrors: Record<string, string>): boolean;
103
- declare function isScopeStatusEqual(currentStatus: ScopeStatus, nextStatus: ScopeStatus): boolean;
104
- declare function getScopeSubscriptionPaths(scopeFields: readonly string[]): string[];
105
- declare function observeScopeStatusSnapshot(store: {
106
- getStepStatus(scopeName: string): ScopeStatus;
107
- subscribeScopeStatus(scopeName: string, listener: (status: ScopeStatus) => void): () => void;
108
- }, scopeName: string, listener: (status: ScopeStatus) => void): () => void;
109
-
110
- interface BitDerivedFieldMeta {
111
- error: string | undefined;
112
- touched: boolean;
113
- invalid: boolean;
114
- isValidating: boolean;
115
- isDirty: boolean;
116
- isHidden: boolean;
117
- isRequired: boolean;
118
- hasError: boolean;
119
- }
120
- declare function deriveFieldMeta<T extends object, TValue>(state: Readonly<BitFieldState<T, TValue>>): BitDerivedFieldMeta;
121
-
122
- export { type BitDerivedFieldMeta, BitFieldBindingApi, BitFieldState, BitFormBindingApi, BitFormMeta, BitFormMetaBindingApi, BitHistoryMetadata, BitPath, BitPathValue, BitPersistMetadata, BitValidationOptions, DeepPartial, type HistoryMeta, ScopeStatus, areScopeErrorsEqual, cleanupRegisteredField, cleanupRegisteredPrefix, createFrameworkFormBinding, createFrameworkMaskedFieldBinding, deriveFieldMeta, getScopeSubscriptionPaths, isHistoryMetaEqual, isScopeStatusEqual, observeFormMetaSnapshot, observeHistoryMetaSnapshot, observePersistMetaSnapshot, observeScopeStatusSnapshot, readFormMetaSnapshot, readHistoryMetaSnapshot, readPersistMetaSnapshot, subscribeFieldState, subscribeFormMetaSnapshot, subscribePersistMetaSnapshot };
1
+ export { createBitStore, createFrameworkStoreAdapter, resolveBitStoreForHooks } from './index.cjs';
2
+ export { extractFeatureSlice, extractObserveSlice, extractReadSlice, extractSlices, extractWriteSlice } from './core/store.cjs';
3
+ export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions, e as BitStoreApi } from './store-api-types-D-ZHxzRy.cjs';
4
+ export { B as BitFormMeta, a as BitHistoryMetadata, b as BitValidationOptions } from './meta-types-Bzmm21TP.cjs';
5
+ export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitArrayItem, c as BitArrayPath, d as BitBeforeSubmitEvent, e as BitBeforeValidateEvent, f as BitBus, g as BitBusListener, h as BitBusStorePort, i as BitComputedFn, j as BitConfig, k as BitErrors, l as BitFieldChangeEvent, m as BitFieldChangeMeta, n as BitFieldConditional, o as BitFieldDefinition, p as BitFieldState, q as BitFieldValidation, r as BitFormGlobal, s as BitHistoryConfig, t as BitNormalizeFn, u as BitPath, v as BitPathValue, w as BitPersistConfig, x as BitPersistMetadata, y as BitPersistMode, z as BitPersistStorageAdapter, A as BitPlugin, C as BitPluginContext, D as BitPluginErrorEvent, E as BitPluginHooks, F as BitScheduler, G as BitState, H as BitSubmitResult, I as BitTouched, J as BitTransformFn, K as BitValidationConfig, L as DeepPartial, M as DevToolsOptions, S as ScopeStatus, V as ValidateScopeResult, N as ValidatorFn } from './types-D6LhF5GC.cjs';
6
+ export { b as bitBus, c as createBitBus } from './bus-ZLQeq4Vr.cjs';
7
+ export { cleanupRegisteredField, cleanupRegisteredPrefix, createFrameworkFormBinding, createFrameworkMaskedFieldBinding, observeFormMetaSnapshot, observePersistMetaSnapshot, readFormMetaSnapshot, readPersistMetaSnapshot, subscribeFormMetaSnapshot, subscribePersistMetaSnapshot } from './core/bindings.cjs';
8
+ export { B as BitArrayBindingController, a as BitArrayBindingField, c as createArrayBindingController } from './array-controller-B5bfXV1W.cjs';
9
+ export { B as BitFieldInputEvent, f as formatMaskedValue, i as isBitFieldInputEventObject, p as parseMaskedInput } from './field-binding-B_OX3bjp.cjs';
10
+ export { B as BitDeleteUploadFn, a as BitUploadFn, b as BitUploadResult } from './upload-C2mpfhp1.cjs';
11
+ export { HistoryMeta, areScopeErrorsEqual, getScopeSubscriptionPaths, isHistoryMetaEqual, isScopeStatusEqual, observeHistoryMetaSnapshot, observeScopeStatusSnapshot, readHistoryMetaSnapshot } from './core/status.cjs';
12
+ export { BitDerivedFieldMeta, BitFieldSnapshot, areFieldSnapshotsEqual, createFieldStateSnapshot, deepClone, deepEqual, deepMerge, deriveFieldMeta, getDeepValue, setDeepValue, valueEqual } from './core/utils.cjs';
13
+ export { cleanPrefixedKeys, extractServerErrors, isValidationErrorShape } from './utils.cjs';
14
+ import './types-D8DgIUhJ.cjs';