@rolster/react-forms 18.6.1 → 18.6.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
@@ -29,29 +29,19 @@ class RolsterArrayControl {
29
29
  this.wrong = this.touched && this.invalid;
30
30
  }
31
31
  focus() {
32
- if (!this.focused) {
33
- this.update({ focused: true });
34
- }
32
+ this.unfocused && this.update({ focused: true });
35
33
  }
36
34
  blur() {
37
- if (this.focused) {
38
- this.update({ focused: false, touched: true });
39
- }
35
+ this.focused && this.update({ focused: false, touched: true });
40
36
  }
41
37
  disable() {
42
- if (!this.disabled) {
43
- this.update({ disabled: true });
44
- }
38
+ this.enabled && this.update({ disabled: true });
45
39
  }
46
40
  enable() {
47
- if (this.disabled) {
48
- this.update({ disabled: false });
49
- }
41
+ this.disabled && this.update({ disabled: false });
50
42
  }
51
43
  touch() {
52
- if (this.touched) {
53
- this.update({ touched: true });
54
- }
44
+ this.untouched && this.update({ touched: true });
55
45
  }
56
46
  setValue(value) {
57
47
  this.update({ value });
@@ -66,16 +56,15 @@ class RolsterArrayControl {
66
56
  this.update({ value: this.initialValue, dirty: false, touched: false });
67
57
  }
68
58
  update(changes) {
69
- if (this.subscriber) {
59
+ this.subscriber &&
70
60
  this.subscriber({
71
61
  ...this,
72
62
  ...changes,
73
63
  initialValue: this.initialValue
74
64
  });
75
- }
76
65
  }
77
66
  }
78
- function useArrayControl(options, validators) {
67
+ function arrayControl(options, validators) {
79
68
  const controlOptions = _arguments.createFormControlOptions(options, validators);
80
69
  return new RolsterArrayControl({
81
70
  ...controlOptions,
@@ -83,14 +72,14 @@ function useArrayControl(options, validators) {
83
72
  initialValue: controlOptions.value
84
73
  });
85
74
  }
86
- function useReactArrayControl(options, validators) {
87
- return useArrayControl(options, validators);
75
+ function reactArrayControl(options, validators) {
76
+ return arrayControl(options, validators);
88
77
  }
89
- function useFormArrayControl(options, validators) {
90
- return useArrayControl(options, validators);
78
+ function formArrayControl(options, validators) {
79
+ return arrayControl(options, validators);
91
80
  }
92
- function useInputArrayControl(options, validators) {
93
- return useArrayControl(options, validators);
81
+ function inputArrayControl(options, validators) {
82
+ return arrayControl(options, validators);
94
83
  }
95
84
 
96
85
  class RolsterArrayGroup {
@@ -133,16 +122,14 @@ class RolsterArrayGroup {
133
122
  setValidators(validators) {
134
123
  this.update({ validators });
135
124
  }
136
- subscribe(listener) {
137
- this.subscriber = listener;
125
+ subscribe(subscriber) {
126
+ this.subscriber = subscriber;
138
127
  }
139
128
  update(changes) {
140
- if (this.subscriber) {
141
- this.subscriber({ ...this, ...changes });
142
- }
129
+ this.subscriber && this.subscriber({ ...this, ...changes });
143
130
  }
144
131
  }
145
- function useFormArrayGroup(options, validators) {
132
+ function formArrayGroup(options, validators) {
146
133
  const groupOptions = _arguments.createFormGroupOptions(options, validators);
147
134
  return new RolsterArrayGroup({ ...groupOptions, uuid: uuid.v4() });
148
135
  }
@@ -159,19 +146,6 @@ function useFormArray(options, arrayValidators) {
159
146
  validators
160
147
  });
161
148
  const currentState = react.useRef(groups);
162
- react.useEffect(() => {
163
- const subscriber = (options) => {
164
- setState((state) => ({
165
- ...state,
166
- groups: state.groups.map((group) => group.uuid === options.uuid
167
- ? new RolsterArrayGroup(options)
168
- : group)
169
- }));
170
- };
171
- state.groups.forEach((group) => {
172
- group.subscribe(subscriber);
173
- });
174
- }, [state]);
175
149
  const errors = validators ? helpers.arrayIsValid({ groups, validators }) : [];
176
150
  const error = errors[0];
177
151
  const valid = errors.length === 0 && helpers.groupAllChecked(groups, 'valid');
@@ -186,6 +160,18 @@ function useFormArray(options, arrayValidators) {
186
160
  setState((state) => ({ ...state, disabled: false }));
187
161
  }
188
162
  function setGroups(groups) {
163
+ const subscriber = (options) => {
164
+ console.log(options);
165
+ setState((state) => ({
166
+ ...state,
167
+ groups: state.groups.map((group) => group.uuid === options.uuid
168
+ ? new RolsterArrayGroup(options)
169
+ : group)
170
+ }));
171
+ };
172
+ groups.forEach((group) => {
173
+ group.subscribe(subscriber);
174
+ });
189
175
  setState((currentState) => ({
190
176
  ...currentState,
191
177
  groups,
@@ -355,13 +341,13 @@ function useFormGroup(options, groupValidators) {
355
341
  };
356
342
  }
357
343
 
344
+ exports.formArrayControl = formArrayControl;
345
+ exports.formArrayGroup = formArrayGroup;
346
+ exports.inputArrayControl = inputArrayControl;
347
+ exports.reactArrayControl = reactArrayControl;
358
348
  exports.useFormArray = useFormArray;
359
- exports.useFormArrayControl = useFormArrayControl;
360
- exports.useFormArrayGroup = useFormArrayGroup;
361
349
  exports.useFormControl = useFormControl;
362
350
  exports.useFormGroup = useFormGroup;
363
- exports.useInputArrayControl = useInputArrayControl;
364
351
  exports.useInputControl = useInputControl;
365
- exports.useReactArrayControl = useReactArrayControl;
366
352
  exports.useReactControl = useReactControl;
367
353
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../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-control.hook.js","../esm/form-group.hook.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\r\nimport { controlIsValid } from '@rolster/forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nexport class RolsterArrayControl {\r\n constructor(options) {\r\n this.initialValue = options.initialValue;\r\n this.uuid = options.uuid;\r\n this.focused = !!options.focused;\r\n this.unfocused = !this.focused;\r\n this.touched = !!options.touched;\r\n this.untouched = !this.touched;\r\n this.dirty = !!options.dirty;\r\n this.pristine = !this.dirty;\r\n this.disabled = !!options.disabled;\r\n this.enabled = !this.disabled;\r\n const { value, validators } = options;\r\n this.value = value;\r\n this.validators = validators;\r\n this.errors = validators ? controlIsValid({ value, 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 }\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, touched: true });\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 touch() {\r\n if (this.touched) {\r\n this.update({ touched: true });\r\n }\r\n }\r\n setValue(value) {\r\n this.update({ value });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n subscribe(listener) {\r\n this.subscriber = listener;\r\n }\r\n reset() {\r\n this.update({ value: this.initialValue, dirty: false, touched: false });\r\n }\r\n update(changes) {\r\n if (this.subscriber) {\r\n this.subscriber({\r\n ...this,\r\n ...changes,\r\n initialValue: this.initialValue\r\n });\r\n }\r\n }\r\n}\r\nfunction useArrayControl(options, validators) {\r\n const controlOptions = createFormControlOptions(options, validators);\r\n return new RolsterArrayControl({\r\n ...controlOptions,\r\n uuid: uuid(),\r\n initialValue: controlOptions.value\r\n });\r\n}\r\nexport function useReactArrayControl(options, validators) {\r\n return useArrayControl(options, validators);\r\n}\r\nexport function useFormArrayControl(options, validators) {\r\n return useArrayControl(options, validators);\r\n}\r\nexport function useInputArrayControl(options, validators) {\r\n return useArrayControl(options, validators);\r\n}\r\n//# sourceMappingURL=form-array-control.hook.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { RolsterArrayControl } from './form-array-control.hook';\r\nexport class RolsterArrayGroup {\r\n constructor(options) {\r\n const { controls, resource, uuid, validators } = options;\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.dirty = controlsPartialChecked(controls, 'dirty');\r\n this.dirtyAll = controlsAllChecked(controls, 'dirty');\r\n this.touched = controlsPartialChecked(controls, 'touched');\r\n this.touchedAll = controlsAllChecked(controls, 'touched');\r\n this.untouched = !this.touched;\r\n this.untouchedAll = !this.touchedAll;\r\n this.pristine = !this.dirty;\r\n this.pristineAll = !this.dirtyAll;\r\n this.wrong = this.touched && this.invalid;\r\n this.value = controlsToValue(controls);\r\n const subscriber = (options) => {\r\n this.update({\r\n controls: Object.entries(this.controls).reduce((controls, [key, control]) => {\r\n controls[key] =\r\n control.uuid === options.uuid\r\n ? new RolsterArrayControl(options)\r\n : control;\r\n return controls;\r\n }, {})\r\n });\r\n };\r\n Object.values(controls).forEach((control) => {\r\n control.subscribe(subscriber);\r\n });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n subscribe(listener) {\r\n this.subscriber = listener;\r\n }\r\n update(changes) {\r\n if (this.subscriber) {\r\n this.subscriber({ ...this, ...changes });\r\n }\r\n }\r\n}\r\nexport function useFormArrayGroup(options, validators) {\r\n const groupOptions = createFormGroupOptions(options, validators);\r\n return new RolsterArrayGroup({ ...groupOptions, uuid: uuid() });\r\n}\r\n//# sourceMappingURL=form-array-group.hook.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\r\nimport { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked } from '@rolster/forms/helpers';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { RolsterArrayGroup } from './form-array-group.hook';\r\nexport function useFormArray(options, arrayValidators) {\r\n const arrayOptions = createFormArrayOptions(options, arrayValidators);\r\n const { validators } = arrayOptions;\r\n const groups = arrayOptions.groups || [];\r\n const [state, setState] = useState({\r\n controls: groups.map(({ controls }) => controls),\r\n disabled: false,\r\n groups,\r\n value: groups.map(({ controls }) => controlsToValue(controls)),\r\n validators\r\n });\r\n const currentState = useRef(groups);\r\n useEffect(() => {\r\n const subscriber = (options) => {\r\n setState((state) => ({\r\n ...state,\r\n groups: state.groups.map((group) => group.uuid === options.uuid\r\n ? new RolsterArrayGroup(options)\r\n : group)\r\n }));\r\n };\r\n state.groups.forEach((group) => {\r\n group.subscribe(subscriber);\r\n });\r\n }, [state]);\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 dirty = groupPartialChecked(groups, 'dirty');\r\n const dirtyAll = groupAllChecked(groups, 'dirty');\r\n const touched = groupPartialChecked(groups, 'touched');\r\n const touchedAll = groupAllChecked(groups, 'touched');\r\n function disable() {\r\n setState((state) => ({ ...state, disabled: true }));\r\n }\r\n function enable() {\r\n setState((state) => ({ ...state, disabled: false }));\r\n }\r\n function setGroups(groups) {\r\n setState((currentState) => ({\r\n ...currentState,\r\n groups,\r\n controls: groups.map(({ controls }) => controls),\r\n value: groups.map(({ controls }) => controlsToValue(controls))\r\n }));\r\n }\r\n function push(group) {\r\n setGroups([...state.groups, group]);\r\n }\r\n function merge(groups) {\r\n setGroups([...state.groups, ...groups]);\r\n }\r\n function set(groups) {\r\n setGroups(groups);\r\n }\r\n function remove({ uuid }) {\r\n setGroups(state.groups.filter((group) => group.uuid !== uuid));\r\n }\r\n function reset() {\r\n setGroups(currentState.current);\r\n }\r\n function setValidators(validators) {\r\n setState((state) => ({ ...state, validators }));\r\n }\r\n return {\r\n ...state,\r\n dirty,\r\n dirtyAll,\r\n disable,\r\n enable,\r\n enabled: !state.disabled,\r\n error,\r\n errors,\r\n invalid: !valid,\r\n merge,\r\n pristine: !dirty,\r\n pristineAll: !dirtyAll,\r\n push,\r\n remove,\r\n reset,\r\n set,\r\n setValidators,\r\n touched,\r\n touchedAll,\r\n untouched: !touched,\r\n untouchedAll: !touchedAll,\r\n valid,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-array.hook.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\r\nimport { controlIsValid } from '@rolster/forms/helpers';\r\nimport { useRef, useState } from 'react';\r\nfunction useControl(controlOptions, controlValidators) {\r\n const { value, touched, validators } = createFormControlOptions(controlOptions, controlValidators);\r\n const [state, setState] = useState({\r\n dirty: false,\r\n disabled: false,\r\n focused: false,\r\n touched: !!touched,\r\n validators,\r\n value\r\n });\r\n const initialValue = useRef(value);\r\n const elementRef = useRef(null);\r\n const errors = state.validators\r\n ? controlIsValid({\r\n value: state.value,\r\n validators: state.validators\r\n })\r\n : [];\r\n const valid = errors.length === 0;\r\n function focus() {\r\n setState((state) => ({ ...state, focused: true }));\r\n }\r\n function blur() {\r\n setState((state) => ({ ...state, focused: false, touched: true }));\r\n }\r\n function disable() {\r\n setState((state) => ({ ...state, disabled: true }));\r\n }\r\n function enable() {\r\n setState((state) => ({ ...state, disabled: false }));\r\n }\r\n function touch() {\r\n setState((state) => ({ ...state, touched: true }));\r\n }\r\n function setValue(value) {\r\n setState((state) => ({ ...state, dirty: true, value }));\r\n }\r\n function setValidators(validators) {\r\n setState((state) => ({ ...state, validators }));\r\n }\r\n function reset() {\r\n setState((state) => ({\r\n ...state,\r\n dirty: false,\r\n value: initialValue.current,\r\n touched: false\r\n }));\r\n }\r\n return {\r\n ...state,\r\n blur,\r\n disable,\r\n elementRef,\r\n enable,\r\n enabled: !state.disabled,\r\n error: errors[0],\r\n errors,\r\n focus,\r\n invalid: !valid,\r\n pristine: !state.dirty,\r\n reset,\r\n setValidators,\r\n setValue,\r\n touch,\r\n unfocused: !state.focused,\r\n untouched: !state.touched,\r\n valid,\r\n wrong: state.touched && !valid\r\n };\r\n}\r\nexport function useReactControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\nexport function useFormControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\nexport function useInputControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\n//# sourceMappingURL=form-control.hook.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\r\nimport { useState } from 'react';\r\nexport function useFormGroup(options, groupValidators) {\r\n const groupOptions = createFormGroupOptions(options, groupValidators);\r\n const [validators, setValidators] = useState(groupOptions.validators);\r\n const { controls } = groupOptions;\r\n const errors = validators ? groupIsValid({ controls, validators }) : [];\r\n const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');\r\n const value = controlsToValue(controls);\r\n const dirty = controlsPartialChecked(controls, 'dirty');\r\n const dirtyAll = controlsAllChecked(controls, 'dirty');\r\n const touched = controlsPartialChecked(controls, 'touched');\r\n const touchedAll = controlsAllChecked(controls, 'touched');\r\n function reset() {\r\n Object.values(controls).forEach((control) => {\r\n control.reset();\r\n });\r\n }\r\n return {\r\n controls,\r\n dirty,\r\n dirtyAll,\r\n error: errors[0],\r\n errors,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n pristineAll: !dirtyAll,\r\n reset,\r\n setValidators,\r\n touched,\r\n touchedAll,\r\n untouched: !touched,\r\n untouchedAll: !touchedAll,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-group.hook.js.map"],"names":["controlIsValid","createFormControlOptions","uuid","groupIsValid","controlsAllChecked","controlsPartialChecked","controlsToValue","createFormGroupOptions","createFormArrayOptions","useState","useRef","useEffect","arrayIsValid","groupAllChecked","groupPartialChecked"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../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-control.hook.js","../esm/form-group.hook.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\r\nimport { controlIsValid } from '@rolster/forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nexport class RolsterArrayControl {\r\n constructor(options) {\r\n this.initialValue = options.initialValue;\r\n this.uuid = options.uuid;\r\n this.focused = !!options.focused;\r\n this.unfocused = !this.focused;\r\n this.touched = !!options.touched;\r\n this.untouched = !this.touched;\r\n this.dirty = !!options.dirty;\r\n this.pristine = !this.dirty;\r\n this.disabled = !!options.disabled;\r\n this.enabled = !this.disabled;\r\n const { value, validators } = options;\r\n this.value = value;\r\n this.validators = validators;\r\n this.errors = validators ? controlIsValid({ value, 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 }\r\n focus() {\r\n this.unfocused && this.update({ focused: true });\r\n }\r\n blur() {\r\n this.focused && this.update({ focused: false, touched: true });\r\n }\r\n disable() {\r\n this.enabled && this.update({ disabled: true });\r\n }\r\n enable() {\r\n this.disabled && this.update({ disabled: false });\r\n }\r\n touch() {\r\n this.untouched && this.update({ touched: true });\r\n }\r\n setValue(value) {\r\n this.update({ value });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n subscribe(listener) {\r\n this.subscriber = listener;\r\n }\r\n reset() {\r\n this.update({ value: this.initialValue, dirty: false, touched: false });\r\n }\r\n update(changes) {\r\n this.subscriber &&\r\n this.subscriber({\r\n ...this,\r\n ...changes,\r\n initialValue: this.initialValue\r\n });\r\n }\r\n}\r\nfunction arrayControl(options, validators) {\r\n const controlOptions = createFormControlOptions(options, validators);\r\n return new RolsterArrayControl({\r\n ...controlOptions,\r\n uuid: uuid(),\r\n initialValue: controlOptions.value\r\n });\r\n}\r\nexport function reactArrayControl(options, validators) {\r\n return arrayControl(options, validators);\r\n}\r\nexport function formArrayControl(options, validators) {\r\n return arrayControl(options, validators);\r\n}\r\nexport function inputArrayControl(options, validators) {\r\n return arrayControl(options, validators);\r\n}\r\n//# sourceMappingURL=form-array-control.hook.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { RolsterArrayControl } from './form-array-control.hook';\r\nexport class RolsterArrayGroup {\r\n constructor(options) {\r\n const { controls, resource, uuid, validators } = options;\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.dirty = controlsPartialChecked(controls, 'dirty');\r\n this.dirtyAll = controlsAllChecked(controls, 'dirty');\r\n this.touched = controlsPartialChecked(controls, 'touched');\r\n this.touchedAll = controlsAllChecked(controls, 'touched');\r\n this.untouched = !this.touched;\r\n this.untouchedAll = !this.touchedAll;\r\n this.pristine = !this.dirty;\r\n this.pristineAll = !this.dirtyAll;\r\n this.wrong = this.touched && this.invalid;\r\n this.value = controlsToValue(controls);\r\n const subscriber = (options) => {\r\n this.update({\r\n controls: Object.entries(this.controls).reduce((controls, [key, control]) => {\r\n controls[key] =\r\n control.uuid === options.uuid\r\n ? new RolsterArrayControl(options)\r\n : control;\r\n return controls;\r\n }, {})\r\n });\r\n };\r\n Object.values(controls).forEach((control) => {\r\n control.subscribe(subscriber);\r\n });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n subscribe(subscriber) {\r\n this.subscriber = subscriber;\r\n }\r\n update(changes) {\r\n this.subscriber && this.subscriber({ ...this, ...changes });\r\n }\r\n}\r\nexport function formArrayGroup(options, validators) {\r\n const groupOptions = createFormGroupOptions(options, validators);\r\n return new RolsterArrayGroup({ ...groupOptions, uuid: uuid() });\r\n}\r\n//# sourceMappingURL=form-array-group.hook.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\r\nimport { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked } from '@rolster/forms/helpers';\r\nimport { useRef, useState } from 'react';\r\nimport { RolsterArrayGroup } from './form-array-group.hook';\r\nexport function useFormArray(options, arrayValidators) {\r\n const arrayOptions = createFormArrayOptions(options, arrayValidators);\r\n const { validators } = arrayOptions;\r\n const groups = arrayOptions.groups || [];\r\n const [state, setState] = useState({\r\n controls: groups.map(({ controls }) => controls),\r\n disabled: false,\r\n groups,\r\n value: groups.map(({ controls }) => controlsToValue(controls)),\r\n validators\r\n });\r\n const currentState = useRef(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 dirty = groupPartialChecked(groups, 'dirty');\r\n const dirtyAll = groupAllChecked(groups, 'dirty');\r\n const touched = groupPartialChecked(groups, 'touched');\r\n const touchedAll = groupAllChecked(groups, 'touched');\r\n function disable() {\r\n setState((state) => ({ ...state, disabled: true }));\r\n }\r\n function enable() {\r\n setState((state) => ({ ...state, disabled: false }));\r\n }\r\n function setGroups(groups) {\r\n const subscriber = (options) => {\r\n console.log(options);\r\n setState((state) => ({\r\n ...state,\r\n groups: state.groups.map((group) => group.uuid === options.uuid\r\n ? new RolsterArrayGroup(options)\r\n : group)\r\n }));\r\n };\r\n groups.forEach((group) => {\r\n group.subscribe(subscriber);\r\n });\r\n setState((currentState) => ({\r\n ...currentState,\r\n groups,\r\n controls: groups.map(({ controls }) => controls),\r\n value: groups.map(({ controls }) => controlsToValue(controls))\r\n }));\r\n }\r\n function push(group) {\r\n setGroups([...state.groups, group]);\r\n }\r\n function merge(groups) {\r\n setGroups([...state.groups, ...groups]);\r\n }\r\n function set(groups) {\r\n setGroups(groups);\r\n }\r\n function remove({ uuid }) {\r\n setGroups(state.groups.filter((group) => group.uuid !== uuid));\r\n }\r\n function reset() {\r\n setGroups(currentState.current);\r\n }\r\n function setValidators(validators) {\r\n setState((state) => ({ ...state, validators }));\r\n }\r\n return {\r\n ...state,\r\n dirty,\r\n dirtyAll,\r\n disable,\r\n enable,\r\n enabled: !state.disabled,\r\n error,\r\n errors,\r\n invalid: !valid,\r\n merge,\r\n pristine: !dirty,\r\n pristineAll: !dirtyAll,\r\n push,\r\n remove,\r\n reset,\r\n set,\r\n setValidators,\r\n touched,\r\n touchedAll,\r\n untouched: !touched,\r\n untouchedAll: !touchedAll,\r\n valid,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-array.hook.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\r\nimport { controlIsValid } from '@rolster/forms/helpers';\r\nimport { useRef, useState } from 'react';\r\nfunction useControl(controlOptions, controlValidators) {\r\n const { value, touched, validators } = createFormControlOptions(controlOptions, controlValidators);\r\n const [state, setState] = useState({\r\n dirty: false,\r\n disabled: false,\r\n focused: false,\r\n touched: !!touched,\r\n validators,\r\n value\r\n });\r\n const initialValue = useRef(value);\r\n const elementRef = useRef(null);\r\n const errors = state.validators\r\n ? controlIsValid({\r\n value: state.value,\r\n validators: state.validators\r\n })\r\n : [];\r\n const valid = errors.length === 0;\r\n function focus() {\r\n setState((state) => ({ ...state, focused: true }));\r\n }\r\n function blur() {\r\n setState((state) => ({ ...state, focused: false, touched: true }));\r\n }\r\n function disable() {\r\n setState((state) => ({ ...state, disabled: true }));\r\n }\r\n function enable() {\r\n setState((state) => ({ ...state, disabled: false }));\r\n }\r\n function touch() {\r\n setState((state) => ({ ...state, touched: true }));\r\n }\r\n function setValue(value) {\r\n setState((state) => ({ ...state, dirty: true, value }));\r\n }\r\n function setValidators(validators) {\r\n setState((state) => ({ ...state, validators }));\r\n }\r\n function reset() {\r\n setState((state) => ({\r\n ...state,\r\n dirty: false,\r\n value: initialValue.current,\r\n touched: false\r\n }));\r\n }\r\n return {\r\n ...state,\r\n blur,\r\n disable,\r\n elementRef,\r\n enable,\r\n enabled: !state.disabled,\r\n error: errors[0],\r\n errors,\r\n focus,\r\n invalid: !valid,\r\n pristine: !state.dirty,\r\n reset,\r\n setValidators,\r\n setValue,\r\n touch,\r\n unfocused: !state.focused,\r\n untouched: !state.touched,\r\n valid,\r\n wrong: state.touched && !valid\r\n };\r\n}\r\nexport function useReactControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\nexport function useFormControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\nexport function useInputControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\n//# sourceMappingURL=form-control.hook.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\r\nimport { useState } from 'react';\r\nexport function useFormGroup(options, groupValidators) {\r\n const groupOptions = createFormGroupOptions(options, groupValidators);\r\n const [validators, setValidators] = useState(groupOptions.validators);\r\n const { controls } = groupOptions;\r\n const errors = validators ? groupIsValid({ controls, validators }) : [];\r\n const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');\r\n const value = controlsToValue(controls);\r\n const dirty = controlsPartialChecked(controls, 'dirty');\r\n const dirtyAll = controlsAllChecked(controls, 'dirty');\r\n const touched = controlsPartialChecked(controls, 'touched');\r\n const touchedAll = controlsAllChecked(controls, 'touched');\r\n function reset() {\r\n Object.values(controls).forEach((control) => {\r\n control.reset();\r\n });\r\n }\r\n return {\r\n controls,\r\n dirty,\r\n dirtyAll,\r\n error: errors[0],\r\n errors,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n pristineAll: !dirtyAll,\r\n reset,\r\n setValidators,\r\n touched,\r\n touchedAll,\r\n untouched: !touched,\r\n untouchedAll: !touchedAll,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-group.hook.js.map"],"names":["controlIsValid","createFormControlOptions","uuid","groupIsValid","controlsAllChecked","controlsPartialChecked","controlsToValue","createFormGroupOptions","createFormArrayOptions","useState","useRef","arrayIsValid","groupAllChecked","groupPartialChecked"],"mappings":"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"}
package/dist/es/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { createFormControlOptions, createFormGroupOptions, createFormArrayOptions } from '@rolster/forms/arguments';
2
2
  import { controlIsValid, groupIsValid, controlsAllChecked, controlsPartialChecked, controlsToValue, arrayIsValid, groupAllChecked, groupPartialChecked } from '@rolster/forms/helpers';
3
3
  import { v4 } from 'uuid';
4
- import { useState, useRef, useEffect } from 'react';
4
+ import { useState, useRef } from 'react';
5
5
 
6
6
  class RolsterArrayControl {
7
7
  constructor(options) {
@@ -25,29 +25,19 @@ class RolsterArrayControl {
25
25
  this.wrong = this.touched && this.invalid;
26
26
  }
27
27
  focus() {
28
- if (!this.focused) {
29
- this.update({ focused: true });
30
- }
28
+ this.unfocused && this.update({ focused: true });
31
29
  }
32
30
  blur() {
33
- if (this.focused) {
34
- this.update({ focused: false, touched: true });
35
- }
31
+ this.focused && this.update({ focused: false, touched: true });
36
32
  }
37
33
  disable() {
38
- if (!this.disabled) {
39
- this.update({ disabled: true });
40
- }
34
+ this.enabled && this.update({ disabled: true });
41
35
  }
42
36
  enable() {
43
- if (this.disabled) {
44
- this.update({ disabled: false });
45
- }
37
+ this.disabled && this.update({ disabled: false });
46
38
  }
47
39
  touch() {
48
- if (this.touched) {
49
- this.update({ touched: true });
50
- }
40
+ this.untouched && this.update({ touched: true });
51
41
  }
52
42
  setValue(value) {
53
43
  this.update({ value });
@@ -62,16 +52,15 @@ class RolsterArrayControl {
62
52
  this.update({ value: this.initialValue, dirty: false, touched: false });
63
53
  }
64
54
  update(changes) {
65
- if (this.subscriber) {
55
+ this.subscriber &&
66
56
  this.subscriber({
67
57
  ...this,
68
58
  ...changes,
69
59
  initialValue: this.initialValue
70
60
  });
71
- }
72
61
  }
73
62
  }
74
- function useArrayControl(options, validators) {
63
+ function arrayControl(options, validators) {
75
64
  const controlOptions = createFormControlOptions(options, validators);
76
65
  return new RolsterArrayControl({
77
66
  ...controlOptions,
@@ -79,14 +68,14 @@ function useArrayControl(options, validators) {
79
68
  initialValue: controlOptions.value
80
69
  });
81
70
  }
82
- function useReactArrayControl(options, validators) {
83
- return useArrayControl(options, validators);
71
+ function reactArrayControl(options, validators) {
72
+ return arrayControl(options, validators);
84
73
  }
85
- function useFormArrayControl(options, validators) {
86
- return useArrayControl(options, validators);
74
+ function formArrayControl(options, validators) {
75
+ return arrayControl(options, validators);
87
76
  }
88
- function useInputArrayControl(options, validators) {
89
- return useArrayControl(options, validators);
77
+ function inputArrayControl(options, validators) {
78
+ return arrayControl(options, validators);
90
79
  }
91
80
 
92
81
  class RolsterArrayGroup {
@@ -129,16 +118,14 @@ class RolsterArrayGroup {
129
118
  setValidators(validators) {
130
119
  this.update({ validators });
131
120
  }
132
- subscribe(listener) {
133
- this.subscriber = listener;
121
+ subscribe(subscriber) {
122
+ this.subscriber = subscriber;
134
123
  }
135
124
  update(changes) {
136
- if (this.subscriber) {
137
- this.subscriber({ ...this, ...changes });
138
- }
125
+ this.subscriber && this.subscriber({ ...this, ...changes });
139
126
  }
140
127
  }
141
- function useFormArrayGroup(options, validators) {
128
+ function formArrayGroup(options, validators) {
142
129
  const groupOptions = createFormGroupOptions(options, validators);
143
130
  return new RolsterArrayGroup({ ...groupOptions, uuid: v4() });
144
131
  }
@@ -155,19 +142,6 @@ function useFormArray(options, arrayValidators) {
155
142
  validators
156
143
  });
157
144
  const currentState = useRef(groups);
158
- useEffect(() => {
159
- const subscriber = (options) => {
160
- setState((state) => ({
161
- ...state,
162
- groups: state.groups.map((group) => group.uuid === options.uuid
163
- ? new RolsterArrayGroup(options)
164
- : group)
165
- }));
166
- };
167
- state.groups.forEach((group) => {
168
- group.subscribe(subscriber);
169
- });
170
- }, [state]);
171
145
  const errors = validators ? arrayIsValid({ groups, validators }) : [];
172
146
  const error = errors[0];
173
147
  const valid = errors.length === 0 && groupAllChecked(groups, 'valid');
@@ -182,6 +156,18 @@ function useFormArray(options, arrayValidators) {
182
156
  setState((state) => ({ ...state, disabled: false }));
183
157
  }
184
158
  function setGroups(groups) {
159
+ const subscriber = (options) => {
160
+ console.log(options);
161
+ setState((state) => ({
162
+ ...state,
163
+ groups: state.groups.map((group) => group.uuid === options.uuid
164
+ ? new RolsterArrayGroup(options)
165
+ : group)
166
+ }));
167
+ };
168
+ groups.forEach((group) => {
169
+ group.subscribe(subscriber);
170
+ });
185
171
  setState((currentState) => ({
186
172
  ...currentState,
187
173
  groups,
@@ -351,5 +337,5 @@ function useFormGroup(options, groupValidators) {
351
337
  };
352
338
  }
353
339
 
354
- export { useFormArray, useFormArrayControl, useFormArrayGroup, useFormControl, useFormGroup, useInputArrayControl, useInputControl, useReactArrayControl, useReactControl };
340
+ export { formArrayControl, formArrayGroup, inputArrayControl, reactArrayControl, useFormArray, useFormControl, useFormGroup, useInputControl, useReactControl };
355
341
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../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-control.hook.js","../esm/form-group.hook.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\r\nimport { controlIsValid } from '@rolster/forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nexport class RolsterArrayControl {\r\n constructor(options) {\r\n this.initialValue = options.initialValue;\r\n this.uuid = options.uuid;\r\n this.focused = !!options.focused;\r\n this.unfocused = !this.focused;\r\n this.touched = !!options.touched;\r\n this.untouched = !this.touched;\r\n this.dirty = !!options.dirty;\r\n this.pristine = !this.dirty;\r\n this.disabled = !!options.disabled;\r\n this.enabled = !this.disabled;\r\n const { value, validators } = options;\r\n this.value = value;\r\n this.validators = validators;\r\n this.errors = validators ? controlIsValid({ value, 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 }\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, touched: true });\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 touch() {\r\n if (this.touched) {\r\n this.update({ touched: true });\r\n }\r\n }\r\n setValue(value) {\r\n this.update({ value });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n subscribe(listener) {\r\n this.subscriber = listener;\r\n }\r\n reset() {\r\n this.update({ value: this.initialValue, dirty: false, touched: false });\r\n }\r\n update(changes) {\r\n if (this.subscriber) {\r\n this.subscriber({\r\n ...this,\r\n ...changes,\r\n initialValue: this.initialValue\r\n });\r\n }\r\n }\r\n}\r\nfunction useArrayControl(options, validators) {\r\n const controlOptions = createFormControlOptions(options, validators);\r\n return new RolsterArrayControl({\r\n ...controlOptions,\r\n uuid: uuid(),\r\n initialValue: controlOptions.value\r\n });\r\n}\r\nexport function useReactArrayControl(options, validators) {\r\n return useArrayControl(options, validators);\r\n}\r\nexport function useFormArrayControl(options, validators) {\r\n return useArrayControl(options, validators);\r\n}\r\nexport function useInputArrayControl(options, validators) {\r\n return useArrayControl(options, validators);\r\n}\r\n//# sourceMappingURL=form-array-control.hook.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { RolsterArrayControl } from './form-array-control.hook';\r\nexport class RolsterArrayGroup {\r\n constructor(options) {\r\n const { controls, resource, uuid, validators } = options;\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.dirty = controlsPartialChecked(controls, 'dirty');\r\n this.dirtyAll = controlsAllChecked(controls, 'dirty');\r\n this.touched = controlsPartialChecked(controls, 'touched');\r\n this.touchedAll = controlsAllChecked(controls, 'touched');\r\n this.untouched = !this.touched;\r\n this.untouchedAll = !this.touchedAll;\r\n this.pristine = !this.dirty;\r\n this.pristineAll = !this.dirtyAll;\r\n this.wrong = this.touched && this.invalid;\r\n this.value = controlsToValue(controls);\r\n const subscriber = (options) => {\r\n this.update({\r\n controls: Object.entries(this.controls).reduce((controls, [key, control]) => {\r\n controls[key] =\r\n control.uuid === options.uuid\r\n ? new RolsterArrayControl(options)\r\n : control;\r\n return controls;\r\n }, {})\r\n });\r\n };\r\n Object.values(controls).forEach((control) => {\r\n control.subscribe(subscriber);\r\n });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n subscribe(listener) {\r\n this.subscriber = listener;\r\n }\r\n update(changes) {\r\n if (this.subscriber) {\r\n this.subscriber({ ...this, ...changes });\r\n }\r\n }\r\n}\r\nexport function useFormArrayGroup(options, validators) {\r\n const groupOptions = createFormGroupOptions(options, validators);\r\n return new RolsterArrayGroup({ ...groupOptions, uuid: uuid() });\r\n}\r\n//# sourceMappingURL=form-array-group.hook.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\r\nimport { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked } from '@rolster/forms/helpers';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { RolsterArrayGroup } from './form-array-group.hook';\r\nexport function useFormArray(options, arrayValidators) {\r\n const arrayOptions = createFormArrayOptions(options, arrayValidators);\r\n const { validators } = arrayOptions;\r\n const groups = arrayOptions.groups || [];\r\n const [state, setState] = useState({\r\n controls: groups.map(({ controls }) => controls),\r\n disabled: false,\r\n groups,\r\n value: groups.map(({ controls }) => controlsToValue(controls)),\r\n validators\r\n });\r\n const currentState = useRef(groups);\r\n useEffect(() => {\r\n const subscriber = (options) => {\r\n setState((state) => ({\r\n ...state,\r\n groups: state.groups.map((group) => group.uuid === options.uuid\r\n ? new RolsterArrayGroup(options)\r\n : group)\r\n }));\r\n };\r\n state.groups.forEach((group) => {\r\n group.subscribe(subscriber);\r\n });\r\n }, [state]);\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 dirty = groupPartialChecked(groups, 'dirty');\r\n const dirtyAll = groupAllChecked(groups, 'dirty');\r\n const touched = groupPartialChecked(groups, 'touched');\r\n const touchedAll = groupAllChecked(groups, 'touched');\r\n function disable() {\r\n setState((state) => ({ ...state, disabled: true }));\r\n }\r\n function enable() {\r\n setState((state) => ({ ...state, disabled: false }));\r\n }\r\n function setGroups(groups) {\r\n setState((currentState) => ({\r\n ...currentState,\r\n groups,\r\n controls: groups.map(({ controls }) => controls),\r\n value: groups.map(({ controls }) => controlsToValue(controls))\r\n }));\r\n }\r\n function push(group) {\r\n setGroups([...state.groups, group]);\r\n }\r\n function merge(groups) {\r\n setGroups([...state.groups, ...groups]);\r\n }\r\n function set(groups) {\r\n setGroups(groups);\r\n }\r\n function remove({ uuid }) {\r\n setGroups(state.groups.filter((group) => group.uuid !== uuid));\r\n }\r\n function reset() {\r\n setGroups(currentState.current);\r\n }\r\n function setValidators(validators) {\r\n setState((state) => ({ ...state, validators }));\r\n }\r\n return {\r\n ...state,\r\n dirty,\r\n dirtyAll,\r\n disable,\r\n enable,\r\n enabled: !state.disabled,\r\n error,\r\n errors,\r\n invalid: !valid,\r\n merge,\r\n pristine: !dirty,\r\n pristineAll: !dirtyAll,\r\n push,\r\n remove,\r\n reset,\r\n set,\r\n setValidators,\r\n touched,\r\n touchedAll,\r\n untouched: !touched,\r\n untouchedAll: !touchedAll,\r\n valid,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-array.hook.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\r\nimport { controlIsValid } from '@rolster/forms/helpers';\r\nimport { useRef, useState } from 'react';\r\nfunction useControl(controlOptions, controlValidators) {\r\n const { value, touched, validators } = createFormControlOptions(controlOptions, controlValidators);\r\n const [state, setState] = useState({\r\n dirty: false,\r\n disabled: false,\r\n focused: false,\r\n touched: !!touched,\r\n validators,\r\n value\r\n });\r\n const initialValue = useRef(value);\r\n const elementRef = useRef(null);\r\n const errors = state.validators\r\n ? controlIsValid({\r\n value: state.value,\r\n validators: state.validators\r\n })\r\n : [];\r\n const valid = errors.length === 0;\r\n function focus() {\r\n setState((state) => ({ ...state, focused: true }));\r\n }\r\n function blur() {\r\n setState((state) => ({ ...state, focused: false, touched: true }));\r\n }\r\n function disable() {\r\n setState((state) => ({ ...state, disabled: true }));\r\n }\r\n function enable() {\r\n setState((state) => ({ ...state, disabled: false }));\r\n }\r\n function touch() {\r\n setState((state) => ({ ...state, touched: true }));\r\n }\r\n function setValue(value) {\r\n setState((state) => ({ ...state, dirty: true, value }));\r\n }\r\n function setValidators(validators) {\r\n setState((state) => ({ ...state, validators }));\r\n }\r\n function reset() {\r\n setState((state) => ({\r\n ...state,\r\n dirty: false,\r\n value: initialValue.current,\r\n touched: false\r\n }));\r\n }\r\n return {\r\n ...state,\r\n blur,\r\n disable,\r\n elementRef,\r\n enable,\r\n enabled: !state.disabled,\r\n error: errors[0],\r\n errors,\r\n focus,\r\n invalid: !valid,\r\n pristine: !state.dirty,\r\n reset,\r\n setValidators,\r\n setValue,\r\n touch,\r\n unfocused: !state.focused,\r\n untouched: !state.touched,\r\n valid,\r\n wrong: state.touched && !valid\r\n };\r\n}\r\nexport function useReactControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\nexport function useFormControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\nexport function useInputControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\n//# sourceMappingURL=form-control.hook.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\r\nimport { useState } from 'react';\r\nexport function useFormGroup(options, groupValidators) {\r\n const groupOptions = createFormGroupOptions(options, groupValidators);\r\n const [validators, setValidators] = useState(groupOptions.validators);\r\n const { controls } = groupOptions;\r\n const errors = validators ? groupIsValid({ controls, validators }) : [];\r\n const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');\r\n const value = controlsToValue(controls);\r\n const dirty = controlsPartialChecked(controls, 'dirty');\r\n const dirtyAll = controlsAllChecked(controls, 'dirty');\r\n const touched = controlsPartialChecked(controls, 'touched');\r\n const touchedAll = controlsAllChecked(controls, 'touched');\r\n function reset() {\r\n Object.values(controls).forEach((control) => {\r\n control.reset();\r\n });\r\n }\r\n return {\r\n controls,\r\n dirty,\r\n dirtyAll,\r\n error: errors[0],\r\n errors,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n pristineAll: !dirtyAll,\r\n reset,\r\n setValidators,\r\n touched,\r\n touchedAll,\r\n untouched: !touched,\r\n untouchedAll: !touchedAll,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-group.hook.js.map"],"names":["uuid"],"mappings":";;;;;AAGO,MAAM,mBAAmB,CAAC;AACjC,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AACjD,QAAQ,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACjC,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACzC,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACzC,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;AACrC,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC3C,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtC,QAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;AAC9C,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,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,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,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3D,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,KAAK,GAAG;AACZ,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,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,SAAS,CAAC,QAAQ,EAAE;AACxB,QAAQ,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AACnC,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAChF,KAAK;AACL,IAAI,MAAM,CAAC,OAAO,EAAE;AACpB,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAY,IAAI,CAAC,UAAU,CAAC;AAC5B,gBAAgB,GAAG,IAAI;AACvB,gBAAgB,GAAG,OAAO;AAC1B,gBAAgB,YAAY,EAAE,IAAI,CAAC,YAAY;AAC/C,aAAa,CAAC,CAAC;AACf,SAAS;AACT,KAAK;AACL,CAAC;AACD,SAAS,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE;AAC9C,IAAI,MAAM,cAAc,GAAG,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACzE,IAAI,OAAO,IAAI,mBAAmB,CAAC;AACnC,QAAQ,GAAG,cAAc;AACzB,QAAQ,IAAI,EAAEA,EAAI,EAAE;AACpB,QAAQ,YAAY,EAAE,cAAc,CAAC,KAAK;AAC1C,KAAK,CAAC,CAAC;AACP,CAAC;AACM,SAAS,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE;AAC1D,IAAI,OAAO,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AACM,SAAS,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE;AACzD,IAAI,OAAO,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AACM,SAAS,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE;AAC1D,IAAI,OAAO,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAChD;;ACnFO,MAAM,iBAAiB,CAAC;AAC/B,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;AACjE,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,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/D,QAAQ,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9D,QAAQ,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnE,QAAQ,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAClE,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7C,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,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,MAAM,UAAU,GAAG,CAAC,OAAO,KAAK;AACxC,YAAY,IAAI,CAAC,MAAM,CAAC;AACxB,gBAAgB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK;AAC7F,oBAAoB,QAAQ,CAAC,GAAG,CAAC;AACjC,wBAAwB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;AACrD,8BAA8B,IAAI,mBAAmB,CAAC,OAAO,CAAC;AAC9D,8BAA8B,OAAO,CAAC;AACtC,oBAAoB,OAAO,QAAQ,CAAC;AACpC,iBAAiB,EAAE,EAAE,CAAC;AACtB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AACrD,YAAY,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC1C,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,aAAa,CAAC,UAAU,EAAE;AAC9B,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;AACpC,KAAK;AACL,IAAI,SAAS,CAAC,QAAQ,EAAE;AACxB,QAAQ,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AACnC,KAAK;AACL,IAAI,MAAM,CAAC,OAAO,EAAE;AACpB,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAY,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACrD,SAAS;AACT,KAAK;AACL,CAAC;AACM,SAAS,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE;AACvD,IAAI,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACrE,IAAI,OAAO,IAAI,iBAAiB,CAAC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAEA,EAAI,EAAE,EAAE,CAAC,CAAC;AACpE;;ACpDO,SAAS,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE;AACvD,IAAI,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAC1E,IAAI,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;AACxC,IAAI,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;AAC7C,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACvC,QAAQ,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,QAAQ,CAAC;AACxD,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,MAAM;AACd,QAAQ,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC;AACtE,QAAQ,UAAU;AAClB,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACxC,IAAI,SAAS,CAAC,MAAM;AACpB,QAAQ,MAAM,UAAU,GAAG,CAAC,OAAO,KAAK;AACxC,YAAY,QAAQ,CAAC,CAAC,KAAK,MAAM;AACjC,gBAAgB,GAAG,KAAK;AACxB,gBAAgB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;AAC/E,sBAAsB,IAAI,iBAAiB,CAAC,OAAO,CAAC;AACpD,sBAAsB,KAAK,CAAC;AAC5B,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACxC,YAAY,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACxC,SAAS,CAAC,CAAC;AACX,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,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,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvD,IAAI,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACtD,IAAI,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC3D,IAAI,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC1D,IAAI,SAAS,OAAO,GAAG;AACvB,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,SAAS,MAAM,GAAG;AACtB,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7D,KAAK;AACL,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE;AAC/B,QAAQ,QAAQ,CAAC,CAAC,YAAY,MAAM;AACpC,YAAY,GAAG,YAAY;AAC3B,YAAY,MAAM;AAClB,YAAY,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,QAAQ,CAAC;AAC5D,YAAY,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC1E,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK;AACL,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE;AACzB,QAAQ,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5C,KAAK;AACL,IAAI,SAAS,KAAK,CAAC,MAAM,EAAE;AAC3B,QAAQ,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AAChD,KAAK;AACL,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE;AACzB,QAAQ,SAAS,CAAC,MAAM,CAAC,CAAC;AAC1B,KAAK;AACL,IAAI,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE;AAC9B,QAAQ,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACxC,KAAK;AACL,IAAI,SAAS,aAAa,CAAC,UAAU,EAAE;AACvC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;AACxD,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,GAAG,KAAK;AAChB,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,OAAO;AACf,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ;AAChC,QAAQ,KAAK;AACb,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,CAAC,KAAK;AACvB,QAAQ,KAAK;AACb,QAAQ,QAAQ,EAAE,CAAC,KAAK;AACxB,QAAQ,WAAW,EAAE,CAAC,QAAQ;AAC9B,QAAQ,IAAI;AACZ,QAAQ,MAAM;AACd,QAAQ,KAAK;AACb,QAAQ,GAAG;AACX,QAAQ,aAAa;AACrB,QAAQ,OAAO;AACf,QAAQ,UAAU;AAClB,QAAQ,SAAS,EAAE,CAAC,OAAO;AAC3B,QAAQ,YAAY,EAAE,CAAC,UAAU;AACjC,QAAQ,KAAK;AACb,QAAQ,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;AAChC,KAAK,CAAC;AACN;;AC1FA,SAAS,UAAU,CAAC,cAAc,EAAE,iBAAiB,EAAE;AACvD,IAAI,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AACvG,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACvC,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,OAAO,EAAE,CAAC,CAAC,OAAO;AAC1B,QAAQ,UAAU;AAClB,QAAQ,KAAK;AACb,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACvC,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU;AACnC,UAAU,cAAc,CAAC;AACzB,YAAY,KAAK,EAAE,KAAK,CAAC,KAAK;AAC9B,YAAY,UAAU,EAAE,KAAK,CAAC,UAAU;AACxC,SAAS,CAAC;AACV,UAAU,EAAE,CAAC;AACb,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AACtC,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,SAAS,IAAI,GAAG;AACpB,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3E,KAAK;AACL,IAAI,SAAS,OAAO,GAAG;AACvB,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,SAAS,MAAM,GAAG;AACtB,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7D,KAAK;AACL,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE;AAC7B,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAChE,KAAK;AACL,IAAI,SAAS,aAAa,CAAC,UAAU,EAAE;AACvC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;AACxD,KAAK;AACL,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,YAAY,CAAC,OAAO;AACvC,YAAY,OAAO,EAAE,KAAK;AAC1B,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,GAAG,KAAK;AAChB,QAAQ,IAAI;AACZ,QAAQ,OAAO;AACf,QAAQ,UAAU;AAClB,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ;AAChC,QAAQ,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACxB,QAAQ,MAAM;AACd,QAAQ,KAAK;AACb,QAAQ,OAAO,EAAE,CAAC,KAAK;AACvB,QAAQ,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK;AAC9B,QAAQ,KAAK;AACb,QAAQ,aAAa;AACrB,QAAQ,QAAQ;AAChB,QAAQ,KAAK;AACb,QAAQ,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO;AACjC,QAAQ,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO;AACjC,QAAQ,KAAK;AACb,QAAQ,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK;AACtC,KAAK,CAAC;AACN,CAAC;AACM,SAAS,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE;AACrD,IAAI,OAAO,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AACM,SAAS,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;AACpD,IAAI,OAAO,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AACM,SAAS,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE;AACrD,IAAI,OAAO,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC3C;;AC9EO,SAAS,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE;AACvD,IAAI,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAC1E,IAAI,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC1E,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;AACtC,IAAI,MAAM,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAC5E,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/E,IAAI,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC5C,IAAI,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC5D,IAAI,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3D,IAAI,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAChE,IAAI,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC/D,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AACrD,YAAY,OAAO,CAAC,KAAK,EAAE,CAAC;AAC5B,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,QAAQ;AAChB,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACxB,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,CAAC,KAAK;AACvB,QAAQ,QAAQ,EAAE,CAAC,KAAK;AACxB,QAAQ,WAAW,EAAE,CAAC,QAAQ;AAC9B,QAAQ,KAAK;AACb,QAAQ,aAAa;AACrB,QAAQ,OAAO;AACf,QAAQ,UAAU;AAClB,QAAQ,SAAS,EAAE,CAAC,OAAO;AAC3B,QAAQ,YAAY,EAAE,CAAC,UAAU;AACjC,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;AAChC,KAAK,CAAC;AACN;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../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-control.hook.js","../esm/form-group.hook.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\r\nimport { controlIsValid } from '@rolster/forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nexport class RolsterArrayControl {\r\n constructor(options) {\r\n this.initialValue = options.initialValue;\r\n this.uuid = options.uuid;\r\n this.focused = !!options.focused;\r\n this.unfocused = !this.focused;\r\n this.touched = !!options.touched;\r\n this.untouched = !this.touched;\r\n this.dirty = !!options.dirty;\r\n this.pristine = !this.dirty;\r\n this.disabled = !!options.disabled;\r\n this.enabled = !this.disabled;\r\n const { value, validators } = options;\r\n this.value = value;\r\n this.validators = validators;\r\n this.errors = validators ? controlIsValid({ value, 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 }\r\n focus() {\r\n this.unfocused && this.update({ focused: true });\r\n }\r\n blur() {\r\n this.focused && this.update({ focused: false, touched: true });\r\n }\r\n disable() {\r\n this.enabled && this.update({ disabled: true });\r\n }\r\n enable() {\r\n this.disabled && this.update({ disabled: false });\r\n }\r\n touch() {\r\n this.untouched && this.update({ touched: true });\r\n }\r\n setValue(value) {\r\n this.update({ value });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n subscribe(listener) {\r\n this.subscriber = listener;\r\n }\r\n reset() {\r\n this.update({ value: this.initialValue, dirty: false, touched: false });\r\n }\r\n update(changes) {\r\n this.subscriber &&\r\n this.subscriber({\r\n ...this,\r\n ...changes,\r\n initialValue: this.initialValue\r\n });\r\n }\r\n}\r\nfunction arrayControl(options, validators) {\r\n const controlOptions = createFormControlOptions(options, validators);\r\n return new RolsterArrayControl({\r\n ...controlOptions,\r\n uuid: uuid(),\r\n initialValue: controlOptions.value\r\n });\r\n}\r\nexport function reactArrayControl(options, validators) {\r\n return arrayControl(options, validators);\r\n}\r\nexport function formArrayControl(options, validators) {\r\n return arrayControl(options, validators);\r\n}\r\nexport function inputArrayControl(options, validators) {\r\n return arrayControl(options, validators);\r\n}\r\n//# sourceMappingURL=form-array-control.hook.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { RolsterArrayControl } from './form-array-control.hook';\r\nexport class RolsterArrayGroup {\r\n constructor(options) {\r\n const { controls, resource, uuid, validators } = options;\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.dirty = controlsPartialChecked(controls, 'dirty');\r\n this.dirtyAll = controlsAllChecked(controls, 'dirty');\r\n this.touched = controlsPartialChecked(controls, 'touched');\r\n this.touchedAll = controlsAllChecked(controls, 'touched');\r\n this.untouched = !this.touched;\r\n this.untouchedAll = !this.touchedAll;\r\n this.pristine = !this.dirty;\r\n this.pristineAll = !this.dirtyAll;\r\n this.wrong = this.touched && this.invalid;\r\n this.value = controlsToValue(controls);\r\n const subscriber = (options) => {\r\n this.update({\r\n controls: Object.entries(this.controls).reduce((controls, [key, control]) => {\r\n controls[key] =\r\n control.uuid === options.uuid\r\n ? new RolsterArrayControl(options)\r\n : control;\r\n return controls;\r\n }, {})\r\n });\r\n };\r\n Object.values(controls).forEach((control) => {\r\n control.subscribe(subscriber);\r\n });\r\n }\r\n setValidators(validators) {\r\n this.update({ validators });\r\n }\r\n subscribe(subscriber) {\r\n this.subscriber = subscriber;\r\n }\r\n update(changes) {\r\n this.subscriber && this.subscriber({ ...this, ...changes });\r\n }\r\n}\r\nexport function formArrayGroup(options, validators) {\r\n const groupOptions = createFormGroupOptions(options, validators);\r\n return new RolsterArrayGroup({ ...groupOptions, uuid: uuid() });\r\n}\r\n//# sourceMappingURL=form-array-group.hook.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\r\nimport { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked } from '@rolster/forms/helpers';\r\nimport { useRef, useState } from 'react';\r\nimport { RolsterArrayGroup } from './form-array-group.hook';\r\nexport function useFormArray(options, arrayValidators) {\r\n const arrayOptions = createFormArrayOptions(options, arrayValidators);\r\n const { validators } = arrayOptions;\r\n const groups = arrayOptions.groups || [];\r\n const [state, setState] = useState({\r\n controls: groups.map(({ controls }) => controls),\r\n disabled: false,\r\n groups,\r\n value: groups.map(({ controls }) => controlsToValue(controls)),\r\n validators\r\n });\r\n const currentState = useRef(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 dirty = groupPartialChecked(groups, 'dirty');\r\n const dirtyAll = groupAllChecked(groups, 'dirty');\r\n const touched = groupPartialChecked(groups, 'touched');\r\n const touchedAll = groupAllChecked(groups, 'touched');\r\n function disable() {\r\n setState((state) => ({ ...state, disabled: true }));\r\n }\r\n function enable() {\r\n setState((state) => ({ ...state, disabled: false }));\r\n }\r\n function setGroups(groups) {\r\n const subscriber = (options) => {\r\n console.log(options);\r\n setState((state) => ({\r\n ...state,\r\n groups: state.groups.map((group) => group.uuid === options.uuid\r\n ? new RolsterArrayGroup(options)\r\n : group)\r\n }));\r\n };\r\n groups.forEach((group) => {\r\n group.subscribe(subscriber);\r\n });\r\n setState((currentState) => ({\r\n ...currentState,\r\n groups,\r\n controls: groups.map(({ controls }) => controls),\r\n value: groups.map(({ controls }) => controlsToValue(controls))\r\n }));\r\n }\r\n function push(group) {\r\n setGroups([...state.groups, group]);\r\n }\r\n function merge(groups) {\r\n setGroups([...state.groups, ...groups]);\r\n }\r\n function set(groups) {\r\n setGroups(groups);\r\n }\r\n function remove({ uuid }) {\r\n setGroups(state.groups.filter((group) => group.uuid !== uuid));\r\n }\r\n function reset() {\r\n setGroups(currentState.current);\r\n }\r\n function setValidators(validators) {\r\n setState((state) => ({ ...state, validators }));\r\n }\r\n return {\r\n ...state,\r\n dirty,\r\n dirtyAll,\r\n disable,\r\n enable,\r\n enabled: !state.disabled,\r\n error,\r\n errors,\r\n invalid: !valid,\r\n merge,\r\n pristine: !dirty,\r\n pristineAll: !dirtyAll,\r\n push,\r\n remove,\r\n reset,\r\n set,\r\n setValidators,\r\n touched,\r\n touchedAll,\r\n untouched: !touched,\r\n untouchedAll: !touchedAll,\r\n valid,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-array.hook.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\r\nimport { controlIsValid } from '@rolster/forms/helpers';\r\nimport { useRef, useState } from 'react';\r\nfunction useControl(controlOptions, controlValidators) {\r\n const { value, touched, validators } = createFormControlOptions(controlOptions, controlValidators);\r\n const [state, setState] = useState({\r\n dirty: false,\r\n disabled: false,\r\n focused: false,\r\n touched: !!touched,\r\n validators,\r\n value\r\n });\r\n const initialValue = useRef(value);\r\n const elementRef = useRef(null);\r\n const errors = state.validators\r\n ? controlIsValid({\r\n value: state.value,\r\n validators: state.validators\r\n })\r\n : [];\r\n const valid = errors.length === 0;\r\n function focus() {\r\n setState((state) => ({ ...state, focused: true }));\r\n }\r\n function blur() {\r\n setState((state) => ({ ...state, focused: false, touched: true }));\r\n }\r\n function disable() {\r\n setState((state) => ({ ...state, disabled: true }));\r\n }\r\n function enable() {\r\n setState((state) => ({ ...state, disabled: false }));\r\n }\r\n function touch() {\r\n setState((state) => ({ ...state, touched: true }));\r\n }\r\n function setValue(value) {\r\n setState((state) => ({ ...state, dirty: true, value }));\r\n }\r\n function setValidators(validators) {\r\n setState((state) => ({ ...state, validators }));\r\n }\r\n function reset() {\r\n setState((state) => ({\r\n ...state,\r\n dirty: false,\r\n value: initialValue.current,\r\n touched: false\r\n }));\r\n }\r\n return {\r\n ...state,\r\n blur,\r\n disable,\r\n elementRef,\r\n enable,\r\n enabled: !state.disabled,\r\n error: errors[0],\r\n errors,\r\n focus,\r\n invalid: !valid,\r\n pristine: !state.dirty,\r\n reset,\r\n setValidators,\r\n setValue,\r\n touch,\r\n unfocused: !state.focused,\r\n untouched: !state.touched,\r\n valid,\r\n wrong: state.touched && !valid\r\n };\r\n}\r\nexport function useReactControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\nexport function useFormControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\nexport function useInputControl(options, validators) {\r\n return useControl(options, validators);\r\n}\r\n//# sourceMappingURL=form-control.hook.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\r\nimport { useState } from 'react';\r\nexport function useFormGroup(options, groupValidators) {\r\n const groupOptions = createFormGroupOptions(options, groupValidators);\r\n const [validators, setValidators] = useState(groupOptions.validators);\r\n const { controls } = groupOptions;\r\n const errors = validators ? groupIsValid({ controls, validators }) : [];\r\n const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');\r\n const value = controlsToValue(controls);\r\n const dirty = controlsPartialChecked(controls, 'dirty');\r\n const dirtyAll = controlsAllChecked(controls, 'dirty');\r\n const touched = controlsPartialChecked(controls, 'touched');\r\n const touchedAll = controlsAllChecked(controls, 'touched');\r\n function reset() {\r\n Object.values(controls).forEach((control) => {\r\n control.reset();\r\n });\r\n }\r\n return {\r\n controls,\r\n dirty,\r\n dirtyAll,\r\n error: errors[0],\r\n errors,\r\n invalid: !valid,\r\n pristine: !dirty,\r\n pristineAll: !dirtyAll,\r\n reset,\r\n setValidators,\r\n touched,\r\n touchedAll,\r\n untouched: !touched,\r\n untouchedAll: !touchedAll,\r\n valid,\r\n value,\r\n wrong: touched && !valid\r\n };\r\n}\r\n//# sourceMappingURL=form-group.hook.js.map"],"names":["uuid"],"mappings":"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"}
@@ -39,16 +39,16 @@ interface RolsterControlOptions<T = any> extends Omit<FormArrayControlOptions<T>
39
39
  }
40
40
  type ReactStateOptions<T> = Omit<RolsterControlOptions<T>, 'validators'>;
41
41
  type ReactValidatorsOptions<T> = Omit<RolsterControlOptions<T>, 'state'>;
42
- export declare function useReactArrayControl<E extends HTMLElement, T>(): ReactArrayControl<E, T | undefined>;
43
- export declare function useReactArrayControl<E extends HTMLElement, T>(options: ReactStateOptions<T>): ReactArrayControl<E, T>;
44
- export declare function useReactArrayControl<E extends HTMLElement, T>(options: ReactValidatorsOptions<T>): ReactArrayControl<E, T | undefined>;
45
- export declare function useReactArrayControl<E extends HTMLElement, T>(value: T, validators?: ValidatorFn<T>[]): ReactArrayControl<E, T>;
46
- export declare function useFormArrayControl<T>(): ReactHtmlArrayControl<T | undefined>;
47
- export declare function useFormArrayControl<T>(options: ReactStateOptions<T>): ReactHtmlArrayControl<T>;
48
- export declare function useFormArrayControl<T>(options: ReactValidatorsOptions<T>): ReactHtmlArrayControl<T | undefined>;
49
- export declare function useFormArrayControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactHtmlArrayControl<T>;
50
- export declare function useInputArrayControl<T>(): ReactInputArrayControl<T | undefined>;
51
- export declare function useInputArrayControl<T>(options: ReactStateOptions<T>): ReactInputArrayControl<T>;
52
- export declare function useInputArrayControl<T>(options: ReactValidatorsOptions<T>): ReactInputArrayControl<T | undefined>;
53
- export declare function useInputArrayControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactInputArrayControl<T>;
42
+ export declare function reactArrayControl<E extends HTMLElement, T>(): ReactArrayControl<E, T | undefined>;
43
+ export declare function reactArrayControl<E extends HTMLElement, T>(options: ReactStateOptions<T>): ReactArrayControl<E, T>;
44
+ export declare function reactArrayControl<E extends HTMLElement, T>(options: ReactValidatorsOptions<T>): ReactArrayControl<E, T | undefined>;
45
+ export declare function reactArrayControl<E extends HTMLElement, T>(value: T, validators?: ValidatorFn<T>[]): ReactArrayControl<E, T>;
46
+ export declare function formArrayControl<T>(): ReactHtmlArrayControl<T | undefined>;
47
+ export declare function formArrayControl<T>(options: ReactStateOptions<T>): ReactHtmlArrayControl<T>;
48
+ export declare function formArrayControl<T>(options: ReactValidatorsOptions<T>): ReactHtmlArrayControl<T | undefined>;
49
+ export declare function formArrayControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactHtmlArrayControl<T>;
50
+ export declare function inputArrayControl<T>(): ReactInputArrayControl<T | undefined>;
51
+ export declare function inputArrayControl<T>(options: ReactStateOptions<T>): ReactInputArrayControl<T>;
52
+ export declare function inputArrayControl<T>(options: ReactValidatorsOptions<T>): ReactInputArrayControl<T | undefined>;
53
+ export declare function inputArrayControl<T>(value: T, validators?: ValidatorFn<T>[]): ReactInputArrayControl<T>;
54
54
  export {};
@@ -23,29 +23,19 @@ export class RolsterArrayControl {
23
23
  this.wrong = this.touched && this.invalid;
24
24
  }
25
25
  focus() {
26
- if (!this.focused) {
27
- this.update({ focused: true });
28
- }
26
+ this.unfocused && this.update({ focused: true });
29
27
  }
30
28
  blur() {
31
- if (this.focused) {
32
- this.update({ focused: false, touched: true });
33
- }
29
+ this.focused && this.update({ focused: false, touched: true });
34
30
  }
35
31
  disable() {
36
- if (!this.disabled) {
37
- this.update({ disabled: true });
38
- }
32
+ this.enabled && this.update({ disabled: true });
39
33
  }
40
34
  enable() {
41
- if (this.disabled) {
42
- this.update({ disabled: false });
43
- }
35
+ this.disabled && this.update({ disabled: false });
44
36
  }
45
37
  touch() {
46
- if (this.touched) {
47
- this.update({ touched: true });
48
- }
38
+ this.untouched && this.update({ touched: true });
49
39
  }
50
40
  setValue(value) {
51
41
  this.update({ value });
@@ -60,16 +50,15 @@ export class RolsterArrayControl {
60
50
  this.update({ value: this.initialValue, dirty: false, touched: false });
61
51
  }
62
52
  update(changes) {
63
- if (this.subscriber) {
53
+ this.subscriber &&
64
54
  this.subscriber({
65
55
  ...this,
66
56
  ...changes,
67
57
  initialValue: this.initialValue
68
58
  });
69
- }
70
59
  }
71
60
  }
72
- function useArrayControl(options, validators) {
61
+ function arrayControl(options, validators) {
73
62
  const controlOptions = createFormControlOptions(options, validators);
74
63
  return new RolsterArrayControl({
75
64
  ...controlOptions,
@@ -77,13 +66,13 @@ function useArrayControl(options, validators) {
77
66
  initialValue: controlOptions.value
78
67
  });
79
68
  }
80
- export function useReactArrayControl(options, validators) {
81
- return useArrayControl(options, validators);
69
+ export function reactArrayControl(options, validators) {
70
+ return arrayControl(options, validators);
82
71
  }
83
- export function useFormArrayControl(options, validators) {
84
- return useArrayControl(options, validators);
72
+ export function formArrayControl(options, validators) {
73
+ return arrayControl(options, validators);
85
74
  }
86
- export function useInputArrayControl(options, validators) {
87
- return useArrayControl(options, validators);
75
+ export function inputArrayControl(options, validators) {
76
+ return arrayControl(options, validators);
88
77
  }
89
78
  //# sourceMappingURL=form-array-control.hook.js.map
@@ -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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"}
@@ -23,10 +23,10 @@ export declare class RolsterArrayGroup<C extends ReactArrayControls = ReactArray
23
23
  private subscriber?;
24
24
  constructor(options: FormArrayGroupOptions<C, R>);
25
25
  setValidators(validators: ValidatorGroupFn<C>[]): void;
26
- subscribe(listener: ReactSubscriberGroup<C, R>): void;
26
+ subscribe(subscriber: ReactSubscriberGroup<C, R>): void;
27
27
  private update;
28
28
  }
29
29
  type RolsterGroupOptions<C extends ReactArrayControls = ReactArrayControls, R = any> = Omit<FormArrayGroupOptions<C, R>, 'uuid'>;
30
- export declare function useFormArrayGroup<C extends ReactArrayControls = ReactArrayControls, R = any>(options: RolsterGroupOptions<C, R>): ReactArrayGroup<C, R>;
31
- export declare function useFormArrayGroup<C extends ReactArrayControls = ReactArrayControls, R = any>(controls: C, validators?: ValidatorGroupFn<C, R>[]): ReactArrayGroup<C, R>;
30
+ export declare function formArrayGroup<C extends ReactArrayControls = ReactArrayControls, R = any>(options: RolsterGroupOptions<C, R>): ReactArrayGroup<C, R>;
31
+ export declare function formArrayGroup<C extends ReactArrayControls = ReactArrayControls, R = any>(controls: C, validators?: ValidatorGroupFn<C, R>[]): ReactArrayGroup<C, R>;
32
32
  export {};
@@ -42,16 +42,14 @@ export class RolsterArrayGroup {
42
42
  setValidators(validators) {
43
43
  this.update({ validators });
44
44
  }
45
- subscribe(listener) {
46
- this.subscriber = listener;
45
+ subscribe(subscriber) {
46
+ this.subscriber = subscriber;
47
47
  }
48
48
  update(changes) {
49
- if (this.subscriber) {
50
- this.subscriber({ ...this, ...changes });
51
- }
49
+ this.subscriber && this.subscriber({ ...this, ...changes });
52
50
  }
53
51
  }
54
- export function useFormArrayGroup(options, validators) {
52
+ export function formArrayGroup(options, validators) {
55
53
  const groupOptions = createFormGroupOptions(options, validators);
56
54
  return new RolsterArrayGroup({ ...groupOptions, uuid: uuid() });
57
55
  }
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import { createFormArrayOptions } from '@rolster/forms/arguments';
2
2
  import { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked } from '@rolster/forms/helpers';
3
- import { useEffect, useRef, useState } from 'react';
3
+ import { useRef, useState } from 'react';
4
4
  import { RolsterArrayGroup } from './form-array-group.hook';
5
5
  export function useFormArray(options, arrayValidators) {
6
6
  const arrayOptions = createFormArrayOptions(options, arrayValidators);
@@ -14,19 +14,6 @@ export function useFormArray(options, arrayValidators) {
14
14
  validators
15
15
  });
16
16
  const currentState = useRef(groups);
17
- useEffect(() => {
18
- const subscriber = (options) => {
19
- setState((state) => ({
20
- ...state,
21
- groups: state.groups.map((group) => group.uuid === options.uuid
22
- ? new RolsterArrayGroup(options)
23
- : group)
24
- }));
25
- };
26
- state.groups.forEach((group) => {
27
- group.subscribe(subscriber);
28
- });
29
- }, [state]);
30
17
  const errors = validators ? arrayIsValid({ groups, validators }) : [];
31
18
  const error = errors[0];
32
19
  const valid = errors.length === 0 && groupAllChecked(groups, 'valid');
@@ -41,6 +28,18 @@ export function useFormArray(options, arrayValidators) {
41
28
  setState((state) => ({ ...state, disabled: false }));
42
29
  }
43
30
  function setGroups(groups) {
31
+ const subscriber = (options) => {
32
+ console.log(options);
33
+ setState((state) => ({
34
+ ...state,
35
+ groups: state.groups.map((group) => group.uuid === options.uuid
36
+ ? new RolsterArrayGroup(options)
37
+ : group)
38
+ }));
39
+ };
40
+ groups.forEach((group) => {
41
+ group.subscribe(subscriber);
42
+ });
44
43
  setState((currentState) => ({
45
44
  ...currentState,
46
45
  groups,
@@ -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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"}
@@ -1,3 +1,3 @@
1
- export { useReactArrayControl, useFormArrayControl, useInputArrayControl } from './form-array-control.hook';
2
- export { useFormArrayGroup } from './form-array-group.hook';
1
+ export { formArrayControl, inputArrayControl, reactArrayControl } from './form-array-control.hook';
2
+ export { formArrayGroup } from './form-array-group.hook';
3
3
  export { useFormArray } from './form-array.hook';
@@ -1,4 +1,4 @@
1
- export { useReactArrayControl, useFormArrayControl, useInputArrayControl } from './form-array-control.hook';
2
- export { useFormArrayGroup } from './form-array-group.hook';
1
+ export { formArrayControl, inputArrayControl, reactArrayControl } from './form-array-control.hook';
2
+ export { formArrayGroup } from './form-array-group.hook';
3
3
  export { useFormArray } from './form-array.hook';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/form-array/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/form-array/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { useFormArray, useFormArrayControl, useFormArrayGroup, useInputArrayControl, useReactArrayControl } from './form-array';
1
+ export * from './form-array';
2
2
  export { useFormControl, useInputControl, useReactControl } from './form-control.hook';
3
3
  export { useFormGroup } from './form-group.hook';
4
4
  export * from './types';
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { useFormArray, useFormArrayControl, useFormArrayGroup, useInputArrayControl, useReactArrayControl } from './form-array';
1
+ export * from './form-array';
2
2
  export { useFormControl, useInputControl, useReactControl } from './form-control.hook';
3
3
  export { useFormGroup } from './form-group.hook';
4
4
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolster/react-forms",
3
- "version": "18.6.1",
3
+ "version": "18.6.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",