@rolster/forms 2.4.2 → 2.5.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/dist/cjs/arguments.js +3 -3
- package/dist/cjs/arguments.js.map +1 -1
- package/dist/cjs/helpers.js +6 -6
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index.js +32 -32
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/arguments.js +3 -3
- package/dist/es/arguments.js.map +1 -1
- package/dist/es/helpers.js +6 -6
- package/dist/es/helpers.js.map +1 -1
- package/dist/es/index.js +32 -32
- package/dist/es/index.js.map +1 -1
- package/dist/esm/arguments.js +3 -3
- package/dist/esm/form-array/form-array-control.d.ts +2 -2
- package/dist/esm/form-array/form-array-control.js +2 -2
- package/dist/esm/form-array/form-array.d.ts +1 -1
- package/dist/esm/form-array/form-array.js +3 -3
- package/dist/esm/form-array/form-array.js.map +1 -1
- package/dist/esm/form-control.d.ts +6 -6
- package/dist/esm/form-control.js +15 -15
- package/dist/esm/form-group.d.ts +2 -2
- package/dist/esm/form-group.js +5 -5
- package/dist/esm/helpers.d.ts +4 -4
- package/dist/esm/helpers.js +5 -5
- package/dist/esm/types.d.ts +13 -13
- package/package.json +1 -1
package/dist/es/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { parseBoolean, observable } from '@rolster/commons';
|
|
|
2
2
|
import { v4 } from 'uuid';
|
|
3
3
|
|
|
4
4
|
function itIsFormControlOptions(props) {
|
|
5
|
-
return (typeof props === 'object' && ('
|
|
5
|
+
return (typeof props === 'object' && ('value' in props || 'validators' in props));
|
|
6
6
|
}
|
|
7
7
|
function itIsFormGroupOptions(props) {
|
|
8
8
|
return typeof props === 'object' && 'controls' in props;
|
|
@@ -13,13 +13,13 @@ function itIsFormArrayOptions(props) {
|
|
|
13
13
|
function createFormControlOptions(...argsProps) {
|
|
14
14
|
const [props, validators] = argsProps;
|
|
15
15
|
if (!props) {
|
|
16
|
-
return {
|
|
16
|
+
return { value: props, validators };
|
|
17
17
|
}
|
|
18
18
|
if (!validators && itIsFormControlOptions(props)) {
|
|
19
19
|
return props;
|
|
20
20
|
}
|
|
21
21
|
return {
|
|
22
|
-
|
|
22
|
+
value: props,
|
|
23
23
|
validators
|
|
24
24
|
};
|
|
25
25
|
}
|
|
@@ -47,9 +47,9 @@ function createFormArrayOptions(...argsProps) {
|
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
const controlIsValid = ({
|
|
50
|
+
const controlIsValid = ({ value, validators }) => {
|
|
51
51
|
return validators.reduce((errors, validator) => {
|
|
52
|
-
const error = validator(
|
|
52
|
+
const error = validator(value);
|
|
53
53
|
if (error) {
|
|
54
54
|
errors.push(error);
|
|
55
55
|
}
|
|
@@ -62,9 +62,9 @@ const controlsAllChecked = (controls, key) => {
|
|
|
62
62
|
const controlsPartialChecked = (controls, key) => {
|
|
63
63
|
return Object.values(controls).reduce((value, control) => control.disabled ? value : value || parseBoolean(control[key]), false);
|
|
64
64
|
};
|
|
65
|
-
const
|
|
66
|
-
return Object.entries(controls).reduce((result, [key, {
|
|
67
|
-
result[key] =
|
|
65
|
+
const controlsToValue = (controls) => {
|
|
66
|
+
return Object.entries(controls).reduce((result, [key, { value }]) => {
|
|
67
|
+
result[key] = value;
|
|
68
68
|
return result;
|
|
69
69
|
}, {});
|
|
70
70
|
};
|
|
@@ -104,7 +104,7 @@ class FormArray {
|
|
|
104
104
|
this.initialState = groups;
|
|
105
105
|
this.validators = validators;
|
|
106
106
|
this.refresh(this.initialState);
|
|
107
|
-
this.observable = observable(this.
|
|
107
|
+
this.observable = observable(this.value);
|
|
108
108
|
groups?.forEach((group) => {
|
|
109
109
|
this.subscription(group);
|
|
110
110
|
});
|
|
@@ -151,8 +151,8 @@ class FormArray {
|
|
|
151
151
|
get invalid() {
|
|
152
152
|
return !this.currentValid;
|
|
153
153
|
}
|
|
154
|
-
get
|
|
155
|
-
return this.groups.map(({ state }) => state);
|
|
154
|
+
get value() {
|
|
155
|
+
return this.groups.map(({ value: state }) => state);
|
|
156
156
|
}
|
|
157
157
|
get error() {
|
|
158
158
|
return this.currentError;
|
|
@@ -238,12 +238,12 @@ class FormControl {
|
|
|
238
238
|
this.currentDisabled = false;
|
|
239
239
|
this.currentValid = true;
|
|
240
240
|
this.currentErrors = [];
|
|
241
|
-
const {
|
|
242
|
-
this.observable = observable(
|
|
243
|
-
this.
|
|
241
|
+
const { value, validators } = createFormControlOptions(controlProps, controlValidators);
|
|
242
|
+
this.observable = observable(value);
|
|
243
|
+
this.initialValue = value;
|
|
244
244
|
this.validators = validators;
|
|
245
|
-
this.
|
|
246
|
-
this.updateValueAndValidity(
|
|
245
|
+
this.currentValue = value;
|
|
246
|
+
this.updateValueAndValidity(value, validators);
|
|
247
247
|
}
|
|
248
248
|
get focused() {
|
|
249
249
|
return this.currentFocused;
|
|
@@ -275,8 +275,8 @@ class FormControl {
|
|
|
275
275
|
get invalid() {
|
|
276
276
|
return !this.currentValid;
|
|
277
277
|
}
|
|
278
|
-
get
|
|
279
|
-
return this.
|
|
278
|
+
get value() {
|
|
279
|
+
return this.currentValue;
|
|
280
280
|
}
|
|
281
281
|
get errors() {
|
|
282
282
|
return this.currentErrors;
|
|
@@ -288,7 +288,7 @@ class FormControl {
|
|
|
288
288
|
return this.touched && this.invalid;
|
|
289
289
|
}
|
|
290
290
|
reset() {
|
|
291
|
-
this.
|
|
291
|
+
this.setValue(this.initialValue);
|
|
292
292
|
this.currentDirty = false;
|
|
293
293
|
this.currentTouched = false;
|
|
294
294
|
}
|
|
@@ -308,24 +308,24 @@ class FormControl {
|
|
|
308
308
|
touch() {
|
|
309
309
|
this.currentTouched = true;
|
|
310
310
|
}
|
|
311
|
-
|
|
311
|
+
setValue(value) {
|
|
312
312
|
if (this.enabled) {
|
|
313
|
-
this.
|
|
313
|
+
this.currentValue = value;
|
|
314
314
|
this.currentDirty = true;
|
|
315
|
-
this.updateValueAndValidity(
|
|
316
|
-
this.observable.next(
|
|
315
|
+
this.updateValueAndValidity(value, this.validators);
|
|
316
|
+
this.observable.next(value);
|
|
317
317
|
}
|
|
318
318
|
}
|
|
319
319
|
setValidators(validators = []) {
|
|
320
320
|
this.validators = validators;
|
|
321
|
-
this.updateValueAndValidity(this.
|
|
321
|
+
this.updateValueAndValidity(this.value, validators);
|
|
322
322
|
}
|
|
323
323
|
subscribe(subscriber) {
|
|
324
324
|
return this.observable.subscribe(subscriber);
|
|
325
325
|
}
|
|
326
|
-
updateValueAndValidity(
|
|
326
|
+
updateValueAndValidity(value, validators) {
|
|
327
327
|
if (validators) {
|
|
328
|
-
const errors = controlIsValid({
|
|
328
|
+
const errors = controlIsValid({ value, validators });
|
|
329
329
|
this.currentError = errors[0];
|
|
330
330
|
this.currentErrors = errors;
|
|
331
331
|
this.currentValid = errors.length === 0;
|
|
@@ -343,8 +343,8 @@ function formControl(options, validators) {
|
|
|
343
343
|
|
|
344
344
|
class FormArrayControl extends FormControl {
|
|
345
345
|
constructor(controlOptions, controlValidators) {
|
|
346
|
-
const {
|
|
347
|
-
super(
|
|
346
|
+
const { value, validators } = createFormControlOptions(controlOptions, controlValidators);
|
|
347
|
+
super(value, validators);
|
|
348
348
|
this.uuid = v4();
|
|
349
349
|
}
|
|
350
350
|
}
|
|
@@ -360,11 +360,11 @@ class FormGroup {
|
|
|
360
360
|
this.currentControls = controls;
|
|
361
361
|
this.validators = validators;
|
|
362
362
|
this.updateValueAndValidity(controls, validators);
|
|
363
|
-
this.observable = observable(this.
|
|
363
|
+
this.observable = observable(this.value);
|
|
364
364
|
Object.values(controls).forEach((control) => {
|
|
365
365
|
control.subscribe(() => {
|
|
366
366
|
this.updateValueAndValidity(this.controls, this.validators);
|
|
367
|
-
this.observable.next(this.
|
|
367
|
+
this.observable.next(this.value);
|
|
368
368
|
});
|
|
369
369
|
});
|
|
370
370
|
}
|
|
@@ -401,8 +401,8 @@ class FormGroup {
|
|
|
401
401
|
get invalid() {
|
|
402
402
|
return !this.valid;
|
|
403
403
|
}
|
|
404
|
-
get
|
|
405
|
-
return
|
|
404
|
+
get value() {
|
|
405
|
+
return controlsToValue(this.controls);
|
|
406
406
|
}
|
|
407
407
|
get errors() {
|
|
408
408
|
return this.currentErrors;
|
package/dist/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../esm/arguments.js","../esm/helpers.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-array/form-array-control.js","../esm/form-group.js","../esm/form-array/form-array-group.js"],"sourcesContent":["function itIsFormControlOptions(props) {\r\n return (typeof props === 'object' && ('state' in props || 'validators' in props));\r\n}\r\nfunction itIsFormGroupOptions(props) {\r\n return typeof props === 'object' && 'controls' in props;\r\n}\r\nfunction itIsFormArrayOptions(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\nexport function createFormControlOptions(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!props) {\r\n return { state: props, validators };\r\n }\r\n if (!validators && itIsFormControlOptions(props)) {\r\n return props;\r\n }\r\n return {\r\n state: props,\r\n validators\r\n };\r\n}\r\nexport function createFormGroupOptions(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!validators && itIsFormGroupOptions(props)) {\r\n return props;\r\n }\r\n return {\r\n controls: props,\r\n validators\r\n };\r\n}\r\nexport function createFormArrayOptions(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!props) {\r\n return { groups: props, validators };\r\n }\r\n if (!validators && itIsFormArrayOptions(props)) {\r\n return props;\r\n }\r\n return {\r\n groups: props,\r\n validators\r\n };\r\n}\r\n//# sourceMappingURL=arguments.js.map","import { parseBoolean } from '@rolster/commons';\r\nexport const controlIsValid = ({ state, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(state);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport const controlsAllChecked = (controls, key) => {\r\n return Object.values(controls).reduce((value, control) => control.disabled ? value : value && parseBoolean(control[key]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, key) => {\r\n return Object.values(controls).reduce((value, control) => control.disabled ? value : value || parseBoolean(control[key]), false);\r\n};\r\nexport const controlsToState = (controls) => {\r\n return Object.entries(controls).reduce((result, [key, { state }]) => {\r\n result[key] = state;\r\n return result;\r\n }, {});\r\n};\r\nexport const groupIsValid = ({ controls, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(controls);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport function groupAllChecked(groups, key) {\r\n return groups.reduce((value, group) => value && parseBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || parseBoolean(group[key]), false);\r\n}\r\nexport const arrayIsValid = ({ groups, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(groups);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\n//# sourceMappingURL=helpers.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormArrayOptions } from '../arguments';\r\nimport { arrayIsValid, groupAllChecked, groupPartialChecked } from '../helpers';\r\nexport class FormArray {\r\n constructor(arrayOptions, arrayValidators) {\r\n this.currentGroups = [];\r\n this.currentValid = true;\r\n this.currentDisabled = false;\r\n this.currentErrors = [];\r\n const { groups, validators } = createFormArrayOptions(arrayOptions, arrayValidators);\r\n this.unsusbcriptions = new Map();\r\n this.initialState = groups;\r\n this.validators = validators;\r\n this.refresh(this.initialState);\r\n this.observable = observable(this.state);\r\n groups?.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n }\r\n get groups() {\r\n return this.currentGroups;\r\n }\r\n get controls() {\r\n return this.groups.map(({ controls }) => controls);\r\n }\r\n get touched() {\r\n return groupPartialChecked(this.groups, 'touched');\r\n }\r\n get touchedAll() {\r\n return groupAllChecked(this.groups, 'touchedAll');\r\n }\r\n get untouched() {\r\n return !this.touched;\r\n }\r\n get untouchedAll() {\r\n return !this.touchedAll;\r\n }\r\n get dirty() {\r\n return groupPartialChecked(this.groups, 'dirty');\r\n }\r\n get dirtyAll() {\r\n return groupAllChecked(this.groups, 'dirtyAll');\r\n }\r\n get pristine() {\r\n return !this.dirty;\r\n }\r\n get pristineAll() {\r\n return !this.dirtyAll;\r\n }\r\n get disabled() {\r\n return this.currentDisabled;\r\n }\r\n get enabled() {\r\n return !this.currentDisabled;\r\n }\r\n get valid() {\r\n return this.currentValid && groupAllChecked(this.groups, 'valid');\r\n }\r\n get invalid() {\r\n return !this.currentValid;\r\n }\r\n get state() {\r\n return this.groups.map(({ state }) => state);\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n this.refresh(this.initialState);\r\n }\r\n disable() {\r\n this.currentDisabled = true;\r\n }\r\n enable() {\r\n this.currentDisabled = false;\r\n }\r\n push(group) {\r\n this.subscription(group);\r\n this.refresh([...this.groups, group]);\r\n }\r\n merge(groups) {\r\n groups.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n this.refresh([...this.groups, ...groups]);\r\n }\r\n set(groups) {\r\n this.currentGroups.forEach(({ uuid }) => {\r\n this.unsusbcriptions.delete(uuid);\r\n });\r\n groups.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n this.refresh(groups); // Update groups\r\n }\r\n remove({ uuid }) {\r\n this.refresh(this.groups.filter((group) => group.uuid !== uuid));\r\n }\r\n setValidators(validators) {\r\n this.validators = validators;\r\n this.updateValidityStatus(this.groups, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n subscription(group) {\r\n const unsusbcription = group.subscribe(() => {\r\n this.updateValidityStatus(this.groups, this.validators);\r\n });\r\n this.unsusbcriptions.set(group.uuid, unsusbcription);\r\n }\r\n updateValidityStatus(groups, validators) {\r\n if (validators) {\r\n const errors = arrayIsValid({ groups, validators });\r\n this.currentErrors = errors;\r\n this.currentError = errors[0];\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n this.currentError = undefined;\r\n }\r\n }\r\n refresh(newGroups) {\r\n const groups = newGroups || [];\r\n this.currentGroups = groups;\r\n this.updateValidityStatus(groups, this.validators);\r\n }\r\n}\r\nexport function formArray(options, validators) {\r\n return new FormArray(createFormArrayOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-array.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormControlOptions } from './arguments';\r\nimport { controlIsValid } from './helpers';\r\nexport class FormControl {\r\n constructor(controlProps, controlValidators) {\r\n this.currentFocused = false;\r\n this.currentTouched = false;\r\n this.currentDirty = false;\r\n this.currentDisabled = false;\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n const { state, validators } = createFormControlOptions(controlProps, controlValidators);\r\n this.observable = observable(state);\r\n this.initialState = state;\r\n this.validators = validators;\r\n this.currentState = state;\r\n this.updateValueAndValidity(state, validators);\r\n }\r\n get focused() {\r\n return this.currentFocused;\r\n }\r\n get unfocused() {\r\n return !this.currentFocused;\r\n }\r\n get touched() {\r\n return this.currentTouched;\r\n }\r\n get untouched() {\r\n return !this.currentTouched;\r\n }\r\n get dirty() {\r\n return this.currentDirty;\r\n }\r\n get pristine() {\r\n return !this.currentDirty;\r\n }\r\n get disabled() {\r\n return this.currentDisabled;\r\n }\r\n get enabled() {\r\n return !this.currentDisabled;\r\n }\r\n get valid() {\r\n return this.currentValid;\r\n }\r\n get invalid() {\r\n return !this.currentValid;\r\n }\r\n get state() {\r\n return this.currentState;\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n this.setState(this.initialState);\r\n this.currentDirty = false;\r\n this.currentTouched = false;\r\n }\r\n focus() {\r\n this.currentFocused = true;\r\n }\r\n blur() {\r\n this.currentFocused = false;\r\n this.currentTouched = true;\r\n }\r\n disable() {\r\n this.currentDisabled = true;\r\n }\r\n enable() {\r\n this.currentDisabled = false;\r\n }\r\n touch() {\r\n this.currentTouched = true;\r\n }\r\n setState(state) {\r\n if (this.enabled) {\r\n this.currentState = state;\r\n this.currentDirty = true;\r\n this.updateValueAndValidity(state, this.validators);\r\n this.observable.next(state);\r\n }\r\n }\r\n setValidators(validators = []) {\r\n this.validators = validators;\r\n this.updateValueAndValidity(this.state, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n updateValueAndValidity(state, validators) {\r\n if (validators) {\r\n const errors = controlIsValid({ state, validators });\r\n this.currentError = errors[0];\r\n this.currentErrors = errors;\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentValid = true;\r\n this.currentError = undefined;\r\n this.currentErrors = [];\r\n }\r\n }\r\n}\r\nexport function formControl(options, validators) {\r\n return new FormControl(createFormControlOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-control.js.map","import { v4 as uuid } from 'uuid';\r\nimport { createFormControlOptions } from '../arguments';\r\nimport { FormControl } from '../form-control';\r\nexport class FormArrayControl extends FormControl {\r\n constructor(controlOptions, controlValidators) {\r\n const { state, validators } = createFormControlOptions(controlOptions, controlValidators);\r\n super(state, validators);\r\n this.uuid = uuid();\r\n }\r\n}\r\nexport function formArrayControl(options, validators) {\r\n return new FormArrayControl(createFormControlOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-array-control.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormGroupOptions } from './arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToState, groupIsValid } from './helpers';\r\nexport class FormGroup {\r\n constructor(groupOptions, groupValidators) {\r\n this.currentErrors = [];\r\n this.currentValid = true;\r\n const { controls, validators } = createFormGroupOptions(groupOptions, groupValidators);\r\n this.currentControls = controls;\r\n this.validators = validators;\r\n this.updateValueAndValidity(controls, validators);\r\n this.observable = observable(this.state);\r\n Object.values(controls).forEach((control) => {\r\n control.subscribe(() => {\r\n this.updateValueAndValidity(this.controls, this.validators);\r\n this.observable.next(this.state);\r\n });\r\n });\r\n }\r\n get controls() {\r\n return this.currentControls;\r\n }\r\n get touched() {\r\n return controlsPartialChecked(this.controls, 'touched');\r\n }\r\n get touchedAll() {\r\n return controlsAllChecked(this.controls, 'touched');\r\n }\r\n get untouched() {\r\n return !this.touched;\r\n }\r\n get untouchedAll() {\r\n return !this.touchedAll;\r\n }\r\n get dirty() {\r\n return controlsPartialChecked(this.controls, 'dirty');\r\n }\r\n get dirtyAll() {\r\n return controlsAllChecked(this.controls, 'dirty');\r\n }\r\n get pristine() {\r\n return !this.dirty;\r\n }\r\n get pristineAll() {\r\n return this.dirtyAll;\r\n }\r\n get valid() {\r\n return this.currentValid && controlsAllChecked(this.controls, 'valid');\r\n }\r\n get invalid() {\r\n return !this.valid;\r\n }\r\n get state() {\r\n return controlsToState(this.controls);\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n Object.values(this.controls).forEach((control) => {\r\n control.reset();\r\n });\r\n }\r\n setValidators(validators) {\r\n this.validators = validators;\r\n this.updateValueAndValidity(this.controls, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n updateValueAndValidity(controls, validators) {\r\n if (validators) {\r\n const errors = groupIsValid({ controls, validators });\r\n this.currentErrors = errors;\r\n this.currentError = errors[0];\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentErrors = [];\r\n this.currentError = undefined;\r\n this.currentValid = true;\r\n }\r\n }\r\n}\r\nexport function formGroup(options, validators) {\r\n return new FormGroup(createFormGroupOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-group.js.map","import { v4 as uuid } from 'uuid';\r\nimport { createFormGroupOptions } from '../arguments';\r\nimport { FormGroup } from '../form-group';\r\nexport class FormArrayGroup extends FormGroup {\r\n constructor(groupOptions, groupValidators) {\r\n const { controls, resource, validators } = createFormGroupOptions(groupOptions, groupValidators);\r\n super(controls, validators);\r\n this.uuid = uuid();\r\n this.resource = resource;\r\n }\r\n}\r\nexport function formArrayGroup(options, validators) {\r\n return new FormArrayGroup(createFormGroupOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-array-group.js.map"],"names":["uuid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../esm/arguments.js","../esm/helpers.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-array/form-array-control.js","../esm/form-group.js","../esm/form-array/form-array-group.js"],"sourcesContent":["function itIsFormControlOptions(props) {\r\n return (typeof props === 'object' && ('value' in props || 'validators' in props));\r\n}\r\nfunction itIsFormGroupOptions(props) {\r\n return typeof props === 'object' && 'controls' in props;\r\n}\r\nfunction itIsFormArrayOptions(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\nexport function createFormControlOptions(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!props) {\r\n return { value: props, validators };\r\n }\r\n if (!validators && itIsFormControlOptions(props)) {\r\n return props;\r\n }\r\n return {\r\n value: props,\r\n validators\r\n };\r\n}\r\nexport function createFormGroupOptions(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!validators && itIsFormGroupOptions(props)) {\r\n return props;\r\n }\r\n return {\r\n controls: props,\r\n validators\r\n };\r\n}\r\nexport function createFormArrayOptions(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!props) {\r\n return { groups: props, validators };\r\n }\r\n if (!validators && itIsFormArrayOptions(props)) {\r\n return props;\r\n }\r\n return {\r\n groups: props,\r\n validators\r\n };\r\n}\r\n//# sourceMappingURL=arguments.js.map","import { parseBoolean } from '@rolster/commons';\r\nexport const controlIsValid = ({ value, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(value);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport const controlsAllChecked = (controls, key) => {\r\n return Object.values(controls).reduce((value, control) => control.disabled ? value : value && parseBoolean(control[key]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, key) => {\r\n return Object.values(controls).reduce((value, control) => control.disabled ? value : value || parseBoolean(control[key]), false);\r\n};\r\nexport const controlsToValue = (controls) => {\r\n return Object.entries(controls).reduce((result, [key, { value }]) => {\r\n result[key] = value;\r\n return result;\r\n }, {});\r\n};\r\nexport const groupIsValid = ({ controls, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(controls);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport function groupAllChecked(groups, key) {\r\n return groups.reduce((value, group) => value && parseBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || parseBoolean(group[key]), false);\r\n}\r\nexport const arrayIsValid = ({ groups, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(groups);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\n//# sourceMappingURL=helpers.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormArrayOptions } from '../arguments';\r\nimport { arrayIsValid, groupAllChecked, groupPartialChecked } from '../helpers';\r\nexport class FormArray {\r\n constructor(arrayOptions, arrayValidators) {\r\n this.currentGroups = [];\r\n this.currentValid = true;\r\n this.currentDisabled = false;\r\n this.currentErrors = [];\r\n const { groups, validators } = createFormArrayOptions(arrayOptions, arrayValidators);\r\n this.unsusbcriptions = new Map();\r\n this.initialState = groups;\r\n this.validators = validators;\r\n this.refresh(this.initialState);\r\n this.observable = observable(this.value);\r\n groups?.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n }\r\n get groups() {\r\n return this.currentGroups;\r\n }\r\n get controls() {\r\n return this.groups.map(({ controls }) => controls);\r\n }\r\n get touched() {\r\n return groupPartialChecked(this.groups, 'touched');\r\n }\r\n get touchedAll() {\r\n return groupAllChecked(this.groups, 'touchedAll');\r\n }\r\n get untouched() {\r\n return !this.touched;\r\n }\r\n get untouchedAll() {\r\n return !this.touchedAll;\r\n }\r\n get dirty() {\r\n return groupPartialChecked(this.groups, 'dirty');\r\n }\r\n get dirtyAll() {\r\n return groupAllChecked(this.groups, 'dirtyAll');\r\n }\r\n get pristine() {\r\n return !this.dirty;\r\n }\r\n get pristineAll() {\r\n return !this.dirtyAll;\r\n }\r\n get disabled() {\r\n return this.currentDisabled;\r\n }\r\n get enabled() {\r\n return !this.currentDisabled;\r\n }\r\n get valid() {\r\n return this.currentValid && groupAllChecked(this.groups, 'valid');\r\n }\r\n get invalid() {\r\n return !this.currentValid;\r\n }\r\n get value() {\r\n return this.groups.map(({ value: state }) => state);\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n this.refresh(this.initialState);\r\n }\r\n disable() {\r\n this.currentDisabled = true;\r\n }\r\n enable() {\r\n this.currentDisabled = false;\r\n }\r\n push(group) {\r\n this.subscription(group);\r\n this.refresh([...this.groups, group]);\r\n }\r\n merge(groups) {\r\n groups.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n this.refresh([...this.groups, ...groups]);\r\n }\r\n set(groups) {\r\n this.currentGroups.forEach(({ uuid }) => {\r\n this.unsusbcriptions.delete(uuid);\r\n });\r\n groups.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n this.refresh(groups); // Update groups\r\n }\r\n remove({ uuid }) {\r\n this.refresh(this.groups.filter((group) => group.uuid !== uuid));\r\n }\r\n setValidators(validators) {\r\n this.validators = validators;\r\n this.updateValidityStatus(this.groups, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n subscription(group) {\r\n const unsusbcription = group.subscribe(() => {\r\n this.updateValidityStatus(this.groups, this.validators);\r\n });\r\n this.unsusbcriptions.set(group.uuid, unsusbcription);\r\n }\r\n updateValidityStatus(groups, validators) {\r\n if (validators) {\r\n const errors = arrayIsValid({ groups, validators });\r\n this.currentErrors = errors;\r\n this.currentError = errors[0];\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n this.currentError = undefined;\r\n }\r\n }\r\n refresh(newGroups) {\r\n const groups = newGroups || [];\r\n this.currentGroups = groups;\r\n this.updateValidityStatus(groups, this.validators);\r\n }\r\n}\r\nexport function formArray(options, validators) {\r\n return new FormArray(createFormArrayOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-array.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormControlOptions } from './arguments';\r\nimport { controlIsValid } from './helpers';\r\nexport class FormControl {\r\n constructor(controlProps, controlValidators) {\r\n this.currentFocused = false;\r\n this.currentTouched = false;\r\n this.currentDirty = false;\r\n this.currentDisabled = false;\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n const { value, validators } = createFormControlOptions(controlProps, controlValidators);\r\n this.observable = observable(value);\r\n this.initialValue = value;\r\n this.validators = validators;\r\n this.currentValue = value;\r\n this.updateValueAndValidity(value, validators);\r\n }\r\n get focused() {\r\n return this.currentFocused;\r\n }\r\n get unfocused() {\r\n return !this.currentFocused;\r\n }\r\n get touched() {\r\n return this.currentTouched;\r\n }\r\n get untouched() {\r\n return !this.currentTouched;\r\n }\r\n get dirty() {\r\n return this.currentDirty;\r\n }\r\n get pristine() {\r\n return !this.currentDirty;\r\n }\r\n get disabled() {\r\n return this.currentDisabled;\r\n }\r\n get enabled() {\r\n return !this.currentDisabled;\r\n }\r\n get valid() {\r\n return this.currentValid;\r\n }\r\n get invalid() {\r\n return !this.currentValid;\r\n }\r\n get value() {\r\n return this.currentValue;\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n this.setValue(this.initialValue);\r\n this.currentDirty = false;\r\n this.currentTouched = false;\r\n }\r\n focus() {\r\n this.currentFocused = true;\r\n }\r\n blur() {\r\n this.currentFocused = false;\r\n this.currentTouched = true;\r\n }\r\n disable() {\r\n this.currentDisabled = true;\r\n }\r\n enable() {\r\n this.currentDisabled = false;\r\n }\r\n touch() {\r\n this.currentTouched = true;\r\n }\r\n setValue(value) {\r\n if (this.enabled) {\r\n this.currentValue = value;\r\n this.currentDirty = true;\r\n this.updateValueAndValidity(value, this.validators);\r\n this.observable.next(value);\r\n }\r\n }\r\n setValidators(validators = []) {\r\n this.validators = validators;\r\n this.updateValueAndValidity(this.value, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n updateValueAndValidity(value, validators) {\r\n if (validators) {\r\n const errors = controlIsValid({ value, validators });\r\n this.currentError = errors[0];\r\n this.currentErrors = errors;\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentValid = true;\r\n this.currentError = undefined;\r\n this.currentErrors = [];\r\n }\r\n }\r\n}\r\nexport function formControl(options, validators) {\r\n return new FormControl(createFormControlOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-control.js.map","import { v4 as uuid } from 'uuid';\r\nimport { createFormControlOptions } from '../arguments';\r\nimport { FormControl } from '../form-control';\r\nexport class FormArrayControl extends FormControl {\r\n constructor(controlOptions, controlValidators) {\r\n const { value, validators } = createFormControlOptions(controlOptions, controlValidators);\r\n super(value, validators);\r\n this.uuid = uuid();\r\n }\r\n}\r\nexport function formArrayControl(options, validators) {\r\n return new FormArrayControl(createFormControlOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-array-control.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormGroupOptions } from './arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from './helpers';\r\nexport class FormGroup {\r\n constructor(groupOptions, groupValidators) {\r\n this.currentErrors = [];\r\n this.currentValid = true;\r\n const { controls, validators } = createFormGroupOptions(groupOptions, groupValidators);\r\n this.currentControls = controls;\r\n this.validators = validators;\r\n this.updateValueAndValidity(controls, validators);\r\n this.observable = observable(this.value);\r\n Object.values(controls).forEach((control) => {\r\n control.subscribe(() => {\r\n this.updateValueAndValidity(this.controls, this.validators);\r\n this.observable.next(this.value);\r\n });\r\n });\r\n }\r\n get controls() {\r\n return this.currentControls;\r\n }\r\n get touched() {\r\n return controlsPartialChecked(this.controls, 'touched');\r\n }\r\n get touchedAll() {\r\n return controlsAllChecked(this.controls, 'touched');\r\n }\r\n get untouched() {\r\n return !this.touched;\r\n }\r\n get untouchedAll() {\r\n return !this.touchedAll;\r\n }\r\n get dirty() {\r\n return controlsPartialChecked(this.controls, 'dirty');\r\n }\r\n get dirtyAll() {\r\n return controlsAllChecked(this.controls, 'dirty');\r\n }\r\n get pristine() {\r\n return !this.dirty;\r\n }\r\n get pristineAll() {\r\n return this.dirtyAll;\r\n }\r\n get valid() {\r\n return this.currentValid && controlsAllChecked(this.controls, 'valid');\r\n }\r\n get invalid() {\r\n return !this.valid;\r\n }\r\n get value() {\r\n return controlsToValue(this.controls);\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n Object.values(this.controls).forEach((control) => {\r\n control.reset();\r\n });\r\n }\r\n setValidators(validators) {\r\n this.validators = validators;\r\n this.updateValueAndValidity(this.controls, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n updateValueAndValidity(controls, validators) {\r\n if (validators) {\r\n const errors = groupIsValid({ controls, validators });\r\n this.currentErrors = errors;\r\n this.currentError = errors[0];\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentErrors = [];\r\n this.currentError = undefined;\r\n this.currentValid = true;\r\n }\r\n }\r\n}\r\nexport function formGroup(options, validators) {\r\n return new FormGroup(createFormGroupOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-group.js.map","import { v4 as uuid } from 'uuid';\r\nimport { createFormGroupOptions } from '../arguments';\r\nimport { FormGroup } from '../form-group';\r\nexport class FormArrayGroup extends FormGroup {\r\n constructor(groupOptions, groupValidators) {\r\n const { controls, resource, validators } = createFormGroupOptions(groupOptions, groupValidators);\r\n super(controls, validators);\r\n this.uuid = uuid();\r\n this.resource = resource;\r\n }\r\n}\r\nexport function formArrayGroup(options, validators) {\r\n return new FormArrayGroup(createFormGroupOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-array-group.js.map"],"names":["uuid"],"mappings":";;;AAAA,SAAS,sBAAsB,CAAC,KAAK,EAAE;AACvC,IAAI,QAAQ,OAAO,KAAK,KAAK,QAAQ,KAAK,OAAO,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,EAAE;AACtF,CAAC;AACD,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,IAAI,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC;AAC5D,CAAC;AACD,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,IAAI,QAAQ,OAAO,KAAK,KAAK,QAAQ,KAAK,QAAQ,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,EAAE;AACvF,CAAC;AACM,SAAS,wBAAwB,CAAC,GAAG,SAAS,EAAE;AACvD,IAAI,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;AAC1C,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC5C,KAAK;AACL,IAAI,IAAI,CAAC,UAAU,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE;AACtD,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,UAAU;AAClB,KAAK,CAAC;AACN,CAAC;AACM,SAAS,sBAAsB,CAAC,GAAG,SAAS,EAAE;AACrD,IAAI,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;AAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;AACpD,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,UAAU;AAClB,KAAK,CAAC;AACN,CAAC;AACM,SAAS,sBAAsB,CAAC,GAAG,SAAS,EAAE;AACrD,IAAI,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;AAC1C,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC7C,KAAK;AACL,IAAI,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;AACpD,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,UAAU;AAClB,KAAK,CAAC;AACN;;AC3CO,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK;AACzD,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK;AACpD,QAAQ,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AACvC,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,SAAS;AACT,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC;AACK,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK;AACrD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACpI,CAAC,CAAC;AACK,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK;AACzD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrI,CAAC,CAAC;AACK,MAAM,eAAe,GAAG,CAAC,QAAQ,KAAK;AAC7C,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK;AACzE,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC5B,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC;AACK,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK;AAC1D,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK;AACpD,QAAQ,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,SAAS;AACT,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC;AACK,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE;AAC7C,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACpF,CAAC;AACM,SAAS,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE;AACjD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrF,CAAC;AACM,MAAM,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK;AACxD,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK;AACpD,QAAQ,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AACxC,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,SAAS;AACT,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;;AC1CM,MAAM,SAAS,CAAC;AACvB,IAAI,WAAW,CAAC,YAAY,EAAE,eAAe,EAAE;AAC/C,QAAQ,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAChC,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACjC,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AACrC,QAAQ,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAChC,QAAQ,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAC7F,QAAQ,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;AACzC,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;AACnC,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxC,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjD,QAAQ,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK;AACnC,YAAY,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACrC,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,aAAa,CAAC;AAClC,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,QAAQ,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC1D,KAAK;AACL,IAAI,IAAI,SAAS,GAAG;AACpB,QAAQ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7B,KAAK;AACL,IAAI,IAAI,YAAY,GAAG;AACvB,QAAQ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AAChC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACxD,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3B,KAAK;AACL,IAAI,IAAI,WAAW,GAAG;AACtB,QAAQ,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC9B,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC;AACpC,KAAK;AACL,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;AACrC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1E,KAAK;AACL,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;AAClC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,aAAa,CAAC;AAClC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;AAC5C,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxC,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AACpC,KAAK;AACL,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AACrC,KAAK;AACL,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9C,KAAK;AACL,IAAI,KAAK,CAAC,MAAM,EAAE;AAClB,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAClC,YAAY,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACrC,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,GAAG,CAAC,MAAM,EAAE;AAChB,QAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK;AACjD,YAAY,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9C,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAClC,YAAY,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACrC,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,KAAK;AACL,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE;AACrB,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AACzE,KAAK;AACL,IAAI,aAAa,CAAC,UAAU,EAAE;AAC9B,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,SAAS,CAAC,UAAU,EAAE;AAC1B,QAAQ,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACrD,KAAK;AACL,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,QAAQ,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM;AACrD,YAAY,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACpE,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAC7D,KAAK;AACL,IAAI,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE;AAC7C,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAChE,YAAY,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AACxC,YAAY,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1C,YAAY,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AACpD,SAAS;AACT,aAAa;AACb,YAAY,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACrC,YAAY,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACpC,YAAY,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;AAC1C,SAAS;AACT,KAAK;AACL,IAAI,OAAO,CAAC,SAAS,EAAE;AACvB,QAAQ,MAAM,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;AACvC,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AACpC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3D,KAAK;AACL,CAAC;AACM,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE;AAC/C,IAAI,OAAO,IAAI,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACtE;;ACvIO,MAAM,WAAW,CAAC;AACzB,IAAI,WAAW,CAAC,YAAY,EAAE,iBAAiB,EAAE;AACjD,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAClC,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AACrC,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACjC,QAAQ,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAChC,QAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,wBAAwB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAChG,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAC5C,QAAQ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAClC,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAClC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACvD,KAAK;AACL,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,IAAI,CAAC,cAAc,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,SAAS,GAAG;AACpB,QAAQ,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;AACpC,KAAK;AACL,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,IAAI,CAAC,cAAc,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,SAAS,GAAG;AACpB,QAAQ,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;AACpC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;AAClC,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC;AACpC,KAAK;AACL,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;AACrC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;AAClC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,aAAa,CAAC;AAClC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;AAC5C,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACzC,QAAQ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAClC,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AACpC,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,GAAG;AACX,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AACpC,KAAK;AACL,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AACrC,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AACtC,YAAY,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACrC,YAAY,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChE,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,SAAS;AACT,KAAK;AACL,IAAI,aAAa,CAAC,UAAU,GAAG,EAAE,EAAE;AACnC,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,SAAS,CAAC,UAAU,EAAE;AAC1B,QAAQ,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACrD,KAAK;AACL,IAAI,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE;AAC9C,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACjE,YAAY,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1C,YAAY,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AACxC,YAAY,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AACpD,SAAS;AACT,aAAa;AACb,YAAY,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACrC,YAAY,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;AAC1C,YAAY,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACpC,SAAS;AACT,KAAK;AACL,CAAC;AACM,SAAS,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE;AACjD,IAAI,OAAO,IAAI,WAAW,CAAC,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAC1E;;AC7GO,MAAM,gBAAgB,SAAS,WAAW,CAAC;AAClD,IAAI,WAAW,CAAC,cAAc,EAAE,iBAAiB,EAAE;AACnD,QAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAClG,QAAQ,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACjC,QAAQ,IAAI,CAAC,IAAI,GAAGA,EAAI,EAAE,CAAC;AAC3B,KAAK;AACL,CAAC;AACM,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE;AACtD,IAAI,OAAO,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/E;;ACTO,MAAM,SAAS,CAAC;AACvB,IAAI,WAAW,CAAC,YAAY,EAAE,eAAe,EAAE;AAC/C,QAAQ,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAChC,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACjC,QAAQ,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAC/F,QAAQ,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;AACxC,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC1D,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjD,QAAQ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AACrD,YAAY,OAAO,CAAC,SAAS,CAAC,MAAM;AACpC,gBAAgB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5E,gBAAgB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjD,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC;AACpC,KAAK;AACL,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAChE,KAAK;AACL,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,IAAI,SAAS,GAAG;AACpB,QAAQ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7B,KAAK;AACL,IAAI,IAAI,YAAY,GAAG;AACvB,QAAQ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AAChC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9D,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1D,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3B,KAAK;AACL,IAAI,IAAI,WAAW,GAAG;AACtB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC;AAC7B,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/E,KAAK;AACL,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3B,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9C,KAAK;AACL,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,aAAa,CAAC;AAClC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;AAC5C,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAC1D,YAAY,OAAO,CAAC,KAAK,EAAE,CAAC;AAC5B,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,aAAa,CAAC,UAAU,EAAE;AAC9B,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC/D,KAAK;AACL,IAAI,SAAS,CAAC,UAAU,EAAE;AAC1B,QAAQ,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACrD,KAAK;AACL,IAAI,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE;AACjD,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;AAClE,YAAY,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AACxC,YAAY,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1C,YAAY,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AACpD,SAAS;AACT,aAAa;AACb,YAAY,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACpC,YAAY,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;AAC1C,YAAY,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACrC,SAAS;AACT,KAAK;AACL,CAAC;AACM,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE;AAC/C,IAAI,OAAO,IAAI,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACtE;;ACzFO,MAAM,cAAc,SAAS,SAAS,CAAC;AAC9C,IAAI,WAAW,CAAC,YAAY,EAAE,eAAe,EAAE;AAC/C,QAAQ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AACzG,QAAQ,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,IAAI,GAAGA,EAAI,EAAE,CAAC;AAC3B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,KAAK;AACL,CAAC;AACM,SAAS,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;AACpD,IAAI,OAAO,IAAI,cAAc,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3E;;;;"}
|
package/dist/esm/arguments.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function itIsFormControlOptions(props) {
|
|
2
|
-
return (typeof props === 'object' && ('
|
|
2
|
+
return (typeof props === 'object' && ('value' in props || 'validators' in props));
|
|
3
3
|
}
|
|
4
4
|
function itIsFormGroupOptions(props) {
|
|
5
5
|
return typeof props === 'object' && 'controls' in props;
|
|
@@ -10,13 +10,13 @@ function itIsFormArrayOptions(props) {
|
|
|
10
10
|
export function createFormControlOptions(...argsProps) {
|
|
11
11
|
const [props, validators] = argsProps;
|
|
12
12
|
if (!props) {
|
|
13
|
-
return {
|
|
13
|
+
return { value: props, validators };
|
|
14
14
|
}
|
|
15
15
|
if (!validators && itIsFormControlOptions(props)) {
|
|
16
16
|
return props;
|
|
17
17
|
}
|
|
18
18
|
return {
|
|
19
|
-
|
|
19
|
+
value: props,
|
|
20
20
|
validators
|
|
21
21
|
};
|
|
22
22
|
}
|
|
@@ -9,9 +9,9 @@ export declare class FormArrayControl<T = any> extends FormControl<T> implements
|
|
|
9
9
|
constructor(state: T, validators?: ValidatorFn<T>[]);
|
|
10
10
|
}
|
|
11
11
|
type ArrayStateProps<T> = Omit<ArrayControlOptions<T>, 'validators'>;
|
|
12
|
-
type ArrayValidatorsProps<T> = Omit<ArrayControlOptions<T>, '
|
|
12
|
+
type ArrayValidatorsProps<T> = Omit<ArrayControlOptions<T>, 'value'>;
|
|
13
13
|
export declare function formArrayControl<T>(): FormArrayControl<T | undefined>;
|
|
14
14
|
export declare function formArrayControl<T>(options: ArrayStateProps<T>): FormArrayControl<T>;
|
|
15
15
|
export declare function formArrayControl<T>(options: ArrayValidatorsProps<T>): FormArrayControl<T | undefined>;
|
|
16
|
-
export declare function formArrayControl<T>(
|
|
16
|
+
export declare function formArrayControl<T>(value: T, validators?: ValidatorFn<T>[]): FormArrayControl<T>;
|
|
17
17
|
export {};
|
|
@@ -3,8 +3,8 @@ import { createFormControlOptions } from '../arguments';
|
|
|
3
3
|
import { FormControl } from '../form-control';
|
|
4
4
|
export class FormArrayControl extends FormControl {
|
|
5
5
|
constructor(controlOptions, controlValidators) {
|
|
6
|
-
const {
|
|
7
|
-
super(
|
|
6
|
+
const { value, validators } = createFormControlOptions(controlOptions, controlValidators);
|
|
7
|
+
super(value, validators);
|
|
8
8
|
this.uuid = uuid();
|
|
9
9
|
}
|
|
10
10
|
}
|
|
@@ -29,7 +29,7 @@ export declare class FormArray<C extends FormArrayControls = FormArrayControls,
|
|
|
29
29
|
get enabled(): boolean;
|
|
30
30
|
get valid(): boolean;
|
|
31
31
|
get invalid(): boolean;
|
|
32
|
-
get
|
|
32
|
+
get value(): ArrayStateGroup<C>[];
|
|
33
33
|
get error(): ValidatorError | undefined;
|
|
34
34
|
get errors(): ValidatorError[];
|
|
35
35
|
get wrong(): boolean;
|
|
@@ -12,7 +12,7 @@ export class FormArray {
|
|
|
12
12
|
this.initialState = groups;
|
|
13
13
|
this.validators = validators;
|
|
14
14
|
this.refresh(this.initialState);
|
|
15
|
-
this.observable = observable(this.
|
|
15
|
+
this.observable = observable(this.value);
|
|
16
16
|
groups?.forEach((group) => {
|
|
17
17
|
this.subscription(group);
|
|
18
18
|
});
|
|
@@ -59,8 +59,8 @@ export class FormArray {
|
|
|
59
59
|
get invalid() {
|
|
60
60
|
return !this.currentValid;
|
|
61
61
|
}
|
|
62
|
-
get
|
|
63
|
-
return this.groups.map(({ state }) => state);
|
|
62
|
+
get value() {
|
|
63
|
+
return this.groups.map(({ value: state }) => state);
|
|
64
64
|
}
|
|
65
65
|
get error() {
|
|
66
66
|
return this.currentError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAiBhF,MAAM,OAAO,SAAS;IA2BpB,YACE,YAAsE,EACtE,eAA0C;QA1BpC,kBAAa,GAAuC,EAAE,CAAC;QAIvD,iBAAY,GAAG,IAAI,CAAC;QAEpB,oBAAe,GAAG,KAAK,CAAC;QAIxB,kBAAa,GAAqB,EAAE,CAAC;QAkB3C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,sBAAsB,CACnD,YAAY,EACZ,eAAe,CAChB,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QAEjC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAE3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,15 +6,15 @@ export declare class FormControl<T = any> implements AbstractReactiveControl<T>
|
|
|
6
6
|
private currentDirty;
|
|
7
7
|
private currentDisabled;
|
|
8
8
|
private currentValid;
|
|
9
|
-
private
|
|
10
|
-
private
|
|
9
|
+
private initialValue;
|
|
10
|
+
private currentValue;
|
|
11
11
|
private currentError?;
|
|
12
12
|
private currentErrors;
|
|
13
13
|
private validators?;
|
|
14
14
|
private observable;
|
|
15
15
|
constructor();
|
|
16
16
|
constructor(props: FormControlOptions<T>);
|
|
17
|
-
constructor(
|
|
17
|
+
constructor(value: T, validators?: ValidatorFn<T>[]);
|
|
18
18
|
get focused(): boolean;
|
|
19
19
|
get unfocused(): boolean;
|
|
20
20
|
get touched(): boolean;
|
|
@@ -25,7 +25,7 @@ export declare class FormControl<T = any> implements AbstractReactiveControl<T>
|
|
|
25
25
|
get enabled(): boolean;
|
|
26
26
|
get valid(): boolean;
|
|
27
27
|
get invalid(): boolean;
|
|
28
|
-
get
|
|
28
|
+
get value(): T;
|
|
29
29
|
get errors(): ValidatorError[];
|
|
30
30
|
get error(): ValidatorError | undefined;
|
|
31
31
|
get wrong(): boolean;
|
|
@@ -35,7 +35,7 @@ export declare class FormControl<T = any> implements AbstractReactiveControl<T>
|
|
|
35
35
|
disable(): void;
|
|
36
36
|
enable(): void;
|
|
37
37
|
touch(): void;
|
|
38
|
-
|
|
38
|
+
setValue(value: T): void;
|
|
39
39
|
setValidators(validators?: ValidatorFn<T>[]): void;
|
|
40
40
|
subscribe(subscriber: SubscriberControl<T>): Unsubscription;
|
|
41
41
|
private updateValueAndValidity;
|
|
@@ -43,4 +43,4 @@ export declare class FormControl<T = any> implements AbstractReactiveControl<T>
|
|
|
43
43
|
export declare function formControl<T>(): FormControl<T | undefined>;
|
|
44
44
|
export declare function formControl<T>(options: FormStateOptions<T>): FormControl<T>;
|
|
45
45
|
export declare function formControl<T>(options: FormValidatorsOptions<T>): FormControl<T | undefined>;
|
|
46
|
-
export declare function formControl<T>(
|
|
46
|
+
export declare function formControl<T>(value: T, validators?: ValidatorFn<T>[]): FormControl<T>;
|
package/dist/esm/form-control.js
CHANGED
|
@@ -9,12 +9,12 @@ export class FormControl {
|
|
|
9
9
|
this.currentDisabled = false;
|
|
10
10
|
this.currentValid = true;
|
|
11
11
|
this.currentErrors = [];
|
|
12
|
-
const {
|
|
13
|
-
this.observable = observable(
|
|
14
|
-
this.
|
|
12
|
+
const { value, validators } = createFormControlOptions(controlProps, controlValidators);
|
|
13
|
+
this.observable = observable(value);
|
|
14
|
+
this.initialValue = value;
|
|
15
15
|
this.validators = validators;
|
|
16
|
-
this.
|
|
17
|
-
this.updateValueAndValidity(
|
|
16
|
+
this.currentValue = value;
|
|
17
|
+
this.updateValueAndValidity(value, validators);
|
|
18
18
|
}
|
|
19
19
|
get focused() {
|
|
20
20
|
return this.currentFocused;
|
|
@@ -46,8 +46,8 @@ export class FormControl {
|
|
|
46
46
|
get invalid() {
|
|
47
47
|
return !this.currentValid;
|
|
48
48
|
}
|
|
49
|
-
get
|
|
50
|
-
return this.
|
|
49
|
+
get value() {
|
|
50
|
+
return this.currentValue;
|
|
51
51
|
}
|
|
52
52
|
get errors() {
|
|
53
53
|
return this.currentErrors;
|
|
@@ -59,7 +59,7 @@ export class FormControl {
|
|
|
59
59
|
return this.touched && this.invalid;
|
|
60
60
|
}
|
|
61
61
|
reset() {
|
|
62
|
-
this.
|
|
62
|
+
this.setValue(this.initialValue);
|
|
63
63
|
this.currentDirty = false;
|
|
64
64
|
this.currentTouched = false;
|
|
65
65
|
}
|
|
@@ -79,24 +79,24 @@ export class FormControl {
|
|
|
79
79
|
touch() {
|
|
80
80
|
this.currentTouched = true;
|
|
81
81
|
}
|
|
82
|
-
|
|
82
|
+
setValue(value) {
|
|
83
83
|
if (this.enabled) {
|
|
84
|
-
this.
|
|
84
|
+
this.currentValue = value;
|
|
85
85
|
this.currentDirty = true;
|
|
86
|
-
this.updateValueAndValidity(
|
|
87
|
-
this.observable.next(
|
|
86
|
+
this.updateValueAndValidity(value, this.validators);
|
|
87
|
+
this.observable.next(value);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
setValidators(validators = []) {
|
|
91
91
|
this.validators = validators;
|
|
92
|
-
this.updateValueAndValidity(this.
|
|
92
|
+
this.updateValueAndValidity(this.value, validators);
|
|
93
93
|
}
|
|
94
94
|
subscribe(subscriber) {
|
|
95
95
|
return this.observable.subscribe(subscriber);
|
|
96
96
|
}
|
|
97
|
-
updateValueAndValidity(
|
|
97
|
+
updateValueAndValidity(value, validators) {
|
|
98
98
|
if (validators) {
|
|
99
|
-
const errors = controlIsValid({
|
|
99
|
+
const errors = controlIsValid({ value, validators });
|
|
100
100
|
this.currentError = errors[0];
|
|
101
101
|
this.currentErrors = errors;
|
|
102
102
|
this.currentValid = errors.length === 0;
|
package/dist/esm/form-group.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ValidatorError } from '@rolster/validators';
|
|
2
|
-
import { AbstractControls, AbstractReactiveControl, AbstractReactiveGroup, FormGroupOptions,
|
|
2
|
+
import { AbstractControls, AbstractReactiveControl, AbstractReactiveGroup, FormGroupOptions, SubscriberGroup, ValidatorGroupFn, ValueGroup } from './types';
|
|
3
3
|
export type FormControls<T extends AbstractReactiveControl = AbstractReactiveControl> = AbstractControls<T>;
|
|
4
4
|
export declare class FormGroup<C extends FormControls = FormControls> implements AbstractReactiveGroup<C> {
|
|
5
5
|
protected currentControls: C;
|
|
@@ -21,7 +21,7 @@ export declare class FormGroup<C extends FormControls = FormControls> implements
|
|
|
21
21
|
get pristineAll(): boolean;
|
|
22
22
|
get valid(): boolean;
|
|
23
23
|
get invalid(): boolean;
|
|
24
|
-
get
|
|
24
|
+
get value(): ValueGroup<C>;
|
|
25
25
|
get errors(): ValidatorError[];
|
|
26
26
|
get error(): ValidatorError | undefined;
|
|
27
27
|
get wrong(): boolean;
|
package/dist/esm/form-group.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { observable } from '@rolster/commons';
|
|
2
2
|
import { createFormGroupOptions } from './arguments';
|
|
3
|
-
import { controlsAllChecked, controlsPartialChecked,
|
|
3
|
+
import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from './helpers';
|
|
4
4
|
export class FormGroup {
|
|
5
5
|
constructor(groupOptions, groupValidators) {
|
|
6
6
|
this.currentErrors = [];
|
|
@@ -9,11 +9,11 @@ export class FormGroup {
|
|
|
9
9
|
this.currentControls = controls;
|
|
10
10
|
this.validators = validators;
|
|
11
11
|
this.updateValueAndValidity(controls, validators);
|
|
12
|
-
this.observable = observable(this.
|
|
12
|
+
this.observable = observable(this.value);
|
|
13
13
|
Object.values(controls).forEach((control) => {
|
|
14
14
|
control.subscribe(() => {
|
|
15
15
|
this.updateValueAndValidity(this.controls, this.validators);
|
|
16
|
-
this.observable.next(this.
|
|
16
|
+
this.observable.next(this.value);
|
|
17
17
|
});
|
|
18
18
|
});
|
|
19
19
|
}
|
|
@@ -50,8 +50,8 @@ export class FormGroup {
|
|
|
50
50
|
get invalid() {
|
|
51
51
|
return !this.valid;
|
|
52
52
|
}
|
|
53
|
-
get
|
|
54
|
-
return
|
|
53
|
+
get value() {
|
|
54
|
+
return controlsToValue(this.controls);
|
|
55
55
|
}
|
|
56
56
|
get errors() {
|
|
57
57
|
return this.currentErrors;
|
package/dist/esm/helpers.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ValidatorError, ValidatorFn } from '@rolster/validators';
|
|
2
|
-
import { AbstractControl, AbstractArrayGroup, AbstractArrayControls, AbstractGroup, AbstractControls,
|
|
2
|
+
import { AbstractControl, AbstractArrayGroup, AbstractArrayControls, AbstractGroup, AbstractControls, ValidatorArrayFn, ValidatorGroupFn, ValueGroup } from './types';
|
|
3
3
|
interface ControlValidOptions<T> {
|
|
4
|
-
|
|
4
|
+
value: T;
|
|
5
5
|
validators: ValidatorFn<T>[];
|
|
6
6
|
}
|
|
7
7
|
interface GroupValidOptions<T extends AbstractControls> {
|
|
@@ -12,10 +12,10 @@ interface ArrayValidOptions<T extends AbstractArrayControls = AbstractArrayContr
|
|
|
12
12
|
groups: G[];
|
|
13
13
|
validators: ValidatorArrayFn<T, R>[];
|
|
14
14
|
}
|
|
15
|
-
export declare const controlIsValid: <T>({
|
|
15
|
+
export declare const controlIsValid: <T>({ value, validators }: ControlValidOptions<T>) => ValidatorError[];
|
|
16
16
|
export declare const controlsAllChecked: <T extends AbstractControl<any>>(controls: AbstractControls<T>, key: keyof T) => boolean;
|
|
17
17
|
export declare const controlsPartialChecked: <T extends AbstractControl<any>>(controls: AbstractControls<T>, key: keyof T) => boolean;
|
|
18
|
-
export declare const
|
|
18
|
+
export declare const controlsToValue: <C extends AbstractControls<AbstractControl<any>>>(controls: C) => ValueGroup<C>;
|
|
19
19
|
export declare const groupIsValid: <C extends AbstractControls<AbstractControl<any>>>({ controls, validators }: GroupValidOptions<C>) => ValidatorError[];
|
|
20
20
|
export declare function groupAllChecked<C extends AbstractControls>(groups: AbstractGroup<C>[], key: keyof AbstractGroup<C>): boolean;
|
|
21
21
|
export declare function groupPartialChecked<C extends AbstractControls>(groups: AbstractGroup<C>[], key: keyof AbstractGroup<C>): boolean;
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { parseBoolean } from '@rolster/commons';
|
|
2
|
-
export const controlIsValid = ({
|
|
2
|
+
export const controlIsValid = ({ value, validators }) => {
|
|
3
3
|
return validators.reduce((errors, validator) => {
|
|
4
|
-
const error = validator(
|
|
4
|
+
const error = validator(value);
|
|
5
5
|
if (error) {
|
|
6
6
|
errors.push(error);
|
|
7
7
|
}
|
|
@@ -14,9 +14,9 @@ export const controlsAllChecked = (controls, key) => {
|
|
|
14
14
|
export const controlsPartialChecked = (controls, key) => {
|
|
15
15
|
return Object.values(controls).reduce((value, control) => control.disabled ? value : value || parseBoolean(control[key]), false);
|
|
16
16
|
};
|
|
17
|
-
export const
|
|
18
|
-
return Object.entries(controls).reduce((result, [key, {
|
|
19
|
-
result[key] =
|
|
17
|
+
export const controlsToValue = (controls) => {
|
|
18
|
+
return Object.entries(controls).reduce((result, [key, { value }]) => {
|
|
19
|
+
result[key] = value;
|
|
20
20
|
return result;
|
|
21
21
|
}, {});
|
|
22
22
|
};
|