@arquimedes.co/eureka-forms 2.0.19 → 2.0.20-test

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.
Files changed (57) hide show
  1. package/dist/@Types/FormStep.d.ts +1 -0
  2. package/dist/App/App.js +2 -2
  3. package/dist/App/AppFunctions.js +1 -1
  4. package/dist/Form/Section/MaterialSection/MaterialSection.js +1 -1
  5. package/dist/Form/Terms/Term/MaterialTerm/MaterialTerm.js +1 -1
  6. package/dist/FormSteps/@Construction/CBRElementStep/CBRElementStep.js +2 -2
  7. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.d.ts +1 -1
  8. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.js +2 -2
  9. package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.d.ts +2 -2
  10. package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.js +20 -63
  11. package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.module.css +0 -16
  12. package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.d.ts +1 -1
  13. package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.js +21 -76
  14. package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.module.css +0 -28
  15. package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.d.ts +1 -1
  16. package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.js +39 -96
  17. package/dist/FormSteps/CollapsibleStep/MaterialTitleStep/MaterialCollapsibleStep.js +2 -2
  18. package/dist/FormSteps/DatePickerStep/MaterialDatePickerStep/MaterialDatePickerStep.js +7 -38
  19. package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.d.ts +1 -1
  20. package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.js +20 -74
  21. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/MaterialFileUploadStep.d.ts +2 -2
  22. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/MaterialFileUploadStep.js +18 -42
  23. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/MapperElementComponent.js +2 -2
  24. package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.js +9 -5
  25. package/dist/FormSteps/RatingStep/MaterialRatingStep/MaterialRatingStep.d.ts +1 -1
  26. package/dist/FormSteps/RatingStep/MaterialRatingStep/MaterialRatingStep.js +15 -43
  27. package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.d.ts +2 -2
  28. package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.js +22 -78
  29. package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.module.css +0 -16
  30. package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.d.ts +1 -9
  31. package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.js +26 -57
  32. package/dist/FormSteps/Step.d.ts +0 -2
  33. package/dist/FormSteps/StepFunctions.d.ts +2 -1
  34. package/dist/FormSteps/StepFunctions.js +70 -63
  35. package/dist/FormSteps/StepHooks.d.ts +16 -0
  36. package/dist/FormSteps/StepHooks.js +58 -2
  37. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaEditorStep.js +1 -1
  38. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaStep.js +6 -37
  39. package/dist/FormSteps/TextInputStep/MaterialTextInputStep/MaterialTextInputStep.js +13 -39
  40. package/dist/FormSteps/TitleStep/MaterialTitleStep/MaterialTitleStep.d.ts +1 -1
  41. package/dist/FormSteps/TitleStep/MaterialTitleStep/MaterialTitleStep.js +4 -24
  42. package/dist/FormSteps/Utils/@StepFiller/StepFiller.d.ts +9 -0
  43. package/dist/FormSteps/Utils/@StepFiller/StepFiller.js +48 -0
  44. package/dist/FormSteps/{EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.module.css → Utils/@StepFiller/StepFiller.module.css} +16 -16
  45. package/dist/FormSteps/Utils/MaterialInputContainer/MaterialInputContainer.d.ts +11 -0
  46. package/dist/FormSteps/Utils/MaterialInputContainer/MaterialInputContainer.js +32 -0
  47. package/dist/FormSteps/{DatePickerStep/MaterialDatePickerStep/MaterialDatePickerStep.module.css → Utils/MaterialInputContainer/MaterialInputContainer.module.css} +9 -9
  48. package/dist/Shared/RoundedCheckBox/RoundedCheckBox.d.ts +3 -3
  49. package/dist/Shared/RoundedSmartSelect/RoundedSmartSelect.d.ts +1 -4
  50. package/dist/Shared/RoundedSmartSelect/RoundedSmartSelect.js +1 -3
  51. package/dist/States/SiteSlice.d.ts +2 -1
  52. package/dist/States/SiteSlice.js +25 -6
  53. package/dist/hooks.d.ts +2 -0
  54. package/dist/hooks.js +5 -1
  55. package/package.json +1 -1
  56. package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.module.css +0 -25
  57. package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.module.css +0 -9
@@ -45,45 +45,42 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
46
  }
47
47
  };
48
- var __rest = (this && this.__rest) || function (s, e) {
49
- var t = {};
50
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
- t[p] = s[p];
52
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
- t[p[i]] = s[p[i]];
56
- }
57
- return t;
58
- };
59
48
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
60
- import styles from './MaterialSmartSelectStep.module.css';
61
- import { useController, useFormContext } from 'react-hook-form';
62
- import { calcStepWidth } from '../../StepFunctions';
49
+ import { useFormContext } from 'react-hook-form';
63
50
  import RoundedSmartSelect from '../../../Shared/RoundedSmartSelect/RoundedSmartSelect';
64
51
  import { useCallback, useContext, useEffect, useMemo, useState } from 'react';
65
52
  import React from 'react';
66
53
  import FormContext from '../../../Contexts/FormContext';
67
- import { selectBreakPoint, useAppDispatch, useAppSelector, } from '../../../hooks';
54
+ import { useAppDispatch, useAppSelector } from '../../../hooks';
68
55
  import { focusStep, setEmptyDependency } from '../../../States/SiteSlice';
69
- import { selectDependencies, useStepDependency } from '../../StepHooks';
70
- export function SmartSelect(_a) {
56
+ import { selectDependencies, useFormStep } from '../../StepHooks';
57
+ import MaterialInputContainer from '../../Utils/MaterialInputContainer/MaterialInputContainer';
58
+ function SmartSelectStep(_a) {
71
59
  var _this = this;
72
60
  var _b, _c, _d, _e, _f, _g, _h;
73
- var icon = _a.icon, step = _a.step, value = _a.value, error = _a.error, onBlur = _a.onBlur, editable = _a.editable, onChange = _a.onChange, inputRef = _a.inputRef, getOptions = _a.getOptions, calcDepError = _a.calcDepError, valueOverwrite = _a.valueOverwrite, getValueString = _a.getValueString, changeListener = _a.changeListener, getValueWarning = _a.getValueWarning, getOptionSelected = _a.getOptionSelected, renderNestedSteps = _a.renderNestedSteps;
74
- var _j = useAppSelector(function (state) { return state.global; }), postview = _j.postview, formStyle = _j.formStyle, idOrganization = _j.idOrganization;
61
+ var icon = _a.icon, step = _a.step, editable = _a.editable, getOptions = _a.getOptions, calcDepError = _a.calcDepError, defaultValue = _a.defaultValue, valueOverwrite = _a.valueOverwrite, getValueString = _a.getValueString, changeListener = _a.changeListener, getValueWarning = _a.getValueWarning, getOptionSelected = _a.getOptionSelected, renderNestedSteps = _a.renderNestedSteps;
62
+ var _j = useFormStep(step, {
63
+ sizeChange: true,
64
+ defaultValue: defaultValue,
65
+ rules: {
66
+ required: step.required ? 'Este campo es obligatorio' : undefined,
67
+ },
68
+ }), ref = _j.ref, value = _j.value, error = _j.error, field = _j.field, handleChange = _j.onChange;
69
+ var onChange = useCallback(function (value) {
70
+ return handleChange(valueOverwrite ? valueOverwrite(value) : value);
71
+ }, [handleChange, valueOverwrite]);
72
+ var _k = useAppSelector(function (state) { return state.global; }), postview = _k.postview, formStyle = _k.formStyle, idOrganization = _k.idOrganization;
75
73
  var form = useContext(FormContext);
76
- var currentBreakPoint = useAppSelector(selectBreakPoint);
77
- var _k = useState(), options = _k[0], setOptions = _k[1];
78
- var _l = useState(false), loading = _l[0], setLoading = _l[1];
79
- var _m = useState(true), firstTime = _m[0], setFirstTime = _m[1];
80
- var _o = useState(false), touched = _o[0], setTouched = _o[1];
74
+ var _l = useState(), options = _l[0], setOptions = _l[1];
75
+ var _m = useState(false), loading = _m[0], setLoading = _m[1];
76
+ var _o = useState(true), firstTime = _o[0], setFirstTime = _o[1];
77
+ var _p = useState(false), touched = _p[0], setTouched = _p[1];
81
78
  var dispatch = useAppDispatch();
82
79
  var dependencyStore = useAppSelector(function (state) { return state.site.dependencies; });
83
- var _p = useAppSelector(function (state) {
80
+ var _q = useAppSelector(function (state) {
84
81
  return selectDependencies(state, step, form);
85
- }), emptyDep = _p.emptyDep, invalids = _p.invalids;
86
- var _q = useFormContext(), getValues = _q.getValues, setFocus = _q.setFocus;
82
+ }), emptyDep = _q.emptyDep, invalids = _q.invalids;
83
+ var _r = useFormContext(), getValues = _r.getValues, setFocus = _r.setFocus;
87
84
  var isEmpty = useAppSelector(function (state) { var _a; return (_a = state.site.dependencies[step.id]) === null || _a === void 0 ? void 0 : _a.empty; });
88
85
  var disabled = emptyDep;
89
86
  useEffect(function () {
@@ -118,7 +115,7 @@ export function SmartSelect(_a) {
118
115
  return getValueString(option) === getValueString(value);
119
116
  });
120
117
  if (!firstTime)
121
- onChange(newValue);
118
+ onChange(newValue !== null && newValue !== void 0 ? newValue : null);
122
119
  }
123
120
  else if (!firstTime)
124
121
  onChange(null);
@@ -174,9 +171,6 @@ export function SmartSelect(_a) {
174
171
  if (!touched)
175
172
  setTouched(true);
176
173
  }, [options, disabled, postview, editable, invalids, touched]);
177
- var handleUpdate = useCallback(function (value) {
178
- valueOverwrite ? onChange(valueOverwrite(value)) : onChange(value);
179
- }, [valueOverwrite, onChange]);
180
174
  var errorMsg = useMemo(function () {
181
175
  if (postview || loading)
182
176
  return undefined;
@@ -196,31 +190,6 @@ export function SmartSelect(_a) {
196
190
  }
197
191
  return undefined;
198
192
  }, [invalids, touched, value, options]);
199
- return (_jsxs(React.Fragment, { children: [_jsx("div", __assign({ className: styles.container, style: {
200
- width: currentBreakPoint <= step.size
201
- ? '100%'
202
- : calcStepWidth(step.size, form.size),
203
- minHeight: step.description ||
204
- (!postview && editable && step.required)
205
- ? '55px'
206
- : '43px',
207
- }, onClick: onFocus, "data-testid": step.id }, { children: _jsx(RoundedSmartSelect, { value: value, onBlur: onBlur, onFocus: onFocus, disabled: options === null || disabled, hidden: disabled, loading: loading, options: options !== null && options !== void 0 ? options : undefined, inputRef: inputRef, cantEdit: !editable || postview, fullWidth: true, backgroundColor: (_d = formStyle.stepBackgroundColor) !== null && _d !== void 0 ? _d : 'white', label: step.label, required: step.required, height: '31px', changeListener: changeListener, searchable: step.searchable, icon: step.showIcon ? icon : undefined, helperTextColor: formStyle.descriptionTextColor, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, errorColor: formStyle.errorColor, color: formStyle.textColor, containerMargin: "0px", handleUpdate: handleUpdate, getOptionSelected: getOptionSelected, getValueString: getValueString, helperText: (_h = (_g = (_e = errorMsg !== null && errorMsg !== void 0 ? errorMsg : warning) !== null && _e !== void 0 ? _e : (_f = error === null || error === void 0 ? void 0 : error.message) === null || _f === void 0 ? void 0 : _f.toString()) !== null && _g !== void 0 ? _g : step.description) !== null && _h !== void 0 ? _h : undefined, error: !!errorMsg || !!warning || !!error }) })), renderNestedSteps === null || renderNestedSteps === void 0 ? void 0 : renderNestedSteps(value)] }));
208
- }
209
- function SmartSelectStep(props) {
210
- var step = props.step, defaultValue = props.defaultValue;
211
- var _a = useStepDependency(step, defaultValue), handleStepDep = _a.handleStepDep, originalValue = _a.originalValue;
212
- var _b = useController({
213
- name: step.id,
214
- shouldUnregister: true,
215
- rules: {
216
- required: step.required ? 'Este campo es obligatorio' : undefined,
217
- },
218
- defaultValue: originalValue,
219
- }), _c = _b.field, ref = _c.ref, field = __rest(_c, ["ref"]), error = _b.fieldState.error;
220
- var onChange = useCallback(function (value) {
221
- handleStepDep(value);
222
- field.onChange(value);
223
- }, [handleStepDep, field]);
224
- return (_jsx(SmartSelect, __assign({}, props, field, { error: error, inputRef: ref, onChange: onChange })));
193
+ return (_jsxs(React.Fragment, { children: [_jsx(MaterialInputContainer, __assign({ step: step, onClick: onFocus, editable: editable }, { children: _jsx(RoundedSmartSelect, __assign({}, field, { inputRef: ref, value: value, handleUpdate: onChange, onFocus: onFocus, disabled: options === null || disabled, hidden: disabled, loading: loading, options: options !== null && options !== void 0 ? options : undefined, cantEdit: !editable || postview, fullWidth: true, backgroundColor: (_d = formStyle.stepBackgroundColor) !== null && _d !== void 0 ? _d : 'white', label: step.label, required: step.required, height: '31px', changeListener: changeListener, searchable: step.searchable, icon: step.showIcon ? icon : undefined, helperTextColor: formStyle.descriptionTextColor, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, errorColor: formStyle.errorColor, color: formStyle.textColor, containerMargin: "0px", getOptionSelected: getOptionSelected, getValueString: getValueString, helperText: (_h = (_g = (_e = errorMsg !== null && errorMsg !== void 0 ? errorMsg : warning) !== null && _e !== void 0 ? _e : (_f = error === null || error === void 0 ? void 0 : error.message) === null || _f === void 0 ? void 0 : _f.toString()) !== null && _g !== void 0 ? _g : step.description) !== null && _h !== void 0 ? _h : undefined, error: !!errorMsg || !!warning || !!error })) })), renderNestedSteps === null || renderNestedSteps === void 0 ? void 0 : renderNestedSteps(value)] }));
225
194
  }
226
195
  export default SmartSelectStep;
@@ -3,8 +3,6 @@ import { FormStep } from '../@Types/FormStep';
3
3
  export interface StepProps {
4
4
  step: FormStep;
5
5
  editable: boolean;
6
- handleSizeChange?: () => void;
7
- level: number;
8
6
  }
9
7
  declare function StepComponent({ step, ...props }: StepProps): JSX.Element;
10
8
  export default StepComponent;
@@ -1,7 +1,8 @@
1
1
  import { FormSize } from '../@Types/Form';
2
2
  import { ApiSelector, CheckBox, ClassifierSelector, EntityValuePicker, FormSelector, FormStep } from '../@Types/FormStep';
3
3
  import { CBRFormStep } from '../@Types/CBRFormStep';
4
- export declare function calcFillerSize(step: FormSelector | ClassifierSelector | EntityValuePicker | ApiSelector | CheckBox, steps: Record<string, FormStep>, values: Record<string, unknown>, size: FormSize): number;
4
+ export type FillerSteps = FormSelector | ClassifierSelector | EntityValuePicker | ApiSelector | CheckBox;
5
+ export declare function calcFillerSize(step: FillerSteps, steps: Record<string, FormStep>, values: Record<string, unknown>, size: FormSize): number;
5
6
  export declare function recursivelyCheckOpenSize(idStep: string, steps: Record<string, FormStep>, values: Record<string, any>): number;
6
7
  export declare const calcStepWidth: (stepSize: 1 | 2 | 3 | 4, size: FormSize) => number;
7
8
  export declare const calcDefaultValue: (step: FormStep | CBRFormStep) => any;
@@ -1,4 +1,4 @@
1
- import Types, { ApiSelectorOptionTypes, ClassifierOptionTypes, EntityValueDataTypes, EntityValueOptionTypes, OptionTypes, StepTypes, } from '../constants/FormStepTypes';
1
+ import { ApiSelectorOptionTypes, ClassifierOptionTypes, EntityValueDataTypes, EntityValueOptionTypes, OptionTypes, StepTypes, } from '../constants/FormStepTypes';
2
2
  import CBRFormStepTypes from '../constants/CBRFormStepTypes';
3
3
  import AYFFormStepTypes from '../constants/AYFFormStepTypes';
4
4
  import { getRawText } from '../Utils/DraftFunctions';
@@ -6,7 +6,8 @@ export function calcFillerSize(step, steps, values, size) {
6
6
  var _a;
7
7
  var maxSize = (_a = step.maxSize) !== null && _a !== void 0 ? _a : size.blockNum;
8
8
  if (maxSize < size.blockNum) {
9
- var stepSize = maxSize - recursivelyCheckOpenSize(step.id, steps, values);
9
+ var tsize = recursivelyCheckOpenSize(step.id, steps, values);
10
+ var stepSize = maxSize - tsize;
10
11
  return (size.blockSize * stepSize + size.spacingSize * (stepSize - 1) + 20);
11
12
  }
12
13
  else {
@@ -16,79 +17,85 @@ export function calcFillerSize(step, steps, values, size) {
16
17
  export function recursivelyCheckOpenSize(idStep, steps, values) {
17
18
  var step = steps[idStep];
18
19
  var value = values[idStep];
19
- if (step.type === Types.SELECTOR) {
20
- var size = step.size;
21
- if (value) {
22
- var currentOption = step.options.find(function (option) { return option.value === value; });
23
- if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === OptionTypes.NESTED) {
24
- var optionSize = 0;
25
- for (var _i = 0, _a = currentOption.steps; _i < _a.length; _i++) {
26
- var pStepId = _a[_i];
27
- optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
20
+ switch (step.type) {
21
+ case StepTypes.SELECTOR: {
22
+ var size = step.size;
23
+ if (value) {
24
+ var currentOption = step.options.find(function (option) { return option.value === value.value; });
25
+ if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === OptionTypes.NESTED) {
26
+ var optionSize = 0;
27
+ for (var _i = 0, _a = currentOption.steps; _i < _a.length; _i++) {
28
+ var pStepId = _a[_i];
29
+ var temp = recursivelyCheckOpenSize(pStepId, steps, values);
30
+ optionSize += temp;
31
+ }
32
+ size += optionSize;
28
33
  }
29
- size += optionSize;
30
34
  }
35
+ return size;
31
36
  }
32
- return size;
33
- }
34
- else if (step.type === Types.CLASSIFIER_SELECTOR) {
35
- var size = step.size;
36
- if (value) {
37
- var currentOption = step.options[value];
38
- if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === ClassifierOptionTypes.NESTED) {
39
- var optionSize = 0;
40
- for (var _b = 0, _c = currentOption.steps; _b < _c.length; _b++) {
41
- var pStepId = _c[_b];
42
- optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
37
+ case StepTypes.CLASSIFIER_SELECTOR: {
38
+ var size = step.size;
39
+ if (value) {
40
+ var currentOption = step.options[value];
41
+ if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === ClassifierOptionTypes.NESTED) {
42
+ var optionSize = 0;
43
+ for (var _b = 0, _c = currentOption.steps; _b < _c.length; _b++) {
44
+ var pStepId = _c[_b];
45
+ optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
46
+ }
47
+ size += optionSize;
43
48
  }
44
- size += optionSize;
45
49
  }
50
+ return size;
46
51
  }
47
- return size;
48
- }
49
- else if (step.type === Types.ENTITYVALUEPICKER) {
50
- var size = step.size;
51
- if (value) {
52
- var currentOption = step.options[value];
53
- if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === EntityValueOptionTypes.NESTED) {
54
- var optionSize = 0;
55
- for (var _d = 0, _e = currentOption.steps; _d < _e.length; _d++) {
56
- var pStepId = _e[_d];
57
- optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
52
+ case StepTypes.ENTITYVALUEPICKER: {
53
+ var size = step.size;
54
+ if (value) {
55
+ var currentOption = step.options[value];
56
+ if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === EntityValueOptionTypes.NESTED) {
57
+ var optionSize = 0;
58
+ for (var _d = 0, _e = currentOption.steps; _d < _e.length; _d++) {
59
+ var pStepId = _e[_d];
60
+ optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
61
+ }
62
+ size += optionSize;
58
63
  }
59
- size += optionSize;
60
64
  }
65
+ return size;
61
66
  }
62
- return size;
63
- }
64
- else if (step.type === Types.API_SELECTOR) {
65
- var size = step.size;
66
- if (value) {
67
- var currentOption = step.options[value];
68
- if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === ApiSelectorOptionTypes.NESTED) {
69
- var optionSize = 0;
70
- for (var _f = 0, _g = currentOption.steps; _f < _g.length; _f++) {
71
- var pStepId = _g[_f];
72
- optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
67
+ case StepTypes.API_SELECTOR: {
68
+ var size = step.size;
69
+ if (value) {
70
+ var currentOption = step.options[value];
71
+ if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === ApiSelectorOptionTypes.NESTED) {
72
+ var optionSize = 0;
73
+ for (var _f = 0, _g = currentOption.steps; _f < _g.length; _f++) {
74
+ var pStepId = _g[_f];
75
+ optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
76
+ }
77
+ size += optionSize;
73
78
  }
74
- size += optionSize;
75
79
  }
80
+ return size;
76
81
  }
77
- return size;
78
- }
79
- if (step.type === Types.CHECKBOX) {
80
- var size = step.size;
81
- var stepSteps = value ? step.steps : step.uncheckedSteps;
82
- var optionSize = 0;
83
- for (var _h = 0, _j = stepSteps !== null && stepSteps !== void 0 ? stepSteps : []; _h < _j.length; _h++) {
84
- var pStepId = _j[_h];
85
- optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
82
+ case StepTypes.CHECKBOX: {
83
+ var size = step.size;
84
+ var stepSteps = value ? step.steps : step.uncheckedSteps;
85
+ var optionSize = 0;
86
+ for (var _h = 0, _j = stepSteps !== null && stepSteps !== void 0 ? stepSteps : []; _h < _j.length; _h++) {
87
+ var pStepId = _j[_h];
88
+ optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
89
+ }
90
+ size += optionSize;
91
+ return size;
86
92
  }
87
- size += optionSize;
88
- return size;
89
- }
90
- else {
91
- return 4;
93
+ case StepTypes.DATEPICKER:
94
+ case StepTypes.TEXTINPUT: {
95
+ return step.size;
96
+ }
97
+ default:
98
+ return 4;
92
99
  }
93
100
  }
94
101
  export var calcStepWidth = function (stepSize, size) {
@@ -131,7 +138,7 @@ export var calcDefaultValue = function (step) {
131
138
  export var iterateNestedSteps = function (idStep, steps, iteration) {
132
139
  var step = steps[idStep];
133
140
  iteration(step);
134
- if (step.type == StepTypes.MAPPER) {
141
+ if (step.type === StepTypes.MAPPER) {
135
142
  for (var _i = 0, _a = step.rootSteps; _i < _a.length; _i++) {
136
143
  var idStep_1 = _a[_i];
137
144
  iterateNestedSteps(idStep_1, step.steps, iteration);
@@ -3,6 +3,7 @@ import { ValuesStore } from '../States/SiteSlice';
3
3
  import { RootState } from '../Utils/store';
4
4
  import { Form } from '../@Types';
5
5
  import { DependencyStore } from '../Form/Form';
6
+ import { FieldError, RefCallBack, UseControllerProps, useController } from 'react-hook-form';
6
7
  export declare const selectOriginalValue: ((state: RootState, step: GBaseStep) => any) & import("reselect").OutputSelectorFields<(args_0: ValuesStore, args_1: GBaseStep) => any, {
7
8
  clearCache: () => void;
8
9
  }> & {
@@ -25,3 +26,18 @@ export declare const selectDependencies: ((state: RootState, step: GBaseStep, fo
25
26
  }> & {
26
27
  clearCache: () => void;
27
28
  };
29
+ export interface UseFormStepOptions<ValueType> {
30
+ defaultValue?: ValueType;
31
+ /** If true, will not trigger onChange until the user has finished typing */
32
+ debounce?: boolean;
33
+ rules?: UseControllerProps['rules'];
34
+ /** If the step should trigger a filler(root StepFiller) size change */
35
+ sizeChange?: boolean;
36
+ }
37
+ export declare const useFormStep: <ValueType = unknown>(step: GBaseStep, { rules, debounce, sizeChange, defaultValue, }?: UseFormStepOptions<ValueType>) => {
38
+ value: ValueType;
39
+ ref: RefCallBack;
40
+ onChange: (value: ValueType) => void;
41
+ error: FieldError | undefined;
42
+ field: Omit<ReturnType<typeof useController>['field'], 'ref' | 'value' | 'onChange'>;
43
+ };
@@ -1,3 +1,14 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
13
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
14
  if (ar || !(i in from)) {
@@ -7,11 +18,13 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
7
18
  }
8
19
  return to.concat(ar || Array.prototype.slice.call(from));
9
20
  };
10
- import { useCallback, useEffect } from 'react';
21
+ import { useCallback, useContext, useEffect, useState } from 'react';
11
22
  import { useAppSelector, useAppDispatch } from '../hooks';
12
- import { setStepDependency } from '../States/SiteSlice';
23
+ import { clearDependency, setStepDependency, } from '../States/SiteSlice';
13
24
  import { createSelector } from '@reduxjs/toolkit';
14
25
  import { calcDefaultValue } from './StepFunctions';
26
+ import { useController, } from 'react-hook-form';
27
+ import { SizeChangeContext } from './Utils/@StepFiller/StepFiller';
15
28
  var selectIsDependency = createSelector([
16
29
  function (state) { return state.site.dependencies; },
17
30
  function (state, step) { return step; },
@@ -38,6 +51,9 @@ export var useStepDependency = function (step, defaultValue) {
38
51
  value: defaultValue,
39
52
  }));
40
53
  }
54
+ return function () {
55
+ dispatch(clearDependency(step));
56
+ };
41
57
  }, [isDependency]);
42
58
  var handleStepDep = useCallback(function (value) {
43
59
  if (!isDependency)
@@ -85,3 +101,43 @@ var calcDeepDependencies = function (idStep, form, deps) {
85
101
  }
86
102
  return deps;
87
103
  };
104
+ export var useFormStep = function (step, _a) {
105
+ var _b = _a === void 0 ? {} : _a, rules = _b.rules, debounce = _b.debounce, sizeChange = _b.sizeChange, defaultValue = _b.defaultValue;
106
+ var _c = useState(), timer = _c[0], setTimer = _c[1];
107
+ var _d = useStepDependency(step, defaultValue), isDependency = _d.isDependency, handleStepDep = _d.handleStepDep, originalValue = _d.originalValue;
108
+ var _e = useController({
109
+ name: step.id,
110
+ rules: rules,
111
+ shouldUnregister: true,
112
+ defaultValue: originalValue,
113
+ }), _f = _e.field, ref = _f.ref, value = _f.value, fieldOnChange = _f.onChange, field = __rest(_f, ["ref", "value", "onChange"]), error = _e.fieldState.error;
114
+ var handleSizeChange = useContext(SizeChangeContext);
115
+ var onChange = useCallback(function (value) {
116
+ if (isDependency) {
117
+ if (debounce) {
118
+ try {
119
+ clearTimeout(timer);
120
+ // eslint-disable-next-line no-empty
121
+ }
122
+ catch (e) { }
123
+ setTimer(setTimeout(function () {
124
+ handleStepDep(value);
125
+ setTimer(undefined);
126
+ }, 1000));
127
+ }
128
+ else {
129
+ handleStepDep(value);
130
+ }
131
+ }
132
+ fieldOnChange(value);
133
+ if (sizeChange)
134
+ handleSizeChange === null || handleSizeChange === void 0 ? void 0 : handleSizeChange();
135
+ }, [handleStepDep, isDependency, fieldOnChange]);
136
+ return {
137
+ ref: ref,
138
+ value: value,
139
+ onChange: onChange,
140
+ error: error,
141
+ field: field,
142
+ };
143
+ };
@@ -114,7 +114,7 @@ function TextAreaStep(_a) {
114
114
  }
115
115
  } }, { children: _jsx("div", __assign({ className: postview
116
116
  ? styles.postViewContainer + ' EF-DraftContainer'
117
- : styles.textContainer + ' EF-DraftContainer', "data-testid": step.id, style: calcStyle(), onMouseEnter: function () {
117
+ : styles.textContainer + ' EF-DraftContainer', style: calcStyle(), onMouseEnter: function () {
118
118
  if (canEdit) {
119
119
  setHovering(true);
120
120
  }
@@ -9,60 +9,29 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
13
  import RoundedTextField from '../../../Shared/RoundedTextField/RoundedTextField';
25
14
  import styles from './MaterialTextAreaStep.module.css';
26
- import { useController } from 'react-hook-form';
27
- import { useCallback, useState } from 'react';
28
15
  import { useAppSelector } from '../../../hooks';
29
- import { useStepDependency } from '../../StepHooks';
16
+ import { useFormStep } from '../../StepHooks';
30
17
  function TextAreaStep(_a) {
31
18
  var _b, _c;
32
19
  var step = _a.step, editable = _a.editable, maxLength = _a.maxLength;
33
20
  var _d = useAppSelector(function (state) { return state.global; }), formStyle = _d.formStyle, postview = _d.postview, partial = _d.partial;
34
- var _e = useState(), timer = _e[0], setTimer = _e[1];
35
- var _f = useStepDependency(step), handleStepDep = _f.handleStepDep, originalValue = _f.originalValue, isDependency = _f.isDependency;
36
- var _g = useController({
37
- name: step.id,
38
- shouldUnregister: true,
21
+ var _e = useFormStep(step, {
22
+ debounce: true,
39
23
  rules: {
40
24
  required: step.required ? 'Este campo es obligatorio' : undefined,
41
25
  },
42
- defaultValue: originalValue,
43
- }), _h = _g.field, ref = _h.ref, field = __rest(_h, ["ref"]), error = _g.fieldState.error;
44
- var onChange = useCallback(function (e) {
45
- if (isDependency) {
46
- try {
47
- clearTimeout(timer);
48
- // eslint-disable-next-line no-empty
49
- }
50
- catch (e) { }
51
- setTimer(setTimeout(function () {
52
- handleStepDep(e.target.value);
53
- setTimer(undefined);
54
- }, 1000));
55
- }
56
- field.onChange(e);
57
- }, [handleStepDep, isDependency, field.onChange]);
26
+ }), ref = _e.ref, value = _e.value, onChange = _e.onChange, error = _e.error, field = _e.field;
58
27
  var canEdit = editable && !postview;
59
28
  return (_jsxs("div", __assign({ className: styles.container, style: {
60
29
  paddingBottom: step.required || step.description || !!error
61
30
  ? '0px'
62
31
  : '5px',
63
- } }, { children: [_jsx("div", __assign({ className: styles.erkTextArea }, { children: _jsx(RoundedTextField, __assign({}, field, { onChange: onChange, "data-testid": step.id, maxLength: maxLength, label: step.label, inputRef: ref, required: step.required, cantEdit: !canEdit, fontWeight: 400, multiline: true, minRows: postview && partial ? undefined : 4, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, textColor: formStyle.textColor, errorColor: formStyle.errorColor, backgroundColor: formStyle.stepBackgroundColor, helperTextColor: formStyle.descriptionTextColor, helperText: (_c = (_b = error === null || error === void 0 ? void 0 : error.message) !== null && _b !== void 0 ? _b : step.description) !== null && _c !== void 0 ? _c : (step.required ? ' ' : null), error: !!error })) })), postview && (_jsxs("div", __assign({ className: styles.print }, { children: [_jsxs("div", { children: [step.label, ":"] }), _jsx("p", __assign({ className: styles.printContainer, style: {
32
+ } }, { children: [_jsx("div", __assign({ className: styles.erkTextArea }, { children: _jsx(RoundedTextField, __assign({}, field, { inputRef: ref, value: value, onChange: function (e) { return onChange(e.target.value); }, "data-testid": step.id, maxLength: maxLength, label: step.label, required: step.required, cantEdit: !canEdit, fontWeight: 400, multiline: true, minRows: postview && partial ? undefined : 4, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, textColor: formStyle.textColor, errorColor: formStyle.errorColor, backgroundColor: formStyle.stepBackgroundColor, helperTextColor: formStyle.descriptionTextColor, helperText: (_c = (_b = error === null || error === void 0 ? void 0 : error.message) !== null && _b !== void 0 ? _b : step.description) !== null && _c !== void 0 ? _c : (step.required ? ' ' : null), error: !!error })) })), postview && (_jsxs("div", __assign({ className: styles.print }, { children: [_jsxs("div", { children: [step.label, ":"] }), _jsx("p", __assign({ className: styles.printContainer, style: {
64
33
  backgroundColor: formStyle.stepBackgroundColor,
65
34
  borderColor: formStyle.outlineColor,
66
- } }, { children: field.value }))] })))] })));
35
+ } }, { children: value }))] })))] })));
67
36
  }
68
37
  export default TextAreaStep;
@@ -9,70 +9,44 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
12
  import { jsx as _jsx } from "react/jsx-runtime";
24
13
  import RoundedTextField from '../../../Shared/RoundedTextField/RoundedTextField';
25
14
  import styles from './MaterialTextInputStep.module.css';
26
- import { useController } from 'react-hook-form';
27
15
  import { calcStepWidth } from '../../StepFunctions';
28
- import { useCallback, useContext, useState } from 'react';
16
+ import { useContext } from 'react';
29
17
  import FormContext from '../../../Contexts/FormContext';
30
18
  import { selectBreakPoint, useAppSelector } from '../../../hooks';
31
- import { useStepDependency } from '../../StepHooks';
19
+ import { useFormStep } from '../../StepHooks';
32
20
  function TextInputStep(_a) {
33
21
  var _b;
34
22
  var icon = _a.icon, step = _a.step, editable = _a.editable, maxLength = _a.maxLength, defaultValue = _a.defaultValue, _c = _a.validation, validation = _c === void 0 ? step.validation : _c;
35
23
  var currentBreakPoint = useAppSelector(selectBreakPoint);
36
24
  var _d = useAppSelector(function (state) { return state.global; }), formStyle = _d.formStyle, postview = _d.postview;
37
25
  var form = useContext(FormContext);
38
- var _e = useState(), timer = _e[0], setTimer = _e[1];
39
- var _f = useStepDependency(step, defaultValue), isDependency = _f.isDependency, handleStepDep = _f.handleStepDep, originalValue = _f.originalValue;
40
- var _g = useController({
41
- name: step.id,
42
- shouldUnregister: true,
26
+ var _e = useFormStep(step, {
27
+ defaultValue: defaultValue,
28
+ debounce: true,
43
29
  rules: {
44
30
  required: step.required ? 'Este campo es obligatorio' : undefined,
45
31
  pattern: validation
46
32
  ? {
47
- value: new RegExp(validation.value),
33
+ value: new RegExp(validation.type === 'EMAIL'
34
+ ? // eslint-disable-next-line no-control-regex
35
+ /^(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/
36
+ : validation.value),
48
37
  message: validation.message,
49
38
  }
50
39
  : undefined,
51
40
  },
52
- defaultValue: originalValue,
53
- }), _h = _g.field, ref = _h.ref, field = __rest(_h, ["ref"]), error = _g.fieldState.error;
54
- var onChange = useCallback(function (e) {
55
- if (isDependency) {
56
- try {
57
- clearTimeout(timer);
58
- // eslint-disable-next-line no-empty
59
- }
60
- catch (e) { }
61
- setTimer(setTimeout(function () {
62
- handleStepDep(e.target.value);
63
- setTimer(undefined);
64
- }, 1000));
65
- }
66
- field.onChange(e);
67
- }, [handleStepDep, isDependency, field.onChange]);
41
+ }), ref = _e.ref, value = _e.value, onChange = _e.onChange, error = _e.error, field = _e.field;
68
42
  return (_jsx("div", __assign({ className: styles.container, style: {
69
43
  width: currentBreakPoint <= step.size
70
44
  ? '100%'
71
45
  : calcStepWidth(step.size, form.size),
72
- minHeight: (!postview && editable && (step.required || validation)) ||
73
- step.description
46
+ minHeight: step.description ||
47
+ (!postview && editable && (step.required || validation))
74
48
  ? '55px'
75
49
  : '43px',
76
- } }, { children: _jsx(RoundedTextField, __assign({}, field, { onChange: onChange, maxLength: maxLength, "data-testid": step.id, label: step.label, inputRef: ref, cantEdit: !editable || postview, required: step.required, fontWeight: 400, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, textColor: formStyle.textColor, errorColor: formStyle.errorColor, backgroundColor: formStyle.stepBackgroundColor, helperText: (_b = error === null || error === void 0 ? void 0 : error.message) !== null && _b !== void 0 ? _b : step.description, helperTextColor: formStyle.descriptionTextColor, error: !!error, icon: step.showIcon ? icon : undefined })) })));
50
+ } }, { children: _jsx(RoundedTextField, __assign({}, field, { inputRef: ref, value: value, onChange: function (e) { return onChange(e.target.value); }, maxLength: maxLength, "data-testid": step.id, label: step.label, cantEdit: !editable || postview, required: step.required, fontWeight: 400, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, textColor: formStyle.textColor, errorColor: formStyle.errorColor, backgroundColor: formStyle.stepBackgroundColor, helperText: (_b = error === null || error === void 0 ? void 0 : error.message) !== null && _b !== void 0 ? _b : step.description, helperTextColor: formStyle.descriptionTextColor, error: !!error, icon: step.showIcon ? icon : undefined })) })));
77
51
  }
78
52
  export default TextInputStep;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { TitleStepProps } from '../TitleStep';
3
- declare function TitleStep(props: TitleStepProps): JSX.Element;
3
+ declare function TitleStep({ step }: TitleStepProps): JSX.Element;
4
4
  export default TitleStep;