@rolster/forms 2.6.5 → 2.7.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 +1 @@
1
- {"version":3,"file":"index.js","sources":["../esm/arguments.js","../esm/helpers.js","../esm/form-control.js","../esm/form-array/form-array-control.js","../esm/form-group.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array.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\nfunction reduceErrors(errors) {\r\n return errors.reduce((keys, { id }) => [...keys, id], []);\r\n}\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\nexport function hasError(errors, key) {\r\n return reduceErrors(errors).includes(key);\r\n}\r\nexport function someErrors(errors, keys) {\r\n return reduceErrors(errors).some((key) => keys.includes(key));\r\n}\r\n//# sourceMappingURL=helpers.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormControlOptions } from './arguments';\r\nimport { controlIsValid, hasError, someErrors } 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 hasError(key) {\r\n return hasError(this.errors, key);\r\n }\r\n someErrors(keys) {\r\n return someErrors(this.errors, keys);\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","import { observable } from '@rolster/commons';\r\nimport { createFormArrayOptions } from '../arguments';\r\nimport { arrayIsValid, groupAllChecked, groupPartialChecked, hasError, someErrors } 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 hasError(key) {\r\n return hasError(this.errors, key);\r\n }\r\n someErrors(keys) {\r\n return someErrors(this.errors, keys);\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"],"names":["uuid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../esm/arguments.js","../esm/helpers.js","../esm/form-control.js","../esm/form-array/form-array-control.js","../esm/form-group.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js"],"sourcesContent":["function itIsControlOptions(options) {\r\n return (typeof options === 'object' &&\r\n ('value' in options || 'validators' in options));\r\n}\r\nfunction itIsGroupOptions(options) {\r\n return typeof options === 'object' && 'controls' in options;\r\n}\r\nfunction itIsArrayOptions(options) {\r\n return (typeof options === 'object' &&\r\n ('groups' in options || 'validators' in options));\r\n}\r\nexport function createFormControlOptions(...controlOptions) {\r\n const [options, validators] = controlOptions;\r\n if (!options) {\r\n return { value: options, validators };\r\n }\r\n if (!validators && itIsControlOptions(options)) {\r\n return options;\r\n }\r\n return {\r\n value: options,\r\n validators\r\n };\r\n}\r\nexport function createFormGroupOptions(...groupOptions) {\r\n const [options, validators] = groupOptions;\r\n if (!validators && itIsGroupOptions(options)) {\r\n return options;\r\n }\r\n return {\r\n controls: options,\r\n validators\r\n };\r\n}\r\nexport function createFormArrayOptions(...arrayOptions) {\r\n const [options, validators] = arrayOptions;\r\n if (!options) {\r\n return { groups: options, validators };\r\n }\r\n if (!validators && itIsArrayOptions(options)) {\r\n return options;\r\n }\r\n return {\r\n groups: options,\r\n validators\r\n };\r\n}\r\n//# sourceMappingURL=arguments.js.map","import { parseBoolean } from '@rolster/commons';\r\nfunction reduceErrors(errors) {\r\n return errors.reduce((keys, { id }) => [...keys, id], []);\r\n}\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\nexport function hasError(errors, key) {\r\n return reduceErrors(errors).includes(key);\r\n}\r\nexport function someErrors(errors, keys) {\r\n return reduceErrors(errors).some((key) => keys.includes(key));\r\n}\r\n//# sourceMappingURL=helpers.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormControlOptions } from './arguments';\r\nimport { controlIsValid, hasError, someErrors } from './helpers';\r\nexport class FormControl {\r\n constructor(controlOptions, 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(controlOptions, 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 hasError(key) {\r\n return hasError(this.errors, key);\r\n }\r\n someErrors(keys) {\r\n return someErrors(this.errors, keys);\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","import { v4 as uuid } from 'uuid';\r\nimport { FormControl } from '../form-control';\r\nexport class FormArrayList extends FormControl {\r\n constructor(valueToControls, value, validators) {\r\n super(value || [], validators);\r\n this.valueToControls = valueToControls;\r\n this.currentControls = (value || []).map((value) => this.createControls(value));\r\n this.uuid = uuid();\r\n }\r\n get controls() {\r\n return this.currentControls;\r\n }\r\n setValue(values) {\r\n this.currentControls = values.map((value) => this.createControls(value));\r\n super.setValue(values);\r\n }\r\n createControls(value) {\r\n const controls = this.valueToControls(value);\r\n Object.values(controls).forEach((control) => {\r\n control.subscribe(() => {\r\n const { value, validators } = this;\r\n this.updateValueAndValidity(value, validators);\r\n this.observable.next(value);\r\n });\r\n });\r\n return controls;\r\n }\r\n}\r\nexport function formArrayList(valueToControl, value, validators) {\r\n return new FormArrayList(valueToControl, value, validators);\r\n}\r\n//# sourceMappingURL=form-array-list.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormArrayOptions } from '../arguments';\r\nimport { arrayIsValid, groupAllChecked, groupPartialChecked, hasError, someErrors } 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 hasError(key) {\r\n return hasError(this.errors, key);\r\n }\r\n someErrors(keys) {\r\n return someErrors(this.errors, keys);\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"],"names":["uuid"],"mappings":";;;AAAA,SAAS,kBAAkB,CAAC,OAAO,EAAE;AACrC,IAAI,QAAQ,OAAO,OAAO,KAAK,QAAQ;AACvC,SAAS,OAAO,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC,EAAE;AACzD,CAAC;AACD,SAAS,gBAAgB,CAAC,OAAO,EAAE;AACnC,IAAI,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,UAAU,IAAI,OAAO,CAAC;AAChE,CAAC;AACD,SAAS,gBAAgB,CAAC,OAAO,EAAE;AACnC,IAAI,QAAQ,OAAO,OAAO,KAAK,QAAQ;AACvC,SAAS,QAAQ,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC,EAAE;AAC1D,CAAC;AACM,SAAS,wBAAwB,CAAC,GAAG,cAAc,EAAE;AAC5D,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC;AACjD,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC9C,KAAK;AACL,IAAI,IAAI,CAAC,UAAU,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE;AACpD,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,KAAK,EAAE,OAAO;AACtB,QAAQ,UAAU;AAClB,KAAK,CAAC;AACN,CAAC;AACM,SAAS,sBAAsB,CAAC,GAAG,YAAY,EAAE;AACxD,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC;AAC/C,IAAI,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE;AAClD,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,QAAQ,EAAE,OAAO;AACzB,QAAQ,UAAU;AAClB,KAAK,CAAC;AACN,CAAC;AACM,SAAS,sBAAsB,CAAC,GAAG,YAAY,EAAE;AACxD,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC;AAC/C,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC/C,KAAK;AACL,IAAI,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE;AAClD,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,OAAO;AACvB,QAAQ,UAAU;AAClB,KAAK,CAAC;AACN;;AC7CA,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AACM,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,CAAC;AACK,SAAS,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;AACtC,IAAI,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AACM,SAAS,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE;AACzC,IAAI,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAClE;;ACnDO,MAAM,WAAW,CAAC;AACzB,IAAI,WAAW,CAAC,cAAc,EAAE,iBAAiB,EAAE;AACnD,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,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAClG,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,QAAQ,CAAC,GAAG,EAAE;AAClB,QAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,UAAU,CAAC,IAAI,EAAE;AACrB,QAAQ,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7C,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;;ACnHO,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;;ACXO,MAAM,aAAa,SAAS,WAAW,CAAC;AAC/C,IAAI,WAAW,CAAC,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE;AACpD,QAAQ,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;AACvC,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AAC/C,QAAQ,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AACxF,QAAQ,IAAI,CAAC,IAAI,GAAGA,EAAI,EAAE,CAAC;AAC3B,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC;AACpC,KAAK;AACL,IAAI,QAAQ,CAAC,MAAM,EAAE;AACrB,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AACjF,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/B,KAAK;AACL,IAAI,cAAc,CAAC,KAAK,EAAE;AAC1B,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACrD,QAAQ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AACrD,YAAY,OAAO,CAAC,SAAS,CAAC,MAAM;AACpC,gBAAgB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;AACnD,gBAAgB,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/D,gBAAgB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL,CAAC;AACM,SAAS,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE;AACjE,IAAI,OAAO,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAChE;;AC3BO,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,QAAQ,CAAC,GAAG,EAAE;AAClB,QAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,UAAU,CAAC,IAAI,EAAE;AACrB,QAAQ,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7C,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;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { ValidatorFn } from '@rolster/validators';
2
- import { AbstractArrayGroup, AbstractArrayControls, AbstractControls, FormArrayOptions, FormControlOptions, FormGroupOptions, ValidatorArrayFn, ValidatorGroupFn } from './types';
2
+ import { AbstractArrayControls, AbstractArrayGroup, AbstractControls, FormArrayOptions, FormControlOptions, FormGroupOptions, ValidatorArrayFn, ValidatorGroupFn } from './types';
3
3
  type ArgsControlOptions<T = any> = [
4
4
  FormControlOptions<T> | T | undefined,
5
5
  Undefined<ValidatorFn<T>[]>
@@ -12,7 +12,7 @@ type ArgsArrayOptions<C extends AbstractArrayControls, R, G extends AbstractArra
12
12
  Undefined<FormArrayOptions<C, R, G> | AbstractArrayGroup<C, R>[]>,
13
13
  Undefined<ValidatorArrayFn<C, R, G>[]>
14
14
  ];
15
- export declare function createFormControlOptions<T, C extends FormControlOptions<T>>(...argsProps: ArgsControlOptions<T>): C;
16
- export declare function createFormGroupOptions<C extends AbstractControls, G extends FormGroupOptions<C>>(...argsProps: ArgsGroupOptions<C>): G;
17
- export declare function createFormArrayOptions<C extends AbstractArrayControls, R, G extends AbstractArrayGroup<C, R>, A extends FormArrayOptions<C, R, G>>(...argsProps: ArgsArrayOptions<C, R, G>): A;
15
+ export declare function createFormControlOptions<T, O extends FormControlOptions<T>>(...controlOptions: ArgsControlOptions<T>): O;
16
+ export declare function createFormGroupOptions<C extends AbstractControls, O extends FormGroupOptions<C>>(...groupOptions: ArgsGroupOptions<C>): O;
17
+ export declare function createFormArrayOptions<C extends AbstractArrayControls, R, G extends AbstractArrayGroup<C, R>, O extends FormArrayOptions<C, R, G>>(...arrayOptions: ArgsArrayOptions<C, R, G>): O;
18
18
  export {};
@@ -1,45 +1,47 @@
1
- function itIsFormControlOptions(props) {
2
- return (typeof props === 'object' && ('value' in props || 'validators' in props));
1
+ function itIsControlOptions(options) {
2
+ return (typeof options === 'object' &&
3
+ ('value' in options || 'validators' in options));
3
4
  }
4
- function itIsFormGroupOptions(props) {
5
- return typeof props === 'object' && 'controls' in props;
5
+ function itIsGroupOptions(options) {
6
+ return typeof options === 'object' && 'controls' in options;
6
7
  }
7
- function itIsFormArrayOptions(props) {
8
- return (typeof props === 'object' && ('groups' in props || 'validators' in props));
8
+ function itIsArrayOptions(options) {
9
+ return (typeof options === 'object' &&
10
+ ('groups' in options || 'validators' in options));
9
11
  }
10
- export function createFormControlOptions(...argsProps) {
11
- const [props, validators] = argsProps;
12
- if (!props) {
13
- return { value: props, validators };
12
+ export function createFormControlOptions(...controlOptions) {
13
+ const [options, validators] = controlOptions;
14
+ if (!options) {
15
+ return { value: options, validators };
14
16
  }
15
- if (!validators && itIsFormControlOptions(props)) {
16
- return props;
17
+ if (!validators && itIsControlOptions(options)) {
18
+ return options;
17
19
  }
18
20
  return {
19
- value: props,
21
+ value: options,
20
22
  validators
21
23
  };
22
24
  }
23
- export function createFormGroupOptions(...argsProps) {
24
- const [props, validators] = argsProps;
25
- if (!validators && itIsFormGroupOptions(props)) {
26
- return props;
25
+ export function createFormGroupOptions(...groupOptions) {
26
+ const [options, validators] = groupOptions;
27
+ if (!validators && itIsGroupOptions(options)) {
28
+ return options;
27
29
  }
28
30
  return {
29
- controls: props,
31
+ controls: options,
30
32
  validators
31
33
  };
32
34
  }
33
- export function createFormArrayOptions(...argsProps) {
34
- const [props, validators] = argsProps;
35
- if (!props) {
36
- return { groups: props, validators };
35
+ export function createFormArrayOptions(...arrayOptions) {
36
+ const [options, validators] = arrayOptions;
37
+ if (!options) {
38
+ return { groups: options, validators };
37
39
  }
38
- if (!validators && itIsFormArrayOptions(props)) {
39
- return props;
40
+ if (!validators && itIsArrayOptions(options)) {
41
+ return options;
40
42
  }
41
43
  return {
42
- groups: props,
44
+ groups: options,
43
45
  validators
44
46
  };
45
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../src/arguments.ts"],"names":[],"mappings":"AA+BA,SAAS,sBAAsB,CAC7B,KAAU;IAEV,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAG3B,KAAU;IACV,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAK3B,KAAU;IACV,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAG,SAAgC;IAEnC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IAEtC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAO,CAAC;KAC1C;IAED,IAAI,CAAC,UAAU,IAAI,sBAAsB,CAAO,KAAK,CAAC,EAAE;QACtD,OAAO,KAAK,CAAC;KACd;IAED,OAAO;QACL,KAAK,EAAE,KAAU;QACjB,UAAU;KACN,CAAC;AACT,CAAC;AAED,MAAM,UAAU,sBAAsB,CAGpC,GAAG,SAA8B;IACjC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IAEtC,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAO,KAAK,CAAC,EAAE;QACpD,OAAO,KAAK,CAAC;KACd;IAED,OAAO;QACL,QAAQ,EAAE,KAAU;QACpB,UAAU;KACN,CAAC;AACT,CAAC;AAED,MAAM,UAAU,sBAAsB,CAKpC,GAAG,SAAoC;IACvC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IAEtC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAO,CAAC;KAC3C;IAED,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAa,KAAK,CAAC,EAAE;QAC1D,OAAO,KAAK,CAAC;KACd;IAED,OAAO;QACL,MAAM,EAAE,KAAmC;QAC3C,UAAU;KACN,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../src/arguments.ts"],"names":[],"mappings":"AA+BA,SAAS,kBAAkB,CACzB,OAAY;IAEZ,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,OAAO,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAGvB,OAAY;IACZ,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,UAAU,IAAI,OAAO,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAKvB,OAAY;IACZ,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,QAAQ,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAG,cAAqC;IAExC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC;IAE7C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAO,CAAC;KAC5C;IAED,IAAI,CAAC,UAAU,IAAI,kBAAkB,CAAO,OAAO,CAAC,EAAE;QACpD,OAAO,OAAO,CAAC;KAChB;IAED,OAAO;QACL,KAAK,EAAE,OAAY;QACnB,UAAU;KACN,CAAC;AACT,CAAC;AAED,MAAM,UAAU,sBAAsB,CAGpC,GAAG,YAAiC;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC;IAE3C,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAO,OAAO,CAAC,EAAE;QAClD,OAAO,OAAO,CAAC;KAChB;IAED,OAAO;QACL,QAAQ,EAAE,OAAY;QACtB,UAAU;KACN,CAAC;AACT,CAAC;AAED,MAAM,UAAU,sBAAsB,CAKpC,GAAG,YAAuC;IAC1C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAO,CAAC;KAC7C;IAED,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAa,OAAO,CAAC,EAAE;QACxD,OAAO,OAAO,CAAC;KAChB;IAED,OAAO;QACL,MAAM,EAAE,OAAqC;QAC7C,UAAU;KACN,CAAC;AACT,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ValidatorFn } from '@rolster/validators';
2
+ import { FormControlOptions } from '../types';
3
+ export type ArgsListOptions<T = any> = [
4
+ FormControlOptions<T> | T | undefined,
5
+ Undefined<ValidatorFn<T>[]>
6
+ ];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=arguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../../src/form-array/arguments.ts"],"names":[],"mappings":""}
@@ -6,7 +6,7 @@ export declare class FormArrayControl<T = any> extends FormControl<T> implements
6
6
  readonly uuid: string;
7
7
  constructor();
8
8
  constructor(options: ArrayControlOptions<T>);
9
- constructor(state: T, validators?: ValidatorFn<T>[]);
9
+ constructor(value: T, validators?: ValidatorFn<T>[]);
10
10
  }
11
11
  export type FormArrayVoid<T = any> = FormArrayControl<T | undefined>;
12
12
  type ArrayValueOptions<T> = Omit<ArrayControlOptions<T>, 'validators'>;
@@ -0,0 +1,14 @@
1
+ import { ValidatorFn } from '@rolster/validators';
2
+ import { FormControl } from '../form-control';
3
+ import { AbstractArrayList, ArrayControlsValue, ArrayListValueToControls } from '../types';
4
+ import { FormArrayControls } from './types';
5
+ export declare class FormArrayList<C extends FormArrayControls = FormArrayControls> extends FormControl<ArrayControlsValue<C>[]> implements AbstractArrayList<C> {
6
+ private valueToControls;
7
+ readonly uuid: string;
8
+ private currentControls;
9
+ constructor(valueToControls: ArrayListValueToControls<C>, value?: ArrayControlsValue<C>[], validators?: ValidatorFn<ArrayControlsValue<C>[]>[]);
10
+ get controls(): C[];
11
+ setValue(values: ArrayControlsValue<C>[]): void;
12
+ private createControls;
13
+ }
14
+ export declare function formArrayList<C extends FormArrayControls = FormArrayControls>(valueToControl: ArrayListValueToControls<C>, value?: ArrayControlsValue<C>[], validators?: ValidatorFn<ArrayControlsValue<C>[]>[]): FormArrayList<C>;
@@ -0,0 +1,32 @@
1
+ import { v4 as uuid } from 'uuid';
2
+ import { FormControl } from '../form-control';
3
+ export class FormArrayList extends FormControl {
4
+ constructor(valueToControls, value, validators) {
5
+ super(value || [], validators);
6
+ this.valueToControls = valueToControls;
7
+ this.currentControls = (value || []).map((value) => this.createControls(value));
8
+ this.uuid = uuid();
9
+ }
10
+ get controls() {
11
+ return this.currentControls;
12
+ }
13
+ setValue(values) {
14
+ this.currentControls = values.map((value) => this.createControls(value));
15
+ super.setValue(values);
16
+ }
17
+ createControls(value) {
18
+ const controls = this.valueToControls(value);
19
+ Object.values(controls).forEach((control) => {
20
+ control.subscribe(() => {
21
+ const { value, validators } = this;
22
+ this.updateValueAndValidity(value, validators);
23
+ this.observable.next(value);
24
+ });
25
+ });
26
+ return controls;
27
+ }
28
+ }
29
+ export function formArrayList(valueToControl, value, validators) {
30
+ return new FormArrayList(valueToControl, value, validators);
31
+ }
32
+ //# sourceMappingURL=form-array-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-array-list.js","sourceRoot":"","sources":["../../../src/form-array/form-array-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQ9C,MAAM,OAAO,aACX,SAAQ,WAAoC;IAO5C,YACU,eAA4C,EACpD,KAA+B,EAC/B,UAAmD;QAEnD,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;QAJvB,oBAAe,GAAf,eAAe,CAA6B;QAMpD,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAC3B,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,QAAQ,CAAC,MAA+B;QAC7C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,QAAQ,CAAC,MAAM,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,GAAG,EAAE;gBACrB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;gBAEnC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAC3B,cAA2C,EAC3C,KAA+B,EAC/B,UAAmD;IAEnD,OAAO,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ValidatorError } from '@rolster/validators';
2
- import { AbstractReactiveArray, AbstractReactiveArrayGroup, ArrayStateGroup, FormArrayOptions, SubscriberArray, ValidatorArrayFn } from '../types';
2
+ import { AbstractReactiveArray, AbstractReactiveArrayGroup, ArrayControlsValue, FormArrayOptions, SubscriberArray, ValidatorArrayFn } from '../types';
3
3
  import { FormArrayControls } from './types';
4
4
  type ArrayOptions<C extends FormArrayControls, R> = FormArrayOptions<C, R, AbstractReactiveArrayGroup<C, R>>;
5
5
  export declare class FormArray<C extends FormArrayControls = FormArrayControls, R = any> implements AbstractReactiveArray<C, R, AbstractReactiveArrayGroup<C, R>> {
@@ -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 value(): ArrayStateGroup<C>[];
32
+ get value(): ArrayControlsValue<C>[];
33
33
  get error(): ValidatorError | undefined;
34
34
  get errors(): ValidatorError[];
35
35
  get wrong(): boolean;
@@ -1,4 +1,5 @@
1
1
  export { FormArrayControl, FormArrayVoid, formArrayControl } from './form-array-control';
2
2
  export { FormArrayGroup, formArrayGroup } from './form-array-group';
3
+ export { FormArrayList, formArrayList } from './form-array-list';
3
4
  export { FormArray, formArray } from './form-array';
4
5
  export * from './types';
@@ -1,5 +1,6 @@
1
1
  export { FormArrayControl, formArrayControl } from './form-array-control';
2
2
  export { FormArrayGroup, formArrayGroup } from './form-array-group';
3
+ export { FormArrayList, formArrayList } from './form-array-list';
3
4
  export { FormArray, formArray } from './form-array';
4
5
  export * from './types';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/form-array/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/form-array/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,cAAc,SAAS,CAAC"}
@@ -1,19 +1,20 @@
1
+ import { Observable } from '@rolster/commons';
1
2
  import { ValidatorError, ValidatorFn } from '@rolster/validators';
2
3
  import { AbstractReactiveControl, FormControlOptions, FormValueOptions, FormValidatorsOptions, SubscriberControl } from './types';
3
4
  export declare class FormControl<T = any> implements AbstractReactiveControl<T> {
4
- private currentFocused;
5
- private currentTouched;
6
- private currentDirty;
7
- private currentDisabled;
8
- private currentValid;
9
- private initialValue;
10
- private currentValue;
11
- private currentError?;
12
- private currentErrors;
13
- private validators?;
14
- private observable;
5
+ protected currentFocused: boolean;
6
+ protected currentTouched: boolean;
7
+ protected currentDirty: boolean;
8
+ protected currentDisabled: boolean;
9
+ protected currentValid: boolean;
10
+ protected initialValue: T;
11
+ protected currentValue: T;
12
+ protected currentError?: ValidatorError;
13
+ protected currentErrors: ValidatorError[];
14
+ protected validators?: ValidatorFn<T>[];
15
+ protected observable: Observable<T>;
15
16
  constructor();
16
- constructor(props: FormControlOptions<T>);
17
+ constructor(options: FormControlOptions<T>);
17
18
  constructor(value: T, validators?: ValidatorFn<T>[]);
18
19
  get focused(): boolean;
19
20
  get unfocused(): boolean;
@@ -40,7 +41,7 @@ export declare class FormControl<T = any> implements AbstractReactiveControl<T>
40
41
  setValue(value: T): void;
41
42
  setValidators(validators?: ValidatorFn<T>[]): void;
42
43
  subscribe(subscriber: SubscriberControl<T>): Unsubscription;
43
- private updateValueAndValidity;
44
+ protected updateValueAndValidity(value: T, validators?: ValidatorFn<T>[]): void;
44
45
  }
45
46
  export type FormVoid<T = any> = FormControl<T | undefined>;
46
47
  export declare function formControl<T>(): FormControl<T | undefined>;
@@ -2,14 +2,14 @@ import { observable } from '@rolster/commons';
2
2
  import { createFormControlOptions } from './arguments';
3
3
  import { controlIsValid, hasError, someErrors } from './helpers';
4
4
  export class FormControl {
5
- constructor(controlProps, controlValidators) {
5
+ constructor(controlOptions, controlValidators) {
6
6
  this.currentFocused = false;
7
7
  this.currentTouched = false;
8
8
  this.currentDirty = false;
9
9
  this.currentDisabled = false;
10
10
  this.currentValid = true;
11
11
  this.currentErrors = [];
12
- const { value, validators } = createFormControlOptions(controlProps, controlValidators);
12
+ const { value, validators } = createFormControlOptions(controlOptions, controlValidators);
13
13
  this.observable = observable(value);
14
14
  this.initialValue = value;
15
15
  this.validators = validators;
@@ -1 +1 @@
1
- {"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ValidatorError } from '@rolster/validators';
2
- import { AbstractControls, AbstractReactiveControl, AbstractReactiveGroup, FormGroupOptions, SubscriberGroup, ValidatorGroupFn, ValueGroup } from './types';
2
+ import { AbstractControls, AbstractReactiveControl, AbstractReactiveGroup, ControlsValue, FormGroupOptions, SubscriberGroup, ValidatorGroupFn } 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 value(): ValueGroup<C>;
24
+ get value(): ControlsValue<C>;
25
25
  get errors(): ValidatorError[];
26
26
  get error(): ValidatorError | undefined;
27
27
  get wrong(): boolean;
@@ -1,5 +1,5 @@
1
1
  import { ValidatorError, ValidatorFn } from '@rolster/validators';
2
- import { AbstractControl, AbstractArrayGroup, AbstractArrayControls, AbstractGroup, AbstractControls, ValidatorArrayFn, ValidatorGroupFn, ValueGroup } from './types';
2
+ import { AbstractControl, AbstractArrayGroup, AbstractArrayControls, AbstractGroup, AbstractControls, ControlsValue, ValidatorArrayFn, ValidatorGroupFn } from './types';
3
3
  interface ControlValidOptions<T> {
4
4
  value: T;
5
5
  validators: ValidatorFn<T>[];
@@ -15,7 +15,7 @@ interface ArrayValidOptions<T extends AbstractArrayControls = AbstractArrayContr
15
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 controlsToValue: <C extends AbstractControls<AbstractControl<any>>>(controls: C) => ValueGroup<C>;
18
+ export declare const controlsToValue: <C extends AbstractControls<AbstractControl<any>>>(controls: C) => ControlsValue<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;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { FormArray, FormArrayControl, FormArrayControls, FormArrayGroup, FormArrayVoid, formArray, formArrayControl, formArrayGroup } from './form-array';
1
+ export { FormArray, FormArrayControl, FormArrayControls, FormArrayGroup, FormArrayList, FormArrayVoid, formArray, formArrayControl, formArrayGroup, formArrayList } from './form-array';
2
2
  export { FormControl, formControl } from './form-control';
3
3
  export { FormControls, FormGroup, formGroup } from './form-group';
4
4
  export * from './types';
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { FormArray, FormArrayControl, FormArrayGroup, formArray, formArrayControl, formArrayGroup } from './form-array';
1
+ export { FormArray, FormArrayControl, FormArrayGroup, FormArrayList, formArray, formArrayControl, formArrayGroup, formArrayList } from './form-array';
2
2
  export { FormControl, formControl } from './form-control';
3
3
  export { FormGroup, formGroup } from './form-group';
4
4
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAEhB,cAAc,EAEd,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAgB,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAEhB,cAAc,EACd,aAAa,EAEb,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAgB,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,cAAc,SAAS,CAAC"}