@rolster/react-forms 18.13.0 → 18.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -242,10 +242,14 @@ class ReactRolsterArrayGroup extends RolsterArrayGroup {
242
242
  });
243
243
  }
244
244
  }
245
+ function groupIsOptions(options) {
246
+ return typeof options === 'object' && 'controls' in options;
247
+ }
245
248
  function formArrayGroup(options, validators) {
249
+ const groupUuid = groupIsOptions(options) ? options.uuid || uuid.v4() : uuid.v4();
246
250
  return new ReactRolsterArrayGroup({
247
251
  ..._arguments.createFormGroupOptions(options, validators),
248
- uuid: uuid.v4()
252
+ uuid: groupUuid
249
253
  });
250
254
  }
251
255
 
@@ -353,7 +357,8 @@ function refactorForControls(action, state, groups) {
353
357
  function useFormArray(options, validators) {
354
358
  const _options = _arguments.createFormArrayOptions(options, validators);
355
359
  const groups = _options.groups || [];
356
- const initialValue = react.useRef(groups);
360
+ const _value = react.useRef(groups);
361
+ const mapGroups = react.useRef(new Map());
357
362
  const [state, setState] = react.useState({
358
363
  ...refactorForValid$1(groups, _options.validators),
359
364
  controls: groups.map(({ controls }) => controls),
@@ -367,7 +372,9 @@ function useFormArray(options, validators) {
367
372
  validators: _options.validators
368
373
  });
369
374
  react.useEffect(() => {
375
+ mapGroups.current.clear();
370
376
  state.groups.forEach((group) => {
377
+ mapGroups.current.set(group.uuid, group);
371
378
  group.subscribe(subscriber);
372
379
  });
373
380
  }, [state.groups]);
@@ -399,7 +406,7 @@ function useFormArray(options, validators) {
399
406
  ...state,
400
407
  ...refactorForGroups(groups, state.validators)
401
408
  }));
402
- initialValue.current = groups;
409
+ _value.current = groups;
403
410
  }, []);
404
411
  const push = react.useCallback((group) => {
405
412
  setState((state) => ({
@@ -419,6 +426,9 @@ function useFormArray(options, validators) {
419
426
  ...refactorForGroups(state.groups.filter((group) => group.uuid !== uuid), state.validators)
420
427
  }));
421
428
  }, []);
429
+ const findByUuid = react.useCallback((uuid) => {
430
+ return mapGroups.current.get(uuid);
431
+ }, [state.groups]);
422
432
  const setValidators = react.useCallback((validators) => {
423
433
  setState((state) => ({
424
434
  ...state,
@@ -431,7 +441,7 @@ function useFormArray(options, validators) {
431
441
  const reset = react.useCallback(() => {
432
442
  setState((state) => ({
433
443
  ...state,
434
- ...refactorForGroups(initialValue.current, state.validators)
444
+ ...refactorForGroups(_value.current, state.validators)
435
445
  }));
436
446
  }, []);
437
447
  return {
@@ -440,6 +450,7 @@ function useFormArray(options, validators) {
440
450
  enable,
441
451
  enabled: !state.disabled,
442
452
  error: state.errors[0],
453
+ findByUuid,
443
454
  hasError,
444
455
  invalid: !state.valid,
445
456
  merge,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../esm/form-array/form-array-control.js","../esm/utilities.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-group.js","../esm/helpers.js","../esm/hooks.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, 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.value = options.value;\n this.initialValue = options.initialValue;\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 setInitialValue(value) {\n if (value !== this.initialValue) {\n const errors = this.validators\n ? controlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', {\n dirty: false,\n errors,\n initialValue: value,\n value\n });\n }\n }\n setValue(value) {\n if (value !== this.value) {\n const errors = this.validators\n ? controlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', {\n dirty: true,\n errors,\n value\n });\n }\n }\n setValidators(validators) {\n const errors = validators\n ? controlIsValid({ 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 ? controlIsValid({\n value: this.initialValue,\n validators: this.validators\n })\n : [];\n this.refresh('reset', {\n dirty: false,\n errors,\n touched: false,\n value: this.initialValue\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 && this.subscriber(action, this.builder(options));\n }\n}\nclass ReactRolsterArrayControl extends RolsterArrayControl {\n constructor(options) {\n const { value, validators } = options;\n const errors = validators ? controlIsValid({ value, validators }) : [];\n super({ ...options, errors });\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n return new ReactRolsterArrayControl({\n ..._options,\n initialValue: _options.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=utilities.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from '../utilities';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n };\n}\nfunction refactorForControls(action, group, controls) {\n switch (action) {\n case 'focused':\n case 'touched':\n return {\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched')\n };\n case 'validators':\n return refactorForValid(controls, group.validators);\n case 'reset':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n value: controlsToValue(controls)\n };\n case 'list':\n case 'value':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(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 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 ? groupIsValid({ controls, validators }) : [];\n super({\n ...options,\n errors,\n value: controlsToValue(controls),\n dirties: controlsAllChecked(controls, 'dirty'),\n dirty: controlsPartialChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n });\n }\n}\nexport function formArrayGroup(options, validators) {\n return new ReactRolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlIsValid, controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from '../utilities';\nimport { RolsterArrayControl } from './form-array-control';\nclass RolsterArrayList extends RolsterArrayControl {\n constructor(options) {\n const { controls, valueToControls, validators } = options;\n const value = controls.map((controls) => controlsToValue(controls));\n const errors = validators ? controlIsValid({ value, validators }) : [];\n super({ ...options, errors, value });\n this.valueToControls = valueToControls;\n this.controls = controls;\n this.valid =\n errors.length === 0 &&\n controls.reduce((valid, controls) => valid && controlsAllChecked(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 setInitialValue(value) {\n this.refresh('list', {\n controls: value.map((value) => this.valueToControls(value)),\n initialValue: value\n });\n }\n setValue(value) {\n this.refresh('list', {\n controls: value.map((value) => this.valueToControls(value))\n });\n }\n reset() {\n this.refresh('list', {\n controls: this.initialValue.map((value) => this.valueToControls(value))\n });\n }\n push(controls) {\n this.refresh('list', {\n controls: [...this.controls, controls]\n });\n }\n remove(controls) {\n this.refresh('list', {\n controls: this.controls.filter((_controls) => _controls !== controls)\n });\n }\n builder(options) {\n return new RolsterArrayList({\n ...this,\n ...options,\n valueToControls: this.valueToControls\n });\n }\n refresh(action, options) {\n super.refresh(action, options);\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 value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n controls: value.map((value) => options.valueToControls(value)),\n initialValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\nimport { arrayIsValid, controlsToValue, groupAllChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(groups, validators) {\n const errors = validators ? arrayIsValid({ groups, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && groupAllChecked(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 _options = createFormArrayOptions(options, validators);\n const groups = _options.groups || [];\n const initialValue = useRef(groups);\n const [state, setState] = useState({\n ...refactorForValid(groups, _options.validators),\n controls: groups.map(({ controls }) => controls),\n dirty: false,\n dirties: false,\n disabled: false,\n groups,\n touched: false,\n toucheds: false,\n value: groups.map(({ controls }) => controlsToValue(controls)),\n validators: _options.validators\n });\n useEffect(() => {\n state.groups.forEach((group) => {\n group.subscribe(subscriber);\n });\n }, [state.groups]);\n const subscriber = useCallback((action, group) => {\n setState((state) => {\n const groups = state.groups.map((_group) => {\n return _group.uuid === group.uuid ? group : _group;\n });\n return {\n ...state,\n ...refactorForControls(action, state, groups)\n };\n });\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 setValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n }, []);\n const setInitialValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n initialValue.current = groups;\n }, []);\n const push = useCallback((group) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, group], state.validators)\n }));\n }, []);\n const merge = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, ...groups], state.validators)\n }));\n }, []);\n const remove = useCallback(({ uuid }) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(state.groups.filter((group) => group.uuid !== uuid), state.validators)\n }));\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.groups, validators),\n validators\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [state.errors]);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(initialValue.current, state.validators)\n }));\n }, []);\n return {\n ...state,\n disable,\n enable,\n enabled: !state.disabled,\n error: state.errors[0],\n hasError,\n invalid: !state.valid,\n merge,\n pristine: !state.dirty,\n pristines: !state.dirties,\n push,\n remove,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useRef, useState } from 'react';\nfunction errorsInControl(value, validators) {\n return validators ? controlIsValid({ value, validators }) : [];\n}\nfunction useControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n const initialValue = useRef(_options.value);\n const [state, setState] = useState({\n dirty: false,\n disabled: false,\n errors: errorsInControl(_options.value, _options.validators),\n focused: false,\n touched: !!_options.touched,\n value: _options.value,\n validators: _options.validators\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 setInitialValue = useCallback((value) => {\n initialValue.current = value;\n setState((state) => ({\n ...state,\n dirty: true,\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(initialValue.current, state.validators),\n value: initialValue.current,\n touched: false\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [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,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\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 { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid, reduceControlsToArray } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n };\n}\nexport function useFormGroup(options, validators) {\n const _options = createFormGroupOptions(options, validators);\n const { controls } = _options;\n const firstEffects = useRef({\n dirty: true,\n disabledFocused: true,\n touched: true,\n value: true\n });\n const [state, setState] = useState({\n ...refactorForValid(controls, _options.validators),\n controls,\n dirties: controlsAllChecked(controls, 'dirty'),\n dirty: controlsPartialChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n value: controlsToValue(controls),\n validators: _options.validators\n });\n useEffect(() => {\n if (!firstEffects.current.value) {\n setState((state) => ({\n ...state,\n ...refactorForValid(controls, state.validators),\n controls,\n value: controlsToValue(controls)\n }));\n }\n else {\n firstEffects.current.value = false;\n }\n }, reduceControlsToArray(controls, 'value'));\n useEffect(() => {\n if (!firstEffects.current.disabledFocused) {\n setState((state) => ({\n ...state,\n controls\n }));\n }\n else {\n firstEffects.current.disabledFocused = false;\n }\n }, [\n ...reduceControlsToArray(controls, 'disabled'),\n ...reduceControlsToArray(controls, 'focused')\n ]);\n useEffect(() => {\n if (!firstEffects.current.dirty) {\n setState((state) => ({\n ...state,\n controls,\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(controls, 'dirty')\n }));\n }\n else {\n firstEffects.current.dirty = false;\n }\n }, reduceControlsToArray(controls, 'dirty'));\n useEffect(() => {\n if (!firstEffects.current.touched) {\n setState((state) => ({\n ...state,\n controls,\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched')\n }));\n }\n else {\n firstEffects.current.touched = false;\n }\n }, reduceControlsToArray(controls, 'touched'));\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.controls, validators)\n }));\n }, []);\n const reset = useCallback(() => {\n Object.values(controls).forEach((control) => {\n control.reset();\n });\n }, []);\n return {\n ...state,\n error: state.errors[0],\n invalid: !state.valid,\n pristine: !state.dirty,\n pristines: !state.dirties,\n reset,\n setValidators,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-group.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":["controlIsValid","hasError","someErrors","createFormControlOptions","uuid","refactorForValid","groupIsValid","controlsAllChecked","refactorForControls","controlsPartialChecked","controlsToValue","createFormGroupOptions","arrayIsValid","groupAllChecked","createFormArrayOptions","useRef","useState","useEffect","useCallback","rolsterHasError","rolsterSomeErrors","reduceControlsToArray","useMemo"],"mappings":";;;;;;;;;AAGO,MAAM,mBAAmB,CAAC;AACjC,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACjC,QAAQ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AACnC,QAAQ,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AACjD,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,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAClD,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;AAClD,QAAQ,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AACrC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AAC7C,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACrE,KAAK;AACL,IAAI,IAAI,GAAG;AACX,QAAQ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACrE,KAAK;AACL,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACrE,KAAK;AACL,IAAI,eAAe,CAAC,KAAK,EAAE;AAC3B,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE;AACzC,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;AAC1C,kBAAkBA,sBAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxE,kBAAkB,EAAE,CAAC;AACrB,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAClC,gBAAgB,KAAK,EAAE,KAAK;AAC5B,gBAAgB,MAAM;AACtB,gBAAgB,YAAY,EAAE,KAAK;AACnC,gBAAgB,KAAK;AACrB,aAAa,CAAC,CAAC;AACf,SAAS;AACT,KAAK;AACL,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;AAClC,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;AAC1C,kBAAkBA,sBAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxE,kBAAkB,EAAE,CAAC;AACrB,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAClC,gBAAgB,KAAK,EAAE,IAAI;AAC3B,gBAAgB,MAAM;AACtB,gBAAgB,KAAK;AACrB,aAAa,CAAC,CAAC;AACf,SAAS;AACT,KAAK;AACL,IAAI,aAAa,CAAC,UAAU,EAAE;AAC9B,QAAQ,MAAM,MAAM,GAAG,UAAU;AACjC,cAAcA,sBAAc,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/D,cAAc,EAAE,CAAC;AACjB,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,SAAS,CAAC,UAAU,EAAE;AAC1B,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,KAAK;AACL,IAAI,QAAQ,CAAC,GAAG,EAAE;AAClB,QAAQ,OAAOC,gBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,UAAU,CAAC,IAAI,EAAE;AACrB,QAAQ,OAAOC,kBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7C,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;AACtC,cAAcF,sBAAc,CAAC;AAC7B,gBAAgB,KAAK,EAAE,IAAI,CAAC,YAAY;AACxC,gBAAgB,UAAU,EAAE,IAAI,CAAC,UAAU;AAC3C,aAAa,CAAC;AACd,cAAc,EAAE,CAAC;AACjB,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAC9B,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,MAAM;AAClB,YAAY,OAAO,EAAE,KAAK;AAC1B,YAAY,KAAK,EAAE,IAAI,CAAC,YAAY;AACpC,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE;AACpB,QAAQ,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AACnC,KAAK;AACL,IAAI,OAAO,CAAC,OAAO,EAAE;AACrB,QAAQ,OAAO,IAAI,mBAAmB,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAChE,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAC7B,QAAQ,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1E,KAAK;AACL,CAAC;AACD,MAAM,wBAAwB,SAAS,mBAAmB,CAAC;AAC3D,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;AAC9C,QAAQ,MAAM,MAAM,GAAG,UAAU,GAAGA,sBAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAC/E,QAAQ,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AACtC,KAAK;AACL,CAAC;AACD,SAAS,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE;AAClD,IAAI,MAAM,QAAQ,GAAGG,mCAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACnE,IAAI,OAAO,IAAI,wBAAwB,CAAC;AACxC,QAAQ,GAAG,QAAQ;AACnB,QAAQ,YAAY,EAAE,QAAQ,CAAC,KAAK;AACpC,QAAQ,IAAI,EAAEC,OAAI,EAAE;AACpB,KAAK,CAAC,CAAC;AACP,CAAC;AACM,SAAS,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE;AACvD,IAAI,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC;AACM,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE;AACtD,IAAI,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC;AACM,SAAS,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE;AACvD,IAAI,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACpD;;AC7HO,SAAS,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;AAClD,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK;AAC1E,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;AAC5C,YAAY,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;AACpC,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK,EAAE,QAAQ,CAAC,CAAC;AACjB;;ACHA,SAASC,kBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE;AAChD,IAAI,MAAM,MAAM,GAAG,UAAU,GAAGC,oBAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAC5E,IAAI,OAAO;AACX,QAAQ,MAAM;AACd,QAAQ,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAIC,0BAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC3E,KAAK,CAAC;AACN,CAAC;AACD,SAASC,qBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;AACtD,IAAI,QAAQ,MAAM;AAClB,QAAQ,KAAK,SAAS,CAAC;AACvB,QAAQ,KAAK,SAAS;AACtB,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAEC,8BAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC;AACpE,gBAAgB,QAAQ,EAAEF,0BAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC;AACjE,aAAa,CAAC;AACd,QAAQ,KAAK,YAAY;AACzB,YAAY,OAAOF,kBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAChE,QAAQ,KAAK,OAAO;AACpB,YAAY,OAAO;AACnB,gBAAgB,GAAGA,kBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;AAC/D,gBAAgB,KAAK,EAAEI,8BAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAChE,gBAAgB,OAAO,EAAEF,0BAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC9D,gBAAgB,OAAO,EAAEE,8BAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC;AACpE,gBAAgB,QAAQ,EAAEF,0BAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC;AACjE,gBAAgB,KAAK,EAAEG,uBAAe,CAAC,QAAQ,CAAC;AAChD,aAAa,CAAC;AACd,QAAQ,KAAK,MAAM,CAAC;AACpB,QAAQ,KAAK,OAAO;AACpB,YAAY,OAAO;AACnB,gBAAgB,GAAGL,kBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;AAC/D,gBAAgB,KAAK,EAAEI,8BAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAChE,gBAAgB,OAAO,EAAEF,0BAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC9D,gBAAgB,KAAK,EAAEG,uBAAe,CAAC,QAAQ,CAAC;AAChD,aAAa,CAAC;AACd,QAAQ;AACR,YAAY,OAAO,EAAE,CAAC;AACtB,KAAK;AACL,CAAC;AACM,MAAM,iBAAiB,CAAC;AAC/B,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACjC,QAAQ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACzC,QAAQ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AACnC,QAAQ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACzC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;AACrC,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACzC,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACzC,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC3C,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;AACrC,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;AAClD,QAAQ,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AACrC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AAC7C,QAAQ,IAAI,CAAC,iBAAiB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACtD,YAAY,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpE,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACjC,gBAAgB,GAAGF,qBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC9D,gBAAgB,QAAQ;AACxB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC;AACV,KAAK;AACL,IAAI,SAAS,CAAC,UAAU,EAAE;AAC1B,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAC1D,YAAY,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACtD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,aAAa,CAAC,UAAU,EAAE;AAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACnC,YAAY,GAAGH,kBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC1D,YAAY,UAAU;AACtB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAC7B,QAAQ,IAAI,CAAC,UAAU;AACvB,YAAY,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;AACpF,KAAK;AACL,CAAC;AACD,MAAM,sBAAsB,SAAS,iBAAiB,CAAC;AACvD,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;AACjD,QAAQ,MAAM,MAAM,GAAG,UAAU,GAAGC,oBAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAChF,QAAQ,KAAK,CAAC;AACd,YAAY,GAAG,OAAO;AACtB,YAAY,MAAM;AAClB,YAAY,KAAK,EAAEI,uBAAe,CAAC,QAAQ,CAAC;AAC5C,YAAY,OAAO,EAAEH,0BAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC1D,YAAY,KAAK,EAAEE,8BAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC5D,YAAY,OAAO,EAAEA,8BAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC;AAChE,YAAY,QAAQ,EAAEF,0BAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC7D,YAAY,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAIA,0BAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC/E,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACM,SAAS,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;AACpD,IAAI,OAAO,IAAI,sBAAsB,CAAC;AACtC,QAAQ,GAAGI,iCAAsB,CAAC,OAAO,EAAE,UAAU,CAAC;AACtD,QAAQ,IAAI,EAAEP,OAAI,EAAE;AACpB,KAAK,CAAC,CAAC;AACP;;AC3GA,MAAM,gBAAgB,SAAS,mBAAmB,CAAC;AACnD,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;AAClE,QAAQ,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAKM,uBAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5E,QAAQ,MAAM,MAAM,GAAG,UAAU,GAAGV,sBAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAC/E,QAAQ,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AAC/C,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,KAAK;AAClB,YAAY,MAAM,CAAC,MAAM,KAAK,CAAC;AAC/B,gBAAgB,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,KAAK,IAAIO,0BAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AAC3G,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;AAClD,QAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,KAAK;AAC5C,YAAY,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC3C,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,eAAe,CAAC,KAAK,EAAE;AAC3B,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7B,YAAY,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACvE,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7B,YAAY,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACvE,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7B,YAAY,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACnF,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7B,YAAY,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAClD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,MAAM,CAAC,QAAQ,EAAE;AACrB,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7B,YAAY,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,SAAS,KAAK,QAAQ,CAAC;AACjF,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,CAAC,OAAO,EAAE;AACrB,QAAQ,OAAO,IAAI,gBAAgB,CAAC;AACpC,YAAY,GAAG,IAAI;AACnB,YAAY,GAAG,OAAO;AACtB,YAAY,eAAe,EAAE,IAAI,CAAC,eAAe;AACjD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAC7B,QAAQ,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,KAAK;AACL,IAAI,UAAU,CAAC,aAAa,EAAE;AAC9B,QAAQ,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAC1D,YAAY,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,QAAQ,KAAK;AACpD,gBAAgB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,aAAa,KAAK,SAAS;AACnG,sBAAsB,SAAS;AAC/B,sBAAsB,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/D,gBAAgB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;AACnE,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACM,SAAS,aAAa,CAAC,OAAO,EAAE;AACvC,IAAI,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;AACvC,IAAI,OAAO,IAAI,gBAAgB,CAAC;AAChC,QAAQ,GAAG,OAAO;AAClB,QAAQ,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACtE,QAAQ,YAAY,EAAE,KAAK;AAC3B,QAAQ,IAAI,EAAEH,OAAI,EAAE;AACpB,KAAK,CAAC,CAAC;AACP;;ACzEA,SAASC,kBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE;AAC9C,IAAI,MAAM,MAAM,GAAG,UAAU,GAAGO,oBAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAC1E,IAAI,OAAO;AACX,QAAQ,MAAM;AACd,QAAQ,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAIC,uBAAe,CAAC,MAAM,EAAE,OAAO,CAAC;AACtE,KAAK,CAAC;AACN,CAAC;AACD,SAAS,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE;AAC/C,IAAI,OAAO;AACX,QAAQ,GAAGR,kBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC;AAC/C,QAAQ,MAAM;AACd,QAAQ,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,QAAQ,CAAC;AACxD,QAAQ,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAKK,uBAAe,CAAC,QAAQ,CAAC,CAAC;AACtE,KAAK,CAAC;AACN,CAAC;AACD,SAAS,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AACpD,IAAI,QAAQ,MAAM;AAClB,QAAQ,KAAK,YAAY;AACzB,YAAY,OAAOL,kBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC9D,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,MAAM,CAAC;AACpB,QAAQ,KAAK,OAAO;AACpB,YAAY,OAAO,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC/D,QAAQ;AACR,YAAY,OAAO,EAAE,MAAM,EAAE,CAAC;AAC9B,KAAK;AACL,CAAC;AACM,SAAS,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE;AAClD,IAAI,MAAM,QAAQ,GAAGS,iCAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACjE,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;AACzC,IAAI,MAAM,YAAY,GAAGC,YAAM,CAAC,MAAM,CAAC,CAAC;AACxC,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,cAAQ,CAAC;AACvC,QAAQ,GAAGX,kBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC;AACxD,QAAQ,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,QAAQ,CAAC;AACxD,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAKK,uBAAe,CAAC,QAAQ,CAAC,CAAC;AACtE,QAAQ,UAAU,EAAE,QAAQ,CAAC,UAAU;AACvC,KAAK,CAAC,CAAC;AACP,IAAIO,eAAS,CAAC,MAAM;AACpB,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,MAAM,CAAC,CAAC,CAAC;AACvB,IAAI,MAAM,UAAU,GAAGC,iBAAW,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK;AACtD,QAAQ,QAAQ,CAAC,CAAC,KAAK,KAAK;AAC5B,YAAY,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK;AACxD,gBAAgB,OAAO,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACnE,aAAa,CAAC,CAAC;AACf,YAAY,OAAO;AACnB,gBAAgB,GAAG,KAAK;AACxB,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AAC7D,aAAa,CAAC;AACd,SAAS,CAAC,CAAC;AACX,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,OAAO,GAAGA,iBAAW,CAAC,MAAM;AACtC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,MAAM,GAAGA,iBAAW,CAAC,MAAM;AACrC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7D,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,QAAQ,GAAGA,iBAAW,CAAC,CAAC,MAAM,KAAK;AAC7C,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;AAC1D,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,eAAe,GAAGA,iBAAW,CAAC,CAAC,MAAM,KAAK;AACpD,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;AAC1D,SAAS,CAAC,CAAC,CAAC;AACZ,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC;AACtC,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,IAAI,GAAGA,iBAAW,CAAC,CAAC,KAAK,KAAK;AACxC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,GAAG,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;AAC5E,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,KAAK,GAAGA,iBAAW,CAAC,CAAC,MAAM,KAAK;AAC1C,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,GAAG,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;AAChF,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,MAAM,GAAGA,iBAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK;AAC7C,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;AACvG,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,aAAa,GAAGA,iBAAW,CAAC,CAAC,UAAU,KAAK;AACtD,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,GAAGb,kBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC;AACzD,YAAY,UAAU;AACtB,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,QAAQ,GAAGa,iBAAW,CAAC,CAAC,GAAG,KAAKC,gBAAe,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9F,IAAI,MAAM,UAAU,GAAGD,iBAAW,CAAC,CAAC,IAAI,KAAKE,kBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACpG,IAAI,MAAM,KAAK,GAAGF,iBAAW,CAAC,MAAM;AACpC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;AACxE,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,OAAO;AACX,QAAQ,GAAG,KAAK;AAChB,QAAQ,OAAO;AACf,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ;AAChC,QAAQ,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,QAAQ,QAAQ;AAChB,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK;AAC7B,QAAQ,KAAK;AACb,QAAQ,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK;AAC9B,QAAQ,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO;AACjC,QAAQ,IAAI;AACZ,QAAQ,MAAM;AACd,QAAQ,KAAK;AACb,QAAQ,eAAe;AACvB,QAAQ,aAAa;AACrB,QAAQ,QAAQ;AAChB,QAAQ,UAAU;AAClB,QAAQ,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO;AACjC,QAAQ,UAAU,EAAE,CAAC,KAAK,CAAC,QAAQ;AACnC,QAAQ,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK;AAC5C,KAAK,CAAC;AACN;;ACrIA,SAAS,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE;AAC5C,IAAI,OAAO,UAAU,GAAGlB,sBAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AACnE,CAAC;AACD,SAAS,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE;AACzC,IAAI,MAAM,QAAQ,GAAGG,mCAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACnE,IAAI,MAAM,YAAY,GAAGY,YAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,cAAQ,CAAC;AACvC,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC;AACpE,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO;AACnC,QAAQ,KAAK,EAAE,QAAQ,CAAC,KAAK;AAC7B,QAAQ,UAAU,EAAE,QAAQ,CAAC,UAAU;AACvC,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,UAAU,GAAGD,YAAM,CAAC,IAAI,CAAC,CAAC;AACpC,IAAI,MAAM,KAAK,GAAGG,iBAAW,CAAC,MAAM;AACpC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3D,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,IAAI,GAAGA,iBAAW,CAAC,MAAM;AACnC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3E,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,OAAO,GAAGA,iBAAW,CAAC,MAAM;AACtC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,MAAM,GAAGA,iBAAW,CAAC,MAAM;AACrC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7D,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,KAAK,GAAGA,iBAAW,CAAC,MAAM;AACpC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3D,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,eAAe,GAAGA,iBAAW,CAAC,CAAC,KAAK,KAAK;AACnD,QAAQ,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;AACrC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,KAAK,EAAE,IAAI;AACvB,YAAY,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;AAC5D,YAAY,KAAK;AACjB,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,QAAQ,GAAGA,iBAAW,CAAC,CAAC,KAAK,KAAK;AAC5C,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,KAAK,EAAE,IAAI;AACvB,YAAY,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;AAC5D,YAAY,KAAK;AACjB,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,aAAa,GAAGA,iBAAW,CAAC,CAAC,UAAU,KAAK;AACtD,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC;AAC5D,YAAY,UAAU;AACtB,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,KAAK,GAAGA,iBAAW,CAAC,MAAM;AACpC,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;AAC3E,YAAY,KAAK,EAAE,YAAY,CAAC,OAAO;AACvC,YAAY,OAAO,EAAE,KAAK;AAC1B,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,QAAQ,GAAGA,iBAAW,CAAC,CAAC,GAAG,KAAKC,gBAAe,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9F,IAAI,MAAM,UAAU,GAAGD,iBAAW,CAAC,CAAC,IAAI,KAAKE,kBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACpG,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5C,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,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,OAAO,EAAE,CAAC,KAAK;AACvB,QAAQ,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK;AAC9B,QAAQ,KAAK;AACb,QAAQ,eAAe;AACvB,QAAQ,aAAa;AACrB,QAAQ,QAAQ;AAChB,QAAQ,UAAU;AAClB,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;;ACnGA,SAAS,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE;AAChD,IAAI,MAAM,MAAM,GAAG,UAAU,GAAGd,oBAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;AAC5E,IAAI,OAAO;AACX,QAAQ,MAAM;AACd,QAAQ,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAIC,0BAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC3E,KAAK,CAAC;AACN,CAAC;AACM,SAAS,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE;AAClD,IAAI,MAAM,QAAQ,GAAGI,iCAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACjE,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;AAClC,IAAI,MAAM,YAAY,GAAGI,YAAM,CAAC;AAChC,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,eAAe,EAAE,IAAI;AAC7B,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,KAAK,EAAE,IAAI;AACnB,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,cAAQ,CAAC;AACvC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;AAC1D,QAAQ,QAAQ;AAChB,QAAQ,OAAO,EAAET,0BAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;AACtD,QAAQ,KAAK,EAAEE,8BAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC;AACxD,QAAQ,OAAO,EAAEA,8BAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC5D,QAAQ,QAAQ,EAAEF,0BAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC;AACzD,QAAQ,KAAK,EAAEG,uBAAe,CAAC,QAAQ,CAAC;AACxC,QAAQ,UAAU,EAAE,QAAQ,CAAC,UAAU;AACvC,KAAK,CAAC,CAAC;AACP,IAAIO,eAAS,CAAC,MAAM;AACpB,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;AACzC,YAAY,QAAQ,CAAC,CAAC,KAAK,MAAM;AACjC,gBAAgB,GAAG,KAAK;AACxB,gBAAgB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;AAC/D,gBAAgB,QAAQ;AACxB,gBAAgB,KAAK,EAAEP,uBAAe,CAAC,QAAQ,CAAC;AAChD,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS;AACT,aAAa;AACb,YAAY,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/C,SAAS;AACT,KAAK,EAAEW,6BAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACjD,IAAIJ,eAAS,CAAC,MAAM;AACpB,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE;AACnD,YAAY,QAAQ,CAAC,CAAC,KAAK,MAAM;AACjC,gBAAgB,GAAG,KAAK;AACxB,gBAAgB,QAAQ;AACxB,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS;AACT,aAAa;AACb,YAAY,YAAY,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;AACzD,SAAS;AACT,KAAK,EAAE;AACP,QAAQ,GAAGI,6BAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC;AACtD,QAAQ,GAAGA,6BAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC;AACrD,KAAK,CAAC,CAAC;AACP,IAAIJ,eAAS,CAAC,MAAM;AACpB,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;AACzC,YAAY,QAAQ,CAAC,CAAC,KAAK,MAAM;AACjC,gBAAgB,GAAG,KAAK;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,KAAK,EAAER,8BAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAChE,gBAAgB,OAAO,EAAEF,0BAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC9D,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS;AACT,aAAa;AACb,YAAY,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/C,SAAS;AACT,KAAK,EAAEc,6BAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACjD,IAAIJ,eAAS,CAAC,MAAM;AACpB,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;AAC3C,YAAY,QAAQ,CAAC,CAAC,KAAK,MAAM;AACjC,gBAAgB,GAAG,KAAK;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,OAAO,EAAER,8BAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC;AACpE,gBAAgB,QAAQ,EAAEF,0BAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC;AACjE,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS;AACT,aAAa;AACb,YAAY,YAAY,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;AACjD,SAAS;AACT,KAAK,EAAEc,6BAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACnD,IAAI,MAAM,aAAa,GAAGH,iBAAW,CAAC,CAAC,UAAU,KAAK;AACtD,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AAC7B,YAAY,GAAG,KAAK;AACpB,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC3D,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,MAAM,KAAK,GAAGA,iBAAW,CAAC,MAAM;AACpC,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,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,OAAO;AACX,QAAQ,GAAG,KAAK;AAChB,QAAQ,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK;AAC7B,QAAQ,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK;AAC9B,QAAQ,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO;AACjC,QAAQ,KAAK;AACb,QAAQ,aAAa;AACrB,QAAQ,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO;AACjC,QAAQ,UAAU,EAAE,CAAC,KAAK,CAAC,QAAQ;AACnC,QAAQ,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK;AAC5C,KAAK,CAAC;AACN;;ACxGO,SAAS,sBAAsB,CAAC,QAAQ,EAAE;AACjD,IAAI,OAAOG,6BAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AACM,SAAS,mBAAmB,CAAC,KAAK,EAAE;AAC3C,IAAI,OAAO,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAClD;;ACLO,SAAS,uBAAuB,CAAC,EAAE,SAAS,EAAE,EAAE;AACvD,IAAI,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,GAAGL,cAAQ,EAAE,CAAC;AAClD,IAAI,MAAM,SAAS,GAAGM,aAAO,CAAC,MAAM;AACpC,QAAQ,QAAQ,UAAU;AAC1B,YAAY,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;AAC3E,KAAK,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AACtC,IAAI,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACvC;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../esm/form-array/form-array-control.js","../esm/utilities.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-group.js","../esm/helpers.js","../esm/hooks.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, 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.value = options.value;\n this.initialValue = options.initialValue;\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 setInitialValue(value) {\n if (value !== this.initialValue) {\n const errors = this.validators\n ? controlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', {\n dirty: false,\n errors,\n initialValue: value,\n value\n });\n }\n }\n setValue(value) {\n if (value !== this.value) {\n const errors = this.validators\n ? controlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', {\n dirty: true,\n errors,\n value\n });\n }\n }\n setValidators(validators) {\n const errors = validators\n ? controlIsValid({ 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 ? controlIsValid({\n value: this.initialValue,\n validators: this.validators\n })\n : [];\n this.refresh('reset', {\n dirty: false,\n errors,\n touched: false,\n value: this.initialValue\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 && this.subscriber(action, this.builder(options));\n }\n}\nclass ReactRolsterArrayControl extends RolsterArrayControl {\n constructor(options) {\n const { value, validators } = options;\n const errors = validators ? controlIsValid({ value, validators }) : [];\n super({ ...options, errors });\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n return new ReactRolsterArrayControl({\n ..._options,\n initialValue: _options.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=utilities.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from '../utilities';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n };\n}\nfunction refactorForControls(action, group, controls) {\n switch (action) {\n case 'focused':\n case 'touched':\n return {\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched')\n };\n case 'validators':\n return refactorForValid(controls, group.validators);\n case 'reset':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n value: controlsToValue(controls)\n };\n case 'list':\n case 'value':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(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 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 ? groupIsValid({ controls, validators }) : [];\n super({\n ...options,\n errors,\n value: controlsToValue(controls),\n dirties: controlsAllChecked(controls, 'dirty'),\n dirty: controlsPartialChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n });\n }\n}\nfunction groupIsOptions(options) {\n return typeof options === 'object' && 'controls' in options;\n}\nexport function formArrayGroup(options, validators) {\n const groupUuid = groupIsOptions(options) ? options.uuid || uuid() : uuid();\n return new ReactRolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: groupUuid\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlIsValid, controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from '../utilities';\nimport { RolsterArrayControl } from './form-array-control';\nclass RolsterArrayList extends RolsterArrayControl {\n constructor(options) {\n const { controls, valueToControls, validators } = options;\n const value = controls.map((controls) => controlsToValue(controls));\n const errors = validators ? controlIsValid({ value, validators }) : [];\n super({ ...options, errors, value });\n this.valueToControls = valueToControls;\n this.controls = controls;\n this.valid =\n errors.length === 0 &&\n controls.reduce((valid, controls) => valid && controlsAllChecked(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 setInitialValue(value) {\n this.refresh('list', {\n controls: value.map((value) => this.valueToControls(value)),\n initialValue: value\n });\n }\n setValue(value) {\n this.refresh('list', {\n controls: value.map((value) => this.valueToControls(value))\n });\n }\n reset() {\n this.refresh('list', {\n controls: this.initialValue.map((value) => this.valueToControls(value))\n });\n }\n push(controls) {\n this.refresh('list', {\n controls: [...this.controls, controls]\n });\n }\n remove(controls) {\n this.refresh('list', {\n controls: this.controls.filter((_controls) => _controls !== controls)\n });\n }\n builder(options) {\n return new RolsterArrayList({\n ...this,\n ...options,\n valueToControls: this.valueToControls\n });\n }\n refresh(action, options) {\n super.refresh(action, options);\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 value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n controls: value.map((value) => options.valueToControls(value)),\n initialValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\nimport { arrayIsValid, controlsToValue, groupAllChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(groups, validators) {\n const errors = validators ? arrayIsValid({ groups, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && groupAllChecked(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 _options = createFormArrayOptions(options, validators);\n const groups = _options.groups || [];\n const _value = useRef(groups);\n const mapGroups = useRef(new Map());\n const [state, setState] = useState({\n ...refactorForValid(groups, _options.validators),\n controls: groups.map(({ controls }) => controls),\n dirty: false,\n dirties: false,\n disabled: false,\n groups,\n touched: false,\n toucheds: false,\n value: groups.map(({ controls }) => controlsToValue(controls)),\n validators: _options.validators\n });\n useEffect(() => {\n mapGroups.current.clear();\n state.groups.forEach((group) => {\n mapGroups.current.set(group.uuid, group);\n group.subscribe(subscriber);\n });\n }, [state.groups]);\n const subscriber = useCallback((action, group) => {\n setState((state) => {\n const groups = state.groups.map((_group) => {\n return _group.uuid === group.uuid ? group : _group;\n });\n return {\n ...state,\n ...refactorForControls(action, state, groups)\n };\n });\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 setValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n }, []);\n const setInitialValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n _value.current = groups;\n }, []);\n const push = useCallback((group) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, group], state.validators)\n }));\n }, []);\n const merge = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, ...groups], state.validators)\n }));\n }, []);\n const remove = useCallback(({ 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 mapGroups.current.get(uuid);\n }, [state.groups]);\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.groups, validators),\n validators\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [state.errors]);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(_value.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,\n invalid: !state.valid,\n merge,\n pristine: !state.dirty,\n pristines: !state.dirties,\n push,\n remove,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useRef, useState } from 'react';\nfunction errorsInControl(value, validators) {\n return validators ? controlIsValid({ value, validators }) : [];\n}\nfunction useControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n const initialValue = useRef(_options.value);\n const [state, setState] = useState({\n dirty: false,\n disabled: false,\n errors: errorsInControl(_options.value, _options.validators),\n focused: false,\n touched: !!_options.touched,\n value: _options.value,\n validators: _options.validators\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 setInitialValue = useCallback((value) => {\n initialValue.current = value;\n setState((state) => ({\n ...state,\n dirty: true,\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(initialValue.current, state.validators),\n value: initialValue.current,\n touched: false\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [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,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\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 { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid, reduceControlsToArray } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n };\n}\nexport function useFormGroup(options, validators) {\n const _options = createFormGroupOptions(options, validators);\n const { controls } = _options;\n const firstEffects = useRef({\n dirty: true,\n disabledFocused: true,\n touched: true,\n value: true\n });\n const [state, setState] = useState({\n ...refactorForValid(controls, _options.validators),\n controls,\n dirties: controlsAllChecked(controls, 'dirty'),\n dirty: controlsPartialChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n value: controlsToValue(controls),\n validators: _options.validators\n });\n useEffect(() => {\n if (!firstEffects.current.value) {\n setState((state) => ({\n ...state,\n ...refactorForValid(controls, state.validators),\n controls,\n value: controlsToValue(controls)\n }));\n }\n else {\n firstEffects.current.value = false;\n }\n }, reduceControlsToArray(controls, 'value'));\n useEffect(() => {\n if (!firstEffects.current.disabledFocused) {\n setState((state) => ({\n ...state,\n controls\n }));\n }\n else {\n firstEffects.current.disabledFocused = false;\n }\n }, [\n ...reduceControlsToArray(controls, 'disabled'),\n ...reduceControlsToArray(controls, 'focused')\n ]);\n useEffect(() => {\n if (!firstEffects.current.dirty) {\n setState((state) => ({\n ...state,\n controls,\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(controls, 'dirty')\n }));\n }\n else {\n firstEffects.current.dirty = false;\n }\n }, reduceControlsToArray(controls, 'dirty'));\n useEffect(() => {\n if (!firstEffects.current.touched) {\n setState((state) => ({\n ...state,\n controls,\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched')\n }));\n }\n else {\n firstEffects.current.touched = false;\n }\n }, reduceControlsToArray(controls, 'touched'));\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.controls, validators)\n }));\n }, []);\n const reset = useCallback(() => {\n Object.values(controls).forEach((control) => {\n control.reset();\n });\n }, []);\n return {\n ...state,\n error: state.errors[0],\n invalid: !state.valid,\n pristine: !state.dirty,\n pristines: !state.dirties,\n reset,\n setValidators,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-group.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":["controlIsValid","hasError","someErrors","createFormControlOptions","uuid","refactorForValid","groupIsValid","controlsAllChecked","refactorForControls","controlsPartialChecked","controlsToValue","createFormGroupOptions","arrayIsValid","groupAllChecked","createFormArrayOptions","useRef","useState","useEffect","useCallback","rolsterHasError","rolsterSomeErrors","reduceControlsToArray","useMemo"],"mappings":"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"}
package/dist/es/index.js CHANGED
@@ -238,10 +238,14 @@ class ReactRolsterArrayGroup extends RolsterArrayGroup {
238
238
  });
239
239
  }
240
240
  }
241
+ function groupIsOptions(options) {
242
+ return typeof options === 'object' && 'controls' in options;
243
+ }
241
244
  function formArrayGroup(options, validators) {
245
+ const groupUuid = groupIsOptions(options) ? options.uuid || v4() : v4();
242
246
  return new ReactRolsterArrayGroup({
243
247
  ...createFormGroupOptions(options, validators),
244
- uuid: v4()
248
+ uuid: groupUuid
245
249
  });
246
250
  }
247
251
 
@@ -349,7 +353,8 @@ function refactorForControls(action, state, groups) {
349
353
  function useFormArray(options, validators) {
350
354
  const _options = createFormArrayOptions(options, validators);
351
355
  const groups = _options.groups || [];
352
- const initialValue = useRef(groups);
356
+ const _value = useRef(groups);
357
+ const mapGroups = useRef(new Map());
353
358
  const [state, setState] = useState({
354
359
  ...refactorForValid$1(groups, _options.validators),
355
360
  controls: groups.map(({ controls }) => controls),
@@ -363,7 +368,9 @@ function useFormArray(options, validators) {
363
368
  validators: _options.validators
364
369
  });
365
370
  useEffect(() => {
371
+ mapGroups.current.clear();
366
372
  state.groups.forEach((group) => {
373
+ mapGroups.current.set(group.uuid, group);
367
374
  group.subscribe(subscriber);
368
375
  });
369
376
  }, [state.groups]);
@@ -395,7 +402,7 @@ function useFormArray(options, validators) {
395
402
  ...state,
396
403
  ...refactorForGroups(groups, state.validators)
397
404
  }));
398
- initialValue.current = groups;
405
+ _value.current = groups;
399
406
  }, []);
400
407
  const push = useCallback((group) => {
401
408
  setState((state) => ({
@@ -415,6 +422,9 @@ function useFormArray(options, validators) {
415
422
  ...refactorForGroups(state.groups.filter((group) => group.uuid !== uuid), state.validators)
416
423
  }));
417
424
  }, []);
425
+ const findByUuid = useCallback((uuid) => {
426
+ return mapGroups.current.get(uuid);
427
+ }, [state.groups]);
418
428
  const setValidators = useCallback((validators) => {
419
429
  setState((state) => ({
420
430
  ...state,
@@ -427,7 +437,7 @@ function useFormArray(options, validators) {
427
437
  const reset = useCallback(() => {
428
438
  setState((state) => ({
429
439
  ...state,
430
- ...refactorForGroups(initialValue.current, state.validators)
440
+ ...refactorForGroups(_value.current, state.validators)
431
441
  }));
432
442
  }, []);
433
443
  return {
@@ -436,6 +446,7 @@ function useFormArray(options, validators) {
436
446
  enable,
437
447
  enabled: !state.disabled,
438
448
  error: state.errors[0],
449
+ findByUuid,
439
450
  hasError: hasError$1,
440
451
  invalid: !state.valid,
441
452
  merge,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../esm/form-array/form-array-control.js","../esm/utilities.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-group.js","../esm/helpers.js","../esm/hooks.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, 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.value = options.value;\n this.initialValue = options.initialValue;\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 setInitialValue(value) {\n if (value !== this.initialValue) {\n const errors = this.validators\n ? controlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', {\n dirty: false,\n errors,\n initialValue: value,\n value\n });\n }\n }\n setValue(value) {\n if (value !== this.value) {\n const errors = this.validators\n ? controlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', {\n dirty: true,\n errors,\n value\n });\n }\n }\n setValidators(validators) {\n const errors = validators\n ? controlIsValid({ 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 ? controlIsValid({\n value: this.initialValue,\n validators: this.validators\n })\n : [];\n this.refresh('reset', {\n dirty: false,\n errors,\n touched: false,\n value: this.initialValue\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 && this.subscriber(action, this.builder(options));\n }\n}\nclass ReactRolsterArrayControl extends RolsterArrayControl {\n constructor(options) {\n const { value, validators } = options;\n const errors = validators ? controlIsValid({ value, validators }) : [];\n super({ ...options, errors });\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n return new ReactRolsterArrayControl({\n ..._options,\n initialValue: _options.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=utilities.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from '../utilities';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n };\n}\nfunction refactorForControls(action, group, controls) {\n switch (action) {\n case 'focused':\n case 'touched':\n return {\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched')\n };\n case 'validators':\n return refactorForValid(controls, group.validators);\n case 'reset':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n value: controlsToValue(controls)\n };\n case 'list':\n case 'value':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(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 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 ? groupIsValid({ controls, validators }) : [];\n super({\n ...options,\n errors,\n value: controlsToValue(controls),\n dirties: controlsAllChecked(controls, 'dirty'),\n dirty: controlsPartialChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n });\n }\n}\nexport function formArrayGroup(options, validators) {\n return new ReactRolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlIsValid, controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from '../utilities';\nimport { RolsterArrayControl } from './form-array-control';\nclass RolsterArrayList extends RolsterArrayControl {\n constructor(options) {\n const { controls, valueToControls, validators } = options;\n const value = controls.map((controls) => controlsToValue(controls));\n const errors = validators ? controlIsValid({ value, validators }) : [];\n super({ ...options, errors, value });\n this.valueToControls = valueToControls;\n this.controls = controls;\n this.valid =\n errors.length === 0 &&\n controls.reduce((valid, controls) => valid && controlsAllChecked(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 setInitialValue(value) {\n this.refresh('list', {\n controls: value.map((value) => this.valueToControls(value)),\n initialValue: value\n });\n }\n setValue(value) {\n this.refresh('list', {\n controls: value.map((value) => this.valueToControls(value))\n });\n }\n reset() {\n this.refresh('list', {\n controls: this.initialValue.map((value) => this.valueToControls(value))\n });\n }\n push(controls) {\n this.refresh('list', {\n controls: [...this.controls, controls]\n });\n }\n remove(controls) {\n this.refresh('list', {\n controls: this.controls.filter((_controls) => _controls !== controls)\n });\n }\n builder(options) {\n return new RolsterArrayList({\n ...this,\n ...options,\n valueToControls: this.valueToControls\n });\n }\n refresh(action, options) {\n super.refresh(action, options);\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 value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n controls: value.map((value) => options.valueToControls(value)),\n initialValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\nimport { arrayIsValid, controlsToValue, groupAllChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(groups, validators) {\n const errors = validators ? arrayIsValid({ groups, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && groupAllChecked(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 _options = createFormArrayOptions(options, validators);\n const groups = _options.groups || [];\n const initialValue = useRef(groups);\n const [state, setState] = useState({\n ...refactorForValid(groups, _options.validators),\n controls: groups.map(({ controls }) => controls),\n dirty: false,\n dirties: false,\n disabled: false,\n groups,\n touched: false,\n toucheds: false,\n value: groups.map(({ controls }) => controlsToValue(controls)),\n validators: _options.validators\n });\n useEffect(() => {\n state.groups.forEach((group) => {\n group.subscribe(subscriber);\n });\n }, [state.groups]);\n const subscriber = useCallback((action, group) => {\n setState((state) => {\n const groups = state.groups.map((_group) => {\n return _group.uuid === group.uuid ? group : _group;\n });\n return {\n ...state,\n ...refactorForControls(action, state, groups)\n };\n });\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 setValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n }, []);\n const setInitialValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n initialValue.current = groups;\n }, []);\n const push = useCallback((group) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, group], state.validators)\n }));\n }, []);\n const merge = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, ...groups], state.validators)\n }));\n }, []);\n const remove = useCallback(({ uuid }) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(state.groups.filter((group) => group.uuid !== uuid), state.validators)\n }));\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.groups, validators),\n validators\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [state.errors]);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(initialValue.current, state.validators)\n }));\n }, []);\n return {\n ...state,\n disable,\n enable,\n enabled: !state.disabled,\n error: state.errors[0],\n hasError,\n invalid: !state.valid,\n merge,\n pristine: !state.dirty,\n pristines: !state.dirties,\n push,\n remove,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useRef, useState } from 'react';\nfunction errorsInControl(value, validators) {\n return validators ? controlIsValid({ value, validators }) : [];\n}\nfunction useControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n const initialValue = useRef(_options.value);\n const [state, setState] = useState({\n dirty: false,\n disabled: false,\n errors: errorsInControl(_options.value, _options.validators),\n focused: false,\n touched: !!_options.touched,\n value: _options.value,\n validators: _options.validators\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 setInitialValue = useCallback((value) => {\n initialValue.current = value;\n setState((state) => ({\n ...state,\n dirty: true,\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(initialValue.current, state.validators),\n value: initialValue.current,\n touched: false\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [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,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\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 { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid, reduceControlsToArray } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n };\n}\nexport function useFormGroup(options, validators) {\n const _options = createFormGroupOptions(options, validators);\n const { controls } = _options;\n const firstEffects = useRef({\n dirty: true,\n disabledFocused: true,\n touched: true,\n value: true\n });\n const [state, setState] = useState({\n ...refactorForValid(controls, _options.validators),\n controls,\n dirties: controlsAllChecked(controls, 'dirty'),\n dirty: controlsPartialChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n value: controlsToValue(controls),\n validators: _options.validators\n });\n useEffect(() => {\n if (!firstEffects.current.value) {\n setState((state) => ({\n ...state,\n ...refactorForValid(controls, state.validators),\n controls,\n value: controlsToValue(controls)\n }));\n }\n else {\n firstEffects.current.value = false;\n }\n }, reduceControlsToArray(controls, 'value'));\n useEffect(() => {\n if (!firstEffects.current.disabledFocused) {\n setState((state) => ({\n ...state,\n controls\n }));\n }\n else {\n firstEffects.current.disabledFocused = false;\n }\n }, [\n ...reduceControlsToArray(controls, 'disabled'),\n ...reduceControlsToArray(controls, 'focused')\n ]);\n useEffect(() => {\n if (!firstEffects.current.dirty) {\n setState((state) => ({\n ...state,\n controls,\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(controls, 'dirty')\n }));\n }\n else {\n firstEffects.current.dirty = false;\n }\n }, reduceControlsToArray(controls, 'dirty'));\n useEffect(() => {\n if (!firstEffects.current.touched) {\n setState((state) => ({\n ...state,\n controls,\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched')\n }));\n }\n else {\n firstEffects.current.touched = false;\n }\n }, reduceControlsToArray(controls, 'touched'));\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.controls, validators)\n }));\n }, []);\n const reset = useCallback(() => {\n Object.values(controls).forEach((control) => {\n control.reset();\n });\n }, []);\n return {\n ...state,\n error: state.errors[0],\n invalid: !state.valid,\n pristine: !state.dirty,\n pristines: !state.dirties,\n reset,\n setValidators,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-group.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":["uuid","refactorForValid","refactorForControls","hasError","rolsterHasError","someErrors","rolsterSomeErrors"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../esm/form-array/form-array-control.js","../esm/utilities.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-group.js","../esm/helpers.js","../esm/hooks.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, 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.value = options.value;\n this.initialValue = options.initialValue;\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 setInitialValue(value) {\n if (value !== this.initialValue) {\n const errors = this.validators\n ? controlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', {\n dirty: false,\n errors,\n initialValue: value,\n value\n });\n }\n }\n setValue(value) {\n if (value !== this.value) {\n const errors = this.validators\n ? controlIsValid({ value, validators: this.validators })\n : [];\n this.refresh('value', {\n dirty: true,\n errors,\n value\n });\n }\n }\n setValidators(validators) {\n const errors = validators\n ? controlIsValid({ 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 ? controlIsValid({\n value: this.initialValue,\n validators: this.validators\n })\n : [];\n this.refresh('reset', {\n dirty: false,\n errors,\n touched: false,\n value: this.initialValue\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 && this.subscriber(action, this.builder(options));\n }\n}\nclass ReactRolsterArrayControl extends RolsterArrayControl {\n constructor(options) {\n const { value, validators } = options;\n const errors = validators ? controlIsValid({ value, validators }) : [];\n super({ ...options, errors });\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n return new ReactRolsterArrayControl({\n ..._options,\n initialValue: _options.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=utilities.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from '../utilities';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n };\n}\nfunction refactorForControls(action, group, controls) {\n switch (action) {\n case 'focused':\n case 'touched':\n return {\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched')\n };\n case 'validators':\n return refactorForValid(controls, group.validators);\n case 'reset':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n value: controlsToValue(controls)\n };\n case 'list':\n case 'value':\n return {\n ...refactorForValid(controls, group.validators),\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(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 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 ? groupIsValid({ controls, validators }) : [];\n super({\n ...options,\n errors,\n value: controlsToValue(controls),\n dirties: controlsAllChecked(controls, 'dirty'),\n dirty: controlsPartialChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n });\n }\n}\nfunction groupIsOptions(options) {\n return typeof options === 'object' && 'controls' in options;\n}\nexport function formArrayGroup(options, validators) {\n const groupUuid = groupIsOptions(options) ? options.uuid || uuid() : uuid();\n return new ReactRolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: groupUuid\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlIsValid, controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { replaceControl } from '../utilities';\nimport { RolsterArrayControl } from './form-array-control';\nclass RolsterArrayList extends RolsterArrayControl {\n constructor(options) {\n const { controls, valueToControls, validators } = options;\n const value = controls.map((controls) => controlsToValue(controls));\n const errors = validators ? controlIsValid({ value, validators }) : [];\n super({ ...options, errors, value });\n this.valueToControls = valueToControls;\n this.controls = controls;\n this.valid =\n errors.length === 0 &&\n controls.reduce((valid, controls) => valid && controlsAllChecked(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 setInitialValue(value) {\n this.refresh('list', {\n controls: value.map((value) => this.valueToControls(value)),\n initialValue: value\n });\n }\n setValue(value) {\n this.refresh('list', {\n controls: value.map((value) => this.valueToControls(value))\n });\n }\n reset() {\n this.refresh('list', {\n controls: this.initialValue.map((value) => this.valueToControls(value))\n });\n }\n push(controls) {\n this.refresh('list', {\n controls: [...this.controls, controls]\n });\n }\n remove(controls) {\n this.refresh('list', {\n controls: this.controls.filter((_controls) => _controls !== controls)\n });\n }\n builder(options) {\n return new RolsterArrayList({\n ...this,\n ...options,\n valueToControls: this.valueToControls\n });\n }\n refresh(action, options) {\n super.refresh(action, options);\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 value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n controls: value.map((value) => options.valueToControls(value)),\n initialValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\nimport { arrayIsValid, controlsToValue, groupAllChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(groups, validators) {\n const errors = validators ? arrayIsValid({ groups, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && groupAllChecked(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 _options = createFormArrayOptions(options, validators);\n const groups = _options.groups || [];\n const _value = useRef(groups);\n const mapGroups = useRef(new Map());\n const [state, setState] = useState({\n ...refactorForValid(groups, _options.validators),\n controls: groups.map(({ controls }) => controls),\n dirty: false,\n dirties: false,\n disabled: false,\n groups,\n touched: false,\n toucheds: false,\n value: groups.map(({ controls }) => controlsToValue(controls)),\n validators: _options.validators\n });\n useEffect(() => {\n mapGroups.current.clear();\n state.groups.forEach((group) => {\n mapGroups.current.set(group.uuid, group);\n group.subscribe(subscriber);\n });\n }, [state.groups]);\n const subscriber = useCallback((action, group) => {\n setState((state) => {\n const groups = state.groups.map((_group) => {\n return _group.uuid === group.uuid ? group : _group;\n });\n return {\n ...state,\n ...refactorForControls(action, state, groups)\n };\n });\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 setValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n }, []);\n const setInitialValue = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(groups, state.validators)\n }));\n _value.current = groups;\n }, []);\n const push = useCallback((group) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, group], state.validators)\n }));\n }, []);\n const merge = useCallback((groups) => {\n setState((state) => ({\n ...state,\n ...refactorForGroups([...state.groups, ...groups], state.validators)\n }));\n }, []);\n const remove = useCallback(({ 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 mapGroups.current.get(uuid);\n }, [state.groups]);\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.groups, validators),\n validators\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [state.errors]);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n ...refactorForGroups(_value.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,\n invalid: !state.valid,\n merge,\n pristine: !state.dirty,\n pristines: !state.dirties,\n push,\n remove,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useRef, useState } from 'react';\nfunction errorsInControl(value, validators) {\n return validators ? controlIsValid({ value, validators }) : [];\n}\nfunction useControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n const initialValue = useRef(_options.value);\n const [state, setState] = useState({\n dirty: false,\n disabled: false,\n errors: errorsInControl(_options.value, _options.validators),\n focused: false,\n touched: !!_options.touched,\n value: _options.value,\n validators: _options.validators\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 setInitialValue = useCallback((value) => {\n initialValue.current = value;\n setState((state) => ({\n ...state,\n dirty: true,\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(initialValue.current, state.validators),\n value: initialValue.current,\n touched: false\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [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,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\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 { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid, reduceControlsToArray } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction refactorForValid(controls, validators) {\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n return {\n errors,\n valid: errors.length === 0 && controlsAllChecked(controls, 'valid')\n };\n}\nexport function useFormGroup(options, validators) {\n const _options = createFormGroupOptions(options, validators);\n const { controls } = _options;\n const firstEffects = useRef({\n dirty: true,\n disabledFocused: true,\n touched: true,\n value: true\n });\n const [state, setState] = useState({\n ...refactorForValid(controls, _options.validators),\n controls,\n dirties: controlsAllChecked(controls, 'dirty'),\n dirty: controlsPartialChecked(controls, 'dirty'),\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched'),\n value: controlsToValue(controls),\n validators: _options.validators\n });\n useEffect(() => {\n if (!firstEffects.current.value) {\n setState((state) => ({\n ...state,\n ...refactorForValid(controls, state.validators),\n controls,\n value: controlsToValue(controls)\n }));\n }\n else {\n firstEffects.current.value = false;\n }\n }, reduceControlsToArray(controls, 'value'));\n useEffect(() => {\n if (!firstEffects.current.disabledFocused) {\n setState((state) => ({\n ...state,\n controls\n }));\n }\n else {\n firstEffects.current.disabledFocused = false;\n }\n }, [\n ...reduceControlsToArray(controls, 'disabled'),\n ...reduceControlsToArray(controls, 'focused')\n ]);\n useEffect(() => {\n if (!firstEffects.current.dirty) {\n setState((state) => ({\n ...state,\n controls,\n dirty: controlsPartialChecked(controls, 'dirty'),\n dirties: controlsAllChecked(controls, 'dirty')\n }));\n }\n else {\n firstEffects.current.dirty = false;\n }\n }, reduceControlsToArray(controls, 'dirty'));\n useEffect(() => {\n if (!firstEffects.current.touched) {\n setState((state) => ({\n ...state,\n controls,\n touched: controlsPartialChecked(controls, 'touched'),\n toucheds: controlsAllChecked(controls, 'touched')\n }));\n }\n else {\n firstEffects.current.touched = false;\n }\n }, reduceControlsToArray(controls, 'touched'));\n const setValidators = useCallback((validators) => {\n setState((state) => ({\n ...state,\n ...refactorForValid(state.controls, validators)\n }));\n }, []);\n const reset = useCallback(() => {\n Object.values(controls).forEach((control) => {\n control.reset();\n });\n }, []);\n return {\n ...state,\n error: state.errors[0],\n invalid: !state.valid,\n pristine: !state.dirty,\n pristines: !state.dirties,\n reset,\n setValidators,\n untouched: !state.touched,\n untoucheds: !state.toucheds,\n wrong: state.touched && !state.valid\n };\n}\n//# sourceMappingURL=form-group.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":["uuid","refactorForValid","refactorForControls","hasError","rolsterHasError","someErrors","rolsterSomeErrors"],"mappings":"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"}
@@ -38,7 +38,9 @@ export declare class RolsterArrayGroup<C extends ReactArrayControls = ReactArray
38
38
  setResource(resource: Undefined<R>): void;
39
39
  protected refresh(action: ReactArrayAction, options: Options<C, R>): void;
40
40
  }
41
- type ReactGroupOptions<C extends ReactArrayControls = ReactArrayControls, R = any> = Omit<FormArrayGroupOptions<C, R>, 'uuid'>;
41
+ interface ReactGroupOptions<C extends ReactArrayControls = ReactArrayControls, R = any> extends Omit<FormArrayGroupOptions<C, R>, 'uuid'> {
42
+ uuid?: string;
43
+ }
42
44
  export declare function formArrayGroup<C extends ReactArrayControls = ReactArrayControls, R = any>(options: ReactGroupOptions<C, R>): ReactArrayGroup<C, R>;
43
45
  export declare function formArrayGroup<C extends ReactArrayControls = ReactArrayControls, R = any>(controls: C, validators?: ValidatorGroupFn<C, R>[]): ReactArrayGroup<C, R>;
44
46
  export {};
@@ -104,10 +104,14 @@ class ReactRolsterArrayGroup extends RolsterArrayGroup {
104
104
  });
105
105
  }
106
106
  }
107
+ function groupIsOptions(options) {
108
+ return typeof options === 'object' && 'controls' in options;
109
+ }
107
110
  export function formArrayGroup(options, validators) {
111
+ const groupUuid = groupIsOptions(options) ? options.uuid || uuid() : uuid();
108
112
  return new ReactRolsterArrayGroup({
109
113
  ...createFormGroupOptions(options, validators),
110
- uuid: uuid()
114
+ uuid: groupUuid
111
115
  });
112
116
  }
113
117
  //# sourceMappingURL=form-array-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-array-group.js","sourceRoot":"","sources":["../../../src/form-array/form-array-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-array-group.js","sourceRoot":"","sources":["../../../src/form-array/form-array-group.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,8 @@ function refactorForControls(action, state, groups) {
31
31
  export function useFormArray(options, validators) {
32
32
  const _options = createFormArrayOptions(options, validators);
33
33
  const groups = _options.groups || [];
34
- const initialValue = useRef(groups);
34
+ const _value = useRef(groups);
35
+ const mapGroups = useRef(new Map());
35
36
  const [state, setState] = useState({
36
37
  ...refactorForValid(groups, _options.validators),
37
38
  controls: groups.map(({ controls }) => controls),
@@ -45,7 +46,9 @@ export function useFormArray(options, validators) {
45
46
  validators: _options.validators
46
47
  });
47
48
  useEffect(() => {
49
+ mapGroups.current.clear();
48
50
  state.groups.forEach((group) => {
51
+ mapGroups.current.set(group.uuid, group);
49
52
  group.subscribe(subscriber);
50
53
  });
51
54
  }, [state.groups]);
@@ -77,7 +80,7 @@ export function useFormArray(options, validators) {
77
80
  ...state,
78
81
  ...refactorForGroups(groups, state.validators)
79
82
  }));
80
- initialValue.current = groups;
83
+ _value.current = groups;
81
84
  }, []);
82
85
  const push = useCallback((group) => {
83
86
  setState((state) => ({
@@ -97,6 +100,9 @@ export function useFormArray(options, validators) {
97
100
  ...refactorForGroups(state.groups.filter((group) => group.uuid !== uuid), state.validators)
98
101
  }));
99
102
  }, []);
103
+ const findByUuid = useCallback((uuid) => {
104
+ return mapGroups.current.get(uuid);
105
+ }, [state.groups]);
100
106
  const setValidators = useCallback((validators) => {
101
107
  setState((state) => ({
102
108
  ...state,
@@ -109,7 +115,7 @@ export function useFormArray(options, validators) {
109
115
  const reset = useCallback(() => {
110
116
  setState((state) => ({
111
117
  ...state,
112
- ...refactorForGroups(initialValue.current, state.validators)
118
+ ...refactorForGroups(_value.current, state.validators)
113
119
  }));
114
120
  }, []);
115
121
  return {
@@ -118,6 +124,7 @@ export function useFormArray(options, validators) {
118
124
  enable,
119
125
  enabled: !state.disabled,
120
126
  error: state.errors[0],
127
+ findByUuid,
121
128
  hasError,
122
129
  invalid: !state.valid,
123
130
  merge,
@@ -1 +1 @@
1
- {"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolster/react-forms",
3
- "version": "18.13.0",
3
+ "version": "18.14.0",
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",
@@ -27,7 +27,7 @@
27
27
  "prepublishOnly": "npm run build"
28
28
  },
29
29
  "dependencies": {
30
- "@rolster/forms": "^2.11.0",
30
+ "@rolster/forms": "^3.0.0",
31
31
  "@rolster/validators": "^2.3.0",
32
32
  "react": "^18.2.0",
33
33
  "uuid": "^11.0.3"