mobx-react-hook-form 3.2.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/mobx-form/mobx-form.d.ts
CHANGED
|
@@ -280,7 +280,7 @@ export declare class Form<TFieldValues extends FieldValues = FieldValues, TConte
|
|
|
280
280
|
destroy(): void;
|
|
281
281
|
}
|
|
282
282
|
/**
|
|
283
|
-
* @
|
|
283
|
+
* @deprecated ⚠️ use `Form`. This export will be removed in next major release
|
|
284
284
|
*/
|
|
285
285
|
export declare class MobxForm<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues> extends Form<TFieldValues, TContext, TTransformedValues> {
|
|
286
286
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobx-form.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,
|
|
1
|
+
{"version":3,"file":"mobx-form.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EAGT,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,KAAK,aAAa,CAAC,YAAY,SAAS,WAAW,IACjD,SAAS,CAAC,YAAY,CAAC,GAAG;IACxB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEJ,qBAAa,IAAI,CACf,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,GAAG,GAAG,EACd,kBAAkB,GAAG,YAAY,CACjC,YAAW,aAAa,CAAC,YAAY,CAAC;IAmRpC,OAAO,CAAC,MAAM;IAjRhB,MAAM,EAAG,YAAY,CAAC;IACtB,OAAO,EAAE,OAAO,CAAS;IACzB,SAAS,EAAE,OAAO,CAAS;IAC3B,WAAW,EAAE,OAAO,CAAS;IAC7B,kBAAkB,EAAE,OAAO,CAAS;IACpC,YAAY,EAAE,OAAO,CAAS;IAC9B,YAAY,EAAE,OAAO,CAAS;IAC9B,OAAO,EAAE,OAAO,CAAS;IACzB,QAAQ,EAAE,OAAO,CAAS;IAC1B,WAAW,EAAE,MAAM,CAAK;IACxB;;;OAGG;IACH,aAAa,EAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACtE;IACL,aAAa,EAAE,OAAO,CACpB,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CACtD,CAAM;IACP,gBAAgB,EAAE,OAAO,CACvB,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CACtD,CAAM;IACP,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAM;IACvC,OAAO,EAAE,OAAO,CAAS;IAEzB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAExC;;;;;;;;;;;;;;;OAeG;IACH,WAAW,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAE9C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IAEtC;;;;;;;;;;;;;;OAcG;IACH,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAE5C;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAExC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IAEtC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAE3C,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,YAAY,EAAE,UAAU,CACtB,OAAO,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CACrE,CAAC;gBAGQ,MAAM,EAAE,UAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC;IAyGxE;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB;IAe7B;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,CAAC,EAAE,kBAAkB;IAK5B,OAAO,CAAC,eAAe;IA2CvB,OAAO,IAAI,IAAI;CAMhB;AAED;;GAEG;AACH,qBAAa,QAAQ,CACnB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,GAAG,GAAG,EACd,kBAAkB,GAAG,YAAY,CACjC,SAAQ,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC;CAAG"}
|
package/mobx-form/mobx-form.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
2
2
|
import { LinkedAbortController } from 'linked-abort-controller';
|
|
3
3
|
import { action, comparer, makeObservable, observable } from 'mobx';
|
|
4
|
-
import { createFormControl, } from 'react-hook-form';
|
|
4
|
+
import { createFormControl, get, set, } from 'react-hook-form';
|
|
5
5
|
export class Form {
|
|
6
6
|
config;
|
|
7
7
|
values;
|
|
@@ -264,21 +264,32 @@ export class Form {
|
|
|
264
264
|
...config.defaultValues,
|
|
265
265
|
},
|
|
266
266
|
});
|
|
267
|
+
const defaultValues = config.defaultValues
|
|
268
|
+
? { ...config.defaultValues }
|
|
269
|
+
: {};
|
|
267
270
|
this.setError = this.originalForm.setError;
|
|
268
271
|
this.clearErrors = this.originalForm.clearErrors;
|
|
269
272
|
this.trigger = this.originalForm.trigger;
|
|
270
|
-
this.resetField =
|
|
273
|
+
this.resetField = action((...args) => {
|
|
274
|
+
set(this.values, args[0], get(this.defaultValues, args[0]));
|
|
275
|
+
return this.originalForm.resetField(...args);
|
|
276
|
+
});
|
|
271
277
|
this.unregister = this.originalForm.unregister;
|
|
272
278
|
this.control = this.originalForm.control;
|
|
273
279
|
this.register = this.originalForm.register;
|
|
274
280
|
this.setFocus = this.originalForm.setFocus;
|
|
275
|
-
this.setValue =
|
|
276
|
-
|
|
281
|
+
this.setValue = action((...args) => {
|
|
282
|
+
set(this.values, args[0], args[1]);
|
|
283
|
+
return this.originalForm.setValue(...args);
|
|
284
|
+
});
|
|
285
|
+
this.resetForm = action((...args) => {
|
|
286
|
+
// @ts-ignore
|
|
287
|
+
this.values = structuredClone(args[0] ?? this.defaultValues);
|
|
288
|
+
return this.originalForm.reset(...args);
|
|
289
|
+
});
|
|
277
290
|
Object.assign(this, {
|
|
278
291
|
values: this.originalForm.getValues(),
|
|
279
|
-
defaultValues
|
|
280
|
-
? { ...config.defaultValues }
|
|
281
|
-
: {},
|
|
292
|
+
defaultValues,
|
|
282
293
|
});
|
|
283
294
|
const subscription = this.originalForm.subscribe({
|
|
284
295
|
formState: {
|
|
@@ -409,7 +420,7 @@ export class Form {
|
|
|
409
420
|
}
|
|
410
421
|
}
|
|
411
422
|
/**
|
|
412
|
-
* @
|
|
423
|
+
* @deprecated ⚠️ use `Form`. This export will be removed in next major release
|
|
413
424
|
*/
|
|
414
425
|
export class MobxForm extends Form {
|
|
415
426
|
}
|
|
@@ -2,7 +2,7 @@ import { DeepPartial, FieldValues, SubmitErrorHandler, SubmitHandler, UseFormPro
|
|
|
2
2
|
import type { Form } from './mobx-form.js';
|
|
3
3
|
export type AnyForm = Form<any, any, any>;
|
|
4
4
|
/**
|
|
5
|
-
* @
|
|
5
|
+
* @deprecated ⚠️ use `AnyForm`. This export will be removed in next major release
|
|
6
6
|
*/
|
|
7
7
|
export type AnyMobxForm = AnyForm;
|
|
8
8
|
/**
|
|
@@ -36,7 +36,7 @@ export interface FormParams<TFieldValues extends FieldValues = FieldValues, TCon
|
|
|
36
36
|
lazyUpdates?: boolean;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* @
|
|
39
|
+
* @deprecated ⚠️ use `FormParams`. This export will be removed in next major release
|
|
40
40
|
*/
|
|
41
41
|
export type MobxFormParams<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues> = FormParams<TFieldValues, TContext, TTransformedValues>;
|
|
42
42
|
export type ExtractFormFieldValues<T extends AnyForm> = Exclude<T['values'], undefined | null>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobx-react-hook-form",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [],
|
|
@@ -24,11 +24,9 @@
|
|
|
24
24
|
"@types/react": "^18.0.0 || ^19.0.0",
|
|
25
25
|
"disposer-util": "^2.0.0",
|
|
26
26
|
"linked-abort-controller": "^1.1.0",
|
|
27
|
-
"lodash-es": "^4.17.21",
|
|
28
27
|
"yummies": "^4.0.0"
|
|
29
28
|
},
|
|
30
29
|
"devDependencies": {
|
|
31
|
-
"@types/lodash-es": "^4.17.12",
|
|
32
30
|
"commitfmt": "^1.0.0",
|
|
33
31
|
"eslint": "^8.57.1",
|
|
34
32
|
"js2me-eslint-config": "^1.0.7",
|