mobx-react-hook-form 0.0.3 → 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.
@@ -1,15 +1,17 @@
1
1
  import { Disposable, IDisposer } from 'disposer-util';
2
2
  import { FormState, UseFormProps, UseFormReturn } from 'react-hook-form';
3
- import { AnyObject } from 'yammies/utils/types';
3
+ import { AnyObject, Maybe } from 'yammies/utils/types';
4
4
  import { ConnectedMobxForm, MobxFormParams } from './mobx-form.types';
5
5
  export declare class MobxForm<TFieldValues extends AnyObject, TContext = any> implements Disposable {
6
6
  disposer: IDisposer;
7
7
  protected RHFParams: UseFormProps<TFieldValues, TContext>;
8
8
  protected submitHandler?: MobxFormParams<TFieldValues, TContext>['onSubmit'];
9
9
  protected submitErrorHandler?: MobxFormParams<TFieldValues, TContext>['onSubmitFailed'];
10
- protected cancelHandler?: MobxFormParams<TFieldValues, TContext>['onCancel'];
10
+ protected resetHandler?: MobxFormParams<TFieldValues, TContext>['onReset'];
11
+ form: Maybe<UseFormReturn<TFieldValues, TContext>>;
11
12
  state: FormState<TFieldValues>;
12
- constructor({ disposer, onSubmit, onSubmitFailed, onCancel, ...RHFParams }: MobxFormParams<TFieldValues, TContext>);
13
+ data: Maybe<TFieldValues>;
14
+ constructor({ disposer, onSubmit, onSubmitFailed, onReset, ...RHFParams }: MobxFormParams<TFieldValues, TContext>);
13
15
  getRHFParams(): Partial<{
14
16
  mode: import("react-hook-form").Mode;
15
17
  disabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"mobx-form.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,qBAAa,QAAQ,CAAC,YAAY,SAAS,SAAS,EAAE,QAAQ,GAAG,GAAG,CAClE,YAAW,UAAU;IAErB,QAAQ,EAAE,SAAS,CAAC;IAEpB,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAE1D,SAAS,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7E,SAAS,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAC3C,YAAY,EACZ,QAAQ,CACT,CAAC,gBAAgB,CAAC,CAAC;IACpB,SAAS,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAE7E,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;gBAEnB,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;IA6BzC,YAAY;;;;;;;;;;;;;;;;;IAIZ,UAAU,CACR,UAAU,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,GAChD,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC;IAe5C,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"mobx-form.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,qBAAa,QAAQ,CAAC,YAAY,SAAS,SAAS,EAAE,QAAQ,GAAG,GAAG,CAClE,YAAW,UAAU;IAErB,QAAQ,EAAE,SAAS,CAAC;IAEpB,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAE1D,SAAS,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7E,SAAS,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAC3C,YAAY,EACZ,QAAQ,CACT,CAAC,gBAAgB,CAAC,CAAC;IACpB,SAAS,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;IAE3E,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnD,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAE/B,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAEd,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,OAAO,EACP,GAAG,SAAS,EACb,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;IA8BzC,YAAY;;;;;;;;;;;;;;;;;IAIZ,UAAU,CACR,UAAU,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,GAChD,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC;IAiB5C,OAAO,IAAI,IAAI;CAMhB"}
@@ -1,14 +1,16 @@
1
1
  import { Disposer } from 'disposer-util';
2
+ import noop from 'lodash-es/noop';
2
3
  import { makeObservable, observable, runInAction } from 'mobx';
3
- import { noop } from 'mobx/dist/internal';
4
4
  export class MobxForm {
5
5
  disposer;
6
6
  RHFParams;
7
7
  submitHandler;
8
8
  submitErrorHandler;
9
- cancelHandler;
9
+ resetHandler;
10
+ form;
10
11
  state;
11
- constructor({ disposer, onSubmit, onSubmitFailed, onCancel, ...RHFParams }) {
12
+ data;
13
+ constructor({ disposer, onSubmit, onSubmitFailed, onReset, ...RHFParams }) {
12
14
  this.disposer = disposer ?? new Disposer();
13
15
  this.state = {
14
16
  disabled: false,
@@ -28,10 +30,11 @@ export class MobxForm {
28
30
  };
29
31
  this.submitHandler = onSubmit;
30
32
  this.submitErrorHandler = onSubmitFailed;
31
- this.cancelHandler = onCancel;
33
+ this.resetHandler = onReset;
32
34
  this.RHFParams = RHFParams;
33
35
  makeObservable(this, {
34
36
  state: observable.deep,
37
+ data: observable.deep,
35
38
  });
36
39
  }
37
40
  getRHFParams() {
@@ -39,15 +42,19 @@ export class MobxForm {
39
42
  }
40
43
  connectRHF(formResult) {
41
44
  runInAction(() => {
45
+ this.form = formResult;
42
46
  this.state = formResult.formState;
47
+ this.data = formResult.getValues();
43
48
  });
44
49
  return {
45
50
  ...formResult,
46
- onCancel: this.cancelHandler ?? noop,
51
+ onReset: this.resetHandler ?? noop,
47
52
  onSubmit: formResult.handleSubmit(this.submitHandler ?? noop, this.submitErrorHandler),
48
53
  };
49
54
  }
50
55
  dispose() {
51
56
  this.disposer.dispose();
57
+ this.form = null;
58
+ this.data = null;
52
59
  }
53
60
  }
@@ -5,10 +5,10 @@ export interface MobxFormParams<TFieldValues extends AnyObject, TContext = any>
5
5
  disposer?: IDisposer;
6
6
  onSubmit?: SubmitHandler<TFieldValues>;
7
7
  onSubmitFailed?: SubmitErrorHandler<TFieldValues>;
8
- onCancel?: VoidFunction;
8
+ onReset?: VoidFunction;
9
9
  }
10
10
  export interface ConnectedMobxForm<TFieldValues extends AnyObject, TContext = any> extends Omit<UseFormReturn<TFieldValues, TContext>, 'handleSubmit'> {
11
11
  onSubmit: VoidFunction;
12
- onCancel: VoidFunction;
12
+ onReset: VoidFunction;
13
13
  }
14
14
  //# sourceMappingURL=mobx-form.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobx-form.types.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,WAAW,cAAc,CAAC,YAAY,SAAS,SAAS,EAAE,QAAQ,GAAG,GAAG,CAC5E,SAAQ,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC;IAC5C,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB,CAChC,YAAY,SAAS,SAAS,EAC9B,QAAQ,GAAG,GAAG,CACd,SAAQ,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnE,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;CACxB"}
1
+ {"version":3,"file":"mobx-form.types.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,WAAW,cAAc,CAAC,YAAY,SAAS,SAAS,EAAE,QAAQ,GAAG,GAAG,CAC5E,SAAQ,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC;IAC5C,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB,CAChC,YAAY,SAAS,SAAS,EAC9B,QAAQ,GAAG,GAAG,CACd,SAAQ,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnE,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-react-hook-form",
3
- "version": "0.0.3",
3
+ "version": "1.0.0",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "clean": "rimraf dist",
@@ -23,9 +23,11 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "disposer-util": "^1.0.11",
26
+ "lodash-es": "^4.17.21",
26
27
  "yammies": "^2.0.8"
27
28
  },
28
29
  "devDependencies": {
30
+ "@types/lodash-es": "4.17.12",
29
31
  "eslint": "8.57.0",
30
32
  "js2me-eslint-config": "1.0.4",
31
33
  "js2me-exports-post-build-script": "1.0.1",