@rolster/react-forms 18.10.3 → 18.11.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.
- package/dist/cjs/index.js +169 -108
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/index.js +169 -109
- package/dist/es/index.js.map +1 -1
- package/dist/esm/form-array/form-array-group.d.ts +4 -4
- package/dist/esm/form-array/form-array-group.js +5 -5
- package/dist/esm/form-array/form-array-group.js.map +1 -1
- package/dist/esm/form-array/form-array.js +67 -54
- package/dist/esm/form-array/form-array.js.map +1 -1
- package/dist/esm/form-control.js +30 -21
- package/dist/esm/form-control.js.map +1 -1
- package/dist/esm/form-group.js +64 -29
- package/dist/esm/form-group.js.map +1 -1
- package/dist/esm/helpers.d.ts +3 -4
- package/dist/esm/helpers.js +6 -2
- package/dist/esm/helpers.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,58 +1,54 @@
|
|
|
1
1
|
import { createFormArrayOptions } from '@rolster/forms/arguments';
|
|
2
|
-
import { arrayIsValid, controlsToValue, groupAllChecked,
|
|
2
|
+
import { arrayIsValid, controlsToValue, groupAllChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';
|
|
3
3
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
4
|
import { RolsterArrayGroup } from './form-array-group';
|
|
5
|
+
function errorsInArray(groups, validators) {
|
|
6
|
+
return validators ? arrayIsValid({ groups, validators }) : [];
|
|
7
|
+
}
|
|
8
|
+
function validStateInArray(groups, validators) {
|
|
9
|
+
const errors = errorsInArray(groups, validators);
|
|
10
|
+
return {
|
|
11
|
+
errors,
|
|
12
|
+
valid: errors.length === 0 && groupAllChecked(groups, 'valid')
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function replaceStateInArray(groups, validators) {
|
|
16
|
+
return {
|
|
17
|
+
...validStateInArray(groups, validators),
|
|
18
|
+
groups,
|
|
19
|
+
controls: groups.map(({ controls }) => controls),
|
|
20
|
+
value: groups.map(({ controls }) => controlsToValue(controls))
|
|
21
|
+
};
|
|
22
|
+
}
|
|
5
23
|
export function useFormArray(options, validators) {
|
|
6
24
|
const _options = createFormArrayOptions(options, validators);
|
|
7
25
|
const groups = _options.groups || [];
|
|
8
|
-
const
|
|
26
|
+
const initialValue = useRef(groups);
|
|
9
27
|
const [state, setState] = useState({
|
|
28
|
+
...validStateInArray(groups, _options.validators),
|
|
10
29
|
controls: groups.map(({ controls }) => controls),
|
|
30
|
+
dirty: false,
|
|
31
|
+
dirties: false,
|
|
11
32
|
disabled: false,
|
|
12
33
|
groups,
|
|
34
|
+
touched: false,
|
|
35
|
+
toucheds: false,
|
|
13
36
|
value: groups.map(({ controls }) => controlsToValue(controls)),
|
|
14
37
|
validators: _options.validators
|
|
15
38
|
});
|
|
16
|
-
const [errors, setErrors] = useState([]);
|
|
17
|
-
const [controlState, setControlState] = useState({
|
|
18
|
-
valid: false,
|
|
19
|
-
dirty: false,
|
|
20
|
-
dirtyAll: false,
|
|
21
|
-
touched: false,
|
|
22
|
-
touchedAll: false
|
|
23
|
-
});
|
|
24
39
|
useEffect(() => {
|
|
25
40
|
const subscriber = (options) => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
41
|
+
setState((state) => ({
|
|
42
|
+
...state,
|
|
43
|
+
...replaceStateInArray(state.groups.map((group) => group.uuid === options.uuid
|
|
44
|
+
? new RolsterArrayGroup(options)
|
|
45
|
+
: group), state.validators)
|
|
46
|
+
}));
|
|
29
47
|
};
|
|
30
48
|
state.groups.forEach((group) => {
|
|
31
49
|
group.subscribe(subscriber);
|
|
32
50
|
});
|
|
33
|
-
setState((_state) => ({
|
|
34
|
-
..._state,
|
|
35
|
-
controls: state.groups.map(({ controls }) => controls),
|
|
36
|
-
value: state.groups.map(({ controls }) => controlsToValue(controls))
|
|
37
|
-
}));
|
|
38
51
|
}, [state.groups]);
|
|
39
|
-
useEffect(() => {
|
|
40
|
-
setErrors(state.validators
|
|
41
|
-
? arrayIsValid({
|
|
42
|
-
groups: state.groups,
|
|
43
|
-
validators: state.validators
|
|
44
|
-
})
|
|
45
|
-
: []);
|
|
46
|
-
}, [state.groups, state.validators]);
|
|
47
|
-
useEffect(() => {
|
|
48
|
-
setControlState({
|
|
49
|
-
valid: errors.length === 0 && groupAllChecked(state.groups, 'valid'),
|
|
50
|
-
dirty: groupPartialChecked(state.groups, 'dirty'),
|
|
51
|
-
dirtyAll: groupAllChecked(state.groups, 'dirty'),
|
|
52
|
-
touched: groupPartialChecked(state.groups, 'touched'),
|
|
53
|
-
touchedAll: groupAllChecked(state.groups, 'touched')
|
|
54
|
-
});
|
|
55
|
-
}, [state.groups, errors]);
|
|
56
52
|
const disable = useCallback(() => {
|
|
57
53
|
setState((state) => ({ ...state, disabled: true }));
|
|
58
54
|
}, []);
|
|
@@ -60,45 +56,62 @@ export function useFormArray(options, validators) {
|
|
|
60
56
|
setState((state) => ({ ...state, disabled: false }));
|
|
61
57
|
}, []);
|
|
62
58
|
const setValue = useCallback((groups) => {
|
|
63
|
-
setState((state) => ({
|
|
59
|
+
setState((state) => ({
|
|
60
|
+
...state,
|
|
61
|
+
...replaceStateInArray(groups, state.validators)
|
|
62
|
+
}));
|
|
64
63
|
}, []);
|
|
65
64
|
const setInitialValue = useCallback((groups) => {
|
|
66
|
-
setState((state) => ({
|
|
67
|
-
|
|
65
|
+
setState((state) => ({
|
|
66
|
+
...state,
|
|
67
|
+
...replaceStateInArray(groups, state.validators)
|
|
68
|
+
}));
|
|
69
|
+
initialValue.current = groups;
|
|
68
70
|
}, []);
|
|
69
71
|
const push = useCallback((group) => {
|
|
70
|
-
setState((state) => ({
|
|
72
|
+
setState((state) => ({
|
|
73
|
+
...state,
|
|
74
|
+
...replaceStateInArray([...state.groups, group], state.validators)
|
|
75
|
+
}));
|
|
71
76
|
}, []);
|
|
72
77
|
const merge = useCallback((groups) => {
|
|
73
|
-
setState((state) => ({
|
|
78
|
+
setState((state) => ({
|
|
79
|
+
...state,
|
|
80
|
+
...replaceStateInArray([...state.groups, ...groups], state.validators)
|
|
81
|
+
}));
|
|
74
82
|
}, []);
|
|
75
83
|
const remove = useCallback(({ uuid }) => {
|
|
76
84
|
setState((state) => ({
|
|
77
85
|
...state,
|
|
78
|
-
|
|
86
|
+
...replaceStateInArray(state.groups.filter((group) => group.uuid !== uuid), state.validators)
|
|
79
87
|
}));
|
|
80
88
|
}, []);
|
|
81
89
|
const reset = useCallback(() => {
|
|
82
|
-
setState((state) => ({
|
|
90
|
+
setState((state) => ({
|
|
91
|
+
...state,
|
|
92
|
+
...replaceStateInArray(initialValue.current, state.validators)
|
|
93
|
+
}));
|
|
83
94
|
}, []);
|
|
84
95
|
const setValidators = useCallback((validators) => {
|
|
85
|
-
setState((state) => ({
|
|
96
|
+
setState((state) => ({
|
|
97
|
+
...state,
|
|
98
|
+
...validStateInArray(state.groups, validators),
|
|
99
|
+
validators
|
|
100
|
+
}));
|
|
86
101
|
}, []);
|
|
87
|
-
const hasError = useCallback((key) => rolsterHasError(errors, key), [errors]);
|
|
88
|
-
const someErrors = useCallback((keys) => rolsterSomeErrors(errors, keys), [errors]);
|
|
102
|
+
const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);
|
|
103
|
+
const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [state.errors]);
|
|
89
104
|
return {
|
|
90
105
|
...state,
|
|
91
|
-
...controlState,
|
|
92
106
|
disable,
|
|
93
107
|
enable,
|
|
94
108
|
enabled: !state.disabled,
|
|
95
|
-
error: errors[0],
|
|
96
|
-
errors: errors,
|
|
109
|
+
error: state.errors[0],
|
|
97
110
|
hasError,
|
|
98
|
-
invalid: !
|
|
111
|
+
invalid: !state.valid,
|
|
99
112
|
merge,
|
|
100
|
-
pristine: !
|
|
101
|
-
|
|
113
|
+
pristine: !state.dirty,
|
|
114
|
+
pristines: !state.dirties,
|
|
102
115
|
push,
|
|
103
116
|
remove,
|
|
104
117
|
reset,
|
|
@@ -106,9 +119,9 @@ export function useFormArray(options, validators) {
|
|
|
106
119
|
setValidators,
|
|
107
120
|
setValue,
|
|
108
121
|
someErrors,
|
|
109
|
-
untouched: !
|
|
110
|
-
|
|
111
|
-
wrong:
|
|
122
|
+
untouched: !state.touched,
|
|
123
|
+
untoucheds: !state.toucheds,
|
|
124
|
+
wrong: state.touched && !state.valid
|
|
112
125
|
};
|
|
113
126
|
}
|
|
114
127
|
//# sourceMappingURL=form-array.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/form-control.js
CHANGED
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
import { createFormControlOptions } from '@rolster/forms/arguments';
|
|
2
2
|
import { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';
|
|
3
|
-
import { useCallback,
|
|
3
|
+
import { useCallback, useRef, useState } from 'react';
|
|
4
|
+
function errorsInControl(value, validators) {
|
|
5
|
+
return validators ? controlIsValid({ value, validators }) : [];
|
|
6
|
+
}
|
|
4
7
|
function useControl(options, validators) {
|
|
5
8
|
const _options = createFormControlOptions(options, validators);
|
|
9
|
+
const initialValue = useRef(_options.value);
|
|
6
10
|
const [state, setState] = useState({
|
|
7
11
|
dirty: false,
|
|
8
12
|
disabled: false,
|
|
13
|
+
errors: errorsInControl(_options.value, _options.validators),
|
|
9
14
|
focused: false,
|
|
10
15
|
touched: !!_options.touched,
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
value: _options.value,
|
|
17
|
+
validators: _options.validators
|
|
13
18
|
});
|
|
14
|
-
const [errors, setErrors] = useState([]);
|
|
15
|
-
const initialValue = useRef(_options.value);
|
|
16
19
|
const elementRef = useRef(null);
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
setErrors(state.validators
|
|
19
|
-
? controlIsValid({
|
|
20
|
-
value: state.value,
|
|
21
|
-
validators: state.validators
|
|
22
|
-
})
|
|
23
|
-
: []);
|
|
24
|
-
}, [state.value, state.validators]);
|
|
25
20
|
const focus = useCallback(() => {
|
|
26
21
|
setState((state) => ({ ...state, focused: true }));
|
|
27
22
|
}, []);
|
|
@@ -39,25 +34,40 @@ function useControl(options, validators) {
|
|
|
39
34
|
}, []);
|
|
40
35
|
const setInitialValue = useCallback((value) => {
|
|
41
36
|
initialValue.current = value;
|
|
42
|
-
setState((state) => ({
|
|
37
|
+
setState((state) => ({
|
|
38
|
+
...state,
|
|
39
|
+
dirty: true,
|
|
40
|
+
errors: errorsInControl(value, state.validators),
|
|
41
|
+
value
|
|
42
|
+
}));
|
|
43
43
|
}, []);
|
|
44
44
|
const setValue = useCallback((value) => {
|
|
45
|
-
setState((state) => ({
|
|
45
|
+
setState((state) => ({
|
|
46
|
+
...state,
|
|
47
|
+
dirty: true,
|
|
48
|
+
errors: errorsInControl(value, state.validators),
|
|
49
|
+
value
|
|
50
|
+
}));
|
|
46
51
|
}, []);
|
|
47
52
|
const setValidators = useCallback((validators) => {
|
|
48
|
-
setState((state) => ({
|
|
53
|
+
setState((state) => ({
|
|
54
|
+
...state,
|
|
55
|
+
errors: errorsInControl(state.value, validators),
|
|
56
|
+
validators
|
|
57
|
+
}));
|
|
49
58
|
}, []);
|
|
50
59
|
const reset = useCallback(() => {
|
|
51
60
|
setState((state) => ({
|
|
52
61
|
...state,
|
|
53
62
|
dirty: false,
|
|
63
|
+
errors: errorsInControl(initialValue.current, state.validators),
|
|
54
64
|
value: initialValue.current,
|
|
55
65
|
touched: false
|
|
56
66
|
}));
|
|
57
67
|
}, []);
|
|
58
|
-
const hasError = useCallback((key) => rolsterHasError(errors, key), [errors]);
|
|
59
|
-
const someErrors = useCallback((keys) => rolsterSomeErrors(errors, keys), [errors]);
|
|
60
|
-
const valid = errors.length === 0;
|
|
68
|
+
const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);
|
|
69
|
+
const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [state.errors]);
|
|
70
|
+
const valid = state.errors.length === 0;
|
|
61
71
|
return {
|
|
62
72
|
...state,
|
|
63
73
|
blur,
|
|
@@ -65,8 +75,7 @@ function useControl(options, validators) {
|
|
|
65
75
|
elementRef,
|
|
66
76
|
enable,
|
|
67
77
|
enabled: !state.disabled,
|
|
68
|
-
error: errors[0],
|
|
69
|
-
errors,
|
|
78
|
+
error: state.errors[0],
|
|
70
79
|
focus,
|
|
71
80
|
hasError,
|
|
72
81
|
invalid: !valid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,cAAc,EACd,QAAQ,IAAI,eAAe,EAC3B,UAAU,IAAI,iBAAiB,EAChC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/form-group.js
CHANGED
|
@@ -1,40 +1,75 @@
|
|
|
1
1
|
import { createFormGroupOptions } from '@rolster/forms/arguments';
|
|
2
|
-
import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';
|
|
3
|
-
import { useState } from 'react';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid, reduceControlsToArray } from '@rolster/forms/helpers';
|
|
3
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
4
|
+
function errorsInGroup(controls, validators) {
|
|
5
|
+
return validators ? groupIsValid({ controls, validators }) : [];
|
|
6
|
+
}
|
|
7
|
+
function validStateInGroup(controls, validators) {
|
|
8
|
+
const errors = errorsInGroup(controls, validators);
|
|
9
|
+
return {
|
|
10
|
+
errors,
|
|
11
|
+
valid: errors.length === 0 && controlsAllChecked(controls, 'valid')
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export function useFormGroup(options, validators) {
|
|
15
|
+
const _options = createFormGroupOptions(options, validators);
|
|
7
16
|
const { controls } = _options;
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
const [state, setState] = useState({
|
|
18
|
+
...validStateInGroup(controls, _options.validators),
|
|
19
|
+
controls,
|
|
20
|
+
dirties: controlsAllChecked(controls, 'dirty'),
|
|
21
|
+
dirty: controlsPartialChecked(controls, 'dirty'),
|
|
22
|
+
touched: controlsPartialChecked(controls, 'touched'),
|
|
23
|
+
toucheds: controlsAllChecked(controls, 'touched'),
|
|
24
|
+
value: controlsToValue(controls),
|
|
25
|
+
validators: _options.validators
|
|
26
|
+
});
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
setState((state) => ({
|
|
29
|
+
...state,
|
|
30
|
+
controls,
|
|
31
|
+
dirty: controlsPartialChecked(controls, 'dirty'),
|
|
32
|
+
dirties: controlsAllChecked(controls, 'dirty')
|
|
33
|
+
}));
|
|
34
|
+
}, reduceControlsToArray(controls, 'dirty'));
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
setState((state) => ({
|
|
37
|
+
...state,
|
|
38
|
+
controls,
|
|
39
|
+
touched: controlsPartialChecked(controls, 'touched'),
|
|
40
|
+
toucheds: controlsAllChecked(controls, 'touched')
|
|
41
|
+
}));
|
|
42
|
+
}, reduceControlsToArray(controls, 'touched'));
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
setState((state) => ({
|
|
45
|
+
...state,
|
|
46
|
+
...validStateInGroup(controls, state.validators),
|
|
47
|
+
controls,
|
|
48
|
+
value: controlsToValue(controls)
|
|
49
|
+
}));
|
|
50
|
+
}, reduceControlsToArray(controls, 'value'));
|
|
51
|
+
const setValidators = useCallback((validators) => {
|
|
52
|
+
setState((state) => ({
|
|
53
|
+
...state,
|
|
54
|
+
...validStateInGroup(state.controls, validators)
|
|
55
|
+
}));
|
|
56
|
+
}, []);
|
|
57
|
+
const reset = useCallback(() => {
|
|
16
58
|
Object.values(controls).forEach((control) => {
|
|
17
59
|
control.reset();
|
|
18
60
|
});
|
|
19
|
-
}
|
|
61
|
+
}, []);
|
|
20
62
|
return {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
invalid: !valid,
|
|
27
|
-
pristine: !dirty,
|
|
28
|
-
pristineAll: !dirtyAll,
|
|
63
|
+
...state,
|
|
64
|
+
error: state.errors[0],
|
|
65
|
+
invalid: !state.valid,
|
|
66
|
+
pristine: !state.dirty,
|
|
67
|
+
pristines: !state.dirties,
|
|
29
68
|
reset,
|
|
30
69
|
setValidators,
|
|
31
|
-
touched,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
untouchedAll: !touchedAll,
|
|
35
|
-
valid,
|
|
36
|
-
value,
|
|
37
|
-
wrong: touched && !valid
|
|
70
|
+
untouched: !state.touched,
|
|
71
|
+
untoucheds: !state.toucheds,
|
|
72
|
+
wrong: state.touched && !state.valid
|
|
38
73
|
};
|
|
39
74
|
}
|
|
40
75
|
//# sourceMappingURL=form-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/helpers.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ReactControls, ReactGroup } from './types';
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
export {};
|
|
1
|
+
import { ReactControls, ReactFormControl, ReactGroup } from './types';
|
|
2
|
+
export declare function reduceControlsToValues<T extends ReactFormControl, C extends ReactControls<T>>(controls: C): T['value'][];
|
|
3
|
+
export declare function reduceGroupToArray<T extends ReactFormControl, C extends ReactControls<T>>(group: ReactGroup<C>): T['value'][];
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { reduceControlsToArray } from '@rolster/forms/helpers';
|
|
2
|
+
export function reduceControlsToValues(controls) {
|
|
3
|
+
return reduceControlsToArray(controls, 'value');
|
|
4
|
+
}
|
|
5
|
+
export function reduceGroupToArray(group) {
|
|
6
|
+
return reduceControlsToValues(group.controls);
|
|
3
7
|
}
|
|
4
8
|
//# sourceMappingURL=helpers.js.map
|
package/dist/esm/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,MAAM,UAAU,sBAAsB,CAGpC,QAAW;IACX,OAAO,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAGhC,KAAoB;IACpB,OAAO,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolster/react-forms",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.11.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",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"prepublishOnly": "npm run build"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@rolster/forms": "^2.
|
|
30
|
+
"@rolster/forms": "^2.10.0",
|
|
31
31
|
"@rolster/validators": "^2.1.0",
|
|
32
32
|
"react": "^18.2.0",
|
|
33
33
|
"uuid": "^11.0.3"
|