mobx-formkit 1.0.0

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 (256) hide show
  1. package/AGENTS.md +761 -0
  2. package/LICENSE +21 -0
  3. package/README.md +214 -0
  4. package/lib/ArrayMap.d.ts +50 -0
  5. package/lib/ArrayMap.d.ts.map +1 -0
  6. package/lib/ArrayMap.js +151 -0
  7. package/lib/ArrayMap.js.map +1 -0
  8. package/lib/Base.d.ts +237 -0
  9. package/lib/Base.d.ts.map +1 -0
  10. package/lib/Base.js +872 -0
  11. package/lib/Base.js.map +1 -0
  12. package/lib/Bindings.d.ts +28 -0
  13. package/lib/Bindings.d.ts.map +1 -0
  14. package/lib/Bindings.js +73 -0
  15. package/lib/Bindings.js.map +1 -0
  16. package/lib/Field.d.ts +195 -0
  17. package/lib/Field.d.ts.map +1 -0
  18. package/lib/Field.js +734 -0
  19. package/lib/Field.js.map +1 -0
  20. package/lib/Form.d.ts +75 -0
  21. package/lib/Form.d.ts.map +1 -0
  22. package/lib/Form.js +199 -0
  23. package/lib/Form.js.map +1 -0
  24. package/lib/Options.d.ts +9 -0
  25. package/lib/Options.d.ts.map +1 -0
  26. package/lib/Options.js +85 -0
  27. package/lib/Options.js.map +1 -0
  28. package/lib/State.d.ts +43 -0
  29. package/lib/State.d.ts.map +1 -0
  30. package/lib/State.js +147 -0
  31. package/lib/State.js.map +1 -0
  32. package/lib/Validator.d.ts +25 -0
  33. package/lib/Validator.d.ts.map +1 -0
  34. package/lib/Validator.js +143 -0
  35. package/lib/Validator.js.map +1 -0
  36. package/lib/compat.d.ts +29 -0
  37. package/lib/compat.d.ts.map +1 -0
  38. package/lib/compat.js +117 -0
  39. package/lib/compat.js.map +1 -0
  40. package/lib/composer.d.ts +26 -0
  41. package/lib/composer.d.ts.map +1 -0
  42. package/lib/composer.js +65 -0
  43. package/lib/composer.js.map +1 -0
  44. package/lib/esm/ArrayMap.js +146 -0
  45. package/lib/esm/ArrayMap.js.map +1 -0
  46. package/lib/esm/Base.js +868 -0
  47. package/lib/esm/Base.js.map +1 -0
  48. package/lib/esm/Bindings.js +69 -0
  49. package/lib/esm/Bindings.js.map +1 -0
  50. package/lib/esm/Field.js +730 -0
  51. package/lib/esm/Field.js.map +1 -0
  52. package/lib/esm/Form.js +195 -0
  53. package/lib/esm/Form.js.map +1 -0
  54. package/lib/esm/Options.js +81 -0
  55. package/lib/esm/Options.js.map +1 -0
  56. package/lib/esm/State.js +143 -0
  57. package/lib/esm/State.js.map +1 -0
  58. package/lib/esm/Validator.js +139 -0
  59. package/lib/esm/Validator.js.map +1 -0
  60. package/lib/esm/compat.js +96 -0
  61. package/lib/esm/compat.js.map +1 -0
  62. package/lib/esm/composer.js +63 -0
  63. package/lib/esm/composer.js.map +1 -0
  64. package/lib/esm/index.js +8 -0
  65. package/lib/esm/index.js.map +1 -0
  66. package/lib/esm/models/FieldProps.js +116 -0
  67. package/lib/esm/models/FieldProps.js.map +1 -0
  68. package/lib/esm/models/OptionsModel.js +51 -0
  69. package/lib/esm/models/OptionsModel.js.map +1 -0
  70. package/lib/esm/models/StateInterface.js +9 -0
  71. package/lib/esm/models/StateInterface.js.map +1 -0
  72. package/lib/esm/models/ValidatorInterface.js +8 -0
  73. package/lib/esm/models/ValidatorInterface.js.map +1 -0
  74. package/lib/esm/parser.js +235 -0
  75. package/lib/esm/parser.js.map +1 -0
  76. package/lib/esm/props.js +118 -0
  77. package/lib/esm/props.js.map +1 -0
  78. package/lib/esm/utils.js +156 -0
  79. package/lib/esm/utils.js.map +1 -0
  80. package/lib/esm/validators/AJV.js +105 -0
  81. package/lib/esm/validators/AJV.js.map +1 -0
  82. package/lib/esm/validators/DVR.js +104 -0
  83. package/lib/esm/validators/DVR.js.map +1 -0
  84. package/lib/esm/validators/JOI.js +54 -0
  85. package/lib/esm/validators/JOI.js.map +1 -0
  86. package/lib/esm/validators/VALIBOT.js +50 -0
  87. package/lib/esm/validators/VALIBOT.js.map +1 -0
  88. package/lib/esm/validators/VINEJS.js +60 -0
  89. package/lib/esm/validators/VINEJS.js.map +1 -0
  90. package/lib/esm/validators/VJF.js +88 -0
  91. package/lib/esm/validators/VJF.js.map +1 -0
  92. package/lib/esm/validators/YUP.js +69 -0
  93. package/lib/esm/validators/YUP.js.map +1 -0
  94. package/lib/esm/validators/ZOD.js +43 -0
  95. package/lib/esm/validators/ZOD.js.map +1 -0
  96. package/lib/index.d.ts +7 -0
  97. package/lib/index.d.ts.map +1 -0
  98. package/lib/index.js +15 -0
  99. package/lib/index.js.map +1 -0
  100. package/lib/models/BaseInterface.d.ts +40 -0
  101. package/lib/models/BaseInterface.d.ts.map +1 -0
  102. package/lib/models/BindingsInterface.d.ts +18 -0
  103. package/lib/models/BindingsInterface.d.ts.map +1 -0
  104. package/lib/models/FieldInterface.d.ts +88 -0
  105. package/lib/models/FieldInterface.d.ts.map +1 -0
  106. package/lib/models/FieldProps.d.ts +111 -0
  107. package/lib/models/FieldProps.d.ts.map +1 -0
  108. package/lib/models/FieldProps.js +116 -0
  109. package/lib/models/FieldProps.js.map +1 -0
  110. package/lib/models/FormInterface.d.ts +184 -0
  111. package/lib/models/FormInterface.d.ts.map +1 -0
  112. package/lib/models/OptionsInterface.d.ts +8 -0
  113. package/lib/models/OptionsInterface.d.ts.map +1 -0
  114. package/lib/models/OptionsModel.d.ts +99 -0
  115. package/lib/models/OptionsModel.d.ts.map +1 -0
  116. package/lib/models/OptionsModel.js +51 -0
  117. package/lib/models/OptionsModel.js.map +1 -0
  118. package/lib/models/SharedActionsInterface.d.ts +27 -0
  119. package/lib/models/SharedActionsInterface.d.ts.map +1 -0
  120. package/lib/models/SharedEventsInterface.d.ts +8 -0
  121. package/lib/models/SharedEventsInterface.d.ts.map +1 -0
  122. package/lib/models/SharedHelpersInterface.d.ts +26 -0
  123. package/lib/models/SharedHelpersInterface.d.ts.map +1 -0
  124. package/lib/models/SharedInitializerInterface.d.ts +6 -0
  125. package/lib/models/SharedInitializerInterface.d.ts.map +1 -0
  126. package/lib/models/SharedUtilsInterface.d.ts +10 -0
  127. package/lib/models/SharedUtilsInterface.d.ts.map +1 -0
  128. package/lib/models/StateInterface.d.ts +37 -0
  129. package/lib/models/StateInterface.d.ts.map +1 -0
  130. package/lib/models/StateInterface.js +9 -0
  131. package/lib/models/StateInterface.js.map +1 -0
  132. package/lib/models/ValidatorInterface.d.ts +74 -0
  133. package/lib/models/ValidatorInterface.d.ts.map +1 -0
  134. package/lib/models/ValidatorInterface.js +8 -0
  135. package/lib/models/ValidatorInterface.js.map +1 -0
  136. package/lib/parser.d.ts +13 -0
  137. package/lib/parser.d.ts.map +1 -0
  138. package/lib/parser.js +247 -0
  139. package/lib/parser.js.map +1 -0
  140. package/lib/props.d.ts +14 -0
  141. package/lib/props.d.ts.map +1 -0
  142. package/lib/props.js +120 -0
  143. package/lib/props.js.map +1 -0
  144. package/lib/utils.d.ts +34 -0
  145. package/lib/utils.d.ts.map +1 -0
  146. package/lib/utils.js +182 -0
  147. package/lib/utils.js.map +1 -0
  148. package/lib/validators/AJV.d.ts +4 -0
  149. package/lib/validators/AJV.d.ts.map +1 -0
  150. package/lib/validators/AJV.js +109 -0
  151. package/lib/validators/AJV.js.map +1 -0
  152. package/lib/validators/DVR.d.ts +4 -0
  153. package/lib/validators/DVR.d.ts.map +1 -0
  154. package/lib/validators/DVR.js +108 -0
  155. package/lib/validators/DVR.js.map +1 -0
  156. package/lib/validators/JOI.d.ts +4 -0
  157. package/lib/validators/JOI.d.ts.map +1 -0
  158. package/lib/validators/JOI.js +58 -0
  159. package/lib/validators/JOI.js.map +1 -0
  160. package/lib/validators/VALIBOT.d.ts +4 -0
  161. package/lib/validators/VALIBOT.d.ts.map +1 -0
  162. package/lib/validators/VALIBOT.js +73 -0
  163. package/lib/validators/VALIBOT.js.map +1 -0
  164. package/lib/validators/VINEJS.d.ts +4 -0
  165. package/lib/validators/VINEJS.d.ts.map +1 -0
  166. package/lib/validators/VINEJS.js +64 -0
  167. package/lib/validators/VINEJS.js.map +1 -0
  168. package/lib/validators/VJF.d.ts +4 -0
  169. package/lib/validators/VJF.d.ts.map +1 -0
  170. package/lib/validators/VJF.js +92 -0
  171. package/lib/validators/VJF.js.map +1 -0
  172. package/lib/validators/YUP.d.ts +4 -0
  173. package/lib/validators/YUP.d.ts.map +1 -0
  174. package/lib/validators/YUP.js +73 -0
  175. package/lib/validators/YUP.js.map +1 -0
  176. package/lib/validators/ZOD.d.ts +4 -0
  177. package/lib/validators/ZOD.d.ts.map +1 -0
  178. package/lib/validators/ZOD.js +47 -0
  179. package/lib/validators/ZOD.js.map +1 -0
  180. package/package.json +183 -0
  181. package/src/ArrayMap.ts +165 -0
  182. package/src/Base.ts +1229 -0
  183. package/src/Bindings.ts +85 -0
  184. package/src/Field.ts +1034 -0
  185. package/src/Form.ts +264 -0
  186. package/src/Options.ts +91 -0
  187. package/src/State.ts +183 -0
  188. package/src/Validator.ts +177 -0
  189. package/src/compat.ts +104 -0
  190. package/src/composer.ts +82 -0
  191. package/src/index.ts +7 -0
  192. package/src/models/BaseInterface.ts +45 -0
  193. package/src/models/BindingsInterface.ts +25 -0
  194. package/src/models/FieldInterface.ts +97 -0
  195. package/src/models/FieldProps.ts +116 -0
  196. package/src/models/FormInterface.ts +203 -0
  197. package/src/models/OptionsInterface.ts +9 -0
  198. package/src/models/OptionsModel.ts +100 -0
  199. package/src/models/SharedActionsInterface.ts +30 -0
  200. package/src/models/SharedEventsInterface.ts +8 -0
  201. package/src/models/SharedHelpersInterface.ts +12 -0
  202. package/src/models/SharedInitializerInterface.ts +6 -0
  203. package/src/models/SharedUtilsInterface.ts +10 -0
  204. package/src/models/StateInterface.ts +44 -0
  205. package/src/models/ValidatorInterface.ts +88 -0
  206. package/src/parser.ts +327 -0
  207. package/src/props.ts +127 -0
  208. package/src/utils.ts +218 -0
  209. package/src/validators/AJV.ts +140 -0
  210. package/src/validators/DVR.ts +145 -0
  211. package/src/validators/JOI.ts +79 -0
  212. package/src/validators/VALIBOT.ts +70 -0
  213. package/src/validators/VINEJS.ts +83 -0
  214. package/src/validators/VJF.ts +123 -0
  215. package/src/validators/YUP.ts +90 -0
  216. package/src/validators/ZOD.ts +66 -0
  217. package/umd/MobxFormkit.umd.js +3093 -0
  218. package/umd/MobxFormkit.umd.js.map +1 -0
  219. package/umd/MobxFormkit.umd.min.js +2 -0
  220. package/umd/MobxFormkit.umd.min.js.map +1 -0
  221. package/umd/MobxFormkitComposer.umd.js +183 -0
  222. package/umd/MobxFormkitComposer.umd.js.map +1 -0
  223. package/umd/MobxFormkitComposer.umd.min.js +2 -0
  224. package/umd/MobxFormkitComposer.umd.min.js.map +1 -0
  225. package/umd/MobxFormkitValidatorAJV.umd.js +113 -0
  226. package/umd/MobxFormkitValidatorAJV.umd.js.map +1 -0
  227. package/umd/MobxFormkitValidatorAJV.umd.min.js +2 -0
  228. package/umd/MobxFormkitValidatorAJV.umd.min.js.map +1 -0
  229. package/umd/MobxFormkitValidatorDVR.umd.js +110 -0
  230. package/umd/MobxFormkitValidatorDVR.umd.js.map +1 -0
  231. package/umd/MobxFormkitValidatorDVR.umd.min.js +2 -0
  232. package/umd/MobxFormkitValidatorDVR.umd.min.js.map +1 -0
  233. package/umd/MobxFormkitValidatorJOI.umd.js +62 -0
  234. package/umd/MobxFormkitValidatorJOI.umd.js.map +1 -0
  235. package/umd/MobxFormkitValidatorJOI.umd.min.js +2 -0
  236. package/umd/MobxFormkitValidatorJOI.umd.min.js.map +1 -0
  237. package/umd/MobxFormkitValidatorVALIBOT.umd.js +8032 -0
  238. package/umd/MobxFormkitValidatorVALIBOT.umd.js.map +1 -0
  239. package/umd/MobxFormkitValidatorVALIBOT.umd.min.js +2 -0
  240. package/umd/MobxFormkitValidatorVALIBOT.umd.min.js.map +1 -0
  241. package/umd/MobxFormkitValidatorVINEJS.umd.js +11737 -0
  242. package/umd/MobxFormkitValidatorVINEJS.umd.js.map +1 -0
  243. package/umd/MobxFormkitValidatorVINEJS.umd.min.js +2 -0
  244. package/umd/MobxFormkitValidatorVINEJS.umd.min.js.map +1 -0
  245. package/umd/MobxFormkitValidatorVJF.umd.js +96 -0
  246. package/umd/MobxFormkitValidatorVJF.umd.js.map +1 -0
  247. package/umd/MobxFormkitValidatorVJF.umd.min.js +2 -0
  248. package/umd/MobxFormkitValidatorVJF.umd.min.js.map +1 -0
  249. package/umd/MobxFormkitValidatorYUP.umd.js +77 -0
  250. package/umd/MobxFormkitValidatorYUP.umd.js.map +1 -0
  251. package/umd/MobxFormkitValidatorYUP.umd.min.js +2 -0
  252. package/umd/MobxFormkitValidatorYUP.umd.min.js.map +1 -0
  253. package/umd/MobxFormkitValidatorZOD.umd.js +49 -0
  254. package/umd/MobxFormkitValidatorZOD.umd.js.map +1 -0
  255. package/umd/MobxFormkitValidatorZOD.umd.min.js +2 -0
  256. package/umd/MobxFormkitValidatorZOD.umd.min.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.js","sources":["../../../src/Field.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ import { runInAction, autorun, action, computed, observable } from 'mobx';
2
+ import { makeObservable } from './compat.js';
3
+ import { each, merge, debounce } from 'lodash-es';
4
+ import Base from './Base.js';
5
+ import Validator from './Validator.js';
6
+ import State from './State.js';
7
+ import Field from './Field.js';
8
+ import { FieldPropsEnum } from './models/FieldProps.js';
9
+ import { OptionsEnum } from './models/OptionsModel.js';
10
+
11
+ class Form extends Base {
12
+ name;
13
+ path = null;
14
+ extra = {};
15
+ validator;
16
+ debouncedValidation = null;
17
+ constructor(setup = {}, { name = "", options = {}, plugins = {}, bindings = {}, hooks = {}, handlers = {}, extra = {}, } = {}) {
18
+ super();
19
+ makeObservable(this, {
20
+ extra: observable,
21
+ fields: observable,
22
+ flatMapValues: computed,
23
+ error: computed,
24
+ hasError: computed,
25
+ isValid: computed,
26
+ isPristine: computed,
27
+ isDirty: computed,
28
+ isDefault: computed,
29
+ isEmpty: computed,
30
+ focused: computed,
31
+ touched: computed,
32
+ disabled: computed,
33
+ // init: action,
34
+ invalidate: action,
35
+ clear: action,
36
+ reset: action,
37
+ resetValidation: action,
38
+ });
39
+ this.name = name;
40
+ this.extra = extra;
41
+ runInAction(() => (this.$hooks = hooks));
42
+ runInAction(() => (this.$handlers = handlers));
43
+ // load data from initializers methods
44
+ const initial = each({
45
+ setup,
46
+ options,
47
+ plugins,
48
+ bindings,
49
+ }, (val, key) => typeof this[key] === "function"
50
+ ? merge(val, this[key].apply(this, [this]))
51
+ : val);
52
+ // setup hooks & handlers from initialization methods
53
+ runInAction(() => Object.assign(this.$hooks, this.hooks?.apply(this, [this])));
54
+ runInAction(() => Object.assign(this.$handlers, this.handlers?.apply(this, [this])));
55
+ this.state = new State({
56
+ form: this,
57
+ initial: initial.setup,
58
+ options: initial.options,
59
+ bindings: initial.bindings,
60
+ });
61
+ this.validator = new Validator({
62
+ form: this,
63
+ plugins: initial.plugins,
64
+ });
65
+ this.initFields(initial.setup);
66
+ this.debouncedValidation = debounce(this.validate, this.state.options.get(OptionsEnum.validationDebounceWait), this.state.options.get(OptionsEnum.validationDebounceOptions));
67
+ // execute validation on form initialization
68
+ this.state.options.get(OptionsEnum.validateOnInit) &&
69
+ this.validator.validate({
70
+ showErrors: this.state.options.get(OptionsEnum.showErrorsOnInit),
71
+ });
72
+ this.execHook(FieldPropsEnum.onInit);
73
+ // handle Form onChange Hook
74
+ autorun(() => this.$changed && this.execHook(FieldPropsEnum.onChange));
75
+ }
76
+ /* ------------------------------------------------------------------ */
77
+ /* COMPUTED */
78
+ get flatMapValues() {
79
+ const data = {};
80
+ this.each(($field) => (data[$field.path] = $field.validatedValue));
81
+ return data;
82
+ }
83
+ get error() {
84
+ return this.validator.error || this.firstError() || null;
85
+ }
86
+ get hasError() {
87
+ return !!this.validator.error || this.check(FieldPropsEnum.hasError, true);
88
+ }
89
+ get isValid() {
90
+ return !this.validator.error && this.check(FieldPropsEnum.isValid, true);
91
+ }
92
+ get isPristine() {
93
+ return this.check(FieldPropsEnum.isPristine, true);
94
+ }
95
+ get isDirty() {
96
+ return this.check(FieldPropsEnum.isDirty, true);
97
+ }
98
+ get isDefault() {
99
+ return this.check(FieldPropsEnum.isDefault, true);
100
+ }
101
+ get isEmpty() {
102
+ return this.check(FieldPropsEnum.isEmpty, true);
103
+ }
104
+ get focused() {
105
+ return this.check(FieldPropsEnum.focused, true);
106
+ }
107
+ get touched() {
108
+ return this.check(FieldPropsEnum.touched, true);
109
+ }
110
+ get disabled() {
111
+ return this.check(FieldPropsEnum.disabled, true);
112
+ }
113
+ makeField(data, FieldClass = Field) {
114
+ return new FieldClass(data);
115
+ }
116
+ /**
117
+ * Select a field by key with type inference.
118
+ * Provides transparent autocomplete for both top-level keys (`keyof F`)
119
+ * AND nested paths (`PathsOf<F>`) without any type annotations needed.
120
+ *
121
+ * @example
122
+ * // Top-level keys — autocomplete from keyof F:
123
+ * form.$('username'); // returns Field<string>
124
+ *
125
+ * @example
126
+ * // Nested paths — autocomplete from PathsOf<F>:
127
+ * form.$('club'); // "club"
128
+ * form.$('club.name'); // "club.name" ← autocomplete after dot!
129
+ * form.$('members[].firstname'); // "members[].firstname"
130
+ */
131
+ $(key) {
132
+ return super.$(key);
133
+ }
134
+ /**
135
+ * Select a field by path.
136
+ * For typed autocomplete, use `$()` instead, which is typed with `keyof F`.
137
+ */
138
+ select(path, fields = null, isStrict = true) {
139
+ return super.select(path, fields, isStrict);
140
+ }
141
+ values() {
142
+ return super.values();
143
+ }
144
+ /** DEPRECATED
145
+ Init Form Fields and Nested Fields
146
+
147
+ init($fields: any = null): void {
148
+ _.set(this, "fields", observable.map({}));
149
+
150
+ this.state.initial.props.values = $fields; // eslint-disable-line
151
+ this.state.current.props.values = $fields; // eslint-disable-line
152
+
153
+ this.initFields({
154
+ fields: $fields || this.state.struct(),
155
+ });
156
+ }
157
+ */
158
+ invalidate(message = null, deep = true) {
159
+ this.debouncedValidation.cancel();
160
+ this.validator.error =
161
+ message ||
162
+ this.state.options.get(OptionsEnum.defaultGenericError) ||
163
+ null;
164
+ deep &&
165
+ this.each((field) => field.debouncedValidation.cancel());
166
+ }
167
+ showErrors(show = true) {
168
+ this.each((field) => field.showErrors(show));
169
+ }
170
+ resetValidation(deep = true) {
171
+ this.validator.error = null;
172
+ deep && this.each((field) => field.resetValidation(deep));
173
+ }
174
+ /**
175
+ Clear Form Fields
176
+ */
177
+ clear(deep = true, execHook = true) {
178
+ execHook && this.execHook(FieldPropsEnum.onClear);
179
+ this.$touched = false;
180
+ this.$changed = 0;
181
+ deep && this.each((field) => field.clear(deep));
182
+ }
183
+ /**
184
+ Reset Form Fields
185
+ */
186
+ reset(deep = true, execHook = true) {
187
+ execHook && this.execHook(FieldPropsEnum.onReset);
188
+ this.$touched = false;
189
+ this.$changed = 0;
190
+ deep && this.each((field) => field.reset(deep));
191
+ }
192
+ }
193
+
194
+ export { Form as default };
195
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sources":["../../../src/Form.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { toJS, set, action, observable } from 'mobx';
2
+ import { makeObservable } from './compat.js';
3
+ import { has, get } from 'lodash-es';
4
+ import { uniqueId } from './utils.js';
5
+
6
+ class Options {
7
+ options = {
8
+ uniqueId,
9
+ fallback: true,
10
+ fallbackValue: "",
11
+ defaultGenericError: null,
12
+ submitThrowsError: true,
13
+ showErrorsOnInit: false,
14
+ showErrorsOnSubmit: true,
15
+ showErrorsOnBlur: true,
16
+ showErrorsOnChange: true,
17
+ showErrorsOnClear: false,
18
+ showErrorsOnReset: true,
19
+ validateOnInit: true,
20
+ validateOnSubmit: true,
21
+ validateOnBlur: true,
22
+ validateOnChange: false,
23
+ validateOnChangeAfterInitialBlur: false,
24
+ validateOnChangeAfterSubmit: false,
25
+ validateOnClear: false,
26
+ validateOnReset: false,
27
+ validateDisabledFields: false,
28
+ validateDeletedFields: false,
29
+ validatePristineFields: true,
30
+ strictSet: false,
31
+ strictUpdate: false,
32
+ strictDelete: true,
33
+ strictSelect: true,
34
+ softDelete: false,
35
+ retrieveOnlyDirtyFieldsValues: false,
36
+ retrieveOnlyEnabledFieldsValues: false,
37
+ retrieveOnlyEnabledFieldsErrors: false,
38
+ retrieveNullifiedEmptyStrings: false,
39
+ autoTrimValue: false,
40
+ autoParseNumbers: false,
41
+ removeNullishValuesInArrays: false,
42
+ preserveDeletedFieldsValues: false,
43
+ validationDebounceWait: 250,
44
+ validationDebounceOptions: {
45
+ leading: false,
46
+ trailing: true,
47
+ },
48
+ stopValidationOnError: false,
49
+ validationPluginsOrder: undefined,
50
+ resetValidationBeforeValidate: true,
51
+ validateTrimmedValue: false,
52
+ applyInputConverterOnInit: true,
53
+ applyInputConverterOnSet: true,
54
+ applyInputConverterOnUpdate: true,
55
+ bubbleUpErrorMessages: false,
56
+ };
57
+ constructor() {
58
+ makeObservable(this, {
59
+ options: observable,
60
+ set: action,
61
+ });
62
+ }
63
+ get(key = '', field = null) {
64
+ // handle field option
65
+ if (has(field, "path")) {
66
+ if (has(field.$options, key)) {
67
+ return field.$options[key];
68
+ }
69
+ }
70
+ // fallback on global form options
71
+ if (key)
72
+ return get(this.options, key);
73
+ return toJS(this.options);
74
+ }
75
+ set(options) {
76
+ set(this.options, options);
77
+ }
78
+ }
79
+
80
+ export { Options as default };
81
+ //# sourceMappingURL=Options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Options.js","sources":["../../../src/Options.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAec,MAAO,OAAO,CAAA;AAC1B,IAAA,OAAO,GAAiB;QACtB,QAAQ;AACR,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,gCAAgC,EAAE,KAAK;AACvC,QAAA,2BAA2B,EAAE,KAAK;AAClC,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,6BAA6B,EAAE,KAAK;AACpC,QAAA,+BAA+B,EAAE,KAAK;AACtC,QAAA,+BAA+B,EAAE,KAAK;AACtC,QAAA,6BAA6B,EAAE,KAAK;AACpC,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,2BAA2B,EAAE,KAAK;AAClC,QAAA,2BAA2B,EAAE,KAAK;AAClC,QAAA,sBAAsB,EAAE,GAAG;AAC3B,QAAA,yBAAyB,EAAE;AACzB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,sBAAsB,EAAE,SAAS;AACjC,QAAA,6BAA6B,EAAE,IAAI;AACnC,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,yBAAyB,EAAE,IAAI;AAC/B,QAAA,wBAAwB,EAAE,IAAI;AAC9B,QAAA,2BAA2B,EAAE,IAAI;AACjC,QAAA,qBAAqB,EAAE,KAAK;KAC7B;AAED,IAAA,WAAA,GAAA;QACE,cAAc,CAAC,IAAI,EAAE;AACnB,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,GAAG,EAAE,MAAM;AACZ,SAAA,CAAC;IACJ;AAEA,IAAA,GAAG,CAAC,GAAA,GAAc,EAAE,EAAE,QAAa,IAAI,EAAA;;AAErC,QAAA,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;YACtB,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;AAC5B,gBAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC5B;QACF;;AAGA,QAAA,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B;AAEA,IAAA,GAAG,CAAC,OAAqB,EAAA;AACvB,QAAA,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;IAC5B;AACD;;;;"}
@@ -0,0 +1,143 @@
1
+ import { observe } from 'mobx';
2
+ import { get } from 'lodash-es';
3
+ import Options from './Options.js';
4
+ import Bindings from './Bindings.js';
5
+ import { hasUnifiedProps, hasSeparatedProps, isArrayOfStrings, $try, checkObserve } from './utils.js';
6
+ import { RuntimeMode } from './models/StateInterface.js';
7
+ import { OptionsEnum } from './models/OptionsModel.js';
8
+ import { props } from './props.js';
9
+
10
+ class State {
11
+ mode = RuntimeMode.mixed;
12
+ strict = false;
13
+ form;
14
+ options;
15
+ bindings;
16
+ $extra;
17
+ $struct = [];
18
+ disposers = {
19
+ interceptor: {},
20
+ observer: {},
21
+ };
22
+ initial = {
23
+ props: {},
24
+ fields: {},
25
+ };
26
+ current = {
27
+ props: {},
28
+ fields: {},
29
+ };
30
+ constructor({ form, initial, options, bindings }) {
31
+ this.set("form", form);
32
+ this.initProps(initial);
33
+ this.options = new Options();
34
+ this.options.set(options);
35
+ this.bindings = new Bindings();
36
+ this.bindings.register(bindings);
37
+ this.observeOptions();
38
+ }
39
+ initProps(initial = {}) {
40
+ const pickKeys = [
41
+ ...props.editable,
42
+ ...props.separated,
43
+ ...props.validation,
44
+ ...props.functions,
45
+ ...props.handlers,
46
+ ];
47
+ const initialProps = Object.fromEntries(Object.entries(initial).filter(([k]) => pickKeys.includes(k)));
48
+ this.set("initial", "props", initialProps);
49
+ const $unified = hasUnifiedProps(initial);
50
+ const $separated = hasSeparatedProps(initial);
51
+ if (($separated || isArrayOfStrings(initial.fields)) && !$unified) {
52
+ const struct = $try(initial.struct, initial.fields);
53
+ this.struct(struct);
54
+ this.strict = true;
55
+ this.mode = RuntimeMode.separated;
56
+ return;
57
+ }
58
+ this.struct(initial.struct);
59
+ this.mode = RuntimeMode.unified;
60
+ }
61
+ /**
62
+ Get/Set Fields Structure
63
+ */
64
+ struct(data = null) {
65
+ if (data)
66
+ this.$struct = data;
67
+ return this.$struct;
68
+ }
69
+ /**
70
+ Get Props/Fields
71
+ */
72
+ get(type, subtype) {
73
+ return this[type][subtype];
74
+ }
75
+ /**
76
+ Set Props/Fields
77
+ */
78
+ set(type, subtype, state = null) {
79
+ if (type === "form") {
80
+ // subtype is the form here
81
+ this.form = subtype;
82
+ }
83
+ if (type === "initial") {
84
+ Object.assign(this.initial[subtype], state);
85
+ Object.assign(this.current[subtype], state);
86
+ }
87
+ if (type === "current") {
88
+ Object.assign(this.current[subtype], state);
89
+ }
90
+ }
91
+ extra(data = null) {
92
+ if (typeof data === 'string')
93
+ return get(this.$extra, data);
94
+ if (data === null)
95
+ return this.$extra;
96
+ this.$extra = data;
97
+ return null;
98
+ }
99
+ observeOptions() {
100
+ // Fix Issue #201
101
+ observe(this.options.options, checkObserve([
102
+ {
103
+ // start observing fields validateOnChange
104
+ type: "update",
105
+ key: OptionsEnum.validateOnChange,
106
+ to: true,
107
+ exec: () => this.form.each((field) => field.observeValidationOnChange()),
108
+ },
109
+ {
110
+ // stop observing fields validateOnChange
111
+ type: "update",
112
+ key: OptionsEnum.validateOnChange,
113
+ to: false,
114
+ exec: () => this.form.each((field) => {
115
+ if (typeof field.disposeValidationOnChange !== "function")
116
+ return;
117
+ field.disposeValidationOnChange();
118
+ }),
119
+ },
120
+ {
121
+ // start observing fields validateOnBlur
122
+ type: "update",
123
+ key: OptionsEnum.validateOnBlur,
124
+ to: true,
125
+ exec: () => this.form.each((field) => field.observeValidationOnBlur()),
126
+ },
127
+ {
128
+ // stop observing fields validateOnBlur
129
+ type: "update",
130
+ key: OptionsEnum.validateOnBlur,
131
+ to: false,
132
+ exec: () => this.form.each((field) => {
133
+ if (typeof field.disposeValidationOnBlur !== "function")
134
+ return;
135
+ field.disposeValidationOnBlur();
136
+ }),
137
+ },
138
+ ]));
139
+ }
140
+ }
141
+
142
+ export { State as default };
143
+ //# sourceMappingURL=State.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.js","sources":["../../../src/State.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ import { action, observable } from 'mobx';
2
+ import { makeObservable } from './compat.js';
3
+ import { each } from 'lodash-es';
4
+ import { $try } from './utils.js';
5
+ import { OptionsEnum } from './models/OptionsModel.js';
6
+
7
+ class Validator {
8
+ promises = [];
9
+ form = null;
10
+ drivers = {};
11
+ plugins = {
12
+ vjf: undefined,
13
+ dvr: undefined,
14
+ ajv: undefined,
15
+ yup: undefined,
16
+ zod: undefined,
17
+ joi: undefined,
18
+ valibot: undefined,
19
+ vinejs: undefined,
20
+ };
21
+ error = null;
22
+ constructor(obj) {
23
+ makeObservable(this, {
24
+ error: observable,
25
+ validate: action,
26
+ validateField: action,
27
+ });
28
+ this.form = obj.form;
29
+ Object.assign(this.plugins, obj.plugins);
30
+ this.initDrivers();
31
+ }
32
+ initDrivers() {
33
+ Object.entries(this.plugins).forEach(([key, plugin]) => {
34
+ this.drivers[key] = (plugin && plugin.class) &&
35
+ new (plugin.class)({
36
+ config: plugin.config,
37
+ state: this.form.state,
38
+ promises: this.promises,
39
+ });
40
+ });
41
+ }
42
+ validate(opt, obj) {
43
+ const path = $try(opt?.path, opt);
44
+ const instance = $try(opt?.field, this.form.select(path, null, false), this.form);
45
+ const related = $try(opt?.related, obj?.related, true);
46
+ const showErrors = $try(opt?.showErrors, obj?.showErrors, false);
47
+ instance.$validating = true;
48
+ instance.$validated += 1;
49
+ this.error = null;
50
+ return new Promise((resolve) => {
51
+ // validate instance (form or filed)
52
+ if (instance.path || typeof path === 'string') {
53
+ this.validateField({
54
+ field: instance,
55
+ showErrors,
56
+ related,
57
+ path,
58
+ });
59
+ }
60
+ // validate nested fields
61
+ instance.each((field) => this.validateField({
62
+ path: field.path,
63
+ field: field,
64
+ showErrors,
65
+ related,
66
+ }));
67
+ // wait all promises
68
+ resolve(Promise.all(this.promises.splice(0)));
69
+ })
70
+ .then(action(() => {
71
+ instance.$validating = false;
72
+ instance.$clearing = false;
73
+ instance.$resetting = false;
74
+ }))
75
+ .catch(action((err) => {
76
+ instance.$validating = false;
77
+ instance.$clearing = false;
78
+ instance.$resetting = false;
79
+ throw err;
80
+ }))
81
+ .then(() => instance);
82
+ }
83
+ validateField({ showErrors = false, related = false, field = null, path, }) {
84
+ const instance = field || this.form.select(path);
85
+ const { options } = this.form.state;
86
+ // check if the field is a valid instance
87
+ if (!instance.path)
88
+ throw new Error("Validation Error: Invalid Field Instance");
89
+ // do not validate soft deleted fields
90
+ if (instance.deleted && !options.get(OptionsEnum.validateDeletedFields, instance))
91
+ return;
92
+ // do not validate disabled fields
93
+ if (instance.disabled && !options.get(OptionsEnum.validateDisabledFields, instance))
94
+ return;
95
+ // do not validate pristine fields
96
+ if (instance.isPristine && !options.get(OptionsEnum.validatePristineFields, instance))
97
+ return;
98
+ // reset validation before validate
99
+ if (options.get(OptionsEnum.resetValidationBeforeValidate, instance))
100
+ instance.resetValidation();
101
+ // trim string value before validation
102
+ if (options.get(OptionsEnum.validateTrimmedValue, instance))
103
+ instance.trim();
104
+ // get stop on error
105
+ const stopOnError = options.get(OptionsEnum.stopValidationOnError, instance);
106
+ // get validation plugin order
107
+ const validationPluginOrder = options.get(OptionsEnum.validationPluginsOrder, instance);
108
+ const drivers = validationPluginOrder
109
+ ? validationPluginOrder.map((n) => this.drivers[n])
110
+ : this.drivers;
111
+ // validate with all enabled drivers
112
+ each(drivers, (driver) => {
113
+ driver && driver.validate(instance);
114
+ if (stopOnError && instance.hasError)
115
+ return;
116
+ });
117
+ // send error to the view
118
+ instance.showErrors(showErrors, false);
119
+ // related validation
120
+ if (related)
121
+ this.validateRelatedFields(instance, showErrors);
122
+ }
123
+ /**
124
+ Validate 'related' fields if specified
125
+ and related validation allowed (recursive)
126
+ */
127
+ validateRelatedFields(field, showErrors) {
128
+ if (!field.related || !field.related.length)
129
+ return;
130
+ field.related.map((path) => this.validateField({
131
+ related: false,
132
+ showErrors,
133
+ path,
134
+ }));
135
+ }
136
+ }
137
+
138
+ export { Validator as default };
139
+ //# sourceMappingURL=Validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validator.js","sources":["../../../src/Validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}