@rolster/react-forms 18.4.2 → 18.6.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,5 +1,5 @@
1
1
  import { createFormGroupOptions } from '@rolster/forms/arguments';
2
- import { controlsAllChecked, controlsPartialChecked, controlsToState, groupIsValid } from '@rolster/forms/helpers';
2
+ import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';
3
3
  import { v4 as uuid } from 'uuid';
4
4
  import { RolsterArrayControl } from './form-array-control.hook';
5
5
  export class RolsterArrayGroup {
@@ -23,7 +23,7 @@ export class RolsterArrayGroup {
23
23
  this.pristine = !this.dirty;
24
24
  this.pristineAll = !this.dirtyAll;
25
25
  this.wrong = this.touched && this.invalid;
26
- this.state = controlsToState(controls);
26
+ this.value = controlsToValue(controls);
27
27
  const subscriber = (options) => {
28
28
  this.update({
29
29
  controls: Object.entries(this.controls).reduce((controls, [key, control]) => {
@@ -1,32 +1,32 @@
1
1
  import { createFormArrayOptions } from '@rolster/forms/arguments';
2
- import { arrayIsValid, controlsToState, groupAllChecked, groupPartialChecked } from '@rolster/forms/helpers';
2
+ import { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked } from '@rolster/forms/helpers';
3
3
  import { useEffect, useRef, useState } from 'react';
4
4
  import { RolsterArrayGroup } from './form-array-group.hook';
5
5
  export function useFormArray(options, arrayValidators) {
6
6
  const arrayOptions = createFormArrayOptions(options, arrayValidators);
7
7
  const { validators } = arrayOptions;
8
8
  const groups = arrayOptions.groups || [];
9
- const [arrayState, setArrayState] = useState({
9
+ const [state, setState] = useState({
10
10
  controls: groups.map(({ controls }) => controls),
11
11
  disabled: false,
12
12
  groups,
13
- state: groups.map(({ controls }) => controlsToState(controls)),
13
+ value: groups.map(({ controls }) => controlsToValue(controls)),
14
14
  validators
15
15
  });
16
16
  const currentState = useRef(groups);
17
17
  useEffect(() => {
18
18
  const subscriber = (options) => {
19
- setArrayState((state) => ({
19
+ setState((state) => ({
20
20
  ...state,
21
- groups: arrayState.groups.map((group) => group.uuid === options.uuid
21
+ groups: state.groups.map((group) => group.uuid === options.uuid
22
22
  ? new RolsterArrayGroup(options)
23
23
  : group)
24
24
  }));
25
25
  };
26
- arrayState.groups.forEach((group) => {
26
+ state.groups.forEach((group) => {
27
27
  group.subscribe(subscriber);
28
28
  });
29
- }, [arrayState]);
29
+ }, [state]);
30
30
  const errors = validators ? arrayIsValid({ groups, validators }) : [];
31
31
  const error = errors[0];
32
32
  const valid = errors.length === 0 && groupAllChecked(groups, 'valid');
@@ -35,44 +35,44 @@ export function useFormArray(options, arrayValidators) {
35
35
  const touched = groupPartialChecked(groups, 'touched');
36
36
  const touchedAll = groupAllChecked(groups, 'touched');
37
37
  function disable() {
38
- setArrayState((state) => ({ ...state, disabled: true }));
38
+ setState((state) => ({ ...state, disabled: true }));
39
39
  }
40
40
  function enable() {
41
- setArrayState((state) => ({ ...state, disabled: false }));
41
+ setState((state) => ({ ...state, disabled: false }));
42
42
  }
43
43
  function setGroups(groups) {
44
- setArrayState((currentState) => ({
44
+ setState((currentState) => ({
45
45
  ...currentState,
46
46
  groups,
47
47
  controls: groups.map(({ controls }) => controls),
48
- state: groups.map(({ controls }) => controlsToState(controls))
48
+ value: groups.map(({ controls }) => controlsToValue(controls))
49
49
  }));
50
50
  }
51
51
  function push(group) {
52
- setGroups([...arrayState.groups, group]);
52
+ setGroups([...state.groups, group]);
53
53
  }
54
54
  function merge(groups) {
55
- setGroups([...arrayState.groups, ...groups]);
55
+ setGroups([...state.groups, ...groups]);
56
56
  }
57
57
  function set(groups) {
58
58
  setGroups(groups);
59
59
  }
60
60
  function remove({ uuid }) {
61
- setGroups(arrayState.groups.filter((group) => group.uuid !== uuid));
61
+ setGroups(state.groups.filter((group) => group.uuid !== uuid));
62
62
  }
63
63
  function reset() {
64
64
  setGroups(currentState.current);
65
65
  }
66
66
  function setValidators(validators) {
67
- setArrayState((state) => ({ ...state, validators }));
67
+ setState((state) => ({ ...state, validators }));
68
68
  }
69
69
  return {
70
- ...arrayState,
70
+ ...state,
71
71
  dirty,
72
72
  dirtyAll,
73
73
  disable,
74
74
  enable,
75
- enabled: !arrayState.disabled,
75
+ enabled: !state.disabled,
76
76
  error,
77
77
  errors,
78
78
  invalid: !valid,
@@ -1 +1 @@
1
- {"version":3,"file":"form-array.hook.js","sourceRoot":"","sources":["../../../src/form-array/form-array.hook.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAgC5D,MAAM,UAAU,YAAY,CAK1B,OAA6D,EAC7D,eAA0C;IAE1C,MAAM,YAAY,GAAG,sBAAsB,CAKzC,OAAO,EAAE,eAAe,CAAC,CAAC;IAE5B,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;IAEzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAsB;QAChE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;QAChD,QAAQ,EAAE,KAAK;QACf,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9D,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAA+B,CAAC,OAAO,EAAE,EAAE;YACzD,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxB,GAAG,KAAK;gBACR,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACtC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;oBACzB,CAAC,CAAC,IAAI,iBAAiB,CAAO,OAAO,CAAC;oBACtC,CAAC,CAAC,KAAK,CACH;aACT,CAAC,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtE,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEtD,SAAS,OAAO;QACd,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,MAAM;QACb,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,SAAS,SAAS,CAAC,MAAW;QAC5B,aAAa,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,YAAY;YACf,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,SAAS,IAAI,CAAC,KAAQ;QACpB,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,KAAK,CAAC,MAAW;QACxB,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,GAAG,CAAC,MAAW;QACtB,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,MAAM,CAAC,EAAE,IAAI,EAAK;QACzB,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,KAAK;QACZ,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,aAAa,CAAC,UAAqC;QAC1D,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACL,GAAG,UAAU;QACb,KAAK;QACL,QAAQ;QACR,OAAO;QACP,MAAM;QACN,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ;QAC7B,KAAK;QACL,MAAM;QACN,OAAO,EAAE,CAAC,KAAK;QACf,KAAK;QACL,QAAQ,EAAE,CAAC,KAAK;QAChB,WAAW,EAAE,CAAC,QAAQ;QACtB,IAAI;QACJ,MAAM;QACN,KAAK;QACL,GAAG;QACH,aAAa;QACb,OAAO;QACP,UAAU;QACV,SAAS,EAAE,CAAC,OAAO;QACnB,YAAY,EAAE,CAAC,UAAU;QACzB,KAAK;QACL,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"form-array.hook.js","sourceRoot":"","sources":["../../../src/form-array/form-array.hook.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAgC5D,MAAM,UAAU,YAAY,CAK1B,OAA6D,EAC7D,eAA0C;IAE1C,MAAM,YAAY,GAAG,sBAAsB,CAKzC,OAAO,EAAE,eAAe,CAAC,CAAC;IAE5B,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;IAEzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAsB;QACtD,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;QAChD,QAAQ,EAAE,KAAK;QACf,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9D,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAA+B,CAAC,OAAO,EAAE,EAAE;YACzD,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnB,GAAG,KAAK;gBACR,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;oBACzB,CAAC,CAAC,IAAI,iBAAiB,CAAO,OAAO,CAAC;oBACtC,CAAC,CAAC,KAAK,CACH;aACT,CAAC,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtE,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEtD,SAAS,OAAO;QACd,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,MAAM;QACb,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,SAAS,SAAS,CAAC,MAAW;QAC5B,QAAQ,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,YAAY;YACf,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,SAAS,IAAI,CAAC,KAAQ;QACpB,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,KAAK,CAAC,MAAW;QACxB,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,GAAG,CAAC,MAAW;QACtB,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,MAAM,CAAC,EAAE,IAAI,EAAK;QACzB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,SAAS,KAAK;QACZ,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,aAAa,CAAC,UAAqC;QAC1D,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,KAAK;QACL,QAAQ;QACR,OAAO;QACP,MAAM;QACN,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ;QACxB,KAAK;QACL,MAAM;QACN,OAAO,EAAE,CAAC,KAAK;QACf,KAAK;QACL,QAAQ,EAAE,CAAC,KAAK;QAChB,WAAW,EAAE,CAAC,QAAQ;QACtB,IAAI;QACJ,MAAM;QACN,KAAK;QACL,GAAG;QACH,aAAa;QACb,OAAO;QACP,UAAU;QACV,SAAS,EAAE,CAAC,OAAO;QACnB,YAAY,EAAE,CAAC,UAAU;QACzB,KAAK;QACL,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC"}
@@ -5,17 +5,17 @@ interface ReactControlOptions<T = any> extends FormControlOptions<T> {
5
5
  touched?: boolean;
6
6
  }
7
7
  type ReactStateOptions<T> = Omit<ReactControlOptions<T>, 'validators'>;
8
- type ReactValidatorsOptions<T> = Omit<ReactControlOptions<T>, 'state'>;
8
+ type ReactValidatorsOptions<T> = Omit<ReactControlOptions<T>, 'value'>;
9
9
  export declare function useReactControl<E extends HTMLElement, T>(): ReactFormControl<E, T | undefined>;
10
10
  export declare function useReactControl<E extends HTMLElement, T>(options: ReactStateOptions<T>): ReactFormControl<E, T>;
11
11
  export declare function useReactControl<E extends HTMLElement, T>(options: ReactValidatorsOptions<T>): ReactFormControl<E, T | undefined>;
12
- export declare function useReactControl<E extends HTMLElement, T>(state: T, validators?: ValidatorFn<T>[]): ReactFormControl<E, T>;
12
+ export declare function useReactControl<E extends HTMLElement, T>(value: T, validators?: ValidatorFn<T>[]): ReactFormControl<E, T>;
13
13
  export declare function useFormControl<T>(): ReactHtmlControl<T | undefined>;
14
14
  export declare function useFormControl<T>(options: ReactStateOptions<T>): ReactHtmlControl<T>;
15
15
  export declare function useFormControl<T>(options: ReactValidatorsOptions<T>): ReactHtmlControl<T | undefined>;
16
- export declare function useFormControl<T>(state: T, validators?: ValidatorFn<T>[]): ReactHtmlControl<T>;
16
+ export declare function useFormControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactHtmlControl<T>;
17
17
  export declare function useInputControl<T>(): ReactInputControl<T | undefined>;
18
18
  export declare function useInputControl<T>(options: ReactStateOptions<T>): ReactInputControl<T>;
19
19
  export declare function useInputControl<T>(options: ReactValidatorsOptions<T>): ReactInputControl<T | undefined>;
20
- export declare function useInputControl<T>(state: T, validators?: ValidatorFn<T>[]): ReactInputControl<T>;
20
+ export declare function useInputControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactInputControl<T>;
21
21
  export {};
@@ -2,77 +2,73 @@ import { createFormControlOptions } from '@rolster/forms/arguments';
2
2
  import { controlIsValid } from '@rolster/forms/helpers';
3
3
  import { useRef, useState } from 'react';
4
4
  function useControl(controlOptions, controlValidators) {
5
- const { state, touched, validators } = createFormControlOptions(controlOptions, controlValidators);
6
- const [controlState, setControlState] = useState({
5
+ const { value, touched, validators } = createFormControlOptions(controlOptions, controlValidators);
6
+ const [state, setState] = useState({
7
7
  dirty: false,
8
8
  disabled: false,
9
9
  focused: false,
10
- state: state,
11
10
  touched: !!touched,
12
- validators: validators
11
+ validators,
12
+ value
13
13
  });
14
- const initialState = useRef(state);
14
+ const initialValue = useRef(value);
15
15
  const elementRef = useRef(null);
16
- const errors = controlState.validators
16
+ const errors = state.validators
17
17
  ? controlIsValid({
18
- state: controlState.state,
19
- validators: controlState.validators
18
+ value: state.value,
19
+ validators: state.validators
20
20
  })
21
21
  : [];
22
22
  const valid = errors.length === 0;
23
23
  function focus() {
24
- setControlState((state) => ({ ...state, focused: true }));
24
+ setState((state) => ({ ...state, focused: true }));
25
25
  }
26
26
  function blur() {
27
- setControlState((state) => ({ ...state, focused: false, touched: true }));
27
+ setState((state) => ({ ...state, focused: false, touched: true }));
28
28
  }
29
29
  function disable() {
30
- setControlState((state) => ({ ...state, disabled: true }));
30
+ setState((state) => ({ ...state, disabled: true }));
31
31
  }
32
32
  function enable() {
33
- setControlState((state) => ({ ...state, disabled: false }));
33
+ setState((state) => ({ ...state, disabled: false }));
34
34
  }
35
35
  function touch() {
36
- setControlState((state) => ({ ...state, touched: true }));
36
+ setState((state) => ({ ...state, touched: true }));
37
37
  }
38
- function setState(state) {
39
- setControlState((currentState) => ({
40
- ...currentState,
41
- dirty: true,
42
- state
43
- }));
38
+ function setValue(value) {
39
+ setState((state) => ({ ...state, dirty: true, value }));
44
40
  }
45
41
  function setValidators(validators) {
46
- setControlState((state) => ({ ...state, validators }));
42
+ setState((state) => ({ ...state, validators }));
47
43
  }
48
44
  function reset() {
49
- setControlState((currentState) => ({
50
- ...currentState,
45
+ setState((state) => ({
46
+ ...state,
51
47
  dirty: false,
52
- state: initialState.current,
48
+ value: initialValue.current,
53
49
  touched: false
54
50
  }));
55
51
  }
56
52
  return {
57
- ...controlState,
53
+ ...state,
58
54
  blur,
59
55
  disable,
60
56
  elementRef,
61
57
  enable,
62
- enabled: !controlState.disabled,
58
+ enabled: !state.disabled,
63
59
  error: errors[0],
64
60
  errors,
65
61
  focus,
66
62
  invalid: !valid,
67
- pristine: !controlState.dirty,
63
+ pristine: !state.dirty,
68
64
  reset,
69
- setState,
70
65
  setValidators,
66
+ setValue,
71
67
  touch,
72
- unfocused: !controlState.focused,
73
- untouched: !controlState.touched,
68
+ unfocused: !state.focused,
69
+ untouched: !state.touched,
74
70
  valid,
75
- wrong: controlState.touched && !valid
71
+ wrong: state.touched && !valid
76
72
  };
77
73
  }
78
74
  export function useReactControl(options, validators) {
@@ -1 +1 @@
1
- {"version":3,"file":"form-control.hook.js","sourceRoot":"","sources":["../../src/form-control.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-control.hook.js","sourceRoot":"","sources":["../../src/form-control.hook.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { createFormGroupOptions } from '@rolster/forms/arguments';
2
- import { controlsAllChecked, controlsPartialChecked, controlsToState, groupIsValid } from '@rolster/forms/helpers';
2
+ import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';
3
3
  import { useState } from 'react';
4
4
  export function useFormGroup(options, groupValidators) {
5
5
  const groupOptions = createFormGroupOptions(options, groupValidators);
@@ -7,7 +7,7 @@ export function useFormGroup(options, groupValidators) {
7
7
  const { controls } = groupOptions;
8
8
  const errors = validators ? groupIsValid({ controls, validators }) : [];
9
9
  const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');
10
- const state = controlsToState(controls);
10
+ const value = controlsToValue(controls);
11
11
  const dirty = controlsPartialChecked(controls, 'dirty');
12
12
  const dirtyAll = controlsAllChecked(controls, 'dirty');
13
13
  const touched = controlsPartialChecked(controls, 'touched');
@@ -28,12 +28,12 @@ export function useFormGroup(options, groupValidators) {
28
28
  pristineAll: !dirtyAll,
29
29
  reset,
30
30
  setValidators,
31
- state,
32
31
  touched,
33
32
  touchedAll,
34
33
  untouched: !touched,
35
34
  untouchedAll: !touchedAll,
36
35
  valid,
36
+ value,
37
37
  wrong: touched && !valid
38
38
  };
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"form-group.hook.js","sourceRoot":"","sources":["../../src/form-group.hook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAUjC,MAAM,UAAU,YAAY,CAC1B,OAAgC,EAChC,eAAuC;IAEvC,MAAM,YAAY,GAAG,sBAAsB,CACzC,OAAO,EACP,eAAe,CAChB,CAAC;IAEF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAEtE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE3D,SAAS,KAAK;QACZ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,MAAM;QACN,OAAO,EAAE,CAAC,KAAK;QACf,QAAQ,EAAE,CAAC,KAAK;QAChB,WAAW,EAAE,CAAC,QAAQ;QACtB,KAAK;QACL,aAAa;QACb,KAAK;QACL,OAAO;QACP,UAAU;QACV,SAAS,EAAE,CAAC,OAAO;QACnB,YAAY,EAAE,CAAC,UAAU;QACzB,KAAK;QACL,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"form-group.hook.js","sourceRoot":"","sources":["../../src/form-group.hook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAUjC,MAAM,UAAU,YAAY,CAC1B,OAAgC,EAChC,eAAuC;IAEvC,MAAM,YAAY,GAAG,sBAAsB,CACzC,OAAO,EACP,eAAe,CAChB,CAAC;IAEF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAEtE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE3D,SAAS,KAAK;QACZ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,MAAM;QACN,OAAO,EAAE,CAAC,KAAK;QACf,QAAQ,EAAE,CAAC,KAAK;QAChB,WAAW,EAAE,CAAC,QAAQ;QACtB,KAAK;QACL,aAAa;QACb,OAAO;QACP,UAAU;QACV,SAAS,EAAE,CAAC,OAAO;QACnB,YAAY,EAAE,CAAC,UAAU;QACzB,KAAK;QACL,KAAK;QACL,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC"}
@@ -21,7 +21,7 @@ export function useTextRefControl(options, validators) {
21
21
  return useInputRefControl({
22
22
  ...createFormControlOptions(options, validators),
23
23
  setValue: (control, value) => {
24
- control.setState(value);
24
+ control.setValue(value);
25
25
  }
26
26
  });
27
27
  }
@@ -29,7 +29,7 @@ export function useNumberRefControl(options, validators) {
29
29
  return useInputRefControl({
30
30
  ...createFormControlOptions(options, validators),
31
31
  setValue: (control, value) => {
32
- control.setState(+value);
32
+ control.setValue(+value);
33
33
  }
34
34
  });
35
35
  }
@@ -4,12 +4,15 @@ import { RefObject } from 'react';
4
4
  export interface ReactFormControl<E extends HTMLElement = HTMLElement, T = any> extends AbstractFormControl<T> {
5
5
  elementRef?: RefObject<E>;
6
6
  }
7
+ export type ReactFormControlEmpty<E extends HTMLElement = HTMLElement, T = any> = ReactFormControl<E, T | undefined>;
7
8
  export type ReactHtmlControl<T = any> = ReactFormControl<HTMLElement, T>;
9
+ export type ReactHtmlControlEmpty<T = any> = ReactFormControlEmpty<HTMLElement, T>;
8
10
  export type ReactInputControl<T = any> = ReactFormControl<HTMLInputElement, T>;
11
+ export type ReactInputControlEmpty<T = any> = ReactFormControlEmpty<HTMLInputElement, T>;
9
12
  export type ReactControls<T extends ReactFormControl = ReactFormControl> = AbstractControls<T>;
10
13
  export type ReactGroup<C extends ReactControls = ReactControls> = AbstractFormGroup<C>;
11
14
  export interface ReactArrayControlOptions<T = any> extends FormArrayControlOptions<T> {
12
- initialState: T;
15
+ initialValue: T;
13
16
  dirty?: boolean;
14
17
  disabled?: boolean;
15
18
  focused?: boolean;
@@ -21,8 +24,11 @@ export interface ReactArrayControl<E extends HTMLElement = HTMLElement, T = any>
21
24
  elementRef?: RefObject<E>;
22
25
  validators?: ValidatorFn<T>[];
23
26
  }
27
+ export type ReactArrayControlEmpty<E extends HTMLElement = HTMLElement, T = any> = ReactArrayControl<E, T | undefined>;
24
28
  export type ReactHtmlArrayControl<T = any> = ReactArrayControl<HTMLElement, T>;
29
+ export type ReactHtmlArrayControlEmpty<T = any> = ReactArrayControlEmpty<HTMLElement, T>;
25
30
  export type ReactInputArrayControl<T = any> = ReactArrayControl<HTMLInputElement, T>;
31
+ export type ReactInputArrayControlEmpty<T = any> = ReactArrayControlEmpty<HTMLInputElement, T>;
26
32
  export type ReactArrayControls<T extends ReactArrayControl = ReactArrayControl> = AbstractArrayControls<T>;
27
33
  export type ReactSubscriberGroup<C extends ReactArrayControls = ReactArrayControls, R = any> = (options: FormArrayGroupOptions<C, R>) => void;
28
34
  export interface ReactArrayGroup<C extends ReactArrayControls, R = any> extends AbstractArrayGroup<C, R> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolster/react-forms",
3
- "version": "18.4.2",
3
+ "version": "18.6.0",
4
4
  "description": "It implements a set of classes that allow managing the control of states of the input components in React",
5
5
  "module": "dist/esm/index.js",
6
6
  "main": "dist/cjs/index.js",
@@ -26,17 +26,16 @@
26
26
  "prepublishOnly": "npm run build"
27
27
  },
28
28
  "dependencies": {
29
- "@rolster/forms": "^2.4.2",
29
+ "@rolster/forms": "^2.6.0",
30
30
  "@rolster/validators": "^1.0.5",
31
+ "react": "^18.2.0",
31
32
  "uuid": "^9.0.1"
32
33
  },
33
- "peerDependencies": {
34
- "react": "^18.2.0"
35
- },
36
34
  "devDependencies": {
37
35
  "@rollup/plugin-commonjs": "^25.0.4",
38
36
  "@rollup/plugin-node-resolve": "^15.2.1",
39
37
  "@rollup/plugin-typescript": "^11.1.3",
38
+ "@rolster/rollup": "^1.0.6",
40
39
  "@rolster/types": "^1.0.9",
41
40
  "@types/jest": "^29.5.1",
42
41
  "@types/react": "^18.2.42",
@@ -52,7 +51,7 @@
52
51
  },
53
52
  "repository": {
54
53
  "type": "git",
55
- "url": "https://github.com/rolster-developments/typescript-react-forms.git"
54
+ "url": "https://github.com/rolster-developments/react-forms.git"
56
55
  },
57
56
  "keywords": [
58
57
  "rolster",