@rolster/react-forms 18.2.0 → 18.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -68,18 +68,18 @@ const arrayIsValid = ({ groups, validators }) => {
68
68
  function instanceOfReactControlProps(props) {
69
69
  return (typeof props === 'object' && ('state' in props || 'validators' in props));
70
70
  }
71
- function getReactControlProps(props, validators) {
72
- if (props === undefined || props === null) {
71
+ function createReactControlProps(...argsProps) {
72
+ if (argsProps.length < 1) {
73
73
  return { state: undefined, validators: undefined };
74
74
  }
75
- if (instanceOfReactControlProps(props)) {
76
- return props;
75
+ const [state, validators] = argsProps;
76
+ if (argsProps.length < 2 && instanceOfReactControlProps(state)) {
77
+ return state;
77
78
  }
78
- const state = props;
79
- return { state, validators };
79
+ return { state: state, validators };
80
80
  }
81
- function useReactControl(reactProps, validatorsFn) {
82
- const props = getReactControlProps(reactProps, validatorsFn);
81
+ function useReactControl(controlProps, controlValidators) {
82
+ const props = createReactControlProps(controlProps, controlValidators);
83
83
  const [state, setCurrentState] = react.useState(props.state);
84
84
  const [value, setValue] = react.useState(props.state);
85
85
  const [touched, setTouched] = react.useState(props.touched || false);
@@ -159,15 +159,15 @@ function useReactControl(reactProps, validatorsFn) {
159
159
  wrong: touched && !valid
160
160
  };
161
161
  }
162
- function useFormControl(reactProps, validatorsFn) {
163
- return instanceOfReactControlProps(reactProps)
164
- ? useReactControl(reactProps)
165
- : useReactControl(reactProps, validatorsFn);
162
+ function useFormControl(controlProps, controlValidators) {
163
+ return instanceOfReactControlProps(controlProps)
164
+ ? useReactControl(controlProps)
165
+ : useReactControl(controlProps, controlValidators);
166
166
  }
167
- function useInputControl(reactProps, validatorsFn) {
168
- return instanceOfReactControlProps(reactProps)
169
- ? useReactControl(reactProps)
170
- : useReactControl(reactProps, validatorsFn);
167
+ function useInputControl(controlProps, controlValidators) {
168
+ return instanceOfReactControlProps(controlProps)
169
+ ? useReactControl(controlProps)
170
+ : useReactControl(controlProps, controlValidators);
171
171
  }
172
172
 
173
173
  class RolsterArrayControl {
@@ -238,16 +238,16 @@ class RolsterArrayControl {
238
238
  });
239
239
  }
240
240
  }
241
- function useFormArrayControl(reactProps, validators) {
242
- const props = getReactControlProps(reactProps, validators);
241
+ function useFormArrayControl(controlProps, controlValidators) {
242
+ const props = createReactControlProps(controlProps, controlValidators);
243
243
  return new RolsterArrayControl({
244
244
  ...props,
245
245
  uuid: uuid.v4(),
246
246
  initialState: props.state
247
247
  });
248
248
  }
249
- function useInputArrayControl(reactProps, validators) {
250
- const props = getReactControlProps(reactProps, validators);
249
+ function useInputArrayControl(controlProps, controlValidators) {
250
+ const props = createReactControlProps(controlProps, controlValidators);
251
251
  return new RolsterArrayControl({
252
252
  ...props,
253
253
  uuid: uuid.v4(),
@@ -284,18 +284,18 @@ class RolsterArrayGroup {
284
284
  this.parent?.refreshGroup(this, { validators });
285
285
  }
286
286
  }
287
- function instanceOfReactArrayGroupProps(props) {
287
+ function instanceOfArrayGroupProps(props) {
288
288
  return (typeof props === 'object' && ('controls' in props || 'validators' in props));
289
289
  }
290
- function getReactArrayGroupProps(props, validators) {
291
- if (instanceOfReactArrayGroupProps(props)) {
292
- return props;
290
+ function createArrayGroupProps(...argsProps) {
291
+ const [controls, validators] = argsProps;
292
+ if (argsProps.length < 2 && instanceOfArrayGroupProps(controls)) {
293
+ return controls;
293
294
  }
294
- const controls = props;
295
- return { controls, validators };
295
+ return { controls: controls, validators };
296
296
  }
297
- function useFormArrayGroup(reactProps, validators) {
298
- const props = getReactArrayGroupProps(reactProps, validators);
297
+ function useFormArrayGroup(groupProps, groupValidators) {
298
+ const props = createArrayGroupProps(groupProps, groupValidators);
299
299
  return new RolsterArrayGroup({ ...props, uuid: uuid.v4() });
300
300
  }
301
301
 
@@ -317,18 +317,18 @@ function cloneFormControlForArrayGroup(group, control, changes) {
317
317
  function instanceOfReactArrayProps(props) {
318
318
  return (typeof props === 'object' && ('groups' in props || 'validators' in props));
319
319
  }
320
- function getReactArrayProps(props, validators) {
321
- if (props === undefined || props === null) {
320
+ function createReactArrayProps(...argsProps) {
321
+ if (argsProps.length < 1) {
322
322
  return { groups: undefined, validators: undefined };
323
323
  }
324
- if (instanceOfReactArrayProps(props)) {
325
- return props;
324
+ const [groups, validators] = argsProps;
325
+ if (argsProps.length < 2 && instanceOfReactArrayProps(groups)) {
326
+ return groups;
326
327
  }
327
- const groups = props;
328
- return { groups, validators };
328
+ return { groups: groups, validators };
329
329
  }
330
- function useFormArray(reactProps, validatorsFn) {
331
- const props = getReactArrayProps(reactProps, validatorsFn);
330
+ function useFormArray(arrayProps, arrayValidators) {
331
+ const props = createReactArrayProps(arrayProps, arrayValidators);
332
332
  const [currentState] = react.useState(props.groups);
333
333
  const [state, setState] = react.useState([]);
334
334
  const [validators, setValidators] = react.useState(props.validators);
@@ -402,18 +402,18 @@ function useFormArray(reactProps, validatorsFn) {
402
402
  return formArray;
403
403
  }
404
404
 
405
- function instanceOfReactGroupProps(props) {
405
+ function instanceOfGroupProps(props) {
406
406
  return (typeof props === 'object' && ('controls' in props || 'validators' in props));
407
407
  }
408
- function getReactGroupProps(props, validators) {
409
- if (instanceOfReactGroupProps(props)) {
410
- return props;
408
+ function createReactGroupProps(...argsProps) {
409
+ const [controls, validators] = argsProps;
410
+ if (argsProps.length < 2 && instanceOfGroupProps(controls)) {
411
+ return controls;
411
412
  }
412
- const controls = props;
413
- return { controls, validators };
413
+ return { controls: controls, validators };
414
414
  }
415
- function useFormGroup(reactProps, validatorsFn) {
416
- const props = getReactGroupProps(reactProps, validatorsFn);
415
+ function useFormGroup(groupProps, groupValidators) {
416
+ const props = createReactGroupProps(groupProps, groupValidators);
417
417
  const [validators, setValidators] = react.useState(props.validators);
418
418
  const { controls } = props;
419
419
  const errors = (() => validators ? groupIsValid({ controls, validators }) : [])();
@@ -449,15 +449,15 @@ function useFormGroup(reactProps, validatorsFn) {
449
449
  };
450
450
  }
451
451
 
452
- function getInputRefControlProps(props, validators) {
453
- if (props === undefined || props === null) {
452
+ function createInputRefControlProps(...argsProps) {
453
+ if (argsProps.length < 1) {
454
454
  return { state: undefined, validators: undefined };
455
455
  }
456
- if (instanceOfReactControlProps(props)) {
457
- return props;
456
+ const [state, validators] = argsProps;
457
+ if (argsProps.length < 2 && instanceOfReactControlProps(state)) {
458
+ return state;
458
459
  }
459
- const state = props;
460
- return { state, validators };
460
+ return { state: state, validators };
461
461
  }
462
462
  function useInputRefControl(props) {
463
463
  const { setValue, state, validators } = props;
@@ -479,15 +479,15 @@ function useInputRefControl(props) {
479
479
  }, []);
480
480
  return inputControl;
481
481
  }
482
- function useTextRefControl(reactProps, validators) {
482
+ function useTextRefControl(controlProps, controlValidators) {
483
483
  return useInputRefControl({
484
- ...getInputRefControlProps(reactProps, validators),
484
+ ...createInputRefControlProps(controlProps, controlValidators),
485
485
  setValue: (inputControl, value) => inputControl.setState(value)
486
486
  });
487
487
  }
488
- function useNumberRefControl(reactProps, validators) {
488
+ function useNumberRefControl(controlProps, controlValidators) {
489
489
  return useInputRefControl({
490
- ...getInputRefControlProps(reactProps, validators),
490
+ ...createInputRefControlProps(controlProps, controlValidators),
491
491
  setValue: (inputControl, value) => inputControl.setState(+value)
492
492
  });
493
493
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/@rolster/helpers-forms/dist/esm/helpers.js","../esm/form-control.hook.js","../esm/form-array/form-array-control.hook.js","../esm/form-array/form-array-group.hook.js","../esm/form-array/form-array.hook.js","../esm/form-group.hook.js","../esm/form-ref.hook.js"],"sourcesContent":["const FALSY_VALUE = ['false', 'undefined', '0', 0];\r\nconst toBoolean = (value) => {\r\n return !(!(typeof value !== 'undefined' && value !== null) ||\r\n value === false ||\r\n FALSY_VALUE.includes(value));\r\n};\r\nexport const controlIsValid = (props) => {\r\n const { state, validators } = props;\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, props) => {\r\n return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, props) => {\r\n return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);\r\n};\r\nexport const controlsToState = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { state }]) => {\r\n json[key] = state;\r\n return json;\r\n }, {});\r\n};\r\nexport const controlsToValue = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { value }]) => {\r\n json[key] = value;\r\n return json;\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 && toBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || toBoolean(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 { controlIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { BehaviorSubject } from 'rxjs';\r\nexport function instanceOfReactControlProps(props) {\r\n return (typeof props === 'object' && ('state' in props || 'validators' in props));\r\n}\r\nexport function getReactControlProps(props, validators) {\r\n if (props === undefined || props === null) {\r\n return { state: undefined, validators: undefined };\r\n }\r\n if (instanceOfReactControlProps(props)) {\r\n return props;\r\n }\r\n const state = props;\r\n return { state, validators };\r\n}\r\nexport function useReactControl(reactProps, validatorsFn) {\r\n const props = getReactControlProps(reactProps, validatorsFn);\r\n const [state, setCurrentState] = useState(props.state);\r\n const [value, setValue] = useState(props.state);\r\n const [touched, setTouched] = useState(props.touched || false);\r\n const [dirty, setDirty] = useState(false);\r\n const [focused, setFocused] = useState(false);\r\n const [disabled, setDisabled] = useState(false);\r\n const [initialValue] = useState(props.state);\r\n const [validators, setValidators] = useState(props.validators);\r\n const [subscribers] = useState(new BehaviorSubject(props.state));\r\n const elementRef = useRef(null);\r\n const errors = (() => validators ? controlIsValid({ state, validators }) : [])();\r\n const error = (() => errors[0])();\r\n const valid = (() => errors.length === 0)();\r\n useEffect(() => {\r\n if (state !== null && state !== undefined) {\r\n setValue(state);\r\n }\r\n subscribers.next(state);\r\n }, [state]);\r\n function focus() {\r\n setFocused(true);\r\n }\r\n function blur() {\r\n setFocused(false);\r\n }\r\n function disable() {\r\n setDisabled(true);\r\n }\r\n function enable() {\r\n setDisabled(false);\r\n }\r\n function touch() {\r\n setTouched(true);\r\n }\r\n function untouch() {\r\n setTouched(false);\r\n }\r\n function setState(state) {\r\n setDirty(true);\r\n setCurrentState(state);\r\n }\r\n function reset() {\r\n setTouched(false);\r\n setDirty(false);\r\n setCurrentState(initialValue);\r\n }\r\n function subscribe(subscriber) {\r\n const subscription = subscribers.subscribe(subscriber);\r\n return () => subscription.unsubscribe();\r\n }\r\n return {\r\n blur,\r\n dirty,\r\n disable,\r\n disabled,\r\n elementRef,\r\n enable,\r\n enabled: !disabled,\r\n error,\r\n errors,\r\n focus,\r\n focused,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n reset,\r\n setState,\r\n setValidators,\r\n state,\r\n subscribe,\r\n touch,\r\n touched,\r\n unfocused: !focused,\r\n untouch,\r\n untouched: !touched,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\nexport function useFormControl(reactProps, validatorsFn) {\r\n return instanceOfReactControlProps(reactProps)\r\n ? useReactControl(reactProps)\r\n : useReactControl(reactProps, validatorsFn);\r\n}\r\nexport function useInputControl(reactProps, validatorsFn) {\r\n return instanceOfReactControlProps(reactProps)\r\n ? useReactControl(reactProps)\r\n : useReactControl(reactProps, validatorsFn);\r\n}\r\n//# sourceMappingURL=form-control.hook.js.map","import { controlIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { getReactControlProps } from '../form-control.hook';\r\nexport class RolsterArrayControl {\r\n constructor(props) {\r\n const { uuid, focused, dirty, disabled, initialState, state, touched, validators } = props;\r\n this.uuid = uuid;\r\n this.focused = focused || false;\r\n this.unfocused = !this.focused;\r\n this.touched = touched || false;\r\n this.untouched = !this.touched;\r\n this.dirty = dirty || false;\r\n this.pristine = !this.dirty;\r\n this.disabled = disabled || false;\r\n this.enabled = !this.disabled;\r\n this.state = state;\r\n this.validators = validators;\r\n this.initialState = initialState;\r\n this.errors = validators ? controlIsValid({ state, validators }) : [];\r\n this.error = this.errors[0];\r\n this.valid = this.errors.length === 0;\r\n this.invalid = !this.valid;\r\n this.wrong = this.touched && this.invalid;\r\n this.value = state;\r\n }\r\n focus() {\r\n if (!this.focused) {\r\n this.update({ focused: true });\r\n }\r\n }\r\n blur() {\r\n if (this.focused) {\r\n this.update({ focused: false });\r\n }\r\n }\r\n touch() {\r\n if (!this.touched) {\r\n this.update({ touched: true });\r\n }\r\n }\r\n untouch() {\r\n if (this.touched) {\r\n this.update({ touched: false });\r\n }\r\n }\r\n disable() {\r\n if (!this.disabled) {\r\n this.update({ disabled: true });\r\n }\r\n }\r\n enable() {\r\n if (this.disabled) {\r\n this.update({ disabled: false });\r\n }\r\n }\r\n setState(state) {\r\n this.update({ state });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n reset() {\r\n this.update({ state: this.initialState });\r\n }\r\n update(changes) {\r\n this.group?.parent?.refreshControl(this, {\r\n ...changes,\r\n initialState: this.initialState\r\n });\r\n }\r\n}\r\nexport function useFormArrayControl(reactProps, validators) {\r\n const props = getReactControlProps(reactProps, validators);\r\n return new RolsterArrayControl({\r\n ...props,\r\n uuid: uuid(),\r\n initialState: props.state\r\n });\r\n}\r\nexport function useInputArrayControl(reactProps, validators) {\r\n const props = getReactControlProps(reactProps, validators);\r\n return new RolsterArrayControl({\r\n ...props,\r\n uuid: uuid(),\r\n initialState: props.state\r\n });\r\n}\r\n//# sourceMappingURL=form-array-control.hook.js.map","import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nexport class RolsterArrayGroup {\r\n constructor(props) {\r\n const { controls, resource, uuid, validators } = props;\r\n Object.values(controls).forEach((control) => (control.group = this));\r\n this.uuid = uuid;\r\n this.controls = controls;\r\n this.validators = validators;\r\n this.resource = resource;\r\n this.errors = validators ? groupIsValid({ controls, validators }) : [];\r\n this.error = this.errors[0];\r\n this.valid =\r\n this.errors.length === 0 && controlsAllChecked(controls, 'valid');\r\n this.invalid = !this.valid;\r\n this.touched = controlsPartialChecked(controls, 'touched');\r\n this.toucheds = controlsAllChecked(controls, 'touched');\r\n this.dirty = controlsPartialChecked(controls, 'dirty');\r\n this.dirties = controlsAllChecked(controls, 'dirty');\r\n this.untouched = !this.touched;\r\n this.untoucheds = !this.toucheds;\r\n this.pristine = !this.dirty;\r\n this.pristines = !this.dirties;\r\n this.wrong = this.touched && this.invalid;\r\n this.state = controlsToState(controls);\r\n this.value = controlsToValue(controls);\r\n }\r\n setValidators(validators) {\r\n this.parent?.refreshGroup(this, { validators });\r\n }\r\n}\r\nfunction instanceOfReactArrayGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nfunction getReactArrayGroupProps(props, validators) {\r\n if (instanceOfReactArrayGroupProps(props)) {\r\n return props;\r\n }\r\n const controls = props;\r\n return { controls, validators };\r\n}\r\nexport function useFormArrayGroup(reactProps, validators) {\r\n const props = getReactArrayGroupProps(reactProps, validators);\r\n return new RolsterArrayGroup({ ...props, uuid: uuid() });\r\n}\r\n//# sourceMappingURL=form-array-group.hook.js.map","import { arrayIsValid, controlsToState, groupAllChecked, groupPartialChecked } from '@rolster/helpers-forms/helpers';\r\nimport { useEffect, useState } from 'react';\r\nimport { RolsterArrayControl } from './form-array-control.hook';\r\nimport { RolsterArrayGroup } from './form-array-group.hook';\r\nfunction cloneFormArrayControl(control, changes) {\r\n return new RolsterArrayControl({ ...control, ...changes });\r\n}\r\nfunction cloneFormArrayGroup(group, changes) {\r\n return new RolsterArrayGroup({ ...group, ...changes });\r\n}\r\nfunction cloneFormControlForArrayGroup(group, control, changes) {\r\n const newControl = cloneFormArrayControl(control, changes);\r\n const { uuid } = newControl;\r\n const controls = Object.entries(group.controls).reduce((controls, [key, control]) => {\r\n controls[key] = control.uuid === uuid ? newControl : control;\r\n return controls;\r\n }, {});\r\n return new RolsterArrayGroup({ ...group, controls });\r\n}\r\nfunction instanceOfReactArrayProps(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\nfunction getReactArrayProps(props, validators) {\r\n if (props === undefined || props === null) {\r\n return { groups: undefined, validators: undefined };\r\n }\r\n if (instanceOfReactArrayProps(props)) {\r\n return props;\r\n }\r\n const groups = props;\r\n return { groups, validators };\r\n}\r\nexport function useFormArray(reactProps, validatorsFn) {\r\n const props = getReactArrayProps(reactProps, validatorsFn);\r\n const [currentState] = useState(props.groups);\r\n const [state, setState] = useState([]);\r\n const [validators, setValidators] = useState(props.validators);\r\n const [controls, setControls] = useState([]);\r\n const [groups, setGroups] = useState(props.groups || []);\r\n useEffect(() => {\r\n setControls(groups.map(({ controls }) => controls));\r\n setState(groups.map(({ controls }) => controlsToState(controls)));\r\n }, [groups]);\r\n const errors = validators ? arrayIsValid({ groups, validators }) : [];\r\n const error = errors[0];\r\n const valid = errors.length === 0 && groupAllChecked(groups, 'valid');\r\n const touched = groupPartialChecked(groups, 'touched');\r\n const toucheds = groupAllChecked(groups, 'touched');\r\n const dirties = groupAllChecked(groups, 'dirty');\r\n const dirty = groupPartialChecked(groups, 'dirty');\r\n function push(group) {\r\n setGroups([...groups, group]);\r\n }\r\n function merge(newGroups) {\r\n setGroups([...groups, ...newGroups]);\r\n }\r\n function set(groups) {\r\n setGroups(groups);\r\n }\r\n function refreshControl(control, changes) {\r\n if (control.group) {\r\n const group = cloneFormControlForArrayGroup(control.group, control, changes);\r\n setGroups(groups.map((currentGroup) => currentGroup.uuid === group.uuid ? group : currentGroup));\r\n }\r\n }\r\n function refreshGroup(group, changes) {\r\n const newGroup = cloneFormArrayGroup(group, changes);\r\n const { uuid } = newGroup;\r\n setGroups(groups.map((currentGroup) => currentGroup.uuid === uuid ? newGroup : currentGroup));\r\n }\r\n function remove(group) {\r\n setGroups(groups.filter(({ uuid }) => group.uuid !== uuid));\r\n }\r\n function reset() {\r\n setGroups(currentState || []);\r\n }\r\n const formArray = {\r\n controls,\r\n dirty,\r\n dirties,\r\n error,\r\n errors,\r\n groups,\r\n invalid: !valid,\r\n merge,\r\n pristine: !dirty,\r\n pristines: !dirties,\r\n push,\r\n refreshControl,\r\n refreshGroup,\r\n remove,\r\n reset,\r\n set,\r\n setValidators,\r\n state,\r\n touched,\r\n toucheds,\r\n untouched: !touched,\r\n untoucheds: !toucheds,\r\n valid,\r\n value: state,\r\n wrong: touched && !valid\r\n };\r\n groups.forEach((group) => (group.parent = formArray));\r\n return formArray;\r\n}\r\n//# sourceMappingURL=form-array.hook.js.map","import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { useState } from 'react';\r\nfunction instanceOfReactGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nfunction getReactGroupProps(props, validators) {\r\n if (instanceOfReactGroupProps(props)) {\r\n return props;\r\n }\r\n const controls = props;\r\n return { controls, validators };\r\n}\r\nexport function useFormGroup(reactProps, validatorsFn) {\r\n const props = getReactGroupProps(reactProps, validatorsFn);\r\n const [validators, setValidators] = useState(props.validators);\r\n const { controls } = props;\r\n const errors = (() => validators ? groupIsValid({ controls, validators }) : [])();\r\n const valid = (() => errors.length === 0 && controlsAllChecked(controls, 'valid'))();\r\n const touched = (() => controlsPartialChecked(controls, 'touched'))();\r\n const toucheds = (() => controlsAllChecked(controls, 'touched'))();\r\n const dirty = (() => controlsPartialChecked(controls, 'dirty'))();\r\n const dirties = (() => controlsAllChecked(controls, 'dirty'))();\r\n const state = (() => controlsToState(controls))();\r\n const value = (() => controlsToValue(controls))();\r\n function reset() {\r\n Object.values(controls).forEach((control) => control.reset());\r\n }\r\n return {\r\n controls,\r\n dirty,\r\n dirties,\r\n error: errors[0],\r\n errors,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n pristines: !dirties,\r\n reset,\r\n state,\r\n setValidators,\r\n touched,\r\n toucheds,\r\n untouched: !touched,\r\n untoucheds: !toucheds,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-group.hook.js.map","import { useEffect } from 'react';\r\nimport { instanceOfReactControlProps, useInputControl } from './form-control.hook';\r\nfunction getInputRefControlProps(props, validators) {\r\n if (props === undefined || props === null) {\r\n return { state: undefined, validators: undefined };\r\n }\r\n if (instanceOfReactControlProps(props)) {\r\n return props;\r\n }\r\n const state = props;\r\n return { state, validators };\r\n}\r\nfunction useInputRefControl(props) {\r\n const { setValue, state, validators } = props;\r\n const inputControl = useInputControl(state, validators);\r\n useEffect(() => {\r\n const { elementRef } = inputControl;\r\n elementRef?.current?.addEventListener('focus', () => {\r\n inputControl.focus();\r\n });\r\n elementRef?.current?.addEventListener('blur', () => {\r\n inputControl.blur();\r\n if (!inputControl.touched) {\r\n inputControl.touch();\r\n }\r\n });\r\n elementRef?.current?.addEventListener('change', ({ target }) => {\r\n setValue(inputControl, target.value);\r\n });\r\n }, []);\r\n return inputControl;\r\n}\r\nexport function useTextRefControl(reactProps, validators) {\r\n return useInputRefControl({\r\n ...getInputRefControlProps(reactProps, validators),\r\n setValue: (inputControl, value) => inputControl.setState(value)\r\n });\r\n}\r\nexport function useNumberRefControl(reactProps, validators) {\r\n return useInputRefControl({\r\n ...getInputRefControlProps(reactProps, validators),\r\n setValue: (inputControl, value) => inputControl.setState(+value)\r\n });\r\n}\r\n//# sourceMappingURL=form-ref.hook.js.map"],"names":["useState","BehaviorSubject","useRef","useEffect","uuid"],"mappings":";;;;;;;;AAAA,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACnD,MAAM,SAAS,GAAG,CAAC,KAAK,KAAK;AAC7B,IAAI,OAAO,EAAE,EAAE,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC;AAC9D,QAAQ,KAAK,KAAK,KAAK;AACvB,QAAQ,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AACK,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK;AACzC,IAAI,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AACxC,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,KAAK,KAAK;AACvD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACxG,CAAC,CAAC;AACK,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,KAAK,KAAK;AAC3D,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACzG,CAAC,CAAC;AACK,MAAM,eAAe,GAAG,CAAC,QAAQ,KAAK;AAC7C,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK;AACvE,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC1B,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC;AACK,MAAM,eAAe,GAAG,CAAC,QAAQ,KAAK;AAC7C,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK;AACvE,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC1B,QAAQ,OAAO,IAAI,CAAC;AACpB,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,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACjF,CAAC;AACM,SAAS,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE;AACjD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAClF,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;;ACtDM,SAAS,2BAA2B,CAAC,KAAK,EAAE;AACnD,IAAI,QAAQ,OAAO,KAAK,KAAK,QAAQ,KAAK,OAAO,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,EAAE;AACtF,CAAC;AACM,SAAS,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE;AACxD,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,QAAQ,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC3D,KAAK;AACL,IAAI,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE;AAC5C,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AACM,SAAS,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE;AAC1D,IAAI,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AACjE,IAAI,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3D,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpD,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;AACnE,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,CAAC;AACpD,IAAI,MAAM,CAAC,YAAY,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjD,IAAI,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnE,IAAI,MAAM,CAAC,WAAW,CAAC,GAAGA,cAAQ,CAAC,IAAIC,oBAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE,IAAI,MAAM,UAAU,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAC;AACpC,IAAI,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AACrF,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AACtC,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC;AAChD,IAAIC,eAAS,CAAC,MAAM;AACpB,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACnD,YAAY,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAS;AACT,QAAQ,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,UAAU,CAAC,IAAI,CAAC,CAAC;AACzB,KAAK;AACL,IAAI,SAAS,IAAI,GAAG;AACpB,QAAQ,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,KAAK;AACL,IAAI,SAAS,OAAO,GAAG;AACvB,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1B,KAAK;AACL,IAAI,SAAS,MAAM,GAAG;AACtB,QAAQ,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,KAAK;AACL,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,UAAU,CAAC,IAAI,CAAC,CAAC;AACzB,KAAK;AACL,IAAI,SAAS,OAAO,GAAG;AACvB,QAAQ,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,KAAK;AACL,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE;AAC7B,QAAQ,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvB,QAAQ,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/B,KAAK;AACL,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxB,QAAQ,eAAe,CAAC,YAAY,CAAC,CAAC;AACtC,KAAK;AACL,IAAI,SAAS,SAAS,CAAC,UAAU,EAAE;AACnC,QAAQ,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC/D,QAAQ,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;AAChD,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,IAAI;AACZ,QAAQ,KAAK;AACb,QAAQ,OAAO;AACf,QAAQ,QAAQ;AAChB,QAAQ,UAAU;AAClB,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,CAAC,QAAQ;AAC1B,QAAQ,KAAK;AACb,QAAQ,MAAM;AACd,QAAQ,KAAK;AACb,QAAQ,OAAO;AACf,QAAQ,OAAO,EAAE,CAAC,KAAK;AACvB,QAAQ,QAAQ,EAAE,CAAC,KAAK;AACxB,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,aAAa;AACrB,QAAQ,KAAK;AACb,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,QAAQ,OAAO;AACf,QAAQ,SAAS,EAAE,CAAC,OAAO;AAC3B,QAAQ,OAAO;AACf,QAAQ,SAAS,EAAE,CAAC,OAAO;AAC3B,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;AAChC,KAAK,CAAC;AACN,CAAC;AACM,SAAS,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE;AACzD,IAAI,OAAO,2BAA2B,CAAC,UAAU,CAAC;AAClD,UAAU,eAAe,CAAC,UAAU,CAAC;AACrC,UAAU,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AACM,SAAS,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE;AAC1D,IAAI,OAAO,2BAA2B,CAAC,UAAU,CAAC;AAClD,UAAU,eAAe,CAAC,UAAU,CAAC;AACrC,UAAU,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AACpD;;ACvGO,MAAM,mBAAmB,CAAC;AACjC,IAAI,WAAW,CAAC,KAAK,EAAE;AACvB,QAAQ,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AACnG,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC;AACxC,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC;AACxC,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,KAAK,CAAC;AAC1C,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtC,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAC9E,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;AAClD,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3B,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK;AACL,IAAI,IAAI,GAAG;AACX,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,SAAS;AACT,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3B,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,SAAS;AACT,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC5B,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,SAAS;AACT,KAAK;AACL,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3B,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,SAAS;AACT,KAAK;AACL,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/B,KAAK;AACL,IAAI,aAAa,CAAC,UAAU,EAAE;AAC9B,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;AACpC,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,MAAM,CAAC,OAAO,EAAE;AACpB,QAAQ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE;AACjD,YAAY,GAAG,OAAO;AACtB,YAAY,YAAY,EAAE,IAAI,CAAC,YAAY;AAC3C,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACM,SAAS,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE;AAC5D,IAAI,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC/D,IAAI,OAAO,IAAI,mBAAmB,CAAC;AACnC,QAAQ,GAAG,KAAK;AAChB,QAAQ,IAAI,EAAEC,OAAI,EAAE;AACpB,QAAQ,YAAY,EAAE,KAAK,CAAC,KAAK;AACjC,KAAK,CAAC,CAAC;AACP,CAAC;AACM,SAAS,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE;AAC7D,IAAI,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC/D,IAAI,OAAO,IAAI,mBAAmB,CAAC;AACnC,QAAQ,GAAG,KAAK;AAChB,QAAQ,IAAI,EAAEA,OAAI,EAAE;AACpB,QAAQ,YAAY,EAAE,KAAK,CAAC,KAAK;AACjC,KAAK,CAAC,CAAC;AACP;;ACpFO,MAAM,iBAAiB,CAAC;AAC/B,IAAI,WAAW,CAAC,KAAK,EAAE;AACvB,QAAQ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AAC/D,QAAQ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7E,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAC/E,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,KAAK;AAClB,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9E,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,QAAQ,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnE,QAAQ,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAChE,QAAQ,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/D,QAAQ,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7D,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzC,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;AAClD,QAAQ,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC/C,QAAQ,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,aAAa,CAAC,UAAU,EAAE;AAC9B,QAAQ,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AACxD,KAAK;AACL,CAAC;AACD,SAAS,8BAA8B,CAAC,KAAK,EAAE;AAC/C,IAAI,QAAQ,OAAO,KAAK,KAAK,QAAQ,KAAK,UAAU,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,EAAE;AACzF,CAAC;AACD,SAAS,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE;AACpD,IAAI,IAAI,8BAA8B,CAAC,KAAK,CAAC,EAAE;AAC/C,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC;AAC3B,IAAI,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AACM,SAAS,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE;AAC1D,IAAI,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAClE,IAAI,OAAO,IAAI,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAEA,OAAI,EAAE,EAAE,CAAC,CAAC;AAC7D;;ACxCA,SAAS,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE;AACjD,IAAI,OAAO,IAAI,mBAAmB,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AACD,SAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE;AAC7C,IAAI,OAAO,IAAI,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AACD,SAAS,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;AAChE,IAAI,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/D,IAAI,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;AAChC,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK;AACzF,QAAQ,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC;AACrE,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,OAAO,IAAI,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzD,CAAC;AACD,SAAS,yBAAyB,CAAC,KAAK,EAAE;AAC1C,IAAI,QAAQ,OAAO,KAAK,KAAK,QAAQ,KAAK,QAAQ,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,EAAE;AACvF,CAAC;AACD,SAAS,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE;AAC/C,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,QAAQ,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC5D,KAAK;AACL,IAAI,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE;AAC1C,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AACM,SAAS,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE;AACvD,IAAI,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC/D,IAAI,MAAM,CAAC,YAAY,CAAC,GAAGJ,cAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClD,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAC,EAAE,CAAC,CAAC;AAC3C,IAAI,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnE,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,EAAE,CAAC,CAAC;AACjD,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAC7D,IAAIG,eAAS,CAAC,MAAM;AACpB,QAAQ,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;AAC5D,QAAQ,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC1E,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACjB,IAAI,MAAM,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAC1E,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1E,IAAI,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC3D,IAAI,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACxD,IAAI,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,IAAI,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvD,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE;AACzB,QAAQ,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACtC,KAAK;AACL,IAAI,SAAS,KAAK,CAAC,SAAS,EAAE;AAC9B,QAAQ,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AAC7C,KAAK;AACL,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE;AACzB,QAAQ,SAAS,CAAC,MAAM,CAAC,CAAC;AAC1B,KAAK;AACL,IAAI,SAAS,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE;AAC9C,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE;AAC3B,YAAY,MAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACzF,YAAY,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC;AAC7G,SAAS;AACT,KAAK;AACL,IAAI,SAAS,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE;AAC1C,QAAQ,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7D,QAAQ,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;AAClC,QAAQ,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,KAAK,IAAI,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;AACtG,KAAK;AACL,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE;AAC3B,QAAQ,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AACpE,KAAK;AACL,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;AACtC,KAAK;AACL,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,QAAQ;AAChB,QAAQ,KAAK;AACb,QAAQ,OAAO;AACf,QAAQ,KAAK;AACb,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,CAAC,KAAK;AACvB,QAAQ,KAAK;AACb,QAAQ,QAAQ,EAAE,CAAC,KAAK;AACxB,QAAQ,SAAS,EAAE,CAAC,OAAO;AAC3B,QAAQ,IAAI;AACZ,QAAQ,cAAc;AACtB,QAAQ,YAAY;AACpB,QAAQ,MAAM;AACd,QAAQ,KAAK;AACb,QAAQ,GAAG;AACX,QAAQ,aAAa;AACrB,QAAQ,KAAK;AACb,QAAQ,OAAO;AACf,QAAQ,QAAQ;AAChB,QAAQ,SAAS,EAAE,CAAC,OAAO;AAC3B,QAAQ,UAAU,EAAE,CAAC,QAAQ;AAC7B,QAAQ,KAAK;AACb,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;AAChC,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAC1D,IAAI,OAAO,SAAS,CAAC;AACrB;;ACvGA,SAAS,yBAAyB,CAAC,KAAK,EAAE;AAC1C,IAAI,QAAQ,OAAO,KAAK,KAAK,QAAQ,KAAK,UAAU,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,EAAE;AACzF,CAAC;AACD,SAAS,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE;AAC/C,IAAI,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE;AAC1C,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC;AAC3B,IAAI,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AACM,SAAS,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE;AACvD,IAAI,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC/D,IAAI,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGH,cAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnE,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AAC/B,IAAI,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AACtF,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC;AACzF,IAAI,MAAM,OAAO,GAAG,CAAC,MAAM,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC;AAC1E,IAAI,MAAM,QAAQ,GAAG,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC;AACvE,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC;AACtE,IAAI,MAAM,OAAO,GAAG,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC;AACpE,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;AACtD,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;AACtD,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AACtE,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,QAAQ;AAChB,QAAQ,KAAK;AACb,QAAQ,OAAO;AACf,QAAQ,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACxB,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,CAAC,KAAK;AACvB,QAAQ,QAAQ,EAAE,CAAC,KAAK;AACxB,QAAQ,SAAS,EAAE,CAAC,OAAO;AAC3B,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,aAAa;AACrB,QAAQ,OAAO;AACf,QAAQ,QAAQ;AAChB,QAAQ,SAAS,EAAE,CAAC,OAAO;AAC3B,QAAQ,UAAU,EAAE,CAAC,QAAQ;AAC7B,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;AAChC,KAAK,CAAC;AACN;;AC7CA,SAAS,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE;AACpD,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,QAAQ,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC3D,KAAK;AACL,IAAI,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE;AAC5C,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AACD,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACnC,IAAI,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AAClD,IAAI,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC5D,IAAIG,eAAS,CAAC,MAAM;AACpB,QAAQ,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;AAC5C,QAAQ,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM;AAC7D,YAAY,YAAY,CAAC,KAAK,EAAE,CAAC;AACjC,SAAS,CAAC,CAAC;AACX,QAAQ,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM;AAC5D,YAAY,YAAY,CAAC,IAAI,EAAE,CAAC;AAChC,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AACvC,gBAAgB,YAAY,CAAC,KAAK,EAAE,CAAC;AACrC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK;AACxE,YAAY,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACjD,SAAS,CAAC,CAAC;AACX,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,OAAO,YAAY,CAAC;AACxB,CAAC;AACM,SAAS,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE;AAC1D,IAAI,OAAO,kBAAkB,CAAC;AAC9B,QAAQ,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC;AAC1D,QAAQ,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;AACvE,KAAK,CAAC,CAAC;AACP,CAAC;AACM,SAAS,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE;AAC5D,IAAI,OAAO,kBAAkB,CAAC;AAC9B,QAAQ,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC;AAC1D,QAAQ,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;AACxE,KAAK,CAAC,CAAC;AACP;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/@rolster/helpers-forms/dist/esm/helpers.js","../esm/form-control.hook.js","../esm/form-array/form-array-control.hook.js","../esm/form-array/form-array-group.hook.js","../esm/form-array/form-array.hook.js","../esm/form-group.hook.js","../esm/form-ref.hook.js"],"sourcesContent":["const FALSY_VALUE = ['false', 'undefined', '0', 0];\r\nconst toBoolean = (value) => {\r\n return !(!(typeof value !== 'undefined' && value !== null) ||\r\n value === false ||\r\n FALSY_VALUE.includes(value));\r\n};\r\nexport const controlIsValid = (props) => {\r\n const { state, validators } = props;\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, props) => {\r\n return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, props) => {\r\n return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);\r\n};\r\nexport const controlsToState = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { state }]) => {\r\n json[key] = state;\r\n return json;\r\n }, {});\r\n};\r\nexport const controlsToValue = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { value }]) => {\r\n json[key] = value;\r\n return json;\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 && toBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || toBoolean(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 instanceOfFormControlProps(props) {\r\n return (typeof props === 'object' && ('state' in props || 'validators' in props));\r\n}\r\nexport function instanceOfFormGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nexport function instanceOfFormArrayProps(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\n//# sourceMappingURL=helpers.js.map","import { controlIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { BehaviorSubject } from 'rxjs';\r\nexport function instanceOfReactControlProps(props) {\r\n return (typeof props === 'object' && ('state' in props || 'validators' in props));\r\n}\r\nexport function createReactControlProps(...argsProps) {\r\n if (argsProps.length < 1) {\r\n return { state: undefined, validators: undefined };\r\n }\r\n const [state, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfReactControlProps(state)) {\r\n return state;\r\n }\r\n return { state: state, validators };\r\n}\r\nexport function useReactControl(controlProps, controlValidators) {\r\n const props = createReactControlProps(controlProps, controlValidators);\r\n const [state, setCurrentState] = useState(props.state);\r\n const [value, setValue] = useState(props.state);\r\n const [touched, setTouched] = useState(props.touched || false);\r\n const [dirty, setDirty] = useState(false);\r\n const [focused, setFocused] = useState(false);\r\n const [disabled, setDisabled] = useState(false);\r\n const [initialValue] = useState(props.state);\r\n const [validators, setValidators] = useState(props.validators);\r\n const [subscribers] = useState(new BehaviorSubject(props.state));\r\n const elementRef = useRef(null);\r\n const errors = (() => validators ? controlIsValid({ state, validators }) : [])();\r\n const error = (() => errors[0])();\r\n const valid = (() => errors.length === 0)();\r\n useEffect(() => {\r\n if (state !== null && state !== undefined) {\r\n setValue(state);\r\n }\r\n subscribers.next(state);\r\n }, [state]);\r\n function focus() {\r\n setFocused(true);\r\n }\r\n function blur() {\r\n setFocused(false);\r\n }\r\n function disable() {\r\n setDisabled(true);\r\n }\r\n function enable() {\r\n setDisabled(false);\r\n }\r\n function touch() {\r\n setTouched(true);\r\n }\r\n function untouch() {\r\n setTouched(false);\r\n }\r\n function setState(state) {\r\n setDirty(true);\r\n setCurrentState(state);\r\n }\r\n function reset() {\r\n setTouched(false);\r\n setDirty(false);\r\n setCurrentState(initialValue);\r\n }\r\n function subscribe(subscriber) {\r\n const subscription = subscribers.subscribe(subscriber);\r\n return () => subscription.unsubscribe();\r\n }\r\n return {\r\n blur,\r\n dirty,\r\n disable,\r\n disabled,\r\n elementRef,\r\n enable,\r\n enabled: !disabled,\r\n error,\r\n errors,\r\n focus,\r\n focused,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n reset,\r\n setState,\r\n setValidators,\r\n state,\r\n subscribe,\r\n touch,\r\n touched,\r\n unfocused: !focused,\r\n untouch,\r\n untouched: !touched,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\nexport function useFormControl(controlProps, controlValidators) {\r\n return instanceOfReactControlProps(controlProps)\r\n ? useReactControl(controlProps)\r\n : useReactControl(controlProps, controlValidators);\r\n}\r\nexport function useInputControl(controlProps, controlValidators) {\r\n return instanceOfReactControlProps(controlProps)\r\n ? useReactControl(controlProps)\r\n : useReactControl(controlProps, controlValidators);\r\n}\r\n//# sourceMappingURL=form-control.hook.js.map","import { controlIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { createReactControlProps } from '../form-control.hook';\r\nexport class RolsterArrayControl {\r\n constructor(props) {\r\n const { uuid, focused, dirty, disabled, initialState, state, touched, validators } = props;\r\n this.uuid = uuid;\r\n this.focused = focused || false;\r\n this.unfocused = !this.focused;\r\n this.touched = touched || false;\r\n this.untouched = !this.touched;\r\n this.dirty = dirty || false;\r\n this.pristine = !this.dirty;\r\n this.disabled = disabled || false;\r\n this.enabled = !this.disabled;\r\n this.state = state;\r\n this.validators = validators;\r\n this.initialState = initialState;\r\n this.errors = validators ? controlIsValid({ state, validators }) : [];\r\n this.error = this.errors[0];\r\n this.valid = this.errors.length === 0;\r\n this.invalid = !this.valid;\r\n this.wrong = this.touched && this.invalid;\r\n this.value = state;\r\n }\r\n focus() {\r\n if (!this.focused) {\r\n this.update({ focused: true });\r\n }\r\n }\r\n blur() {\r\n if (this.focused) {\r\n this.update({ focused: false });\r\n }\r\n }\r\n touch() {\r\n if (!this.touched) {\r\n this.update({ touched: true });\r\n }\r\n }\r\n untouch() {\r\n if (this.touched) {\r\n this.update({ touched: false });\r\n }\r\n }\r\n disable() {\r\n if (!this.disabled) {\r\n this.update({ disabled: true });\r\n }\r\n }\r\n enable() {\r\n if (this.disabled) {\r\n this.update({ disabled: false });\r\n }\r\n }\r\n setState(state) {\r\n this.update({ state });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n reset() {\r\n this.update({ state: this.initialState });\r\n }\r\n update(changes) {\r\n this.group?.parent?.refreshControl(this, {\r\n ...changes,\r\n initialState: this.initialState\r\n });\r\n }\r\n}\r\nexport function useFormArrayControl(controlProps, controlValidators) {\r\n const props = createReactControlProps(controlProps, controlValidators);\r\n return new RolsterArrayControl({\r\n ...props,\r\n uuid: uuid(),\r\n initialState: props.state\r\n });\r\n}\r\nexport function useInputArrayControl(controlProps, controlValidators) {\r\n const props = createReactControlProps(controlProps, controlValidators);\r\n return new RolsterArrayControl({\r\n ...props,\r\n uuid: uuid(),\r\n initialState: props.state\r\n });\r\n}\r\n//# sourceMappingURL=form-array-control.hook.js.map","import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nexport class RolsterArrayGroup {\r\n constructor(props) {\r\n const { controls, resource, uuid, validators } = props;\r\n Object.values(controls).forEach((control) => (control.group = this));\r\n this.uuid = uuid;\r\n this.controls = controls;\r\n this.validators = validators;\r\n this.resource = resource;\r\n this.errors = validators ? groupIsValid({ controls, validators }) : [];\r\n this.error = this.errors[0];\r\n this.valid =\r\n this.errors.length === 0 && controlsAllChecked(controls, 'valid');\r\n this.invalid = !this.valid;\r\n this.touched = controlsPartialChecked(controls, 'touched');\r\n this.toucheds = controlsAllChecked(controls, 'touched');\r\n this.dirty = controlsPartialChecked(controls, 'dirty');\r\n this.dirties = controlsAllChecked(controls, 'dirty');\r\n this.untouched = !this.touched;\r\n this.untoucheds = !this.toucheds;\r\n this.pristine = !this.dirty;\r\n this.pristines = !this.dirties;\r\n this.wrong = this.touched && this.invalid;\r\n this.state = controlsToState(controls);\r\n this.value = controlsToValue(controls);\r\n }\r\n setValidators(validators) {\r\n this.parent?.refreshGroup(this, { validators });\r\n }\r\n}\r\nfunction instanceOfArrayGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nfunction createArrayGroupProps(...argsProps) {\r\n const [controls, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfArrayGroupProps(controls)) {\r\n return controls;\r\n }\r\n return { controls: controls, validators };\r\n}\r\nexport function useFormArrayGroup(groupProps, groupValidators) {\r\n const props = createArrayGroupProps(groupProps, groupValidators);\r\n return new RolsterArrayGroup({ ...props, uuid: uuid() });\r\n}\r\n//# sourceMappingURL=form-array-group.hook.js.map","import { arrayIsValid, controlsToState, groupAllChecked, groupPartialChecked } from '@rolster/helpers-forms/helpers';\r\nimport { useEffect, useState } from 'react';\r\nimport { RolsterArrayControl } from './form-array-control.hook';\r\nimport { RolsterArrayGroup } from './form-array-group.hook';\r\nfunction cloneFormArrayControl(control, changes) {\r\n return new RolsterArrayControl({ ...control, ...changes });\r\n}\r\nfunction cloneFormArrayGroup(group, changes) {\r\n return new RolsterArrayGroup({ ...group, ...changes });\r\n}\r\nfunction cloneFormControlForArrayGroup(group, control, changes) {\r\n const newControl = cloneFormArrayControl(control, changes);\r\n const { uuid } = newControl;\r\n const controls = Object.entries(group.controls).reduce((controls, [key, control]) => {\r\n controls[key] = control.uuid === uuid ? newControl : control;\r\n return controls;\r\n }, {});\r\n return new RolsterArrayGroup({ ...group, controls });\r\n}\r\nfunction instanceOfReactArrayProps(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\nfunction createReactArrayProps(...argsProps) {\r\n if (argsProps.length < 1) {\r\n return { groups: undefined, validators: undefined };\r\n }\r\n const [groups, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfReactArrayProps(groups)) {\r\n return groups;\r\n }\r\n return { groups: groups, validators };\r\n}\r\nexport function useFormArray(arrayProps, arrayValidators) {\r\n const props = createReactArrayProps(arrayProps, arrayValidators);\r\n const [currentState] = useState(props.groups);\r\n const [state, setState] = useState([]);\r\n const [validators, setValidators] = useState(props.validators);\r\n const [controls, setControls] = useState([]);\r\n const [groups, setGroups] = useState(props.groups || []);\r\n useEffect(() => {\r\n setControls(groups.map(({ controls }) => controls));\r\n setState(groups.map(({ controls }) => controlsToState(controls)));\r\n }, [groups]);\r\n const errors = validators ? arrayIsValid({ groups, validators }) : [];\r\n const error = errors[0];\r\n const valid = errors.length === 0 && groupAllChecked(groups, 'valid');\r\n const touched = groupPartialChecked(groups, 'touched');\r\n const toucheds = groupAllChecked(groups, 'touched');\r\n const dirties = groupAllChecked(groups, 'dirty');\r\n const dirty = groupPartialChecked(groups, 'dirty');\r\n function push(group) {\r\n setGroups([...groups, group]);\r\n }\r\n function merge(newGroups) {\r\n setGroups([...groups, ...newGroups]);\r\n }\r\n function set(groups) {\r\n setGroups(groups);\r\n }\r\n function refreshControl(control, changes) {\r\n if (control.group) {\r\n const group = cloneFormControlForArrayGroup(control.group, control, changes);\r\n setGroups(groups.map((currentGroup) => currentGroup.uuid === group.uuid ? group : currentGroup));\r\n }\r\n }\r\n function refreshGroup(group, changes) {\r\n const newGroup = cloneFormArrayGroup(group, changes);\r\n const { uuid } = newGroup;\r\n setGroups(groups.map((currentGroup) => currentGroup.uuid === uuid ? newGroup : currentGroup));\r\n }\r\n function remove(group) {\r\n setGroups(groups.filter(({ uuid }) => group.uuid !== uuid));\r\n }\r\n function reset() {\r\n setGroups(currentState || []);\r\n }\r\n const formArray = {\r\n controls,\r\n dirty,\r\n dirties,\r\n error,\r\n errors,\r\n groups,\r\n invalid: !valid,\r\n merge,\r\n pristine: !dirty,\r\n pristines: !dirties,\r\n push,\r\n refreshControl,\r\n refreshGroup,\r\n remove,\r\n reset,\r\n set,\r\n setValidators,\r\n state,\r\n touched,\r\n toucheds,\r\n untouched: !touched,\r\n untoucheds: !toucheds,\r\n valid,\r\n value: state,\r\n wrong: touched && !valid\r\n };\r\n groups.forEach((group) => (group.parent = formArray));\r\n return formArray;\r\n}\r\n//# sourceMappingURL=form-array.hook.js.map","import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { useState } from 'react';\r\nfunction instanceOfGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nfunction createReactGroupProps(...argsProps) {\r\n const [controls, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfGroupProps(controls)) {\r\n return controls;\r\n }\r\n return { controls: controls, validators };\r\n}\r\nexport function useFormGroup(groupProps, groupValidators) {\r\n const props = createReactGroupProps(groupProps, groupValidators);\r\n const [validators, setValidators] = useState(props.validators);\r\n const { controls } = props;\r\n const errors = (() => validators ? groupIsValid({ controls, validators }) : [])();\r\n const valid = (() => errors.length === 0 && controlsAllChecked(controls, 'valid'))();\r\n const touched = (() => controlsPartialChecked(controls, 'touched'))();\r\n const toucheds = (() => controlsAllChecked(controls, 'touched'))();\r\n const dirty = (() => controlsPartialChecked(controls, 'dirty'))();\r\n const dirties = (() => controlsAllChecked(controls, 'dirty'))();\r\n const state = (() => controlsToState(controls))();\r\n const value = (() => controlsToValue(controls))();\r\n function reset() {\r\n Object.values(controls).forEach((control) => control.reset());\r\n }\r\n return {\r\n controls,\r\n dirty,\r\n dirties,\r\n error: errors[0],\r\n errors,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n pristines: !dirties,\r\n reset,\r\n state,\r\n setValidators,\r\n touched,\r\n toucheds,\r\n untouched: !touched,\r\n untoucheds: !toucheds,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-group.hook.js.map","import { useEffect } from 'react';\r\nimport { instanceOfReactControlProps, useInputControl } from './form-control.hook';\r\nfunction createInputRefControlProps(...argsProps) {\r\n if (argsProps.length < 1) {\r\n return { state: undefined, validators: undefined };\r\n }\r\n const [state, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfReactControlProps(state)) {\r\n return state;\r\n }\r\n return { state: state, validators };\r\n}\r\nfunction useInputRefControl(props) {\r\n const { setValue, state, validators } = props;\r\n const inputControl = useInputControl(state, validators);\r\n useEffect(() => {\r\n const { elementRef } = inputControl;\r\n elementRef?.current?.addEventListener('focus', () => {\r\n inputControl.focus();\r\n });\r\n elementRef?.current?.addEventListener('blur', () => {\r\n inputControl.blur();\r\n if (!inputControl.touched) {\r\n inputControl.touch();\r\n }\r\n });\r\n elementRef?.current?.addEventListener('change', ({ target }) => {\r\n setValue(inputControl, target.value);\r\n });\r\n }, []);\r\n return inputControl;\r\n}\r\nexport function useTextRefControl(controlProps, controlValidators) {\r\n return useInputRefControl({\r\n ...createInputRefControlProps(controlProps, controlValidators),\r\n setValue: (inputControl, value) => inputControl.setState(value)\r\n });\r\n}\r\nexport function useNumberRefControl(controlProps, controlValidators) {\r\n return useInputRefControl({\r\n ...createInputRefControlProps(controlProps, controlValidators),\r\n setValue: (inputControl, value) => inputControl.setState(+value)\r\n });\r\n}\r\n//# sourceMappingURL=form-ref.hook.js.map"],"names":["useState","BehaviorSubject","useRef","useEffect","uuid"],"mappings":"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"}
package/dist/es/index.js CHANGED
@@ -64,18 +64,18 @@ const arrayIsValid = ({ groups, validators }) => {
64
64
  function instanceOfReactControlProps(props) {
65
65
  return (typeof props === 'object' && ('state' in props || 'validators' in props));
66
66
  }
67
- function getReactControlProps(props, validators) {
68
- if (props === undefined || props === null) {
67
+ function createReactControlProps(...argsProps) {
68
+ if (argsProps.length < 1) {
69
69
  return { state: undefined, validators: undefined };
70
70
  }
71
- if (instanceOfReactControlProps(props)) {
72
- return props;
71
+ const [state, validators] = argsProps;
72
+ if (argsProps.length < 2 && instanceOfReactControlProps(state)) {
73
+ return state;
73
74
  }
74
- const state = props;
75
- return { state, validators };
75
+ return { state: state, validators };
76
76
  }
77
- function useReactControl(reactProps, validatorsFn) {
78
- const props = getReactControlProps(reactProps, validatorsFn);
77
+ function useReactControl(controlProps, controlValidators) {
78
+ const props = createReactControlProps(controlProps, controlValidators);
79
79
  const [state, setCurrentState] = useState(props.state);
80
80
  const [value, setValue] = useState(props.state);
81
81
  const [touched, setTouched] = useState(props.touched || false);
@@ -155,15 +155,15 @@ function useReactControl(reactProps, validatorsFn) {
155
155
  wrong: touched && !valid
156
156
  };
157
157
  }
158
- function useFormControl(reactProps, validatorsFn) {
159
- return instanceOfReactControlProps(reactProps)
160
- ? useReactControl(reactProps)
161
- : useReactControl(reactProps, validatorsFn);
158
+ function useFormControl(controlProps, controlValidators) {
159
+ return instanceOfReactControlProps(controlProps)
160
+ ? useReactControl(controlProps)
161
+ : useReactControl(controlProps, controlValidators);
162
162
  }
163
- function useInputControl(reactProps, validatorsFn) {
164
- return instanceOfReactControlProps(reactProps)
165
- ? useReactControl(reactProps)
166
- : useReactControl(reactProps, validatorsFn);
163
+ function useInputControl(controlProps, controlValidators) {
164
+ return instanceOfReactControlProps(controlProps)
165
+ ? useReactControl(controlProps)
166
+ : useReactControl(controlProps, controlValidators);
167
167
  }
168
168
 
169
169
  class RolsterArrayControl {
@@ -234,16 +234,16 @@ class RolsterArrayControl {
234
234
  });
235
235
  }
236
236
  }
237
- function useFormArrayControl(reactProps, validators) {
238
- const props = getReactControlProps(reactProps, validators);
237
+ function useFormArrayControl(controlProps, controlValidators) {
238
+ const props = createReactControlProps(controlProps, controlValidators);
239
239
  return new RolsterArrayControl({
240
240
  ...props,
241
241
  uuid: v4(),
242
242
  initialState: props.state
243
243
  });
244
244
  }
245
- function useInputArrayControl(reactProps, validators) {
246
- const props = getReactControlProps(reactProps, validators);
245
+ function useInputArrayControl(controlProps, controlValidators) {
246
+ const props = createReactControlProps(controlProps, controlValidators);
247
247
  return new RolsterArrayControl({
248
248
  ...props,
249
249
  uuid: v4(),
@@ -280,18 +280,18 @@ class RolsterArrayGroup {
280
280
  this.parent?.refreshGroup(this, { validators });
281
281
  }
282
282
  }
283
- function instanceOfReactArrayGroupProps(props) {
283
+ function instanceOfArrayGroupProps(props) {
284
284
  return (typeof props === 'object' && ('controls' in props || 'validators' in props));
285
285
  }
286
- function getReactArrayGroupProps(props, validators) {
287
- if (instanceOfReactArrayGroupProps(props)) {
288
- return props;
286
+ function createArrayGroupProps(...argsProps) {
287
+ const [controls, validators] = argsProps;
288
+ if (argsProps.length < 2 && instanceOfArrayGroupProps(controls)) {
289
+ return controls;
289
290
  }
290
- const controls = props;
291
- return { controls, validators };
291
+ return { controls: controls, validators };
292
292
  }
293
- function useFormArrayGroup(reactProps, validators) {
294
- const props = getReactArrayGroupProps(reactProps, validators);
293
+ function useFormArrayGroup(groupProps, groupValidators) {
294
+ const props = createArrayGroupProps(groupProps, groupValidators);
295
295
  return new RolsterArrayGroup({ ...props, uuid: v4() });
296
296
  }
297
297
 
@@ -313,18 +313,18 @@ function cloneFormControlForArrayGroup(group, control, changes) {
313
313
  function instanceOfReactArrayProps(props) {
314
314
  return (typeof props === 'object' && ('groups' in props || 'validators' in props));
315
315
  }
316
- function getReactArrayProps(props, validators) {
317
- if (props === undefined || props === null) {
316
+ function createReactArrayProps(...argsProps) {
317
+ if (argsProps.length < 1) {
318
318
  return { groups: undefined, validators: undefined };
319
319
  }
320
- if (instanceOfReactArrayProps(props)) {
321
- return props;
320
+ const [groups, validators] = argsProps;
321
+ if (argsProps.length < 2 && instanceOfReactArrayProps(groups)) {
322
+ return groups;
322
323
  }
323
- const groups = props;
324
- return { groups, validators };
324
+ return { groups: groups, validators };
325
325
  }
326
- function useFormArray(reactProps, validatorsFn) {
327
- const props = getReactArrayProps(reactProps, validatorsFn);
326
+ function useFormArray(arrayProps, arrayValidators) {
327
+ const props = createReactArrayProps(arrayProps, arrayValidators);
328
328
  const [currentState] = useState(props.groups);
329
329
  const [state, setState] = useState([]);
330
330
  const [validators, setValidators] = useState(props.validators);
@@ -398,18 +398,18 @@ function useFormArray(reactProps, validatorsFn) {
398
398
  return formArray;
399
399
  }
400
400
 
401
- function instanceOfReactGroupProps(props) {
401
+ function instanceOfGroupProps(props) {
402
402
  return (typeof props === 'object' && ('controls' in props || 'validators' in props));
403
403
  }
404
- function getReactGroupProps(props, validators) {
405
- if (instanceOfReactGroupProps(props)) {
406
- return props;
404
+ function createReactGroupProps(...argsProps) {
405
+ const [controls, validators] = argsProps;
406
+ if (argsProps.length < 2 && instanceOfGroupProps(controls)) {
407
+ return controls;
407
408
  }
408
- const controls = props;
409
- return { controls, validators };
409
+ return { controls: controls, validators };
410
410
  }
411
- function useFormGroup(reactProps, validatorsFn) {
412
- const props = getReactGroupProps(reactProps, validatorsFn);
411
+ function useFormGroup(groupProps, groupValidators) {
412
+ const props = createReactGroupProps(groupProps, groupValidators);
413
413
  const [validators, setValidators] = useState(props.validators);
414
414
  const { controls } = props;
415
415
  const errors = (() => validators ? groupIsValid({ controls, validators }) : [])();
@@ -445,15 +445,15 @@ function useFormGroup(reactProps, validatorsFn) {
445
445
  };
446
446
  }
447
447
 
448
- function getInputRefControlProps(props, validators) {
449
- if (props === undefined || props === null) {
448
+ function createInputRefControlProps(...argsProps) {
449
+ if (argsProps.length < 1) {
450
450
  return { state: undefined, validators: undefined };
451
451
  }
452
- if (instanceOfReactControlProps(props)) {
453
- return props;
452
+ const [state, validators] = argsProps;
453
+ if (argsProps.length < 2 && instanceOfReactControlProps(state)) {
454
+ return state;
454
455
  }
455
- const state = props;
456
- return { state, validators };
456
+ return { state: state, validators };
457
457
  }
458
458
  function useInputRefControl(props) {
459
459
  const { setValue, state, validators } = props;
@@ -475,15 +475,15 @@ function useInputRefControl(props) {
475
475
  }, []);
476
476
  return inputControl;
477
477
  }
478
- function useTextRefControl(reactProps, validators) {
478
+ function useTextRefControl(controlProps, controlValidators) {
479
479
  return useInputRefControl({
480
- ...getInputRefControlProps(reactProps, validators),
480
+ ...createInputRefControlProps(controlProps, controlValidators),
481
481
  setValue: (inputControl, value) => inputControl.setState(value)
482
482
  });
483
483
  }
484
- function useNumberRefControl(reactProps, validators) {
484
+ function useNumberRefControl(controlProps, controlValidators) {
485
485
  return useInputRefControl({
486
- ...getInputRefControlProps(reactProps, validators),
486
+ ...createInputRefControlProps(controlProps, controlValidators),
487
487
  setValue: (inputControl, value) => inputControl.setState(+value)
488
488
  });
489
489
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/@rolster/helpers-forms/dist/esm/helpers.js","../esm/form-control.hook.js","../esm/form-array/form-array-control.hook.js","../esm/form-array/form-array-group.hook.js","../esm/form-array/form-array.hook.js","../esm/form-group.hook.js","../esm/form-ref.hook.js"],"sourcesContent":["const FALSY_VALUE = ['false', 'undefined', '0', 0];\r\nconst toBoolean = (value) => {\r\n return !(!(typeof value !== 'undefined' && value !== null) ||\r\n value === false ||\r\n FALSY_VALUE.includes(value));\r\n};\r\nexport const controlIsValid = (props) => {\r\n const { state, validators } = props;\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, props) => {\r\n return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, props) => {\r\n return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);\r\n};\r\nexport const controlsToState = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { state }]) => {\r\n json[key] = state;\r\n return json;\r\n }, {});\r\n};\r\nexport const controlsToValue = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { value }]) => {\r\n json[key] = value;\r\n return json;\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 && toBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || toBoolean(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 { controlIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { BehaviorSubject } from 'rxjs';\r\nexport function instanceOfReactControlProps(props) {\r\n return (typeof props === 'object' && ('state' in props || 'validators' in props));\r\n}\r\nexport function getReactControlProps(props, validators) {\r\n if (props === undefined || props === null) {\r\n return { state: undefined, validators: undefined };\r\n }\r\n if (instanceOfReactControlProps(props)) {\r\n return props;\r\n }\r\n const state = props;\r\n return { state, validators };\r\n}\r\nexport function useReactControl(reactProps, validatorsFn) {\r\n const props = getReactControlProps(reactProps, validatorsFn);\r\n const [state, setCurrentState] = useState(props.state);\r\n const [value, setValue] = useState(props.state);\r\n const [touched, setTouched] = useState(props.touched || false);\r\n const [dirty, setDirty] = useState(false);\r\n const [focused, setFocused] = useState(false);\r\n const [disabled, setDisabled] = useState(false);\r\n const [initialValue] = useState(props.state);\r\n const [validators, setValidators] = useState(props.validators);\r\n const [subscribers] = useState(new BehaviorSubject(props.state));\r\n const elementRef = useRef(null);\r\n const errors = (() => validators ? controlIsValid({ state, validators }) : [])();\r\n const error = (() => errors[0])();\r\n const valid = (() => errors.length === 0)();\r\n useEffect(() => {\r\n if (state !== null && state !== undefined) {\r\n setValue(state);\r\n }\r\n subscribers.next(state);\r\n }, [state]);\r\n function focus() {\r\n setFocused(true);\r\n }\r\n function blur() {\r\n setFocused(false);\r\n }\r\n function disable() {\r\n setDisabled(true);\r\n }\r\n function enable() {\r\n setDisabled(false);\r\n }\r\n function touch() {\r\n setTouched(true);\r\n }\r\n function untouch() {\r\n setTouched(false);\r\n }\r\n function setState(state) {\r\n setDirty(true);\r\n setCurrentState(state);\r\n }\r\n function reset() {\r\n setTouched(false);\r\n setDirty(false);\r\n setCurrentState(initialValue);\r\n }\r\n function subscribe(subscriber) {\r\n const subscription = subscribers.subscribe(subscriber);\r\n return () => subscription.unsubscribe();\r\n }\r\n return {\r\n blur,\r\n dirty,\r\n disable,\r\n disabled,\r\n elementRef,\r\n enable,\r\n enabled: !disabled,\r\n error,\r\n errors,\r\n focus,\r\n focused,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n reset,\r\n setState,\r\n setValidators,\r\n state,\r\n subscribe,\r\n touch,\r\n touched,\r\n unfocused: !focused,\r\n untouch,\r\n untouched: !touched,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\nexport function useFormControl(reactProps, validatorsFn) {\r\n return instanceOfReactControlProps(reactProps)\r\n ? useReactControl(reactProps)\r\n : useReactControl(reactProps, validatorsFn);\r\n}\r\nexport function useInputControl(reactProps, validatorsFn) {\r\n return instanceOfReactControlProps(reactProps)\r\n ? useReactControl(reactProps)\r\n : useReactControl(reactProps, validatorsFn);\r\n}\r\n//# sourceMappingURL=form-control.hook.js.map","import { controlIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { getReactControlProps } from '../form-control.hook';\r\nexport class RolsterArrayControl {\r\n constructor(props) {\r\n const { uuid, focused, dirty, disabled, initialState, state, touched, validators } = props;\r\n this.uuid = uuid;\r\n this.focused = focused || false;\r\n this.unfocused = !this.focused;\r\n this.touched = touched || false;\r\n this.untouched = !this.touched;\r\n this.dirty = dirty || false;\r\n this.pristine = !this.dirty;\r\n this.disabled = disabled || false;\r\n this.enabled = !this.disabled;\r\n this.state = state;\r\n this.validators = validators;\r\n this.initialState = initialState;\r\n this.errors = validators ? controlIsValid({ state, validators }) : [];\r\n this.error = this.errors[0];\r\n this.valid = this.errors.length === 0;\r\n this.invalid = !this.valid;\r\n this.wrong = this.touched && this.invalid;\r\n this.value = state;\r\n }\r\n focus() {\r\n if (!this.focused) {\r\n this.update({ focused: true });\r\n }\r\n }\r\n blur() {\r\n if (this.focused) {\r\n this.update({ focused: false });\r\n }\r\n }\r\n touch() {\r\n if (!this.touched) {\r\n this.update({ touched: true });\r\n }\r\n }\r\n untouch() {\r\n if (this.touched) {\r\n this.update({ touched: false });\r\n }\r\n }\r\n disable() {\r\n if (!this.disabled) {\r\n this.update({ disabled: true });\r\n }\r\n }\r\n enable() {\r\n if (this.disabled) {\r\n this.update({ disabled: false });\r\n }\r\n }\r\n setState(state) {\r\n this.update({ state });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n reset() {\r\n this.update({ state: this.initialState });\r\n }\r\n update(changes) {\r\n this.group?.parent?.refreshControl(this, {\r\n ...changes,\r\n initialState: this.initialState\r\n });\r\n }\r\n}\r\nexport function useFormArrayControl(reactProps, validators) {\r\n const props = getReactControlProps(reactProps, validators);\r\n return new RolsterArrayControl({\r\n ...props,\r\n uuid: uuid(),\r\n initialState: props.state\r\n });\r\n}\r\nexport function useInputArrayControl(reactProps, validators) {\r\n const props = getReactControlProps(reactProps, validators);\r\n return new RolsterArrayControl({\r\n ...props,\r\n uuid: uuid(),\r\n initialState: props.state\r\n });\r\n}\r\n//# sourceMappingURL=form-array-control.hook.js.map","import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nexport class RolsterArrayGroup {\r\n constructor(props) {\r\n const { controls, resource, uuid, validators } = props;\r\n Object.values(controls).forEach((control) => (control.group = this));\r\n this.uuid = uuid;\r\n this.controls = controls;\r\n this.validators = validators;\r\n this.resource = resource;\r\n this.errors = validators ? groupIsValid({ controls, validators }) : [];\r\n this.error = this.errors[0];\r\n this.valid =\r\n this.errors.length === 0 && controlsAllChecked(controls, 'valid');\r\n this.invalid = !this.valid;\r\n this.touched = controlsPartialChecked(controls, 'touched');\r\n this.toucheds = controlsAllChecked(controls, 'touched');\r\n this.dirty = controlsPartialChecked(controls, 'dirty');\r\n this.dirties = controlsAllChecked(controls, 'dirty');\r\n this.untouched = !this.touched;\r\n this.untoucheds = !this.toucheds;\r\n this.pristine = !this.dirty;\r\n this.pristines = !this.dirties;\r\n this.wrong = this.touched && this.invalid;\r\n this.state = controlsToState(controls);\r\n this.value = controlsToValue(controls);\r\n }\r\n setValidators(validators) {\r\n this.parent?.refreshGroup(this, { validators });\r\n }\r\n}\r\nfunction instanceOfReactArrayGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nfunction getReactArrayGroupProps(props, validators) {\r\n if (instanceOfReactArrayGroupProps(props)) {\r\n return props;\r\n }\r\n const controls = props;\r\n return { controls, validators };\r\n}\r\nexport function useFormArrayGroup(reactProps, validators) {\r\n const props = getReactArrayGroupProps(reactProps, validators);\r\n return new RolsterArrayGroup({ ...props, uuid: uuid() });\r\n}\r\n//# sourceMappingURL=form-array-group.hook.js.map","import { arrayIsValid, controlsToState, groupAllChecked, groupPartialChecked } from '@rolster/helpers-forms/helpers';\r\nimport { useEffect, useState } from 'react';\r\nimport { RolsterArrayControl } from './form-array-control.hook';\r\nimport { RolsterArrayGroup } from './form-array-group.hook';\r\nfunction cloneFormArrayControl(control, changes) {\r\n return new RolsterArrayControl({ ...control, ...changes });\r\n}\r\nfunction cloneFormArrayGroup(group, changes) {\r\n return new RolsterArrayGroup({ ...group, ...changes });\r\n}\r\nfunction cloneFormControlForArrayGroup(group, control, changes) {\r\n const newControl = cloneFormArrayControl(control, changes);\r\n const { uuid } = newControl;\r\n const controls = Object.entries(group.controls).reduce((controls, [key, control]) => {\r\n controls[key] = control.uuid === uuid ? newControl : control;\r\n return controls;\r\n }, {});\r\n return new RolsterArrayGroup({ ...group, controls });\r\n}\r\nfunction instanceOfReactArrayProps(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\nfunction getReactArrayProps(props, validators) {\r\n if (props === undefined || props === null) {\r\n return { groups: undefined, validators: undefined };\r\n }\r\n if (instanceOfReactArrayProps(props)) {\r\n return props;\r\n }\r\n const groups = props;\r\n return { groups, validators };\r\n}\r\nexport function useFormArray(reactProps, validatorsFn) {\r\n const props = getReactArrayProps(reactProps, validatorsFn);\r\n const [currentState] = useState(props.groups);\r\n const [state, setState] = useState([]);\r\n const [validators, setValidators] = useState(props.validators);\r\n const [controls, setControls] = useState([]);\r\n const [groups, setGroups] = useState(props.groups || []);\r\n useEffect(() => {\r\n setControls(groups.map(({ controls }) => controls));\r\n setState(groups.map(({ controls }) => controlsToState(controls)));\r\n }, [groups]);\r\n const errors = validators ? arrayIsValid({ groups, validators }) : [];\r\n const error = errors[0];\r\n const valid = errors.length === 0 && groupAllChecked(groups, 'valid');\r\n const touched = groupPartialChecked(groups, 'touched');\r\n const toucheds = groupAllChecked(groups, 'touched');\r\n const dirties = groupAllChecked(groups, 'dirty');\r\n const dirty = groupPartialChecked(groups, 'dirty');\r\n function push(group) {\r\n setGroups([...groups, group]);\r\n }\r\n function merge(newGroups) {\r\n setGroups([...groups, ...newGroups]);\r\n }\r\n function set(groups) {\r\n setGroups(groups);\r\n }\r\n function refreshControl(control, changes) {\r\n if (control.group) {\r\n const group = cloneFormControlForArrayGroup(control.group, control, changes);\r\n setGroups(groups.map((currentGroup) => currentGroup.uuid === group.uuid ? group : currentGroup));\r\n }\r\n }\r\n function refreshGroup(group, changes) {\r\n const newGroup = cloneFormArrayGroup(group, changes);\r\n const { uuid } = newGroup;\r\n setGroups(groups.map((currentGroup) => currentGroup.uuid === uuid ? newGroup : currentGroup));\r\n }\r\n function remove(group) {\r\n setGroups(groups.filter(({ uuid }) => group.uuid !== uuid));\r\n }\r\n function reset() {\r\n setGroups(currentState || []);\r\n }\r\n const formArray = {\r\n controls,\r\n dirty,\r\n dirties,\r\n error,\r\n errors,\r\n groups,\r\n invalid: !valid,\r\n merge,\r\n pristine: !dirty,\r\n pristines: !dirties,\r\n push,\r\n refreshControl,\r\n refreshGroup,\r\n remove,\r\n reset,\r\n set,\r\n setValidators,\r\n state,\r\n touched,\r\n toucheds,\r\n untouched: !touched,\r\n untoucheds: !toucheds,\r\n valid,\r\n value: state,\r\n wrong: touched && !valid\r\n };\r\n groups.forEach((group) => (group.parent = formArray));\r\n return formArray;\r\n}\r\n//# sourceMappingURL=form-array.hook.js.map","import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { useState } from 'react';\r\nfunction instanceOfReactGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nfunction getReactGroupProps(props, validators) {\r\n if (instanceOfReactGroupProps(props)) {\r\n return props;\r\n }\r\n const controls = props;\r\n return { controls, validators };\r\n}\r\nexport function useFormGroup(reactProps, validatorsFn) {\r\n const props = getReactGroupProps(reactProps, validatorsFn);\r\n const [validators, setValidators] = useState(props.validators);\r\n const { controls } = props;\r\n const errors = (() => validators ? groupIsValid({ controls, validators }) : [])();\r\n const valid = (() => errors.length === 0 && controlsAllChecked(controls, 'valid'))();\r\n const touched = (() => controlsPartialChecked(controls, 'touched'))();\r\n const toucheds = (() => controlsAllChecked(controls, 'touched'))();\r\n const dirty = (() => controlsPartialChecked(controls, 'dirty'))();\r\n const dirties = (() => controlsAllChecked(controls, 'dirty'))();\r\n const state = (() => controlsToState(controls))();\r\n const value = (() => controlsToValue(controls))();\r\n function reset() {\r\n Object.values(controls).forEach((control) => control.reset());\r\n }\r\n return {\r\n controls,\r\n dirty,\r\n dirties,\r\n error: errors[0],\r\n errors,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n pristines: !dirties,\r\n reset,\r\n state,\r\n setValidators,\r\n touched,\r\n toucheds,\r\n untouched: !touched,\r\n untoucheds: !toucheds,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-group.hook.js.map","import { useEffect } from 'react';\r\nimport { instanceOfReactControlProps, useInputControl } from './form-control.hook';\r\nfunction getInputRefControlProps(props, validators) {\r\n if (props === undefined || props === null) {\r\n return { state: undefined, validators: undefined };\r\n }\r\n if (instanceOfReactControlProps(props)) {\r\n return props;\r\n }\r\n const state = props;\r\n return { state, validators };\r\n}\r\nfunction useInputRefControl(props) {\r\n const { setValue, state, validators } = props;\r\n const inputControl = useInputControl(state, validators);\r\n useEffect(() => {\r\n const { elementRef } = inputControl;\r\n elementRef?.current?.addEventListener('focus', () => {\r\n inputControl.focus();\r\n });\r\n elementRef?.current?.addEventListener('blur', () => {\r\n inputControl.blur();\r\n if (!inputControl.touched) {\r\n inputControl.touch();\r\n }\r\n });\r\n elementRef?.current?.addEventListener('change', ({ target }) => {\r\n setValue(inputControl, target.value);\r\n });\r\n }, []);\r\n return inputControl;\r\n}\r\nexport function useTextRefControl(reactProps, validators) {\r\n return useInputRefControl({\r\n ...getInputRefControlProps(reactProps, validators),\r\n setValue: (inputControl, value) => inputControl.setState(value)\r\n });\r\n}\r\nexport function useNumberRefControl(reactProps, validators) {\r\n return useInputRefControl({\r\n ...getInputRefControlProps(reactProps, validators),\r\n setValue: (inputControl, value) => inputControl.setState(+value)\r\n });\r\n}\r\n//# sourceMappingURL=form-ref.hook.js.map"],"names":["uuid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/@rolster/helpers-forms/dist/esm/helpers.js","../esm/form-control.hook.js","../esm/form-array/form-array-control.hook.js","../esm/form-array/form-array-group.hook.js","../esm/form-array/form-array.hook.js","../esm/form-group.hook.js","../esm/form-ref.hook.js"],"sourcesContent":["const FALSY_VALUE = ['false', 'undefined', '0', 0];\r\nconst toBoolean = (value) => {\r\n return !(!(typeof value !== 'undefined' && value !== null) ||\r\n value === false ||\r\n FALSY_VALUE.includes(value));\r\n};\r\nexport const controlIsValid = (props) => {\r\n const { state, validators } = props;\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, props) => {\r\n return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, props) => {\r\n return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);\r\n};\r\nexport const controlsToState = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { state }]) => {\r\n json[key] = state;\r\n return json;\r\n }, {});\r\n};\r\nexport const controlsToValue = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { value }]) => {\r\n json[key] = value;\r\n return json;\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 && toBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || toBoolean(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 instanceOfFormControlProps(props) {\r\n return (typeof props === 'object' && ('state' in props || 'validators' in props));\r\n}\r\nexport function instanceOfFormGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nexport function instanceOfFormArrayProps(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\n//# sourceMappingURL=helpers.js.map","import { controlIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { BehaviorSubject } from 'rxjs';\r\nexport function instanceOfReactControlProps(props) {\r\n return (typeof props === 'object' && ('state' in props || 'validators' in props));\r\n}\r\nexport function createReactControlProps(...argsProps) {\r\n if (argsProps.length < 1) {\r\n return { state: undefined, validators: undefined };\r\n }\r\n const [state, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfReactControlProps(state)) {\r\n return state;\r\n }\r\n return { state: state, validators };\r\n}\r\nexport function useReactControl(controlProps, controlValidators) {\r\n const props = createReactControlProps(controlProps, controlValidators);\r\n const [state, setCurrentState] = useState(props.state);\r\n const [value, setValue] = useState(props.state);\r\n const [touched, setTouched] = useState(props.touched || false);\r\n const [dirty, setDirty] = useState(false);\r\n const [focused, setFocused] = useState(false);\r\n const [disabled, setDisabled] = useState(false);\r\n const [initialValue] = useState(props.state);\r\n const [validators, setValidators] = useState(props.validators);\r\n const [subscribers] = useState(new BehaviorSubject(props.state));\r\n const elementRef = useRef(null);\r\n const errors = (() => validators ? controlIsValid({ state, validators }) : [])();\r\n const error = (() => errors[0])();\r\n const valid = (() => errors.length === 0)();\r\n useEffect(() => {\r\n if (state !== null && state !== undefined) {\r\n setValue(state);\r\n }\r\n subscribers.next(state);\r\n }, [state]);\r\n function focus() {\r\n setFocused(true);\r\n }\r\n function blur() {\r\n setFocused(false);\r\n }\r\n function disable() {\r\n setDisabled(true);\r\n }\r\n function enable() {\r\n setDisabled(false);\r\n }\r\n function touch() {\r\n setTouched(true);\r\n }\r\n function untouch() {\r\n setTouched(false);\r\n }\r\n function setState(state) {\r\n setDirty(true);\r\n setCurrentState(state);\r\n }\r\n function reset() {\r\n setTouched(false);\r\n setDirty(false);\r\n setCurrentState(initialValue);\r\n }\r\n function subscribe(subscriber) {\r\n const subscription = subscribers.subscribe(subscriber);\r\n return () => subscription.unsubscribe();\r\n }\r\n return {\r\n blur,\r\n dirty,\r\n disable,\r\n disabled,\r\n elementRef,\r\n enable,\r\n enabled: !disabled,\r\n error,\r\n errors,\r\n focus,\r\n focused,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n reset,\r\n setState,\r\n setValidators,\r\n state,\r\n subscribe,\r\n touch,\r\n touched,\r\n unfocused: !focused,\r\n untouch,\r\n untouched: !touched,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\nexport function useFormControl(controlProps, controlValidators) {\r\n return instanceOfReactControlProps(controlProps)\r\n ? useReactControl(controlProps)\r\n : useReactControl(controlProps, controlValidators);\r\n}\r\nexport function useInputControl(controlProps, controlValidators) {\r\n return instanceOfReactControlProps(controlProps)\r\n ? useReactControl(controlProps)\r\n : useReactControl(controlProps, controlValidators);\r\n}\r\n//# sourceMappingURL=form-control.hook.js.map","import { controlIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { createReactControlProps } from '../form-control.hook';\r\nexport class RolsterArrayControl {\r\n constructor(props) {\r\n const { uuid, focused, dirty, disabled, initialState, state, touched, validators } = props;\r\n this.uuid = uuid;\r\n this.focused = focused || false;\r\n this.unfocused = !this.focused;\r\n this.touched = touched || false;\r\n this.untouched = !this.touched;\r\n this.dirty = dirty || false;\r\n this.pristine = !this.dirty;\r\n this.disabled = disabled || false;\r\n this.enabled = !this.disabled;\r\n this.state = state;\r\n this.validators = validators;\r\n this.initialState = initialState;\r\n this.errors = validators ? controlIsValid({ state, validators }) : [];\r\n this.error = this.errors[0];\r\n this.valid = this.errors.length === 0;\r\n this.invalid = !this.valid;\r\n this.wrong = this.touched && this.invalid;\r\n this.value = state;\r\n }\r\n focus() {\r\n if (!this.focused) {\r\n this.update({ focused: true });\r\n }\r\n }\r\n blur() {\r\n if (this.focused) {\r\n this.update({ focused: false });\r\n }\r\n }\r\n touch() {\r\n if (!this.touched) {\r\n this.update({ touched: true });\r\n }\r\n }\r\n untouch() {\r\n if (this.touched) {\r\n this.update({ touched: false });\r\n }\r\n }\r\n disable() {\r\n if (!this.disabled) {\r\n this.update({ disabled: true });\r\n }\r\n }\r\n enable() {\r\n if (this.disabled) {\r\n this.update({ disabled: false });\r\n }\r\n }\r\n setState(state) {\r\n this.update({ state });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n reset() {\r\n this.update({ state: this.initialState });\r\n }\r\n update(changes) {\r\n this.group?.parent?.refreshControl(this, {\r\n ...changes,\r\n initialState: this.initialState\r\n });\r\n }\r\n}\r\nexport function useFormArrayControl(controlProps, controlValidators) {\r\n const props = createReactControlProps(controlProps, controlValidators);\r\n return new RolsterArrayControl({\r\n ...props,\r\n uuid: uuid(),\r\n initialState: props.state\r\n });\r\n}\r\nexport function useInputArrayControl(controlProps, controlValidators) {\r\n const props = createReactControlProps(controlProps, controlValidators);\r\n return new RolsterArrayControl({\r\n ...props,\r\n uuid: uuid(),\r\n initialState: props.state\r\n });\r\n}\r\n//# sourceMappingURL=form-array-control.hook.js.map","import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nexport class RolsterArrayGroup {\r\n constructor(props) {\r\n const { controls, resource, uuid, validators } = props;\r\n Object.values(controls).forEach((control) => (control.group = this));\r\n this.uuid = uuid;\r\n this.controls = controls;\r\n this.validators = validators;\r\n this.resource = resource;\r\n this.errors = validators ? groupIsValid({ controls, validators }) : [];\r\n this.error = this.errors[0];\r\n this.valid =\r\n this.errors.length === 0 && controlsAllChecked(controls, 'valid');\r\n this.invalid = !this.valid;\r\n this.touched = controlsPartialChecked(controls, 'touched');\r\n this.toucheds = controlsAllChecked(controls, 'touched');\r\n this.dirty = controlsPartialChecked(controls, 'dirty');\r\n this.dirties = controlsAllChecked(controls, 'dirty');\r\n this.untouched = !this.touched;\r\n this.untoucheds = !this.toucheds;\r\n this.pristine = !this.dirty;\r\n this.pristines = !this.dirties;\r\n this.wrong = this.touched && this.invalid;\r\n this.state = controlsToState(controls);\r\n this.value = controlsToValue(controls);\r\n }\r\n setValidators(validators) {\r\n this.parent?.refreshGroup(this, { validators });\r\n }\r\n}\r\nfunction instanceOfArrayGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nfunction createArrayGroupProps(...argsProps) {\r\n const [controls, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfArrayGroupProps(controls)) {\r\n return controls;\r\n }\r\n return { controls: controls, validators };\r\n}\r\nexport function useFormArrayGroup(groupProps, groupValidators) {\r\n const props = createArrayGroupProps(groupProps, groupValidators);\r\n return new RolsterArrayGroup({ ...props, uuid: uuid() });\r\n}\r\n//# sourceMappingURL=form-array-group.hook.js.map","import { arrayIsValid, controlsToState, groupAllChecked, groupPartialChecked } from '@rolster/helpers-forms/helpers';\r\nimport { useEffect, useState } from 'react';\r\nimport { RolsterArrayControl } from './form-array-control.hook';\r\nimport { RolsterArrayGroup } from './form-array-group.hook';\r\nfunction cloneFormArrayControl(control, changes) {\r\n return new RolsterArrayControl({ ...control, ...changes });\r\n}\r\nfunction cloneFormArrayGroup(group, changes) {\r\n return new RolsterArrayGroup({ ...group, ...changes });\r\n}\r\nfunction cloneFormControlForArrayGroup(group, control, changes) {\r\n const newControl = cloneFormArrayControl(control, changes);\r\n const { uuid } = newControl;\r\n const controls = Object.entries(group.controls).reduce((controls, [key, control]) => {\r\n controls[key] = control.uuid === uuid ? newControl : control;\r\n return controls;\r\n }, {});\r\n return new RolsterArrayGroup({ ...group, controls });\r\n}\r\nfunction instanceOfReactArrayProps(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\nfunction createReactArrayProps(...argsProps) {\r\n if (argsProps.length < 1) {\r\n return { groups: undefined, validators: undefined };\r\n }\r\n const [groups, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfReactArrayProps(groups)) {\r\n return groups;\r\n }\r\n return { groups: groups, validators };\r\n}\r\nexport function useFormArray(arrayProps, arrayValidators) {\r\n const props = createReactArrayProps(arrayProps, arrayValidators);\r\n const [currentState] = useState(props.groups);\r\n const [state, setState] = useState([]);\r\n const [validators, setValidators] = useState(props.validators);\r\n const [controls, setControls] = useState([]);\r\n const [groups, setGroups] = useState(props.groups || []);\r\n useEffect(() => {\r\n setControls(groups.map(({ controls }) => controls));\r\n setState(groups.map(({ controls }) => controlsToState(controls)));\r\n }, [groups]);\r\n const errors = validators ? arrayIsValid({ groups, validators }) : [];\r\n const error = errors[0];\r\n const valid = errors.length === 0 && groupAllChecked(groups, 'valid');\r\n const touched = groupPartialChecked(groups, 'touched');\r\n const toucheds = groupAllChecked(groups, 'touched');\r\n const dirties = groupAllChecked(groups, 'dirty');\r\n const dirty = groupPartialChecked(groups, 'dirty');\r\n function push(group) {\r\n setGroups([...groups, group]);\r\n }\r\n function merge(newGroups) {\r\n setGroups([...groups, ...newGroups]);\r\n }\r\n function set(groups) {\r\n setGroups(groups);\r\n }\r\n function refreshControl(control, changes) {\r\n if (control.group) {\r\n const group = cloneFormControlForArrayGroup(control.group, control, changes);\r\n setGroups(groups.map((currentGroup) => currentGroup.uuid === group.uuid ? group : currentGroup));\r\n }\r\n }\r\n function refreshGroup(group, changes) {\r\n const newGroup = cloneFormArrayGroup(group, changes);\r\n const { uuid } = newGroup;\r\n setGroups(groups.map((currentGroup) => currentGroup.uuid === uuid ? newGroup : currentGroup));\r\n }\r\n function remove(group) {\r\n setGroups(groups.filter(({ uuid }) => group.uuid !== uuid));\r\n }\r\n function reset() {\r\n setGroups(currentState || []);\r\n }\r\n const formArray = {\r\n controls,\r\n dirty,\r\n dirties,\r\n error,\r\n errors,\r\n groups,\r\n invalid: !valid,\r\n merge,\r\n pristine: !dirty,\r\n pristines: !dirties,\r\n push,\r\n refreshControl,\r\n refreshGroup,\r\n remove,\r\n reset,\r\n set,\r\n setValidators,\r\n state,\r\n touched,\r\n toucheds,\r\n untouched: !touched,\r\n untoucheds: !toucheds,\r\n valid,\r\n value: state,\r\n wrong: touched && !valid\r\n };\r\n groups.forEach((group) => (group.parent = formArray));\r\n return formArray;\r\n}\r\n//# sourceMappingURL=form-array.hook.js.map","import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from '@rolster/helpers-forms/helpers';\r\nimport { useState } from 'react';\r\nfunction instanceOfGroupProps(props) {\r\n return (typeof props === 'object' && ('controls' in props || 'validators' in props));\r\n}\r\nfunction createReactGroupProps(...argsProps) {\r\n const [controls, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfGroupProps(controls)) {\r\n return controls;\r\n }\r\n return { controls: controls, validators };\r\n}\r\nexport function useFormGroup(groupProps, groupValidators) {\r\n const props = createReactGroupProps(groupProps, groupValidators);\r\n const [validators, setValidators] = useState(props.validators);\r\n const { controls } = props;\r\n const errors = (() => validators ? groupIsValid({ controls, validators }) : [])();\r\n const valid = (() => errors.length === 0 && controlsAllChecked(controls, 'valid'))();\r\n const touched = (() => controlsPartialChecked(controls, 'touched'))();\r\n const toucheds = (() => controlsAllChecked(controls, 'touched'))();\r\n const dirty = (() => controlsPartialChecked(controls, 'dirty'))();\r\n const dirties = (() => controlsAllChecked(controls, 'dirty'))();\r\n const state = (() => controlsToState(controls))();\r\n const value = (() => controlsToValue(controls))();\r\n function reset() {\r\n Object.values(controls).forEach((control) => control.reset());\r\n }\r\n return {\r\n controls,\r\n dirty,\r\n dirties,\r\n error: errors[0],\r\n errors,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n pristines: !dirties,\r\n reset,\r\n state,\r\n setValidators,\r\n touched,\r\n toucheds,\r\n untouched: !touched,\r\n untoucheds: !toucheds,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-group.hook.js.map","import { useEffect } from 'react';\r\nimport { instanceOfReactControlProps, useInputControl } from './form-control.hook';\r\nfunction createInputRefControlProps(...argsProps) {\r\n if (argsProps.length < 1) {\r\n return { state: undefined, validators: undefined };\r\n }\r\n const [state, validators] = argsProps;\r\n if (argsProps.length < 2 && instanceOfReactControlProps(state)) {\r\n return state;\r\n }\r\n return { state: state, validators };\r\n}\r\nfunction useInputRefControl(props) {\r\n const { setValue, state, validators } = props;\r\n const inputControl = useInputControl(state, validators);\r\n useEffect(() => {\r\n const { elementRef } = inputControl;\r\n elementRef?.current?.addEventListener('focus', () => {\r\n inputControl.focus();\r\n });\r\n elementRef?.current?.addEventListener('blur', () => {\r\n inputControl.blur();\r\n if (!inputControl.touched) {\r\n inputControl.touch();\r\n }\r\n });\r\n elementRef?.current?.addEventListener('change', ({ target }) => {\r\n setValue(inputControl, target.value);\r\n });\r\n }, []);\r\n return inputControl;\r\n}\r\nexport function useTextRefControl(controlProps, controlValidators) {\r\n return useInputRefControl({\r\n ...createInputRefControlProps(controlProps, controlValidators),\r\n setValue: (inputControl, value) => inputControl.setState(value)\r\n });\r\n}\r\nexport function useNumberRefControl(controlProps, controlValidators) {\r\n return useInputRefControl({\r\n ...createInputRefControlProps(controlProps, controlValidators),\r\n setValue: (inputControl, value) => inputControl.setState(+value)\r\n });\r\n}\r\n//# sourceMappingURL=form-ref.hook.js.map"],"names":["uuid"],"mappings":"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"}
@@ -41,9 +41,9 @@ interface RolsterControlProps<T = any> extends FormArrayControlProps<T> {
41
41
  }
42
42
  type ReactControlProps<T = any> = Omit<RolsterControlProps<T>, 'uuid'>;
43
43
  export declare function useFormArrayControl<T = any, C extends ReactArrayControls = any, E extends HTMLElement = HTMLElement>(): AbstractRolsterArrayControl<T, C, E>;
44
- export declare function useFormArrayControl<T = any, C extends ReactArrayControls = any, E extends HTMLElement = HTMLElement>(state: FormState<T>, validators?: ValidatorFn<T>[]): AbstractRolsterArrayControl<T, C, E>;
45
44
  export declare function useFormArrayControl<T = any, C extends ReactArrayControls = any, E extends HTMLElement = HTMLElement>(props: ReactControlProps<T>): AbstractRolsterArrayControl<T, C, E>;
45
+ export declare function useFormArrayControl<T = any, C extends ReactArrayControls = any, E extends HTMLElement = HTMLElement>(state: FormState<T>, validators?: ValidatorFn<T>[]): AbstractRolsterArrayControl<T, C, E>;
46
46
  export declare function useInputArrayControl<T = any, C extends ReactArrayControls = any>(): AbstractRolsterArrayControl<T, C, HTMLInputElement>;
47
- export declare function useInputArrayControl<T = any, C extends ReactArrayControls = any>(state: FormState<T>, validators?: ValidatorFn<T>[]): AbstractRolsterArrayControl<T, C, HTMLInputElement>;
48
47
  export declare function useInputArrayControl<T = any, C extends ReactArrayControls = any>(props: ReactControlProps<T>): AbstractRolsterArrayControl<T, C, HTMLInputElement>;
48
+ export declare function useInputArrayControl<T = any, C extends ReactArrayControls = any>(state: FormState<T>, validators?: ValidatorFn<T>[]): AbstractRolsterArrayControl<T, C, HTMLInputElement>;
49
49
  export {};
@@ -1,6 +1,6 @@
1
1
  import { controlIsValid } from '@rolster/helpers-forms/helpers';
2
2
  import { v4 as uuid } from 'uuid';
3
- import { getReactControlProps } from '../form-control.hook';
3
+ import { createReactControlProps } from '../form-control.hook';
4
4
  export class RolsterArrayControl {
5
5
  constructor(props) {
6
6
  const { uuid, focused, dirty, disabled, initialState, state, touched, validators } = props;
@@ -69,16 +69,16 @@ export class RolsterArrayControl {
69
69
  });
70
70
  }
71
71
  }
72
- export function useFormArrayControl(reactProps, validators) {
73
- const props = getReactControlProps(reactProps, validators);
72
+ export function useFormArrayControl(controlProps, controlValidators) {
73
+ const props = createReactControlProps(controlProps, controlValidators);
74
74
  return new RolsterArrayControl({
75
75
  ...props,
76
76
  uuid: uuid(),
77
77
  initialState: props.state
78
78
  });
79
79
  }
80
- export function useInputArrayControl(reactProps, validators) {
81
- const props = getReactControlProps(reactProps, validators);
80
+ export function useInputArrayControl(controlProps, controlValidators) {
81
+ const props = createReactControlProps(controlProps, controlValidators);
82
82
  return new RolsterArrayControl({
83
83
  ...props,
84
84
  uuid: uuid(),
@@ -1 +1 @@
1
- {"version":3,"file":"form-array-control.hook.js","sourceRoot":"","sources":["../../../src/form-array/form-array-control.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-array-control.hook.js","sourceRoot":"","sources":["../../../src/form-array/form-array-control.hook.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,6 @@ export declare class RolsterArrayGroup<C extends RolsterArrayControls = RolsterA
26
26
  setValidators(validators: ValidatorGroupFn<C>[]): void;
27
27
  }
28
28
  type RolsterGroupProps<C extends RolsterArrayControls = RolsterArrayControls, R = any> = Omit<FormArrayGroupProps<C, R>, 'uuid'>;
29
- export declare function useFormArrayGroup<C extends RolsterArrayControls = RolsterArrayControls, R = any>(controls: C, validators?: ValidatorGroupFn<C, R>[]): AbstractRolsterArrayGroup<C, R>;
30
29
  export declare function useFormArrayGroup<C extends RolsterArrayControls = RolsterArrayControls, R = any>(props: RolsterGroupProps<C, R>): AbstractRolsterArrayGroup<C, R>;
30
+ export declare function useFormArrayGroup<C extends RolsterArrayControls = RolsterArrayControls, R = any>(controls: C, validators?: ValidatorGroupFn<C, R>[]): AbstractRolsterArrayGroup<C, R>;
31
31
  export {};
@@ -29,18 +29,18 @@ export class RolsterArrayGroup {
29
29
  this.parent?.refreshGroup(this, { validators });
30
30
  }
31
31
  }
32
- function instanceOfReactArrayGroupProps(props) {
32
+ function instanceOfArrayGroupProps(props) {
33
33
  return (typeof props === 'object' && ('controls' in props || 'validators' in props));
34
34
  }
35
- function getReactArrayGroupProps(props, validators) {
36
- if (instanceOfReactArrayGroupProps(props)) {
37
- return props;
35
+ function createArrayGroupProps(...argsProps) {
36
+ const [controls, validators] = argsProps;
37
+ if (argsProps.length < 2 && instanceOfArrayGroupProps(controls)) {
38
+ return controls;
38
39
  }
39
- const controls = props;
40
- return { controls, validators };
40
+ return { controls: controls, validators };
41
41
  }
42
- export function useFormArrayGroup(reactProps, validators) {
43
- const props = getReactArrayGroupProps(reactProps, validators);
42
+ export function useFormArrayGroup(groupProps, groupValidators) {
43
+ const props = createArrayGroupProps(groupProps, groupValidators);
44
44
  return new RolsterArrayGroup({ ...props, uuid: uuid() });
45
45
  }
46
46
  //# sourceMappingURL=form-array-group.hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-array-group.hook.js","sourceRoot":"","sources":["../../../src/form-array/form-array-group.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-array-group.hook.js","sourceRoot":"","sources":["../../../src/form-array/form-array-group.hook.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ import { ReactArrayControls, ReactFormArray } from '../types';
3
3
  import { AbstractRolsterArrayGroup } from './types';
4
4
  type RolsterArrayProps<C extends ReactArrayControls = ReactArrayControls, R = any> = FormArrayProps<C, R, AbstractRolsterArrayGroup<C, R>>;
5
5
  export declare function useFormArray<G extends ReactArrayControls, R = any>(): ReactFormArray<G, R>;
6
- export declare function useFormArray<G extends ReactArrayControls, R = any>(groups: AbstractRolsterArrayGroup<G, R>[], validatorsFn?: ValidatorArrayFn<G, R>[]): ReactFormArray<G, R>;
7
6
  export declare function useFormArray<G extends ReactArrayControls, R = any>(props: RolsterArrayProps<G>): ReactFormArray<G, R>;
7
+ export declare function useFormArray<G extends ReactArrayControls, R = any>(groups: AbstractRolsterArrayGroup<G, R>[], validators?: ValidatorArrayFn<G, R>[]): ReactFormArray<G, R>;
8
8
  export {};
@@ -20,18 +20,18 @@ function cloneFormControlForArrayGroup(group, control, changes) {
20
20
  function instanceOfReactArrayProps(props) {
21
21
  return (typeof props === 'object' && ('groups' in props || 'validators' in props));
22
22
  }
23
- function getReactArrayProps(props, validators) {
24
- if (props === undefined || props === null) {
23
+ function createReactArrayProps(...argsProps) {
24
+ if (argsProps.length < 1) {
25
25
  return { groups: undefined, validators: undefined };
26
26
  }
27
- if (instanceOfReactArrayProps(props)) {
28
- return props;
27
+ const [groups, validators] = argsProps;
28
+ if (argsProps.length < 2 && instanceOfReactArrayProps(groups)) {
29
+ return groups;
29
30
  }
30
- const groups = props;
31
- return { groups, validators };
31
+ return { groups: groups, validators };
32
32
  }
33
- export function useFormArray(reactProps, validatorsFn) {
34
- const props = getReactArrayProps(reactProps, validatorsFn);
33
+ export function useFormArray(arrayProps, arrayValidators) {
34
+ const props = createReactArrayProps(arrayProps, arrayValidators);
35
35
  const [currentState] = useState(props.groups);
36
36
  const [state, setState] = useState([]);
37
37
  const [validators, setValidators] = useState(props.validators);
@@ -1 +1 @@
1
- {"version":3,"file":"form-array.hook.js","sourceRoot":"","sources":["../../../src/form-array/form-array.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-array.hook.js","sourceRoot":"","sources":["../../../src/form-array/form-array.hook.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,19 @@ import { ReactFormControl, ReactHtmlControl, ReactInputControl } from './types';
4
4
  interface ReactControlProps<T = any> extends FormControlProps<T> {
5
5
  touched?: boolean;
6
6
  }
7
- export declare function instanceOfReactControlProps<T = any>(props: any): props is ReactControlProps<T>;
8
- export declare function getReactControlProps<T = any>(props?: ReactControlProps<T> | FormState<T>, validators?: ValidatorFn<T>[]): ReactControlProps<T>;
7
+ type ArgsControlProps<T> = [
8
+ ReactControlProps<T> | FormState<T>,
9
+ Undefined<ValidatorFn<T>[]>
10
+ ];
11
+ export declare function instanceOfReactControlProps<T>(props: any): props is ReactControlProps<T>;
12
+ export declare function createReactControlProps<T>(...argsProps: ArgsControlProps<T>): ReactControlProps<T>;
9
13
  export declare function useReactControl<E extends HTMLElement, T = any>(): ReactFormControl<E, T>;
10
- export declare function useReactControl<E extends HTMLElement, T = any>(state: FormState<T>, validators?: ValidatorFn<T>[]): ReactFormControl<E, T>;
11
14
  export declare function useReactControl<E extends HTMLElement, T = any>(props: ReactControlProps<T>): ReactFormControl<E, T>;
15
+ export declare function useReactControl<E extends HTMLElement, T = any>(state: FormState<T>, validators?: ValidatorFn<T>[]): ReactFormControl<E, T>;
12
16
  export declare function useFormControl<T = any>(): ReactHtmlControl<T>;
13
- export declare function useFormControl<T = any>(state: FormState<T>, validators?: ValidatorFn<T>[]): ReactHtmlControl<T>;
14
17
  export declare function useFormControl<T = any>(props: ReactControlProps<T>): ReactHtmlControl<T>;
18
+ export declare function useFormControl<T = any>(state: FormState<T>, validators?: ValidatorFn<T>[]): ReactHtmlControl<T>;
15
19
  export declare function useInputControl<T = any>(): ReactInputControl<T>;
16
- export declare function useInputControl<T = any>(state: FormState<T>, validators?: ValidatorFn<T>[]): ReactInputControl<T>;
17
20
  export declare function useInputControl<T = any>(props: ReactControlProps<T>): ReactInputControl<T>;
21
+ export declare function useInputControl<T = any>(state: FormState<T>, validators?: ValidatorFn<T>[]): ReactInputControl<T>;
18
22
  export {};
@@ -4,18 +4,18 @@ import { BehaviorSubject } from 'rxjs';
4
4
  export function instanceOfReactControlProps(props) {
5
5
  return (typeof props === 'object' && ('state' in props || 'validators' in props));
6
6
  }
7
- export function getReactControlProps(props, validators) {
8
- if (props === undefined || props === null) {
7
+ export function createReactControlProps(...argsProps) {
8
+ if (argsProps.length < 1) {
9
9
  return { state: undefined, validators: undefined };
10
10
  }
11
- if (instanceOfReactControlProps(props)) {
12
- return props;
11
+ const [state, validators] = argsProps;
12
+ if (argsProps.length < 2 && instanceOfReactControlProps(state)) {
13
+ return state;
13
14
  }
14
- const state = props;
15
- return { state, validators };
15
+ return { state: state, validators };
16
16
  }
17
- export function useReactControl(reactProps, validatorsFn) {
18
- const props = getReactControlProps(reactProps, validatorsFn);
17
+ export function useReactControl(controlProps, controlValidators) {
18
+ const props = createReactControlProps(controlProps, controlValidators);
19
19
  const [state, setCurrentState] = useState(props.state);
20
20
  const [value, setValue] = useState(props.state);
21
21
  const [touched, setTouched] = useState(props.touched || false);
@@ -95,14 +95,14 @@ export function useReactControl(reactProps, validatorsFn) {
95
95
  wrong: touched && !valid
96
96
  };
97
97
  }
98
- export function useFormControl(reactProps, validatorsFn) {
99
- return instanceOfReactControlProps(reactProps)
100
- ? useReactControl(reactProps)
101
- : useReactControl(reactProps, validatorsFn);
98
+ export function useFormControl(controlProps, controlValidators) {
99
+ return instanceOfReactControlProps(controlProps)
100
+ ? useReactControl(controlProps)
101
+ : useReactControl(controlProps, controlValidators);
102
102
  }
103
- export function useInputControl(reactProps, validatorsFn) {
104
- return instanceOfReactControlProps(reactProps)
105
- ? useReactControl(reactProps)
106
- : useReactControl(reactProps, validatorsFn);
103
+ export function useInputControl(controlProps, controlValidators) {
104
+ return instanceOfReactControlProps(controlProps)
105
+ ? useReactControl(controlProps)
106
+ : useReactControl(controlProps, controlValidators);
107
107
  }
108
108
  //# sourceMappingURL=form-control.hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-control.hook.js","sourceRoot":"","sources":["../../src/form-control.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-control.hook.js","sourceRoot":"","sources":["../../src/form-control.hook.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { FormGroupProps, ValidatorGroupFn } from '@rolster/helpers-forms';
2
2
  import { ReactControls, ReactGroup } from './types';
3
- export declare function useFormGroup<T extends ReactControls>(controls: T, validators?: ValidatorGroupFn<T>[]): ReactGroup<T>;
4
3
  export declare function useFormGroup<T extends ReactControls>(props: FormGroupProps<T>): ReactGroup<T>;
4
+ export declare function useFormGroup<T extends ReactControls>(controls: T, validators?: ValidatorGroupFn<T>[]): ReactGroup<T>;
@@ -1,17 +1,17 @@
1
1
  import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from '@rolster/helpers-forms/helpers';
2
2
  import { useState } from 'react';
3
- function instanceOfReactGroupProps(props) {
3
+ function instanceOfGroupProps(props) {
4
4
  return (typeof props === 'object' && ('controls' in props || 'validators' in props));
5
5
  }
6
- function getReactGroupProps(props, validators) {
7
- if (instanceOfReactGroupProps(props)) {
8
- return props;
6
+ function createReactGroupProps(...argsProps) {
7
+ const [controls, validators] = argsProps;
8
+ if (argsProps.length < 2 && instanceOfGroupProps(controls)) {
9
+ return controls;
9
10
  }
10
- const controls = props;
11
- return { controls, validators };
11
+ return { controls: controls, validators };
12
12
  }
13
- export function useFormGroup(reactProps, validatorsFn) {
14
- const props = getReactGroupProps(reactProps, validatorsFn);
13
+ export function useFormGroup(groupProps, groupValidators) {
14
+ const props = createReactGroupProps(groupProps, groupValidators);
15
15
  const [validators, setValidators] = useState(props.validators);
16
16
  const { controls } = props;
17
17
  const errors = (() => validators ? groupIsValid({ controls, validators }) : [])();
@@ -1 +1 @@
1
- {"version":3,"file":"form-group.hook.js","sourceRoot":"","sources":["../../src/form-group.hook.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,SAAS,yBAAyB,CAChC,KAAU;IAEV,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAA4B,EAC5B,UAAkC;IAElC,IAAI,yBAAyB,CAAI,KAAK,CAAC,EAAE;QACvC,OAAO,KAAK,CAAC;KACd;IAED,MAAM,QAAQ,GAAG,KAAU,CAAC;IAE5B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AASD,MAAM,UAAU,YAAY,CAC1B,UAAiC,EACjC,YAAoC;IAEpC,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAE3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE3B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,CACnB,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAE9D,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAClB,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAElE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAEhE,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAElD,SAAS,KAAK;QACZ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK;QACL,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,MAAM;QACN,OAAO,EAAE,CAAC,KAAK;QACf,QAAQ,EAAE,CAAC,KAAK;QAChB,SAAS,EAAE,CAAC,OAAO;QACnB,KAAK;QACL,KAAK;QACL,aAAa;QACb,OAAO;QACP,QAAQ;QACR,SAAS,EAAE,CAAC,OAAO;QACnB,UAAU,EAAE,CAAC,QAAQ;QACrB,KAAK;QACL,KAAK;QACL,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"form-group.hook.js","sourceRoot":"","sources":["../../src/form-group.hook.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQjC,SAAS,oBAAoB,CAC3B,KAAU;IAEV,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAG,SAA4B;IAE/B,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IAEzC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,CAAI,QAAQ,CAAC,EAAE;QAC7D,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,EAAE,QAAQ,EAAE,QAAa,EAAE,UAAU,EAAE,CAAC;AACjD,CAAC;AASD,MAAM,UAAU,YAAY,CAC1B,UAAiC,EACjC,eAAuC;IAEvC,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAEjE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE3B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,CACnB,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAE9D,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAClB,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAElE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAEhE,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAElD,SAAS,KAAK;QACZ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK;QACL,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,MAAM;QACN,OAAO,EAAE,CAAC,KAAK;QACf,QAAQ,EAAE,CAAC,KAAK;QAChB,SAAS,EAAE,CAAC,OAAO;QACnB,KAAK;QACL,KAAK;QACL,aAAa;QACb,OAAO;QACP,QAAQ;QACR,SAAS,EAAE,CAAC,OAAO;QACnB,UAAU,EAAE,CAAC,QAAQ;QACrB,KAAK;QACL,KAAK;QACL,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC"}
@@ -2,16 +2,16 @@ import { FormControlProps, FormState } from '@rolster/helpers-forms';
2
2
  import { ValidatorFn } from '@rolster/validators';
3
3
  import { ReactInputControl } from './types';
4
4
  interface ReactRefProps<T = any> extends FormControlProps<T> {
5
- setValue: (r: ReactInputControl<T>, value: string) => void;
5
+ setValue: (inputControl: ReactInputControl<T>, value: string) => void;
6
6
  touched?: boolean;
7
7
  }
8
8
  type InputRefProps<T = any> = Omit<ReactRefProps<T>, 'setValue'>;
9
9
  type TextRefProps = InputRefProps<string>;
10
10
  type NumberRefProps = InputRefProps<number>;
11
11
  export declare function useTextRefControl(): ReactInputControl<string>;
12
- export declare function useTextRefControl(state?: FormState<string>, validators?: ValidatorFn<string>[]): ReactInputControl<string>;
13
- export declare function useTextRefControl(props?: TextRefProps): ReactInputControl<string>;
12
+ export declare function useTextRefControl(props: TextRefProps): ReactInputControl<string>;
13
+ export declare function useTextRefControl(state: FormState<string>, validators?: ValidatorFn<string>[]): ReactInputControl<string>;
14
14
  export declare function useNumberRefControl(): ReactInputControl<number>;
15
- export declare function useNumberRefControl(state?: FormState<number>, validators?: ValidatorFn<number>[]): ReactInputControl<number>;
16
- export declare function useNumberRefControl(props?: NumberRefProps): ReactInputControl<number>;
15
+ export declare function useNumberRefControl(props: NumberRefProps): ReactInputControl<number>;
16
+ export declare function useNumberRefControl(state: FormState<number>, validators?: ValidatorFn<number>[]): ReactInputControl<number>;
17
17
  export {};
@@ -1,14 +1,14 @@
1
1
  import { useEffect } from 'react';
2
2
  import { instanceOfReactControlProps, useInputControl } from './form-control.hook';
3
- function getInputRefControlProps(props, validators) {
4
- if (props === undefined || props === null) {
3
+ function createInputRefControlProps(...argsProps) {
4
+ if (argsProps.length < 1) {
5
5
  return { state: undefined, validators: undefined };
6
6
  }
7
- if (instanceOfReactControlProps(props)) {
8
- return props;
7
+ const [state, validators] = argsProps;
8
+ if (argsProps.length < 2 && instanceOfReactControlProps(state)) {
9
+ return state;
9
10
  }
10
- const state = props;
11
- return { state, validators };
11
+ return { state: state, validators };
12
12
  }
13
13
  function useInputRefControl(props) {
14
14
  const { setValue, state, validators } = props;
@@ -30,15 +30,15 @@ function useInputRefControl(props) {
30
30
  }, []);
31
31
  return inputControl;
32
32
  }
33
- export function useTextRefControl(reactProps, validators) {
33
+ export function useTextRefControl(controlProps, controlValidators) {
34
34
  return useInputRefControl({
35
- ...getInputRefControlProps(reactProps, validators),
35
+ ...createInputRefControlProps(controlProps, controlValidators),
36
36
  setValue: (inputControl, value) => inputControl.setState(value)
37
37
  });
38
38
  }
39
- export function useNumberRefControl(reactProps, validators) {
39
+ export function useNumberRefControl(controlProps, controlValidators) {
40
40
  return useInputRefControl({
41
- ...getInputRefControlProps(reactProps, validators),
41
+ ...createInputRefControlProps(controlProps, controlValidators),
42
42
  setValue: (inputControl, value) => inputControl.setState(+value)
43
43
  });
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"form-ref.hook.js","sourceRoot":"","sources":["../../src/form-ref.hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAa7B,SAAS,uBAAuB,CAC9B,KAAuC,EACvC,UAA6B;IAE7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACzC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;KACpD;IAED,IAAI,2BAA2B,CAAI,KAAK,CAAC,EAAE;QACzC,OAAO,KAAK,CAAC;KACd;IAED,MAAM,KAAK,GAAG,KAAqB,CAAC;IAEpC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,kBAAkB,CAAU,KAAuB;IAC1D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAE9C,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QAEpC,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAClD,YAAY,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YACjD,YAAY,CAAC,IAAI,EAAE,CAAC;YAEpB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBACzB,YAAY,CAAC,KAAK,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7D,QAAQ,CAAC,YAAY,EAAG,MAA2B,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,YAAY,CAAC;AACtB,CAAC;AAUD,MAAM,UAAU,iBAAiB,CAC/B,UAA6C,EAC7C,UAAkC;IAElC,OAAO,kBAAkB,CAAC;QACxB,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC;QAClD,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;KAChE,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,mBAAmB,CACjC,UAA+C,EAC/C,UAAkC;IAElC,OAAO,kBAAkB,CAAC;QACxB,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC;QAClD,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;KACjE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"form-ref.hook.js","sourceRoot":"","sources":["../../src/form-ref.hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAkB7B,SAAS,0BAA0B,CACjC,GAAG,SAA8B;IAEjC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;KACpD;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IAEtC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B,CAAI,KAAK,CAAC,EAAE;QACjE,OAAO,KAAK,CAAC;KACd;IAED,OAAO,EAAE,KAAK,EAAE,KAAqB,EAAE,UAAU,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAU,KAAuB;IAC1D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAE9C,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QAEpC,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAClD,YAAY,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YACjD,YAAY,CAAC,IAAI,EAAE,CAAC;YAEpB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBACzB,YAAY,CAAC,KAAK,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7D,QAAQ,CAAC,YAAY,EAAG,MAA2B,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,YAAY,CAAC;AACtB,CAAC;AAUD,MAAM,UAAU,iBAAiB,CAC/B,YAA+C,EAC/C,iBAAyC;IAEzC,OAAO,kBAAkB,CAAC;QACxB,GAAG,0BAA0B,CAAC,YAAY,EAAE,iBAAiB,CAAC;QAC9D,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;KAChE,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,mBAAmB,CACjC,YAAiD,EACjD,iBAAyC;IAEzC,OAAO,kBAAkB,CAAC;QACxB,GAAG,0BAA0B,CAAC,YAAY,EAAE,iBAAiB,CAAC;QAC9D,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;KACjE,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolster/react-forms",
3
- "version": "18.2.0",
3
+ "version": "18.2.2",
4
4
  "description": "It implements a set of classes that allow managing the control of states of the input components in React",
5
5
  "module": "dist/esm/index.js",
6
6
  "main": "dist/cjs/index.js",
@@ -26,7 +26,7 @@
26
26
  "prepublishOnly": "npm run build"
27
27
  },
28
28
  "dependencies": {
29
- "@rolster/helpers-forms": "^1.10.2",
29
+ "@rolster/helpers-forms": "^1.10.4",
30
30
  "@rolster/validators": "^1.0.5",
31
31
  "rxjs": "^7.8.0",
32
32
  "uuid": "^9.0.1"