@rolster/react-forms 19.4.6 → 19.4.7
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.cjs
CHANGED
|
@@ -703,7 +703,6 @@ function useFormGroup(options, validators) {
|
|
|
703
703
|
const [state, setState] = react.useState(() => {
|
|
704
704
|
return {
|
|
705
705
|
...refactorForValid(formGroup.controls, formGroup.validators),
|
|
706
|
-
controls: formGroup.controls,
|
|
707
706
|
dirties: checkAllSuccess(formGroupStatus.dirty),
|
|
708
707
|
dirty: checkPartialSuccess(formGroupStatus.dirty),
|
|
709
708
|
touched: checkPartialSuccess(formGroupStatus.touched),
|
|
@@ -732,12 +731,12 @@ function useFormGroup(options, validators) {
|
|
|
732
731
|
return;
|
|
733
732
|
}
|
|
734
733
|
setState((state) => {
|
|
735
|
-
const next = { ...state
|
|
734
|
+
const next = { ...state };
|
|
736
735
|
if (valueChanged) {
|
|
737
|
-
const validResult = refactorForValid(
|
|
736
|
+
const validResult = refactorForValid(refControls.current, state.validators);
|
|
738
737
|
next.errors = validResult.errors;
|
|
739
738
|
next.valid = validResult.valid;
|
|
740
|
-
next.value = helpers.controlsToValue(
|
|
739
|
+
next.value = helpers.controlsToValue(refControls.current);
|
|
741
740
|
}
|
|
742
741
|
if (dirtyChanged) {
|
|
743
742
|
next.dirty = checkPartialSuccess(formGroupStatus.dirty);
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../esm/form-array/form-array-control.js","../esm/form-array/form-array-group.helper.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control/form-control.helper.js","../esm/form-control/form-control.js","../esm/form-group/form-group.js","../esm/form-ref/form-ref.js","../esm/helpers.js","../esm/hooks.js"],"sourcesContent":["import { createFormControlOptions, formControlIsValid, hasError, someErrors } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterArrayControl {\n constructor(options) {\n this.uuid = options.uuid;\n this.defaultValue = options.defaultValue;\n this.value = options.value;\n this.focused = !!options.focused;\n this.unfocused = !this.focused;\n this.touched = !!options.touched;\n this.untouched = !this.touched;\n this.dirty = !!options.dirty;\n this.pristine = !this.dirty;\n this.disabled = !!options.disabled;\n this.enabled = !this.disabled;\n this.valid = this.isValid(options.errors);\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n this.errors = options.errors;\n this.error = this.errors[0];\n this.validators = options.validators;\n }\n focus() {\n this.unfocused && this.refresh('focused', { focused: true });\n }\n blur() {\n this.focused && this.refresh('focused', { focused: false, touched: true });\n }\n disable() {\n this.enabled && this.refresh('disabled', { disabled: true });\n }\n enable() {\n this.disabled && this.refresh('disabled', { disabled: false });\n }\n touch() {\n this.untouched && this.refresh('touched', { touched: true });\n }\n setDefaultValue(value) {\n if (value !== this.defaultValue) {\n const errors = this.validators\n ? formControlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', { errors, defaultValue: value, value });\n }\n }\n setStartValue(value) {\n if (value !== this.value) {\n const errors = this.validators\n ? formControlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', { errors, value });\n }\n }\n setValue(value) {\n if (value !== this.value) {\n const errors = this.validators\n ? formControlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', { dirty: true, errors, value });\n }\n }\n setValidators(validators) {\n const errors = validators\n ? formControlIsValid({ value: this.value, validators })\n : [];\n this.refresh('validators', { errors, validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n hasError(key) {\n return hasError(this.errors, key);\n }\n someErrors(keys) {\n return someErrors(this.errors, keys);\n }\n reset() {\n const errors = this.validators\n ? formControlIsValid({\n value: this.defaultValue,\n validators: this.validators\n })\n : [];\n this.refresh('reset', {\n dirty: false,\n errors,\n touched: false,\n value: this.defaultValue\n });\n }\n isValid(errors) {\n return errors.length === 0;\n }\n builder(options) {\n return new RolsterArrayControl({ ...this, ...options });\n }\n refresh(action, options) {\n this.subscriber?.(action, this.builder(options));\n }\n}\nclass ReactRolsterArrayControl extends RolsterArrayControl {\n constructor(options) {\n const { value, validators } = options;\n const errors = validators ? formControlIsValid({ value, validators }) : [];\n super({ ...options, errors });\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const formControl = createFormControlOptions(options, validators);\n return new ReactRolsterArrayControl({\n ...formControl,\n defaultValue: formControl.value,\n uuid: uuid()\n });\n}\nexport function reactArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function formArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function inputArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\n//# sourceMappingURL=form-array-control.js.map","export function replaceControl(controls, control) {\n return Object.entries(controls).reduce((controls, [key, _control]) => {\n if (_control.uuid === control.uuid) {\n controls[key] = control;\n }\n return controls;\n }, { ...controls });\n}\n//# sourceMappingURL=form-array-group.helper.js.map","import { createFormGroupOptions } from '@rolster/forms/helpers';\nimport { controlsToValue, formGroupIsValid, verifyAllTrueInControls, verifyAnyTrueInControls } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from './form-array-group.helper';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? formGroupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && verifyAllTrueInControls(controls, 'valid')\n };\n}\nfunction refactorForControls(action, group, controls) {\n switch (action) {\n case 'focused':\n case 'touched':\n return {\n touched: verifyAnyTrueInControls(controls, 'touched'),\n toucheds: verifyAllTrueInControls(controls, 'touched')\n };\n case 'validators':\n return refactorForValid(controls, group.validators);\n case 'reset':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: verifyAnyTrueInControls(controls, 'dirty'),\n dirties: verifyAllTrueInControls(controls, 'dirty'),\n touched: verifyAnyTrueInControls(controls, 'touched'),\n toucheds: verifyAllTrueInControls(controls, 'touched'),\n value: controlsToValue(controls)\n };\n case 'list':\n case 'value':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: verifyAnyTrueInControls(controls, 'dirty'),\n dirties: verifyAllTrueInControls(controls, 'dirty'),\n value: controlsToValue(controls)\n };\n default:\n return {};\n }\n}\nexport class RolsterArrayGroup {\n constructor(options) {\n this.uuid = options.uuid;\n this.controls = options.controls;\n this.value = options.value;\n this.resource = options.resource;\n this.dirty = !!options.dirty;\n this.dirties = !!options.dirties;\n this.pristine = !this.dirty;\n this.pristines = !this.dirties;\n this.touched = !!options.touched;\n this.toucheds = !!options.toucheds;\n this.untouched = !this.touched;\n this.untoucheds = !this.toucheds;\n this.valid = !!options.valid;\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n this.errors = options.errors;\n this.error = this.errors[0];\n this.validators = options.validators;\n this.subscriberControl = (action, control) => {\n const controls = replaceControl(this.controls, control);\n this.refresh(action, {\n ...refactorForControls(action, this, controls),\n controls\n });\n };\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n Object.values(this.controls).forEach((control) => {\n control.subscribe(this.subscriberControl);\n });\n }\n setValidators(validators) {\n this.refresh('validators', {\n ...refactorForValid(this.controls, validators),\n validators\n });\n }\n setResource(resource) {\n this.refresh('resource', { resource });\n }\n reset() {\n Object.values(this.controls).forEach((control) => {\n control.reset();\n });\n }\n refresh(action, options) {\n this.subscriber &&\n this.subscriber(action, new RolsterArrayGroup({ ...this, ...options }));\n }\n}\nclass ReactRolsterArrayGroup extends RolsterArrayGroup {\n constructor(options) {\n const { controls, validators } = options;\n const errors = validators ? formGroupIsValid({ controls, validators }) : [];\n super({\n ...options,\n errors,\n dirties: verifyAllTrueInControls(controls, 'dirty'),\n dirty: verifyAnyTrueInControls(controls, 'dirty'),\n touched: verifyAnyTrueInControls(controls, 'touched'),\n toucheds: verifyAllTrueInControls(controls, 'touched'),\n valid: errors.length === 0 && verifyAllTrueInControls(controls, 'valid'),\n value: controlsToValue(controls)\n });\n }\n}\nfunction valueIsGroupOptions(options) {\n return typeof options === 'object' && 'controls' in options;\n}\nexport function formArrayGroup(options, validators) {\n const _uuid = valueIsGroupOptions(options) ? options.uuid || uuid() : uuid();\n return new ReactRolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: _uuid\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlsToValue, formControlIsValid, verifyAllTrueInControls } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { RolsterArrayControl } from './form-array-control';\nimport { replaceControl } from './form-array-group.helper';\nclass RolsterArrayList extends RolsterArrayControl {\n constructor(options) {\n const { controls, controlsUuid, valueToControls, valueToUuid, validators } = options;\n const value = controls.map(controlsToValue);\n const errors = validators ? formControlIsValid({ value, validators }) : [];\n super({ ...options, errors, value });\n this.valueToControls = valueToControls;\n this.valueToUuid = valueToUuid;\n this.controls = controls;\n this.controlsUuid = controlsUuid ?? controls.map(() => uuid());\n this.valid =\n errors.length === 0 &&\n controls.reduce((valid, controls) => valid && verifyAllTrueInControls(controls, 'valid'), true);\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n controls.forEach((reactControls) => {\n this._subscribe(reactControls);\n });\n }\n setDefaultValue(value) {\n console.log(value);\n console.log(this.generateControlsUuid(value));\n this.refresh('list', {\n controls: value.map(this.valueToControls),\n controlsUuid: this.generateControlsUuid(value),\n defaultValue: value\n });\n }\n setStartValue(value) {\n this.refresh('list', {\n controls: value.map(this.valueToControls),\n controlsUuid: this.generateControlsUuid(value)\n });\n }\n setValue(value) {\n console.log(value);\n console.log(this.generateControlsUuid(value));\n this.refresh('list', {\n controls: value.map(this.valueToControls),\n controlsUuid: this.generateControlsUuid(value),\n dirty: true\n });\n }\n reset() {\n this.refresh('list', {\n controls: this.defaultValue.map(this.valueToControls),\n controlsUuid: this.generateControlsUuid(this.defaultValue),\n dirty: false,\n touched: false\n });\n }\n push(controls) {\n const _uuid = this.valueToUuid?.(controlsToValue(controls)) ?? uuid();\n this.refresh('list', {\n controls: [...this.controls, controls],\n controlsUuid: [...this.controlsUuid, _uuid]\n });\n }\n remove(controls) {\n const _controls = [];\n const _controlsUuid = [];\n this.controls.forEach((currentControls, index) => {\n if (currentControls !== controls) {\n _controls.push(currentControls);\n _controlsUuid.push(this.controlsUuid[index]);\n }\n });\n this.refresh('list', {\n controls: _controls,\n controlsUuid: _controlsUuid\n });\n }\n findControlsByUuid(uuid) {\n const index = this.controlsUuid.indexOf(uuid);\n return index >= 0 ? this.controls[index] : undefined;\n }\n builder(options) {\n return new RolsterArrayList({\n ...this,\n ...options,\n valueToControls: this.valueToControls,\n valueToUuid: this.valueToUuid\n });\n }\n refresh(action, options) {\n super.refresh(action, options);\n }\n generateControlsUuid(values) {\n return values.map((value) => this.valueToUuid?.(value) ?? uuid());\n }\n _subscribe(reactControls) {\n Object.values(reactControls).forEach((control) => {\n control.subscribe((action, _control) => {\n const _reactControls = this.controls.map((_controls) => reactControls !== _controls\n ? _controls\n : replaceControl(reactControls, _control));\n this.refresh(action, { controls: _reactControls });\n });\n });\n }\n}\nexport function formArrayList(options) {\n const { valueToControls, valueToUuid } = options;\n const value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n controls: value.map(valueToControls),\n controlsUuid: value.map((v) => valueToUuid?.(v) ?? uuid()),\n defaultValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { controlsToValue, createFormArrayOptions, formArrayIsValid, hasError, someErrors, verifyAllTrueInGroups } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(groups, validators) {\n const errors = validators ? formArrayIsValid({ groups, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && verifyAllTrueInGroups(groups, 'valid')\n };\n}\nfunction refactorForGroups(groups, validators) {\n return {\n ...refactorForValid(groups, validators),\n groups,\n controls: groups.map(({ controls }) => controls),\n value: groups.map(({ controls }) => controlsToValue(controls))\n };\n}\nfunction refactorForControls(action, state, groups) {\n switch (action) {\n case 'validators':\n return refactorForValid(groups, state.validators);\n case 'reset':\n case 'list':\n case 'value':\n return refactorForGroups(groups, state.validators);\n default:\n return { groups };\n }\n}\nexport function useFormArray(options, validators) {\n const formArray = createFormArrayOptions(options, validators);\n const refArrayValue = useRef(formArray.groups || []);\n const refArrayGroups = useRef(new Map());\n const [state, setState] = useState(() => {\n return {\n ...refactorForValid(refArrayValue.current, formArray.validators),\n controls: refArrayValue.current.map(({ controls }) => controls),\n dirty: false,\n dirties: false,\n disabled: false,\n groups: refArrayValue.current,\n touched: false,\n toucheds: false,\n value: refArrayValue.current.map(({ controls }) => controlsToValue(controls)),\n validators: formArray.validators\n };\n });\n const subscriber = useCallback((action, group) => {\n setState((state) => {\n const groups = state.groups.map((currentGroup) => {\n return currentGroup.uuid === group.uuid ? group : currentGroup;\n });\n return {\n ...state,\n ...refactorForControls(action, state, groups)\n };\n });\n }, []);\n useEffect(() => {\n const previousGroups = refArrayGroups.current;\n const currentGroups = new Map();\n state.groups.forEach((group) => {\n currentGroups.set(group.uuid, group);\n if (previousGroups.get(group.uuid) !== group) {\n group.subscribe(subscriber);\n }\n });\n refArrayGroups.current = currentGroups;\n }, [state.groups]);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const setValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n }, []);\n const setStartValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n }, []);\n const setDefaultValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n refArrayValue.current = groups;\n }, []);\n const push = useCallback((group) => {\n refArrayGroups.current.set(group.uuid, group);\n group.subscribe(subscriber);\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, group], state.validators)\n }));\n }, []);\n const merge = useCallback((groups) => {\n groups.forEach((group) => {\n group.subscribe(subscriber);\n refArrayGroups.current.set(group.uuid, group);\n });\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, ...groups], state.validators)\n }));\n }, []);\n const remove = useCallback(({ uuid }) => {\n refArrayGroups.current.delete(uuid);\n setState((state) => ({\n ...state,\n ...refactorForGroups(state.groups.filter((group) => group.uuid !== uuid), state.validators)\n }));\n }, []);\n const findByUuid = useCallback((uuid) => {\n return refArrayGroups.current.get(uuid);\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.groups, validators),\n validators\n }));\n }, []);\n const formArrayHasError = useCallback((key) => {\n return hasError(state.errors, key);\n }, [state.errors]);\n const formArraySomeErrors = useCallback((keys) => {\n return someErrors(state.errors, keys);\n }, [state.errors]);\n const reset = useCallback(() => {\n refArrayValue.current.forEach((group) => group.reset());\n setState((state) => ({\n ...state,\n ...refactorForGroups(refArrayValue.current, state.validators)\n }));\n }, []);\n return {\n ...state,\n disable,\n enable,\n enabled: !state.disabled,\n error: state.errors[0],\n findByUuid,\n hasError: formArrayHasError,\n invalid: !state.valid,\n merge,\n pristine: !state.dirty,\n pristines: !state.dirties,\n push,\n remove,\n reset,\n setDefaultValue,\n setStartValue,\n setValidators,\n setValue,\n someErrors: formArraySomeErrors,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { formControlIsValid } from '@rolster/forms/helpers';\nexport function errorsInControl(value, validators) {\n return validators ? formControlIsValid({ value, validators }) : [];\n}\n//# sourceMappingURL=form-control.helper.js.map","import { createFormControlOptions, hasError, someErrors } from '@rolster/forms/helpers';\nimport { useCallback, useRef, useState } from 'react';\nimport { errorsInControl } from './form-control.helper';\nfunction useControl(options, validators) {\n const formControl = createFormControlOptions(options, validators);\n const defaultValue = useRef(formControl.value);\n const [state, setState] = useState(() => {\n return {\n dirty: false,\n disabled: false,\n errors: errorsInControl(formControl.value, formControl.validators),\n focused: false,\n touched: !!formControl.touched,\n value: formControl.value,\n validators: formControl.validators\n };\n });\n const elementRef = useRef(null);\n const focus = useCallback(() => {\n setState((state) => ({ ...state, focused: true }));\n }, []);\n const blur = useCallback(() => {\n setState((state) => ({ ...state, focused: false, touched: true }));\n }, []);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const touch = useCallback(() => {\n setState((state) => ({ ...state, touched: true }));\n }, []);\n const setDefaultValue = useCallback((value) => {\n defaultValue.current = value;\n setState((state) => ({\n ...state,\n errors: errorsInControl(value, state.validators),\n value\n }));\n }, []);\n const setStartValue = useCallback((value) => {\n setState((state) => ({\n ...state,\n errors: errorsInControl(value, state.validators),\n value\n }));\n }, []);\n const setValue = useCallback((value) => {\n setState((state) => ({\n ...state,\n dirty: true,\n errors: errorsInControl(value, state.validators),\n value\n }));\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n errors: errorsInControl(state.value, validators),\n validators\n }));\n }, []);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n dirty: false,\n errors: errorsInControl(defaultValue.current, state.validators),\n value: defaultValue.current,\n touched: false\n }));\n }, []);\n const formControlHasError = useCallback((key) => {\n return hasError(state.errors, key);\n }, [state.errors]);\n const formControlSomeErrors = useCallback((keys) => {\n return someErrors(state.errors, keys);\n }, [state.errors]);\n const valid = state.errors.length === 0;\n return {\n ...state,\n blur,\n disable,\n elementRef,\n enable,\n enabled: !state.disabled,\n error: state.errors[0],\n focus,\n hasError: formControlHasError,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setDefaultValue,\n setStartValue,\n setValidators,\n setValue,\n someErrors: formControlSomeErrors,\n touch,\n unfocused: !state.focused,\n untouched: !state.touched,\n valid,\n wrong: state.touched && !valid\n };\n}\nexport function useReactControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useFormControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useInputControl(options, validators) {\n return useControl(options, validators);\n}\n//# sourceMappingURL=form-control.js.map","import { controlsToValue, createFormGroupOptions, formGroupIsValid, verifyAllTrueInControls } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? formGroupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && verifyAllTrueInControls(controls, 'valid')\n };\n}\nfunction checkAllSuccess(status) {\n return status.every((value) => value);\n}\nfunction checkPartialSuccess(status) {\n return status.some((value) => value);\n}\nfunction arraysShallowEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\nexport function useFormGroup(options, validators) {\n const formGroup = createFormGroupOptions(options, validators);\n const refControls = useRef(formGroup.controls);\n refControls.current = formGroup.controls;\n const formGroupStatus = useMemo(() => {\n const dirty = [];\n const disabled = [];\n const focused = [];\n const touched = [];\n const value = [];\n Object.values(formGroup.controls).forEach((control) => {\n dirty.push(control.dirty);\n disabled.push(control.disabled);\n focused.push(control.focused);\n touched.push(control.touched);\n value.push(control.value);\n });\n return {\n dirty,\n disabled,\n focused,\n touched,\n value\n };\n }, [formGroup.controls]);\n const [state, setState] = useState(() => {\n return {\n ...refactorForValid(formGroup.controls, formGroup.validators),\n controls: formGroup.controls,\n dirties: checkAllSuccess(formGroupStatus.dirty),\n dirty: checkPartialSuccess(formGroupStatus.dirty),\n touched: checkPartialSuccess(formGroupStatus.touched),\n toucheds: checkAllSuccess(formGroupStatus.touched),\n validators: formGroup.validators,\n value: controlsToValue(formGroup.controls)\n };\n });\n const refPrevFormGroupStatus = useRef(null);\n useEffect(() => {\n const formGroupPrev = refPrevFormGroupStatus.current;\n refPrevFormGroupStatus.current = formGroupStatus;\n if (!formGroupPrev) {\n return;\n }\n const valueChanged = !arraysShallowEqual(formGroupPrev.value, formGroupStatus.value);\n const dirtyChanged = !arraysShallowEqual(formGroupPrev.dirty, formGroupStatus.dirty);\n const touchedChanged = !arraysShallowEqual(formGroupPrev.touched, formGroupStatus.touched);\n const disabledChanged = !arraysShallowEqual(formGroupPrev.disabled, formGroupStatus.disabled);\n const focusedChanged = !arraysShallowEqual(formGroupPrev.focused, formGroupStatus.focused);\n if (!valueChanged &&\n !dirtyChanged &&\n !touchedChanged &&\n !disabledChanged &&\n !focusedChanged) {\n return;\n }\n setState((state) => {\n const next = { ...state, controls: formGroup.controls };\n if (valueChanged) {\n const validResult = refactorForValid(formGroup.controls, state.validators);\n next.errors = validResult.errors;\n next.valid = validResult.valid;\n next.value = controlsToValue(formGroup.controls);\n }\n if (dirtyChanged) {\n next.dirty = checkPartialSuccess(formGroupStatus.dirty);\n next.dirties = checkAllSuccess(formGroupStatus.dirty);\n }\n if (touchedChanged) {\n next.touched = checkPartialSuccess(formGroupStatus.touched);\n next.toucheds = checkAllSuccess(formGroupStatus.touched);\n }\n return next;\n });\n });\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(refControls.current, validators),\n validators\n }));\n }, []);\n const setValue = useCallback((value) => {\n Object.entries(value).forEach(([key, valueControl]) => {\n const formControl = refControls.current[key];\n formControl?.setValue(valueControl);\n });\n }, []);\n const reset = useCallback(() => {\n Object.values(refControls.current).forEach((control) => {\n control.reset();\n });\n }, []);\n return {\n ...state,\n controls: formGroup.controls,\n error: state.errors[0],\n invalid: !state.valid,\n pristine: !state.dirty,\n pristines: !state.dirties,\n reset,\n setValidators,\n setValue,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-group.js.map","import { createFormControlOptions } from '@rolster/forms/helpers';\nimport { useEffect, useRef } from 'react';\nimport { useInputControl } from '../form-control/form-control';\nfunction useInputRefControl(options) {\n const formRef = useInputControl(options);\n const setValueRef = useRef(options.setValue);\n setValueRef.current = options.setValue;\n useEffect(() => {\n const element = formRef.elementRef?.current;\n if (!element) {\n return;\n }\n const handleFocus = () => {\n formRef.focus();\n };\n const handleBlur = () => {\n formRef.blur();\n };\n const handleChange = (event) => {\n const target = event.target;\n setValueRef.current(formRef, target.value);\n };\n element.addEventListener('focus', handleFocus);\n element.addEventListener('blur', handleBlur);\n element.addEventListener('change', handleChange);\n return () => {\n element.removeEventListener('focus', handleFocus);\n element.removeEventListener('blur', handleBlur);\n element.removeEventListener('change', handleChange);\n };\n }, []);\n return formRef;\n}\nexport function useTextRefControl(options, validators) {\n return useInputRefControl({\n ...createFormControlOptions(options, validators),\n setValue: (control, value) => {\n control.setValue(value);\n }\n });\n}\nexport function useNumberRefControl(options, validators) {\n return useInputRefControl({\n ...createFormControlOptions(options, validators),\n setValue: (control, value) => {\n control.setValue(+value);\n }\n });\n}\n//# sourceMappingURL=form-ref.js.map","import { reduceControlsToArray } from '@rolster/forms/helpers';\nexport function reduceControlsToValues(controls) {\n return reduceControlsToArray(controls, 'value');\n}\nexport function reduceGroupToValues(group) {\n return reduceControlsToValues(group.controls);\n}\n//# sourceMappingURL=helpers.js.map","import { useMemo, useState } from 'react';\nexport function useFormArrayGroupSelect({ formArray }) {\n const [formSelect, setFormGroup] = useState();\n const formGroup = useMemo(() => {\n return (formSelect &&\n formArray.groups.find(({ uuid }) => formSelect.uuid === uuid));\n }, [formArray.value, formSelect]);\n return { formGroup, setFormGroup };\n}\n//# sourceMappingURL=hooks.js.map"],"names":["formControlIsValid","hasError","someErrors","createFormControlOptions","uuid","refactorForValid","formGroupIsValid","verifyAllTrueInControls","refactorForControls","verifyAnyTrueInControls","controlsToValue","createFormGroupOptions","formArrayIsValid","verifyAllTrueInGroups","createFormArrayOptions","useRef","useState","useCallback","useEffect","useMemo","reduceControlsToArray"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../esm/form-array/form-array-control.js","../esm/form-array/form-array-group.helper.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control/form-control.helper.js","../esm/form-control/form-control.js","../esm/form-group/form-group.js","../esm/form-ref/form-ref.js","../esm/helpers.js","../esm/hooks.js"],"sourcesContent":["import { createFormControlOptions, formControlIsValid, hasError, someErrors } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterArrayControl {\n constructor(options) {\n this.uuid = options.uuid;\n this.defaultValue = options.defaultValue;\n this.value = options.value;\n this.focused = !!options.focused;\n this.unfocused = !this.focused;\n this.touched = !!options.touched;\n this.untouched = !this.touched;\n this.dirty = !!options.dirty;\n this.pristine = !this.dirty;\n this.disabled = !!options.disabled;\n this.enabled = !this.disabled;\n this.valid = this.isValid(options.errors);\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n this.errors = options.errors;\n this.error = this.errors[0];\n this.validators = options.validators;\n }\n focus() {\n this.unfocused && this.refresh('focused', { focused: true });\n }\n blur() {\n this.focused && this.refresh('focused', { focused: false, touched: true });\n }\n disable() {\n this.enabled && this.refresh('disabled', { disabled: true });\n }\n enable() {\n this.disabled && this.refresh('disabled', { disabled: false });\n }\n touch() {\n this.untouched && this.refresh('touched', { touched: true });\n }\n setDefaultValue(value) {\n if (value !== this.defaultValue) {\n const errors = this.validators\n ? formControlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', { errors, defaultValue: value, value });\n }\n }\n setStartValue(value) {\n if (value !== this.value) {\n const errors = this.validators\n ? formControlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', { errors, value });\n }\n }\n setValue(value) {\n if (value !== this.value) {\n const errors = this.validators\n ? formControlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', { dirty: true, errors, value });\n }\n }\n setValidators(validators) {\n const errors = validators\n ? formControlIsValid({ value: this.value, validators })\n : [];\n this.refresh('validators', { errors, validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n hasError(key) {\n return hasError(this.errors, key);\n }\n someErrors(keys) {\n return someErrors(this.errors, keys);\n }\n reset() {\n const errors = this.validators\n ? formControlIsValid({\n value: this.defaultValue,\n validators: this.validators\n })\n : [];\n this.refresh('reset', {\n dirty: false,\n errors,\n touched: false,\n value: this.defaultValue\n });\n }\n isValid(errors) {\n return errors.length === 0;\n }\n builder(options) {\n return new RolsterArrayControl({ ...this, ...options });\n }\n refresh(action, options) {\n this.subscriber?.(action, this.builder(options));\n }\n}\nclass ReactRolsterArrayControl extends RolsterArrayControl {\n constructor(options) {\n const { value, validators } = options;\n const errors = validators ? formControlIsValid({ value, validators }) : [];\n super({ ...options, errors });\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const formControl = createFormControlOptions(options, validators);\n return new ReactRolsterArrayControl({\n ...formControl,\n defaultValue: formControl.value,\n uuid: uuid()\n });\n}\nexport function reactArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function formArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function inputArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\n//# sourceMappingURL=form-array-control.js.map","export function replaceControl(controls, control) {\n return Object.entries(controls).reduce((controls, [key, _control]) => {\n if (_control.uuid === control.uuid) {\n controls[key] = control;\n }\n return controls;\n }, { ...controls });\n}\n//# sourceMappingURL=form-array-group.helper.js.map","import { createFormGroupOptions } from '@rolster/forms/helpers';\nimport { controlsToValue, formGroupIsValid, verifyAllTrueInControls, verifyAnyTrueInControls } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from './form-array-group.helper';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? formGroupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && verifyAllTrueInControls(controls, 'valid')\n };\n}\nfunction refactorForControls(action, group, controls) {\n switch (action) {\n case 'focused':\n case 'touched':\n return {\n touched: verifyAnyTrueInControls(controls, 'touched'),\n toucheds: verifyAllTrueInControls(controls, 'touched')\n };\n case 'validators':\n return refactorForValid(controls, group.validators);\n case 'reset':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: verifyAnyTrueInControls(controls, 'dirty'),\n dirties: verifyAllTrueInControls(controls, 'dirty'),\n touched: verifyAnyTrueInControls(controls, 'touched'),\n toucheds: verifyAllTrueInControls(controls, 'touched'),\n value: controlsToValue(controls)\n };\n case 'list':\n case 'value':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: verifyAnyTrueInControls(controls, 'dirty'),\n dirties: verifyAllTrueInControls(controls, 'dirty'),\n value: controlsToValue(controls)\n };\n default:\n return {};\n }\n}\nexport class RolsterArrayGroup {\n constructor(options) {\n this.uuid = options.uuid;\n this.controls = options.controls;\n this.value = options.value;\n this.resource = options.resource;\n this.dirty = !!options.dirty;\n this.dirties = !!options.dirties;\n this.pristine = !this.dirty;\n this.pristines = !this.dirties;\n this.touched = !!options.touched;\n this.toucheds = !!options.toucheds;\n this.untouched = !this.touched;\n this.untoucheds = !this.toucheds;\n this.valid = !!options.valid;\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n this.errors = options.errors;\n this.error = this.errors[0];\n this.validators = options.validators;\n this.subscriberControl = (action, control) => {\n const controls = replaceControl(this.controls, control);\n this.refresh(action, {\n ...refactorForControls(action, this, controls),\n controls\n });\n };\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n Object.values(this.controls).forEach((control) => {\n control.subscribe(this.subscriberControl);\n });\n }\n setValidators(validators) {\n this.refresh('validators', {\n ...refactorForValid(this.controls, validators),\n validators\n });\n }\n setResource(resource) {\n this.refresh('resource', { resource });\n }\n reset() {\n Object.values(this.controls).forEach((control) => {\n control.reset();\n });\n }\n refresh(action, options) {\n this.subscriber &&\n this.subscriber(action, new RolsterArrayGroup({ ...this, ...options }));\n }\n}\nclass ReactRolsterArrayGroup extends RolsterArrayGroup {\n constructor(options) {\n const { controls, validators } = options;\n const errors = validators ? formGroupIsValid({ controls, validators }) : [];\n super({\n ...options,\n errors,\n dirties: verifyAllTrueInControls(controls, 'dirty'),\n dirty: verifyAnyTrueInControls(controls, 'dirty'),\n touched: verifyAnyTrueInControls(controls, 'touched'),\n toucheds: verifyAllTrueInControls(controls, 'touched'),\n valid: errors.length === 0 && verifyAllTrueInControls(controls, 'valid'),\n value: controlsToValue(controls)\n });\n }\n}\nfunction valueIsGroupOptions(options) {\n return typeof options === 'object' && 'controls' in options;\n}\nexport function formArrayGroup(options, validators) {\n const _uuid = valueIsGroupOptions(options) ? options.uuid || uuid() : uuid();\n return new ReactRolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: _uuid\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlsToValue, formControlIsValid, verifyAllTrueInControls } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { RolsterArrayControl } from './form-array-control';\nimport { replaceControl } from './form-array-group.helper';\nclass RolsterArrayList extends RolsterArrayControl {\n constructor(options) {\n const { controls, controlsUuid, valueToControls, valueToUuid, validators } = options;\n const value = controls.map(controlsToValue);\n const errors = validators ? formControlIsValid({ value, validators }) : [];\n super({ ...options, errors, value });\n this.valueToControls = valueToControls;\n this.valueToUuid = valueToUuid;\n this.controls = controls;\n this.controlsUuid = controlsUuid ?? controls.map(() => uuid());\n this.valid =\n errors.length === 0 &&\n controls.reduce((valid, controls) => valid && verifyAllTrueInControls(controls, 'valid'), true);\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n controls.forEach((reactControls) => {\n this._subscribe(reactControls);\n });\n }\n setDefaultValue(value) {\n console.log(value);\n console.log(this.generateControlsUuid(value));\n this.refresh('list', {\n controls: value.map(this.valueToControls),\n controlsUuid: this.generateControlsUuid(value),\n defaultValue: value\n });\n }\n setStartValue(value) {\n this.refresh('list', {\n controls: value.map(this.valueToControls),\n controlsUuid: this.generateControlsUuid(value)\n });\n }\n setValue(value) {\n console.log(value);\n console.log(this.generateControlsUuid(value));\n this.refresh('list', {\n controls: value.map(this.valueToControls),\n controlsUuid: this.generateControlsUuid(value),\n dirty: true\n });\n }\n reset() {\n this.refresh('list', {\n controls: this.defaultValue.map(this.valueToControls),\n controlsUuid: this.generateControlsUuid(this.defaultValue),\n dirty: false,\n touched: false\n });\n }\n push(controls) {\n const _uuid = this.valueToUuid?.(controlsToValue(controls)) ?? uuid();\n this.refresh('list', {\n controls: [...this.controls, controls],\n controlsUuid: [...this.controlsUuid, _uuid]\n });\n }\n remove(controls) {\n const _controls = [];\n const _controlsUuid = [];\n this.controls.forEach((currentControls, index) => {\n if (currentControls !== controls) {\n _controls.push(currentControls);\n _controlsUuid.push(this.controlsUuid[index]);\n }\n });\n this.refresh('list', {\n controls: _controls,\n controlsUuid: _controlsUuid\n });\n }\n findControlsByUuid(uuid) {\n const index = this.controlsUuid.indexOf(uuid);\n return index >= 0 ? this.controls[index] : undefined;\n }\n builder(options) {\n return new RolsterArrayList({\n ...this,\n ...options,\n valueToControls: this.valueToControls,\n valueToUuid: this.valueToUuid\n });\n }\n refresh(action, options) {\n super.refresh(action, options);\n }\n generateControlsUuid(values) {\n return values.map((value) => this.valueToUuid?.(value) ?? uuid());\n }\n _subscribe(reactControls) {\n Object.values(reactControls).forEach((control) => {\n control.subscribe((action, _control) => {\n const _reactControls = this.controls.map((_controls) => reactControls !== _controls\n ? _controls\n : replaceControl(reactControls, _control));\n this.refresh(action, { controls: _reactControls });\n });\n });\n }\n}\nexport function formArrayList(options) {\n const { valueToControls, valueToUuid } = options;\n const value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n controls: value.map(valueToControls),\n controlsUuid: value.map((v) => valueToUuid?.(v) ?? uuid()),\n defaultValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { controlsToValue, createFormArrayOptions, formArrayIsValid, hasError, someErrors, verifyAllTrueInGroups } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(groups, validators) {\n const errors = validators ? formArrayIsValid({ groups, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && verifyAllTrueInGroups(groups, 'valid')\n };\n}\nfunction refactorForGroups(groups, validators) {\n return {\n ...refactorForValid(groups, validators),\n groups,\n controls: groups.map(({ controls }) => controls),\n value: groups.map(({ controls }) => controlsToValue(controls))\n };\n}\nfunction refactorForControls(action, state, groups) {\n switch (action) {\n case 'validators':\n return refactorForValid(groups, state.validators);\n case 'reset':\n case 'list':\n case 'value':\n return refactorForGroups(groups, state.validators);\n default:\n return { groups };\n }\n}\nexport function useFormArray(options, validators) {\n const formArray = createFormArrayOptions(options, validators);\n const refArrayValue = useRef(formArray.groups || []);\n const refArrayGroups = useRef(new Map());\n const [state, setState] = useState(() => {\n return {\n ...refactorForValid(refArrayValue.current, formArray.validators),\n controls: refArrayValue.current.map(({ controls }) => controls),\n dirty: false,\n dirties: false,\n disabled: false,\n groups: refArrayValue.current,\n touched: false,\n toucheds: false,\n value: refArrayValue.current.map(({ controls }) => controlsToValue(controls)),\n validators: formArray.validators\n };\n });\n const subscriber = useCallback((action, group) => {\n setState((state) => {\n const groups = state.groups.map((currentGroup) => {\n return currentGroup.uuid === group.uuid ? group : currentGroup;\n });\n return {\n ...state,\n ...refactorForControls(action, state, groups)\n };\n });\n }, []);\n useEffect(() => {\n const previousGroups = refArrayGroups.current;\n const currentGroups = new Map();\n state.groups.forEach((group) => {\n currentGroups.set(group.uuid, group);\n if (previousGroups.get(group.uuid) !== group) {\n group.subscribe(subscriber);\n }\n });\n refArrayGroups.current = currentGroups;\n }, [state.groups]);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const setValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n }, []);\n const setStartValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n }, []);\n const setDefaultValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n refArrayValue.current = groups;\n }, []);\n const push = useCallback((group) => {\n refArrayGroups.current.set(group.uuid, group);\n group.subscribe(subscriber);\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, group], state.validators)\n }));\n }, []);\n const merge = useCallback((groups) => {\n groups.forEach((group) => {\n group.subscribe(subscriber);\n refArrayGroups.current.set(group.uuid, group);\n });\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, ...groups], state.validators)\n }));\n }, []);\n const remove = useCallback(({ uuid }) => {\n refArrayGroups.current.delete(uuid);\n setState((state) => ({\n ...state,\n ...refactorForGroups(state.groups.filter((group) => group.uuid !== uuid), state.validators)\n }));\n }, []);\n const findByUuid = useCallback((uuid) => {\n return refArrayGroups.current.get(uuid);\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.groups, validators),\n validators\n }));\n }, []);\n const formArrayHasError = useCallback((key) => {\n return hasError(state.errors, key);\n }, [state.errors]);\n const formArraySomeErrors = useCallback((keys) => {\n return someErrors(state.errors, keys);\n }, [state.errors]);\n const reset = useCallback(() => {\n refArrayValue.current.forEach((group) => group.reset());\n setState((state) => ({\n ...state,\n ...refactorForGroups(refArrayValue.current, state.validators)\n }));\n }, []);\n return {\n ...state,\n disable,\n enable,\n enabled: !state.disabled,\n error: state.errors[0],\n findByUuid,\n hasError: formArrayHasError,\n invalid: !state.valid,\n merge,\n pristine: !state.dirty,\n pristines: !state.dirties,\n push,\n remove,\n reset,\n setDefaultValue,\n setStartValue,\n setValidators,\n setValue,\n someErrors: formArraySomeErrors,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { formControlIsValid } from '@rolster/forms/helpers';\nexport function errorsInControl(value, validators) {\n return validators ? formControlIsValid({ value, validators }) : [];\n}\n//# sourceMappingURL=form-control.helper.js.map","import { createFormControlOptions, hasError, someErrors } from '@rolster/forms/helpers';\nimport { useCallback, useRef, useState } from 'react';\nimport { errorsInControl } from './form-control.helper';\nfunction useControl(options, validators) {\n const formControl = createFormControlOptions(options, validators);\n const defaultValue = useRef(formControl.value);\n const [state, setState] = useState(() => {\n return {\n dirty: false,\n disabled: false,\n errors: errorsInControl(formControl.value, formControl.validators),\n focused: false,\n touched: !!formControl.touched,\n value: formControl.value,\n validators: formControl.validators\n };\n });\n const elementRef = useRef(null);\n const focus = useCallback(() => {\n setState((state) => ({ ...state, focused: true }));\n }, []);\n const blur = useCallback(() => {\n setState((state) => ({ ...state, focused: false, touched: true }));\n }, []);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const touch = useCallback(() => {\n setState((state) => ({ ...state, touched: true }));\n }, []);\n const setDefaultValue = useCallback((value) => {\n defaultValue.current = value;\n setState((state) => ({\n ...state,\n errors: errorsInControl(value, state.validators),\n value\n }));\n }, []);\n const setStartValue = useCallback((value) => {\n setState((state) => ({\n ...state,\n errors: errorsInControl(value, state.validators),\n value\n }));\n }, []);\n const setValue = useCallback((value) => {\n setState((state) => ({\n ...state,\n dirty: true,\n errors: errorsInControl(value, state.validators),\n value\n }));\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n errors: errorsInControl(state.value, validators),\n validators\n }));\n }, []);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n dirty: false,\n errors: errorsInControl(defaultValue.current, state.validators),\n value: defaultValue.current,\n touched: false\n }));\n }, []);\n const formControlHasError = useCallback((key) => {\n return hasError(state.errors, key);\n }, [state.errors]);\n const formControlSomeErrors = useCallback((keys) => {\n return someErrors(state.errors, keys);\n }, [state.errors]);\n const valid = state.errors.length === 0;\n return {\n ...state,\n blur,\n disable,\n elementRef,\n enable,\n enabled: !state.disabled,\n error: state.errors[0],\n focus,\n hasError: formControlHasError,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setDefaultValue,\n setStartValue,\n setValidators,\n setValue,\n someErrors: formControlSomeErrors,\n touch,\n unfocused: !state.focused,\n untouched: !state.touched,\n valid,\n wrong: state.touched && !valid\n };\n}\nexport function useReactControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useFormControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useInputControl(options, validators) {\n return useControl(options, validators);\n}\n//# sourceMappingURL=form-control.js.map","import { controlsToValue, createFormGroupOptions, formGroupIsValid, verifyAllTrueInControls } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? formGroupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && verifyAllTrueInControls(controls, 'valid')\n };\n}\nfunction checkAllSuccess(status) {\n return status.every((value) => value);\n}\nfunction checkPartialSuccess(status) {\n return status.some((value) => value);\n}\nfunction arraysShallowEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\nexport function useFormGroup(options, validators) {\n const formGroup = createFormGroupOptions(options, validators);\n const refControls = useRef(formGroup.controls);\n refControls.current = formGroup.controls;\n const formGroupStatus = useMemo(() => {\n const dirty = [];\n const disabled = [];\n const focused = [];\n const touched = [];\n const value = [];\n Object.values(formGroup.controls).forEach((control) => {\n dirty.push(control.dirty);\n disabled.push(control.disabled);\n focused.push(control.focused);\n touched.push(control.touched);\n value.push(control.value);\n });\n return {\n dirty,\n disabled,\n focused,\n touched,\n value\n };\n }, [formGroup.controls]);\n const [state, setState] = useState(() => {\n return {\n ...refactorForValid(formGroup.controls, formGroup.validators),\n dirties: checkAllSuccess(formGroupStatus.dirty),\n dirty: checkPartialSuccess(formGroupStatus.dirty),\n touched: checkPartialSuccess(formGroupStatus.touched),\n toucheds: checkAllSuccess(formGroupStatus.touched),\n validators: formGroup.validators,\n value: controlsToValue(formGroup.controls)\n };\n });\n const refPrevFormGroupStatus = useRef(null);\n useEffect(() => {\n const formGroupPrev = refPrevFormGroupStatus.current;\n refPrevFormGroupStatus.current = formGroupStatus;\n if (!formGroupPrev) {\n return;\n }\n const valueChanged = !arraysShallowEqual(formGroupPrev.value, formGroupStatus.value);\n const dirtyChanged = !arraysShallowEqual(formGroupPrev.dirty, formGroupStatus.dirty);\n const touchedChanged = !arraysShallowEqual(formGroupPrev.touched, formGroupStatus.touched);\n const disabledChanged = !arraysShallowEqual(formGroupPrev.disabled, formGroupStatus.disabled);\n const focusedChanged = !arraysShallowEqual(formGroupPrev.focused, formGroupStatus.focused);\n if (!valueChanged &&\n !dirtyChanged &&\n !touchedChanged &&\n !disabledChanged &&\n !focusedChanged) {\n return;\n }\n setState((state) => {\n const next = { ...state };\n if (valueChanged) {\n const validResult = refactorForValid(refControls.current, state.validators);\n next.errors = validResult.errors;\n next.valid = validResult.valid;\n next.value = controlsToValue(refControls.current);\n }\n if (dirtyChanged) {\n next.dirty = checkPartialSuccess(formGroupStatus.dirty);\n next.dirties = checkAllSuccess(formGroupStatus.dirty);\n }\n if (touchedChanged) {\n next.touched = checkPartialSuccess(formGroupStatus.touched);\n next.toucheds = checkAllSuccess(formGroupStatus.touched);\n }\n return next;\n });\n });\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(refControls.current, validators),\n validators\n }));\n }, []);\n const setValue = useCallback((value) => {\n Object.entries(value).forEach(([key, valueControl]) => {\n const formControl = refControls.current[key];\n formControl?.setValue(valueControl);\n });\n }, []);\n const reset = useCallback(() => {\n Object.values(refControls.current).forEach((control) => {\n control.reset();\n });\n }, []);\n return {\n ...state,\n controls: formGroup.controls,\n error: state.errors[0],\n invalid: !state.valid,\n pristine: !state.dirty,\n pristines: !state.dirties,\n reset,\n setValidators,\n setValue,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-group.js.map","import { createFormControlOptions } from '@rolster/forms/helpers';\nimport { useEffect, useRef } from 'react';\nimport { useInputControl } from '../form-control/form-control';\nfunction useInputRefControl(options) {\n const formRef = useInputControl(options);\n const setValueRef = useRef(options.setValue);\n setValueRef.current = options.setValue;\n useEffect(() => {\n const element = formRef.elementRef?.current;\n if (!element) {\n return;\n }\n const handleFocus = () => {\n formRef.focus();\n };\n const handleBlur = () => {\n formRef.blur();\n };\n const handleChange = (event) => {\n const target = event.target;\n setValueRef.current(formRef, target.value);\n };\n element.addEventListener('focus', handleFocus);\n element.addEventListener('blur', handleBlur);\n element.addEventListener('change', handleChange);\n return () => {\n element.removeEventListener('focus', handleFocus);\n element.removeEventListener('blur', handleBlur);\n element.removeEventListener('change', handleChange);\n };\n }, []);\n return formRef;\n}\nexport function useTextRefControl(options, validators) {\n return useInputRefControl({\n ...createFormControlOptions(options, validators),\n setValue: (control, value) => {\n control.setValue(value);\n }\n });\n}\nexport function useNumberRefControl(options, validators) {\n return useInputRefControl({\n ...createFormControlOptions(options, validators),\n setValue: (control, value) => {\n control.setValue(+value);\n }\n });\n}\n//# sourceMappingURL=form-ref.js.map","import { reduceControlsToArray } from '@rolster/forms/helpers';\nexport function reduceControlsToValues(controls) {\n return reduceControlsToArray(controls, 'value');\n}\nexport function reduceGroupToValues(group) {\n return reduceControlsToValues(group.controls);\n}\n//# sourceMappingURL=helpers.js.map","import { useMemo, useState } from 'react';\nexport function useFormArrayGroupSelect({ formArray }) {\n const [formSelect, setFormGroup] = useState();\n const formGroup = useMemo(() => {\n return (formSelect &&\n formArray.groups.find(({ uuid }) => formSelect.uuid === uuid));\n }, [formArray.value, formSelect]);\n return { formGroup, setFormGroup };\n}\n//# sourceMappingURL=hooks.js.map"],"names":["formControlIsValid","hasError","someErrors","createFormControlOptions","uuid","refactorForValid","formGroupIsValid","verifyAllTrueInControls","refactorForControls","verifyAnyTrueInControls","controlsToValue","createFormGroupOptions","formArrayIsValid","verifyAllTrueInGroups","createFormArrayOptions","useRef","useState","useCallback","useEffect","useMemo","reduceControlsToArray"],"mappings":"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"}
|
|
@@ -55,7 +55,6 @@ export function useFormGroup(options, validators) {
|
|
|
55
55
|
const [state, setState] = useState(() => {
|
|
56
56
|
return {
|
|
57
57
|
...refactorForValid(formGroup.controls, formGroup.validators),
|
|
58
|
-
controls: formGroup.controls,
|
|
59
58
|
dirties: checkAllSuccess(formGroupStatus.dirty),
|
|
60
59
|
dirty: checkPartialSuccess(formGroupStatus.dirty),
|
|
61
60
|
touched: checkPartialSuccess(formGroupStatus.touched),
|
|
@@ -84,12 +83,12 @@ export function useFormGroup(options, validators) {
|
|
|
84
83
|
return;
|
|
85
84
|
}
|
|
86
85
|
setState((state) => {
|
|
87
|
-
const next = { ...state
|
|
86
|
+
const next = { ...state };
|
|
88
87
|
if (valueChanged) {
|
|
89
|
-
const validResult = refactorForValid(
|
|
88
|
+
const validResult = refactorForValid(refControls.current, state.validators);
|
|
90
89
|
next.errors = validResult.errors;
|
|
91
90
|
next.valid = validResult.valid;
|
|
92
|
-
next.value = controlsToValue(
|
|
91
|
+
next.value = controlsToValue(refControls.current);
|
|
93
92
|
}
|
|
94
93
|
if (dirtyChanged) {
|
|
95
94
|
next.dirty = checkPartialSuccess(formGroupStatus.dirty);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../../src/form-group/form-group.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../../src/form-group/form-group.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED