@rolster/react-forms 18.8.1 → 18.9.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,53 +1,55 @@
1
- import { createFormGroupOptions } from '@rolster/forms/arguments';
2
- import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';
3
- import { v4 as uuid } from 'uuid';
4
- export class RolsterArrayGroup {
5
- constructor(options) {
6
- const { controls, resource, uuid, validators } = options;
7
- this.uuid = uuid;
8
- this.controls = controls;
9
- this.validators = validators;
10
- this.resource = resource;
11
- this.errors = validators ? groupIsValid({ controls, validators }) : [];
12
- this.error = this.errors[0];
13
- this.valid =
14
- this.errors.length === 0 && controlsAllChecked(controls, 'valid');
15
- this.invalid = !this.valid;
16
- this.dirty = controlsPartialChecked(controls, 'dirty');
17
- this.dirtyAll = controlsAllChecked(controls, 'dirty');
18
- this.touched = controlsPartialChecked(controls, 'touched');
19
- this.touchedAll = controlsAllChecked(controls, 'touched');
20
- this.untouched = !this.touched;
21
- this.untouchedAll = !this.touchedAll;
22
- this.pristine = !this.dirty;
23
- this.pristineAll = !this.dirtyAll;
24
- this.wrong = this.touched && this.invalid;
25
- this.value = controlsToValue(controls);
26
- const subscriber = (options) => {
27
- this.update({
28
- controls: Object.entries(this.controls).reduce((controls, [key, control]) => {
29
- controls[key] =
30
- control.uuid === options.uuid ? control.clone(options) : control;
31
- return controls;
32
- }, {})
33
- });
34
- };
35
- Object.values(controls).forEach((control) => {
36
- control.subscribe(subscriber);
37
- });
38
- }
39
- setValidators(validators) {
40
- this.update({ validators });
41
- }
42
- subscribe(subscriber) {
43
- this.subscriber = subscriber;
44
- }
45
- update(changes) {
46
- this.subscriber && this.subscriber({ ...this, ...changes });
47
- }
48
- }
49
- export function formArrayGroup(options, validators) {
50
- const groupOptions = createFormGroupOptions(options, validators);
51
- return new RolsterArrayGroup({ ...groupOptions, uuid: uuid() });
52
- }
1
+ import { createFormGroupOptions } from '@rolster/forms/arguments';
2
+ import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';
3
+ import { v4 as uuid } from 'uuid';
4
+ export class RolsterArrayGroup {
5
+ constructor(options) {
6
+ const { controls, resource, uuid, validators } = options;
7
+ this.uuid = uuid;
8
+ this.controls = controls;
9
+ this.validators = validators;
10
+ this.resource = resource;
11
+ this.errors = validators ? groupIsValid({ controls, validators }) : [];
12
+ this.error = this.errors[0];
13
+ this.valid =
14
+ this.errors.length === 0 && controlsAllChecked(controls, 'valid');
15
+ this.invalid = !this.valid;
16
+ this.dirty = controlsPartialChecked(controls, 'dirty');
17
+ this.dirtyAll = controlsAllChecked(controls, 'dirty');
18
+ this.touched = controlsPartialChecked(controls, 'touched');
19
+ this.touchedAll = controlsAllChecked(controls, 'touched');
20
+ this.untouched = !this.touched;
21
+ this.untouchedAll = !this.touchedAll;
22
+ this.pristine = !this.dirty;
23
+ this.pristineAll = !this.dirtyAll;
24
+ this.wrong = this.touched && this.invalid;
25
+ this.value = controlsToValue(controls);
26
+ const subscriber = (options) => {
27
+ this.refresh({
28
+ controls: Object.entries(this.controls).reduce((controls, [key, control]) => {
29
+ controls[key] =
30
+ control.uuid === options.uuid ? control.clone(options) : control;
31
+ return controls;
32
+ }, {})
33
+ });
34
+ };
35
+ Object.values(controls).forEach((control) => {
36
+ control.subscribe(subscriber);
37
+ });
38
+ }
39
+ setValidators(validators) {
40
+ this.refresh({ validators });
41
+ }
42
+ subscribe(subscriber) {
43
+ this.subscriber = subscriber;
44
+ }
45
+ refresh(changes) {
46
+ this.subscriber && this.subscriber({ ...this, ...changes });
47
+ }
48
+ }
49
+ export function formArrayGroup(options, validators) {
50
+ return new RolsterArrayGroup({
51
+ ...createFormGroupOptions(options, validators),
52
+ uuid: uuid()
53
+ });
54
+ }
53
55
  //# sourceMappingURL=form-array-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-array-group.js","sourceRoot":"","sources":["../../../src/form-array/form-array-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-array-group.js","sourceRoot":"","sources":["../../../src/form-array/form-array-group.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,26 @@
1
- import { ArrayControlsValue, ArrayListValueToControls } from '@rolster/forms';
2
- import { ValidatorFn } from '@rolster/validators';
3
- import { ReactArrayControls, ReactArrayList, ReactArrayListOptions } from '../types';
4
- import { RolsterReactArrayControl } from './form-array-control';
5
- export declare class RolsterArrayList<E extends HTMLElement = HTMLElement, C extends ReactArrayControls = ReactArrayControls> extends RolsterReactArrayControl<E, ArrayControlsValue<C>[]> implements ReactArrayList<C> {
6
- readonly controls: C[];
7
- readonly invalid: boolean;
8
- readonly valid: boolean;
9
- readonly wrong: boolean;
10
- protected valueToControls: ArrayListValueToControls<C>;
11
- constructor(options: ReactArrayListOptions<C>);
12
- push(value: ArrayControlsValue<C>): void;
13
- remove(controls: C): void;
14
- clone(options: ReactArrayListOptions<C>): RolsterArrayList<E, C>;
15
- protected refresh(changes: Partial<ReactArrayListOptions<C>>): void;
16
- private createControls;
17
- }
18
- interface ReactListOptions<C extends ReactArrayControls = ReactArrayControls> {
19
- valueToControls: ArrayListValueToControls<C>;
20
- touched?: boolean;
21
- validators?: ValidatorFn<ArrayControlsValue<C>[] | undefined>[];
22
- value?: ArrayControlsValue<C>[] | undefined;
23
- }
24
- export declare function formArrayList<C extends ReactArrayControls = ReactArrayControls>(options: ReactListOptions<C>): ReactArrayList<C>;
25
- export {};
1
+ import { ArrayControlsValue, ArrayListValueToControls } from '@rolster/forms';
2
+ import { ValidatorFn } from '@rolster/validators';
3
+ import { ReactArrayControls, ReactArrayList, ReactArrayListOptions } from '../types';
4
+ import { RolsterReactArrayControl } from './form-array-control';
5
+ type RolsterListOptions<C extends ReactArrayControls = ReactArrayControls> = Omit<ReactArrayListOptions<C>, 'value'>;
6
+ export declare class RolsterArrayList<E extends HTMLElement = HTMLElement, C extends ReactArrayControls = ReactArrayControls> extends RolsterReactArrayControl<E, ArrayControlsValue<C>[]> implements ReactArrayList<C> {
7
+ readonly controls: C[];
8
+ readonly invalid: boolean;
9
+ readonly valid: boolean;
10
+ readonly wrong: boolean;
11
+ protected valueToControls: ArrayListValueToControls<C>;
12
+ constructor(options: RolsterListOptions<C>);
13
+ setValue(value: ArrayControlsValue<C>[]): void;
14
+ clone(options: ReactArrayListOptions<C>): RolsterArrayList<E, C>;
15
+ push(controls: C): void;
16
+ remove(controls: C): void;
17
+ protected refresh(changes: Partial<ReactArrayListOptions<C>>): void;
18
+ private subscribeControls;
19
+ }
20
+ interface ReactListOptions<C extends ReactArrayControls = ReactArrayControls> {
21
+ touched?: boolean;
22
+ validators?: ValidatorFn<ArrayControlsValue<C>[] | undefined>[];
23
+ value?: ArrayControlsValue<C>[] | undefined;
24
+ }
25
+ export declare function formArrayList<C extends ReactArrayControls = ReactArrayControls>(valueToControls: ArrayListValueToControls<C>, options?: ReactListOptions<C>): ReactArrayList<C>;
26
+ export {};
@@ -1,61 +1,67 @@
1
- import { controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';
2
- import { v4 as uuid } from 'uuid';
3
- import { RolsterReactArrayControl } from './form-array-control';
4
- export class RolsterArrayList extends RolsterReactArrayControl {
5
- constructor(options) {
6
- super(options);
7
- this.valueToControls = options.valueToControls;
8
- this.controls = options.value.map((value) => this.createControls(value));
9
- this.valid =
10
- this.errors.length === 0 &&
11
- this.controls.reduce((valid, controls) => valid && controlsAllChecked(controls, 'valid'), true);
12
- this.invalid = !this.valid;
13
- this.wrong = this.touched && this.invalid;
14
- }
15
- push(value) {
16
- this.refresh({ value: [...this.value, value] });
17
- }
18
- remove(controls) {
19
- this.refresh({
20
- value: this.controls
21
- .filter((currentControls) => currentControls !== controls)
22
- .map((controls) => controlsToValue(controls))
23
- });
24
- }
25
- clone(options) {
26
- return new RolsterArrayList(options);
27
- }
28
- refresh(changes) {
29
- super.refresh(changes);
30
- }
31
- createControls(value) {
32
- const controls = this.valueToControls(value);
33
- Object.values(controls).forEach((control) => {
34
- control.subscribe((options) => {
35
- const value = this.controls
36
- .map((currentControls) => currentControls !== controls
37
- ? currentControls
38
- : Object.entries(controls).reduce((controls, [key, control]) => {
39
- controls[key] =
40
- control.uuid === options.uuid
41
- ? control.clone(options)
42
- : control;
43
- return controls;
44
- }, {}))
45
- .map((controls) => controlsToValue(controls));
46
- this.refresh({ value });
47
- });
48
- });
49
- return controls;
50
- }
51
- }
52
- export function formArrayList(options) {
53
- const value = options.value || [];
54
- return new RolsterArrayList({
55
- ...options,
56
- value,
57
- initialValue: value,
58
- uuid: uuid()
59
- });
60
- }
1
+ import { controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';
2
+ import { v4 as uuid } from 'uuid';
3
+ import { RolsterReactArrayControl } from './form-array-control';
4
+ export class RolsterArrayList extends RolsterReactArrayControl {
5
+ constructor(options) {
6
+ const value = options.controls.map((controls) => controlsToValue(controls));
7
+ super({ ...options, value });
8
+ this.valueToControls = options.valueToControls;
9
+ this.controls = options.controls;
10
+ this.valid =
11
+ this.errors.length === 0 &&
12
+ this.controls.reduce((valid, controls) => valid && controlsAllChecked(controls, 'valid'), true);
13
+ this.invalid = !this.valid;
14
+ this.wrong = this.touched && this.invalid;
15
+ options.controls.forEach((controls) => {
16
+ this.subscribeControls(controls);
17
+ });
18
+ }
19
+ setValue(value) {
20
+ this.refresh({
21
+ controls: value.map((value) => this.valueToControls(value))
22
+ });
23
+ }
24
+ clone(options) {
25
+ return new RolsterArrayList(options);
26
+ }
27
+ push(controls) {
28
+ this.refresh({
29
+ controls: [...this.controls, controls]
30
+ });
31
+ }
32
+ remove(controls) {
33
+ this.refresh({
34
+ controls: this.controls.filter((currentControls) => currentControls !== controls)
35
+ });
36
+ }
37
+ refresh(changes) {
38
+ super.refresh(changes);
39
+ }
40
+ subscribeControls(newControls) {
41
+ Object.values(newControls).forEach((control) => {
42
+ control.subscribe((options) => {
43
+ const controls = this.controls.map((currentControls) => currentControls !== newControls
44
+ ? currentControls
45
+ : Object.entries(newControls).reduce((controls, [key, control]) => {
46
+ controls[key] =
47
+ control.uuid === options.uuid
48
+ ? control.clone(options)
49
+ : control;
50
+ return controls;
51
+ }, {}));
52
+ this.refresh({ controls });
53
+ });
54
+ });
55
+ }
56
+ }
57
+ export function formArrayList(valueToControls, options) {
58
+ const value = options?.value || [];
59
+ return new RolsterArrayList({
60
+ ...options,
61
+ valueToControls,
62
+ controls: value.map((value) => valueToControls(value)),
63
+ initialValue: value,
64
+ uuid: uuid()
65
+ });
66
+ }
61
67
  //# sourceMappingURL=form-array-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-array-list.js","sourceRoot":"","sources":["../../../src/form-array/form-array-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAMlC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,OAAO,gBAIX,SAAQ,wBAAoD;IAa5D,YAAY,OAAiC;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAE/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAEzE,IAAI,CAAC,KAAK;YACR,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnE,IAAI,CACL,CAAC;QAEJ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;IAC5C,CAAC;IAEM,IAAI,CAAC,KAA4B;QACtC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,CAAC,QAAW;QACvB,IAAI,CAAC,OAAO,CAAC;YACX,KAAK,EAAE,IAAI,CAAC,QAAQ;iBACjB,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,QAAQ,CAAC;iBACzD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAiC;QAC5C,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAES,OAAO,CAAC,OAA0C;QAC1D,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAEO,cAAc,CAAC,KAA4B;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1C,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;qBACxB,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CACvB,eAAe,KAAK,QAAQ;oBAC1B,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE;wBAC1D,QAAgB,CAAC,GAAG,CAAC;4BACpB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;gCAC3B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;gCACxB,CAAC,CAAC,OAAO,CAAC;wBAEd,OAAO,QAAQ,CAAC;oBAClB,CAAC,EAAE,EAAO,CAAC,CAChB;qBACA,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEhD,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AASD,MAAM,UAAU,aAAa,CAE3B,OAA4B;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAElC,OAAO,IAAI,gBAAgB,CAAiB;QAC1C,GAAG,OAAO;QACV,KAAK;QACL,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE,IAAI,EAAE;KACb,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"form-array-list.js","sourceRoot":"","sources":["../../../src/form-array/form-array-list.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { FormArrayOptions, ValidatorArrayFn } from '@rolster/forms';
2
- import { ReactArrayControls, ReactArrayGroup, ReactFormArray } from '../types';
3
- export declare function useFormArray<C extends ReactArrayControls, R = any, G extends ReactArrayGroup<C, R> = ReactArrayGroup<C, R>>(): ReactFormArray<C, R, G>;
4
- export declare function useFormArray<C extends ReactArrayControls, R = any, G extends ReactArrayGroup<C, R> = ReactArrayGroup<C, R>>(options: FormArrayOptions<C, R, G>): ReactFormArray<C, R, G>;
5
- export declare function useFormArray<C extends ReactArrayControls, R = any, G extends ReactArrayGroup<C, R> = ReactArrayGroup<C, R>>(groups: ReactArrayGroup<C, R>[], validators?: ValidatorArrayFn<C, R>[]): ReactFormArray<C, R, G>;
1
+ import { FormArrayOptions, ValidatorArrayFn } from '@rolster/forms';
2
+ import { ReactArrayControls, ReactArrayGroup, ReactFormArray } from '../types';
3
+ export declare function useFormArray<C extends ReactArrayControls, R = any, G extends ReactArrayGroup<C, R> = ReactArrayGroup<C, R>>(): ReactFormArray<C, R, G>;
4
+ export declare function useFormArray<C extends ReactArrayControls, R = any, G extends ReactArrayGroup<C, R> = ReactArrayGroup<C, R>>(options: FormArrayOptions<C, R, G>): ReactFormArray<C, R, G>;
5
+ export declare function useFormArray<C extends ReactArrayControls, R = any, G extends ReactArrayGroup<C, R> = ReactArrayGroup<C, R>>(groups: ReactArrayGroup<C, R>[], validators?: ValidatorArrayFn<C, R>[]): ReactFormArray<C, R, G>;
@@ -1,101 +1,101 @@
1
- import { createFormArrayOptions } from '@rolster/forms/arguments';
2
- import { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';
3
- import { useEffect, useRef, useState } from 'react';
4
- import { RolsterArrayGroup } from './form-array-group';
5
- export function useFormArray(options, arrayValidators) {
6
- const arrayOptions = createFormArrayOptions(options, arrayValidators);
7
- const groups = arrayOptions.groups || [];
8
- const currentState = useRef(groups);
9
- const [state, setState] = useState({
10
- controls: groups.map(({ controls }) => controls),
11
- disabled: false,
12
- groups,
13
- value: groups.map(({ controls }) => controlsToValue(controls)),
14
- validators: arrayOptions.validators
15
- });
16
- const errors = state.validators
17
- ? arrayIsValid({ groups, validators: state.validators })
18
- : [];
19
- const error = errors[0];
20
- const valid = errors.length === 0 && groupAllChecked(state.groups, 'valid');
21
- const dirty = groupPartialChecked(state.groups, 'dirty');
22
- const dirtyAll = groupAllChecked(state.groups, 'dirty');
23
- const touched = groupPartialChecked(state.groups, 'touched');
24
- const touchedAll = groupAllChecked(state.groups, 'touched');
25
- useEffect(() => {
26
- const subscriber = (options) => {
27
- setGroups(state.groups.map((group) => group.uuid === options.uuid
28
- ? new RolsterArrayGroup(options)
29
- : group));
30
- };
31
- state.groups.forEach((group) => {
32
- group.subscribe(subscriber);
33
- });
34
- }, [state.groups]);
35
- function disable() {
36
- setState((state) => ({ ...state, disabled: true }));
37
- }
38
- function enable() {
39
- setState((state) => ({ ...state, disabled: false }));
40
- }
41
- function setGroups(groups) {
42
- setState((currentState) => ({
43
- ...currentState,
44
- groups,
45
- controls: groups.map(({ controls }) => controls),
46
- value: groups.map(({ controls }) => controlsToValue(controls))
47
- }));
48
- }
49
- function push(group) {
50
- setGroups([...state.groups, group]);
51
- }
52
- function merge(groups) {
53
- setGroups([...state.groups, ...groups]);
54
- }
55
- function set(groups) {
56
- setGroups(groups);
57
- }
58
- function remove({ uuid }) {
59
- setGroups(state.groups.filter((group) => group.uuid !== uuid));
60
- }
61
- function hasError(key) {
62
- return rolsterHasError(errors, key);
63
- }
64
- function someErrors(keys) {
65
- return rolsterSomeErrors(errors, keys);
66
- }
67
- function reset() {
68
- setGroups(currentState.current);
69
- }
70
- function setValidators(validators) {
71
- setState((state) => ({ ...state, validators }));
72
- }
73
- return {
74
- ...state,
75
- dirty,
76
- dirtyAll,
77
- disable,
78
- enable,
79
- enabled: !state.disabled,
80
- error,
81
- errors,
82
- hasError,
83
- invalid: !valid,
84
- merge,
85
- pristine: !dirty,
86
- pristineAll: !dirtyAll,
87
- push,
88
- remove,
89
- reset,
90
- set,
91
- setValidators,
92
- someErrors,
93
- touched,
94
- touchedAll,
95
- untouched: !touched,
96
- untouchedAll: !touchedAll,
97
- valid,
98
- wrong: touched && !valid
99
- };
100
- }
1
+ import { createFormArrayOptions } from '@rolster/forms/arguments';
2
+ import { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { RolsterArrayGroup } from './form-array-group';
5
+ export function useFormArray(options, arrayValidators) {
6
+ const arrayOptions = createFormArrayOptions(options, arrayValidators);
7
+ const groups = arrayOptions.groups || [];
8
+ const currentState = useRef(groups);
9
+ const [state, setState] = useState({
10
+ controls: groups.map(({ controls }) => controls),
11
+ disabled: false,
12
+ groups,
13
+ value: groups.map(({ controls }) => controlsToValue(controls)),
14
+ validators: arrayOptions.validators
15
+ });
16
+ const errors = state.validators
17
+ ? arrayIsValid({ groups, validators: state.validators })
18
+ : [];
19
+ const error = errors[0];
20
+ const valid = errors.length === 0 && groupAllChecked(state.groups, 'valid');
21
+ const dirty = groupPartialChecked(state.groups, 'dirty');
22
+ const dirtyAll = groupAllChecked(state.groups, 'dirty');
23
+ const touched = groupPartialChecked(state.groups, 'touched');
24
+ const touchedAll = groupAllChecked(state.groups, 'touched');
25
+ useEffect(() => {
26
+ const subscriber = (options) => {
27
+ setGroups(state.groups.map((group) => group.uuid === options.uuid
28
+ ? new RolsterArrayGroup(options)
29
+ : group));
30
+ };
31
+ state.groups.forEach((group) => {
32
+ group.subscribe(subscriber);
33
+ });
34
+ }, [state.groups]);
35
+ function disable() {
36
+ setState((state) => ({ ...state, disabled: true }));
37
+ }
38
+ function enable() {
39
+ setState((state) => ({ ...state, disabled: false }));
40
+ }
41
+ function setGroups(groups) {
42
+ setState((currentState) => ({
43
+ ...currentState,
44
+ groups,
45
+ controls: groups.map(({ controls }) => controls),
46
+ value: groups.map(({ controls }) => controlsToValue(controls))
47
+ }));
48
+ }
49
+ function push(group) {
50
+ setGroups([...state.groups, group]);
51
+ }
52
+ function merge(groups) {
53
+ setGroups([...state.groups, ...groups]);
54
+ }
55
+ function set(groups) {
56
+ setGroups(groups);
57
+ }
58
+ function remove({ uuid }) {
59
+ setGroups(state.groups.filter((group) => group.uuid !== uuid));
60
+ }
61
+ function hasError(key) {
62
+ return rolsterHasError(errors, key);
63
+ }
64
+ function someErrors(keys) {
65
+ return rolsterSomeErrors(errors, keys);
66
+ }
67
+ function reset() {
68
+ setGroups(currentState.current);
69
+ }
70
+ function setValidators(validators) {
71
+ setState((state) => ({ ...state, validators }));
72
+ }
73
+ return {
74
+ ...state,
75
+ dirty,
76
+ dirtyAll,
77
+ disable,
78
+ enable,
79
+ enabled: !state.disabled,
80
+ error,
81
+ errors,
82
+ hasError,
83
+ invalid: !valid,
84
+ merge,
85
+ pristine: !dirty,
86
+ pristineAll: !dirtyAll,
87
+ push,
88
+ remove,
89
+ reset,
90
+ set,
91
+ setValidators,
92
+ someErrors,
93
+ touched,
94
+ touchedAll,
95
+ untouched: !touched,
96
+ untouchedAll: !touchedAll,
97
+ valid,
98
+ wrong: touched && !valid
99
+ };
100
+ }
101
101
  //# sourceMappingURL=form-array.js.map
@@ -1,4 +1,4 @@
1
- export { formArrayControl, inputArrayControl, reactArrayControl } from './form-array-control';
2
- export { formArrayGroup } from './form-array-group';
3
- export { formArrayList } from './form-array-list';
4
- export { useFormArray } from './form-array';
1
+ export { formArrayControl, inputArrayControl, reactArrayControl } from './form-array-control';
2
+ export { formArrayGroup } from './form-array-group';
3
+ export { formArrayList } from './form-array-list';
4
+ export { useFormArray } from './form-array';
@@ -1,5 +1,5 @@
1
- export { formArrayControl, inputArrayControl, reactArrayControl } from './form-array-control';
2
- export { formArrayGroup } from './form-array-group';
3
- export { formArrayList } from './form-array-list';
4
- export { useFormArray } from './form-array';
1
+ export { formArrayControl, inputArrayControl, reactArrayControl } from './form-array-control';
2
+ export { formArrayGroup } from './form-array-group';
3
+ export { formArrayList } from './form-array-list';
4
+ export { useFormArray } from './form-array';
5
5
  //# sourceMappingURL=index.js.map
@@ -1,27 +1,27 @@
1
- import { FormControlOptions } from '@rolster/forms';
2
- import { ValidatorFn } from '@rolster/validators';
3
- import { ReactFormControl, ReactHtmlControl, ReactInputControl } from './types';
4
- interface ReactControlOptions<T = any> extends FormControlOptions<T> {
5
- touched?: boolean;
6
- }
7
- type ReactValueOptions<T> = Omit<ReactControlOptions<T>, 'validators'>;
8
- type ReactValidatorsOptions<T> = Omit<ReactControlOptions<T>, 'value'>;
9
- export declare function useReactControl<E extends HTMLElement, T>(): ReactFormControl<E, T | undefined>;
10
- export declare function useReactControl<E extends HTMLElement, T>(options: ReactValueOptions<T>): ReactFormControl<E, T>;
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>(options: ReactControlOptions<T>): ReactFormControl<E, T>;
13
- export declare function useReactControl<E extends HTMLElement, T>(value: undefined, validators?: ValidatorFn<T>[]): ReactFormControl<E, T | undefined>;
14
- export declare function useReactControl<E extends HTMLElement, T>(value: T, validators?: ValidatorFn<T>[]): ReactFormControl<E, T>;
15
- export declare function useFormControl<T>(): ReactHtmlControl<T | undefined>;
16
- export declare function useFormControl<T>(options: ReactValueOptions<T>): ReactHtmlControl<T>;
17
- export declare function useFormControl<T>(options: ReactValidatorsOptions<T>): ReactHtmlControl<T | undefined>;
18
- export declare function useFormControl<T>(options: ReactControlOptions<T>): ReactHtmlControl<T>;
19
- export declare function useFormControl<T>(value: undefined, validators?: ValidatorFn<T>[]): ReactHtmlControl<T | undefined>;
20
- export declare function useFormControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactHtmlControl<T>;
21
- export declare function useInputControl<T>(): ReactInputControl<T | undefined>;
22
- export declare function useInputControl<T>(options: ReactValueOptions<T>): ReactInputControl<T>;
23
- export declare function useInputControl<T>(options: ReactValidatorsOptions<T>): ReactInputControl<T | undefined>;
24
- export declare function useInputControl<T>(options: ReactControlOptions<T>): ReactInputControl<T>;
25
- export declare function useInputControl<T>(value: undefined, validators?: ValidatorFn<T>[]): ReactInputControl<T | undefined>;
26
- export declare function useInputControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactInputControl<T>;
27
- export {};
1
+ import { FormControlOptions } from '@rolster/forms';
2
+ import { ValidatorFn } from '@rolster/validators';
3
+ import { ReactFormControl, ReactHtmlControl, ReactInputControl } from './types';
4
+ interface ReactControlOptions<T = any> extends FormControlOptions<T> {
5
+ touched?: boolean;
6
+ }
7
+ type ReactValueOptions<T> = Omit<ReactControlOptions<T>, 'validators'>;
8
+ type ReactValidatorsOptions<T> = Omit<ReactControlOptions<T>, 'value'>;
9
+ export declare function useReactControl<E extends HTMLElement, T>(): ReactFormControl<E, T | undefined>;
10
+ export declare function useReactControl<E extends HTMLElement, T>(options: ReactValueOptions<T>): ReactFormControl<E, T>;
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>(options: ReactControlOptions<T>): ReactFormControl<E, T>;
13
+ export declare function useReactControl<E extends HTMLElement, T>(value: undefined, validators?: ValidatorFn<T>[]): ReactFormControl<E, T | undefined>;
14
+ export declare function useReactControl<E extends HTMLElement, T>(value: T, validators?: ValidatorFn<T>[]): ReactFormControl<E, T>;
15
+ export declare function useFormControl<T>(): ReactHtmlControl<T | undefined>;
16
+ export declare function useFormControl<T>(options: ReactValueOptions<T>): ReactHtmlControl<T>;
17
+ export declare function useFormControl<T>(options: ReactValidatorsOptions<T>): ReactHtmlControl<T | undefined>;
18
+ export declare function useFormControl<T>(options: ReactControlOptions<T>): ReactHtmlControl<T>;
19
+ export declare function useFormControl<T>(value: undefined, validators?: ValidatorFn<T>[]): ReactHtmlControl<T | undefined>;
20
+ export declare function useFormControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactHtmlControl<T>;
21
+ export declare function useInputControl<T>(): ReactInputControl<T | undefined>;
22
+ export declare function useInputControl<T>(options: ReactValueOptions<T>): ReactInputControl<T>;
23
+ export declare function useInputControl<T>(options: ReactValidatorsOptions<T>): ReactInputControl<T | undefined>;
24
+ export declare function useInputControl<T>(options: ReactControlOptions<T>): ReactInputControl<T>;
25
+ export declare function useInputControl<T>(value: undefined, validators?: ValidatorFn<T>[]): ReactInputControl<T | undefined>;
26
+ export declare function useInputControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactInputControl<T>;
27
+ export {};