@arquimedes.co/eureka-forms 1.9.134 → 2.0.1-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 (208) hide show
  1. package/dist/@Types/Form.d.ts +1 -1
  2. package/dist/@Types/FormStep.d.ts +2 -2
  3. package/dist/@Types/GenericFormSteps.d.ts +1 -0
  4. package/dist/App/App.css +6 -0
  5. package/dist/{App.d.ts → App/App.d.ts} +13 -21
  6. package/dist/App/App.js +76 -0
  7. package/dist/App/AppFunctions.d.ts +17 -0
  8. package/dist/App/AppFunctions.js +210 -0
  9. package/dist/App/AppHooks.d.ts +10 -0
  10. package/dist/App/AppHooks.js +235 -0
  11. package/dist/Contexts/CustomContext.d.ts +11 -0
  12. package/dist/Contexts/CustomContext.js +6 -0
  13. package/dist/Contexts/FormContext.d.ts +4 -0
  14. package/dist/Contexts/FormContext.js +19 -0
  15. package/dist/Contexts/SectionContext.d.ts +3 -0
  16. package/dist/Contexts/SectionContext.js +3 -0
  17. package/dist/Form/ConfirmationDialog/ConfirmationDialog.d.ts +2 -4
  18. package/dist/Form/ConfirmationDialog/ConfirmationDialog.js +3 -1
  19. package/dist/Form/Form.d.ts +17 -34
  20. package/dist/Form/Form.js +73 -124
  21. package/dist/Form/FormFunctions.d.ts +5 -4
  22. package/dist/Form/FormFunctions.js +24 -25
  23. package/dist/Form/FormTypes/ColumnForm/ColumnForm.d.ts +1 -1
  24. package/dist/Form/FormTypes/ColumnForm/ColumnForm.js +34 -58
  25. package/dist/Form/FormTypes/ColumnForm/ColumnForm.module.css +0 -4
  26. package/dist/Form/FormTypes/StepperForm/StepperForm.d.ts +1 -1
  27. package/dist/Form/FormTypes/StepperForm/StepperForm.js +122 -3
  28. package/dist/Form/FormTypes/StepperForm/StepperForm.module.css +53 -0
  29. package/dist/Form/Hooks.d.ts +9 -0
  30. package/dist/Form/Hooks.js +7 -0
  31. package/dist/Form/Section/MaterialSection/MaterialSection.d.ts +1 -1
  32. package/dist/Form/Section/MaterialSection/MaterialSection.js +15 -16
  33. package/dist/Form/Section/Section.d.ts +2 -34
  34. package/dist/Form/Section/Section.js +11 -5
  35. package/dist/Form/Terms/Term/MaterialTerm/MaterialTerm.d.ts +1 -1
  36. package/dist/Form/Terms/Term/MaterialTerm/MaterialTerm.js +19 -14
  37. package/dist/Form/Terms/Term/Term.d.ts +1 -8
  38. package/dist/Form/Terms/Term/Term.js +3 -1
  39. package/dist/Form/Terms/Terms.d.ts +1 -2
  40. package/dist/Form/Terms/Terms.js +17 -8
  41. package/dist/Form/Terms/Terms.module.css +3 -0
  42. package/dist/FormSteps/@Construction/CBRElementStep/CBRElementStep.d.ts +3 -3
  43. package/dist/FormSteps/@Construction/CBRElementStep/CBRElementStep.js +49 -38
  44. package/dist/FormSteps/@Construction/CBRIncidentsStep/CBRIncidentsStep.js +3 -1
  45. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.d.ts +2 -2
  46. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.js +11 -5
  47. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/MaterialCBRIncidentsStep.js +29 -27
  48. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/MaterialCBRIncidentsStep.module.css +0 -6
  49. package/dist/FormSteps/@Construction/CBRPropertyStep/CBRPropertyStep.js +39 -31
  50. package/dist/FormSteps/AYFStepMapper.js +42 -43
  51. package/dist/FormSteps/ApiSelectorStep/ApiSelectorStep.d.ts +1 -1
  52. package/dist/FormSteps/ApiSelectorStep/ApiSelectorStep.js +4 -14
  53. package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.js +84 -97
  54. package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.module.css +0 -9
  55. package/dist/FormSteps/CBRStepMapper.js +78 -74
  56. package/dist/FormSteps/CheckBoxStep/CheckBoxStep.d.ts +1 -1
  57. package/dist/FormSteps/CheckBoxStep/CheckBoxStep.js +4 -14
  58. package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.js +33 -26
  59. package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.module.css +17 -0
  60. package/dist/FormSteps/ClassifierSelectorStep/ClassifierSelectorStep.d.ts +1 -1
  61. package/dist/FormSteps/ClassifierSelectorStep/ClassifierSelectorStep.js +4 -14
  62. package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.js +34 -27
  63. package/dist/FormSteps/CollapsibleStep/CollapsibleStep.d.ts +1 -1
  64. package/dist/FormSteps/CollapsibleStep/CollapsibleStep.js +4 -2
  65. package/dist/FormSteps/CollapsibleStep/MaterialTitleStep/MaterialCollapsibleStep.js +16 -11
  66. package/dist/FormSteps/CustomStep.d.ts +22 -0
  67. package/dist/FormSteps/CustomStep.js +37 -0
  68. package/dist/FormSteps/DatePickerStep/DatePickerStep.js +3 -1
  69. package/dist/FormSteps/DatePickerStep/MaterialDatePickerStep/MaterialDatePickerStep.d.ts +1 -1
  70. package/dist/FormSteps/DatePickerStep/MaterialDatePickerStep/MaterialDatePickerStep.js +26 -14
  71. package/dist/FormSteps/EntityValueStep/EntityValuePickerStep.d.ts +1 -1
  72. package/dist/FormSteps/EntityValueStep/EntityValuePickerStep.js +4 -14
  73. package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.js +93 -112
  74. package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.module.css +0 -9
  75. package/dist/FormSteps/FileUploadStep/FileUploadStep.js +3 -1
  76. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/FileComponent/FileComponent.d.ts +1 -1
  77. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/FileComponent/FileComponent.js +1 -1
  78. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/FileComponent/FileComponent.module.css +0 -7
  79. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/MaterialFileUploadStep.js +32 -18
  80. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/MaterialFileUploadStep.module.css +0 -7
  81. package/dist/FormSteps/MapperStep/MapperStep.d.ts +2 -2
  82. package/dist/FormSteps/MapperStep/MapperStep.js +4 -14
  83. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/ListMapperElement/ListMapperElement.d.ts +1 -9
  84. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/ListMapperElement/ListMapperElement.js +7 -2
  85. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/MapperElement.d.ts +3 -2
  86. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/MapperElement.js +18 -10
  87. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PillMapperElement/PillMapperElement.d.ts +1 -9
  88. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PillMapperElement/PillMapperElement.js +7 -2
  89. package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.d.ts +1 -1
  90. package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.js +44 -228
  91. package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.module.css +0 -7
  92. package/dist/FormSteps/RatingStep/MaterialRatingStep/MaterialRatingStep.js +30 -14
  93. package/dist/FormSteps/RatingStep/RatingStep.js +3 -1
  94. package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.js +36 -26
  95. package/dist/FormSteps/SelectorStep/SelectorStep.d.ts +1 -1
  96. package/dist/FormSteps/SelectorStep/SelectorStep.js +4 -14
  97. package/dist/FormSteps/SeparatorStep/MaterialSeparatorStep/MaterialSeparatorStep.d.ts +1 -1
  98. package/dist/FormSteps/SeparatorStep/MaterialSeparatorStep/MaterialSeparatorStep.js +3 -1
  99. package/dist/FormSteps/SeparatorStep/SeparatorStep.d.ts +1 -1
  100. package/dist/FormSteps/SeparatorStep/SeparatorStep.js +4 -14
  101. package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.d.ts +5 -2
  102. package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.js +119 -199
  103. package/dist/FormSteps/SmartSelectStep/SmartSelectStep.d.ts +9 -10
  104. package/dist/FormSteps/SmartSelectStep/SmartSelectStep.js +3 -1
  105. package/dist/FormSteps/Step.d.ts +3 -4
  106. package/dist/FormSteps/Step.js +12 -8
  107. package/dist/FormSteps/StepFunctions.d.ts +10 -0
  108. package/dist/FormSteps/StepFunctions.js +156 -1
  109. package/dist/FormSteps/StepHooks.d.ts +23 -0
  110. package/dist/FormSteps/StepHooks.js +87 -0
  111. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaEditorStep.d.ts +10 -0
  112. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaEditorStep.js +148 -0
  113. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaStep.d.ts +1 -6
  114. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaStep.js +40 -186
  115. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaStep.module.css +0 -9
  116. package/dist/FormSteps/TextAreaStep/TextAreaStep.js +8 -2
  117. package/dist/FormSteps/TextInputStep/MaterialTextInputStep/MaterialTextInputStep.d.ts +1 -1
  118. package/dist/FormSteps/TextInputStep/MaterialTextInputStep/MaterialTextInputStep.js +43 -42
  119. package/dist/FormSteps/TextInputStep/TextInputStep.js +3 -1
  120. package/dist/FormSteps/TitleStep/MaterialTitleStep/MaterialTitleStep.js +11 -6
  121. package/dist/FormSteps/TitleStep/TitleStep.d.ts +1 -1
  122. package/dist/FormSteps/TitleStep/TitleStep.js +4 -14
  123. package/dist/Icons/Construction/LeakIcon.d.ts +2 -2
  124. package/dist/Icons/Construction/LeakIcon.js +2 -1
  125. package/dist/Icons/Construction/ProjectIcon.d.ts +2 -2
  126. package/dist/Icons/Construction/ProjectIcon.js +2 -1
  127. package/dist/Icons/Construction/PropertyIcon.d.ts +2 -2
  128. package/dist/Icons/Construction/PropertyIcon.js +2 -1
  129. package/dist/Icons/Construction/SpaceIcon.d.ts +2 -2
  130. package/dist/Icons/Construction/SpaceIcon.js +2 -1
  131. package/dist/Icons/DocumentIcon.d.ts +2 -2
  132. package/dist/Icons/DocumentIcon.js +2 -1
  133. package/dist/Icons/Entities/CheckListIcon.d.ts +2 -2
  134. package/dist/Icons/Entities/CheckListIcon.js +2 -1
  135. package/dist/Icons/Entities/GenericEntityIcon.d.ts +2 -1
  136. package/dist/Icons/Entities/GenericEntityIcon.js +1 -1
  137. package/dist/Icons/Entities/HandshakeIcon.d.ts +2 -1
  138. package/dist/Icons/Entities/HandshakeIcon.js +1 -1
  139. package/dist/Icons/Entities/SupplierIcon.d.ts +2 -1
  140. package/dist/Icons/Entities/SupplierIcon.js +4 -1
  141. package/dist/{controllers → Services}/FileService.d.ts +1 -1
  142. package/dist/{controllers → Services}/FileService.js +5 -5
  143. package/dist/Services/FormService.d.ts +5 -0
  144. package/dist/Services/FormService.js +59 -0
  145. package/dist/Services/OrganizationService.d.ts +2 -0
  146. package/dist/Services/OrganizationService.js +65 -0
  147. package/dist/Shared/Navbar/Navbar.module.css +8 -0
  148. package/dist/{shared → Shared}/Rating/Rating.d.ts +1 -1
  149. package/dist/Shared/Rating/Rating.module.css +18 -0
  150. package/dist/{shared → Shared}/Rating/Ratings/LikeRating.js +5 -5
  151. package/dist/{shared → Shared}/Rating/Ratings/SatisfactionRating.js +9 -9
  152. package/dist/{shared → Shared}/Rating/Ratings/ScaleRating.js +1 -2
  153. package/dist/{shared → Shared}/RoundedCheckBox/RoundedCheckBox.d.ts +1 -1
  154. package/dist/{shared → Shared}/RoundedSmartSelect/RoundedSmartSelect.js +4 -4
  155. package/dist/{shared → Shared}/RoundedTextField/RoundedTextField.d.ts +1 -1
  156. package/dist/{shared → Shared}/RoundedTextField/RoundedTextField.js +3 -2
  157. package/dist/Shared/RoundedTextField/RoundedTextField.stories.d.ts +24 -0
  158. package/dist/Shared/RoundedTextField/RoundedTextField.stories.js +25 -0
  159. package/dist/States/GlobalStateReducer.d.ts +35 -0
  160. package/dist/States/GlobalStateReducer.js +34 -0
  161. package/dist/States/SiteStateReducer.d.ts +63 -0
  162. package/dist/States/SiteStateReducer.js +110 -0
  163. package/dist/States/WidthStatsStateReducer.d.ts +11 -0
  164. package/dist/States/WidthStatsStateReducer.js +64 -0
  165. package/dist/Utils/DraftFunctions.d.ts +3 -0
  166. package/dist/Utils/DraftFunctions.js +42 -0
  167. package/dist/Utils/MaterialProviders.d.ts +6 -0
  168. package/dist/Utils/MaterialProviders.js +31 -0
  169. package/dist/Utils/store.d.ts +25 -0
  170. package/dist/Utils/store.js +52 -0
  171. package/dist/Widget.js +3 -3
  172. package/dist/constants/CBRFormStepTypes.d.ts +2 -2
  173. package/dist/constants/CBRFormStepTypes.js +22 -22
  174. package/dist/hooks.d.ts +5 -0
  175. package/dist/hooks.js +7 -0
  176. package/dist/index.js +1 -1
  177. package/dist/index.lib.d.ts +1 -1
  178. package/dist/index.lib.js +1 -1
  179. package/package.json +63 -44
  180. package/dist/App.js +0 -472
  181. package/dist/shared/Navbar/Navbar.module.css +0 -18
  182. package/dist/shared/Rating/Rating.module.css +0 -32
  183. package/dist/{App.module.css → App/App.module.css} +0 -0
  184. package/dist/{shared → Shared}/InputIcon/InputIcon.d.ts +0 -0
  185. package/dist/{shared → Shared}/InputIcon/InputIcon.js +0 -0
  186. package/dist/{shared → Shared}/Loader/Loader.d.ts +0 -0
  187. package/dist/{shared → Shared}/Loader/Loader.js +0 -0
  188. package/dist/{shared → Shared}/Loader/Loader.module.css +0 -0
  189. package/dist/{shared → Shared}/Navbar/Navbar.d.ts +0 -0
  190. package/dist/{shared → Shared}/Navbar/Navbar.js +0 -0
  191. package/dist/{shared → Shared}/Rating/Rating.js +2 -2
  192. /package/dist/{shared → Shared}/Rating/Ratings/LikeRating.d.ts +0 -0
  193. /package/dist/{shared → Shared}/Rating/Ratings/SatisfactionRating.d.ts +0 -0
  194. /package/dist/{shared → Shared}/Rating/Ratings/ScaleRating.d.ts +0 -0
  195. /package/dist/{shared → Shared}/RoundedButton/RoundedButton.d.ts +0 -0
  196. /package/dist/{shared → Shared}/RoundedButton/RoundedButton.js +0 -0
  197. /package/dist/{shared → Shared}/RoundedCheckBox/RoundedCheckBox.js +0 -0
  198. /package/dist/{shared → Shared}/RoundedDatePicker/RoundedDatePicker.d.ts +0 -0
  199. /package/dist/{shared → Shared}/RoundedDatePicker/RoundedDatePicker.js +0 -0
  200. /package/dist/{shared → Shared}/RoundedSelect/RoundedSelect.d.ts +0 -0
  201. /package/dist/{shared → Shared}/RoundedSelect/RoundedSelect.js +0 -0
  202. /package/dist/{shared → Shared}/RoundedSmartSelect/RoundedSmartSelect.d.ts +0 -0
  203. /package/dist/{AxiosAPI.d.ts → Utils/AxiosAPI.d.ts} +0 -0
  204. /package/dist/{AxiosAPI.js → Utils/AxiosAPI.js} +0 -0
  205. /package/dist/{AxiosWidget.d.ts → Utils/AxiosWidget.d.ts} +0 -0
  206. /package/dist/{AxiosWidget.js → Utils/AxiosWidget.js} +0 -0
  207. /package/dist/{utils/CbrFunctions.d.ts → Utils/CBRFunctions.d.ts} +0 -0
  208. /package/dist/{utils/CbrFunctions.js → Utils/CBRFunctions.js} +0 -0
@@ -1,7 +1,10 @@
1
1
  /// <reference types="react" />
2
+ import { FieldError } from 'react-hook-form';
2
3
  import { SmartSelectStepProps } from '../SmartSelectStep';
3
- export declare function SmartSelect({ icon, step, form, value, onBlur, errors, setFocus, children, editable, onChange, inputRef, postview, formStyle, getOptions, widthStats, organization, calcDepError, valueOverwrite, getValueString, originalValues, changeListener, dependencyStore, getValueWarning, getOptionSelected, setDependencyStore, ...others }: SmartSelectStepProps & {
4
- onChange: Function;
4
+ import { GSmartSelect } from '../../../@Types/GenericFormSteps';
5
+ export declare function SmartSelect<StepType extends GSmartSelect>({ icon, step, value, error, onBlur, editable, onChange, inputRef, getOptions, calcDepError, valueOverwrite, getValueString, changeListener, getValueWarning, getOptionSelected, renderNestedSteps, }: SmartSelectStepProps<StepType> & {
6
+ error: FieldError | undefined;
7
+ onChange: any;
5
8
  onBlur: (event: any) => void;
6
9
  value: any;
7
10
  inputRef: any;
@@ -56,109 +56,83 @@ var __rest = (this && this.__rest) || function (s, e) {
56
56
  }
57
57
  return t;
58
58
  };
59
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
60
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
61
- if (ar || !(i in from)) {
62
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
63
- ar[i] = from[i];
64
- }
65
- }
66
- return to.concat(ar || Array.prototype.slice.call(from));
67
- };
68
59
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
69
60
  import styles from './MaterialSmartSelectStep.module.css';
70
- import { Controller } from 'react-hook-form';
61
+ import { useController, useFormContext } from 'react-hook-form';
71
62
  import { calcStepWidth } from '../../StepFunctions';
72
- import RoundedSmartSelect from '../../../shared/RoundedSmartSelect/RoundedSmartSelect';
73
- import { cloneElement, useEffect, useState } from 'react';
63
+ import RoundedSmartSelect from '../../../Shared/RoundedSmartSelect/RoundedSmartSelect';
64
+ import { useCallback, useContext, useEffect, useMemo, useState } from 'react';
74
65
  import React from 'react';
66
+ import FormContext from '../../../Contexts/FormContext';
67
+ import { selectBreakPoint, useAppDispatch, useAppSelector, } from '../../../hooks';
68
+ import { focusStep, setEmptyDependency, } from '../../../States/SiteStateReducer';
69
+ import { selectDependencies, useStepDependency } from '../../StepHooks';
75
70
  export function SmartSelect(_a) {
76
71
  var _this = this;
77
- var _b, _c, _d, _e;
78
- var icon = _a.icon, step = _a.step, form = _a.form, value = _a.value, onBlur = _a.onBlur, errors = _a.errors, setFocus = _a.setFocus, children = _a.children, editable = _a.editable, onChange = _a.onChange, inputRef = _a.inputRef, postview = _a.postview, formStyle = _a.formStyle, getOptions = _a.getOptions, widthStats = _a.widthStats, organization = _a.organization, calcDepError = _a.calcDepError, valueOverwrite = _a.valueOverwrite, getValueString = _a.getValueString, originalValues = _a.originalValues, changeListener = _a.changeListener, dependencyStore = _a.dependencyStore, getValueWarning = _a.getValueWarning, getOptionSelected = _a.getOptionSelected, setDependencyStore = _a.setDependencyStore, others = __rest(_a, ["icon", "step", "form", "value", "onBlur", "errors", "setFocus", "children", "editable", "onChange", "inputRef", "postview", "formStyle", "getOptions", "widthStats", "organization", "calcDepError", "valueOverwrite", "getValueString", "originalValues", "changeListener", "dependencyStore", "getValueWarning", "getOptionSelected", "setDependencyStore"]);
79
- var _f = useState(true), first = _f[0], setFirst = _f[1];
80
- var _g = useState(false), disabled = _g[0], setDisabled = _g[1];
81
- var _h = useState(), options = _h[0], setOptions = _h[1];
82
- var _j = useState(), error = _j[0], setError = _j[1];
83
- var _k = useState(false), loading = _k[0], setLoading = _k[1];
84
- var calcDependencies = function (idStep, deps) {
85
- if (deps === void 0) { deps = []; }
86
- var step = form.steps[idStep];
87
- if (step === null || step === void 0 ? void 0 : step.dependencies) {
88
- for (var _i = 0, _a = step.dependencies; _i < _a.length; _i++) {
89
- var dep = _a[_i];
90
- if (!deps.includes(dep)) {
91
- deps.push.apply(deps, __spreadArray(__spreadArray([], calcDependencies(dep, deps), false), [dep], false));
92
- }
93
- }
72
+ 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;
75
+ 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];
81
+ var dispatch = useAppDispatch();
82
+ var dependencyStore = useAppSelector(function (state) { return state.site.dependencies; });
83
+ var _p = useAppSelector(function (state) {
84
+ return selectDependencies(state, step, form);
85
+ }), emptyDep = _p.emptyDep, invalids = _p.invalids;
86
+ var _q = useFormContext(), getValues = _q.getValues, setFocus = _q.setFocus;
87
+ var isEmpty = useAppSelector(function (state) { var _a; return (_a = state.site.dependencies[step.id]) === null || _a === void 0 ? void 0 : _a.empty; });
88
+ var disabled = emptyDep;
89
+ useEffect(function () {
90
+ if (!postview) {
91
+ calcOptions(firstTime);
92
+ if (firstTime)
93
+ setFirstTime(false);
94
94
  }
95
- return deps;
96
- };
97
- var calcInvalidDeps = function () {
98
- var missingDeps = [];
99
- for (var _i = 0, _a = calcDependencies(step.id); _i < _a.length; _i++) {
100
- var idDep = _a[_i];
101
- var dependency = dependencyStore[idDep];
102
- if ((dependency === null || dependency === void 0 ? void 0 : dependency.value) === null) {
103
- missingDeps.push(idDep);
104
- }
95
+ else if (value && !step.searchable) {
96
+ setOptions([value]);
105
97
  }
106
- return missingDeps;
107
- };
108
- var calcOptions = function (currentValue, invalidDeps) { return __awaiter(_this, void 0, void 0, function () {
109
- var resp, currentOption, invalids, empty, error_1;
110
- var _a;
111
- return __generator(this, function (_b) {
112
- switch (_b.label) {
98
+ }, (_c = (_b = step.dependencies) === null || _b === void 0 ? void 0 : _b.map(function (dep) { var _a; return (_a = dependencyStore[dep]) === null || _a === void 0 ? void 0 : _a.value; })) !== null && _c !== void 0 ? _c : []);
99
+ var calcOptions = function (firstTime) { return __awaiter(_this, void 0, void 0, function () {
100
+ var resp, newValue, empty, error_1;
101
+ return __generator(this, function (_a) {
102
+ switch (_a.label) {
113
103
  case 0:
114
104
  setOptions(undefined);
115
- _b.label = 1;
105
+ if (value && !firstTime)
106
+ setLoading(true);
107
+ _a.label = 1;
116
108
  case 1:
117
- _b.trys.push([1, 3, , 4]);
118
- return [4 /*yield*/, (getOptions === null || getOptions === void 0 ? void 0 : getOptions(organization, step, dependencyStore, others.domain))];
109
+ _a.trys.push([1, 3, , 4]);
110
+ return [4 /*yield*/, (getOptions === null || getOptions === void 0 ? void 0 : getOptions(idOrganization, step, dependencyStore))];
119
111
  case 2:
120
- resp = _b.sent();
121
- if (resp !== null) {
122
- if (invalidDeps !== undefined && currentValue) {
123
- currentOption = resp.find(function (option) {
124
- return getOptionSelected(option, currentValue);
125
- });
126
- if (!currentOption) {
127
- setError('Este campo es obligatorio');
128
- }
129
- }
130
- else {
131
- invalids = calcInvalidDeps();
132
- if (invalids.length === 0) {
133
- setError(undefined);
134
- }
135
- }
136
- if (resp.length === 0) {
137
- setDependencyStore(function (dependencyStore) {
138
- var _a;
139
- return (__assign(__assign({}, dependencyStore), (_a = {}, _a[step.id] = {
140
- type: step.type,
141
- value: currentValue,
142
- empty: true,
143
- }, _a)));
144
- });
145
- }
146
- else if ((_a = dependencyStore[step.id]) === null || _a === void 0 ? void 0 : _a.empty) {
147
- setDependencyStore(function (dependencyStore) {
148
- var _a;
149
- return (__assign(__assign({}, dependencyStore), (_a = {}, _a[step.id] = {
150
- type: step.type,
151
- value: currentValue,
152
- }, _a)));
112
+ resp = _a.sent();
113
+ if (value) {
114
+ /** If the value is still valid select it */
115
+ if (resp && getValueString(value) !== undefined) {
116
+ newValue = resp.find(function (option) {
117
+ return getValueString(option) === getValueString(value);
153
118
  });
119
+ onChange(newValue);
154
120
  }
121
+ else
122
+ onChange(null);
155
123
  }
156
- empty = calcDependencies(step.id).find(function (idDep) { var _a; return (_a = dependencyStore[idDep]) === null || _a === void 0 ? void 0 : _a.empty; });
157
- setDisabled(!!empty);
158
124
  setOptions(resp);
125
+ empty = resp === null ? undefined : resp.length === 0;
126
+ /** Tell the dependency store this input is empty or not */
127
+ if (empty !== !!isEmpty) {
128
+ dispatch(setEmptyDependency({
129
+ step: step,
130
+ empty: empty,
131
+ }));
132
+ }
159
133
  return [3 /*break*/, 4];
160
134
  case 3:
161
- error_1 = _b.sent();
135
+ error_1 = _a.sent();
162
136
  console.error(error_1);
163
137
  setOptions(null);
164
138
  return [3 /*break*/, 4];
@@ -168,135 +142,81 @@ export function SmartSelect(_a) {
168
142
  }
169
143
  });
170
144
  }); };
171
- useEffect(function () {
172
- if (!postview) {
173
- if (first) {
174
- setFirst(false);
175
- var invalids = calcInvalidDeps().filter(function (idDep) { return originalValues[idDep]; });
176
- setError(calcDepError === null || calcDepError === void 0 ? void 0 : calcDepError(invalids.map(function (idDep) { return form.steps[idDep]; })));
177
- calcOptions(value, invalids);
178
- }
179
- else {
180
- if (value) {
145
+ var warning = useMemo(function () { return getValueWarning === null || getValueWarning === void 0 ? void 0 : getValueWarning(value); }, [value]);
146
+ var onFocus = useCallback(function () {
147
+ if (disabled)
148
+ return;
149
+ if (options === null && !(!editable || postview)) {
150
+ if (!value) {
151
+ if (invalids.length > 0) {
152
+ var depStep = form.steps[invalids[0]];
153
+ if (form.type === 'STEPPER' &&
154
+ step.idSection !== depStep.idSection) {
155
+ dispatch(focusStep({
156
+ step: form.steps[invalids[0]],
157
+ values: getValues(),
158
+ }));
159
+ }
160
+ else {
161
+ setFocus(invalids[0]);
162
+ }
163
+ }
164
+ else if (value === undefined) {
181
165
  setLoading(true);
182
- setOptions([]);
183
- onChange(null);
184
166
  }
185
- calcOptions(null);
186
167
  }
187
168
  }
188
- else if (value && !step.searchable) {
189
- setOptions([value]);
169
+ if (options === undefined && !(!editable || postview)) {
170
+ setLoading(true);
190
171
  }
191
- }, (_c = (_b = step.dependencies) === null || _b === void 0 ? void 0 : _b.map(function (dep) { return dependencyStore[dep]; })) !== null && _c !== void 0 ? _c : []);
192
- /**
193
- * If the original value has no label search for it in the list.
194
- */
195
- useEffect(function () {
196
- var original = originalValues[step.id];
197
- if (original &&
198
- options &&
199
- getValueString(original) !== undefined &&
200
- !original.label) {
201
- var newValue = options.find(function (option) { return getValueString(option) === getValueString(original); });
202
- onChange(newValue);
172
+ if (!touched)
173
+ setTouched(true);
174
+ }, [options, disabled, postview, editable, invalids, touched]);
175
+ var handleUpdate = useCallback(function (value) {
176
+ valueOverwrite ? onChange(valueOverwrite(value)) : onChange(value);
177
+ }, [valueOverwrite, onChange]);
178
+ var errorMsg = useMemo(function () {
179
+ if (invalids.length > 0 && touched) {
180
+ return calcDepError === null || calcDepError === void 0 ? void 0 : calcDepError(invalids.map(function (idDep) { return form.steps[idDep]; }));
203
181
  }
204
- }, [originalValues[step.id], options]);
205
- var handleMissingDep = function () { return __awaiter(_this, void 0, void 0, function () {
206
- var invalids;
207
- return __generator(this, function (_a) {
208
- if (step.dependencies) {
209
- invalids = calcInvalidDeps();
210
- setError(calcDepError === null || calcDepError === void 0 ? void 0 : calcDepError(invalids
211
- .map(function (idDep) { return form.steps[idDep]; })
212
- .filter(function (idDep) { return idDep !== undefined; })));
213
- if (!value) {
214
- if (invalids.length > 0) {
215
- setFocus(invalids[0]);
216
- }
217
- else {
218
- setLoading(true);
219
- }
220
- }
182
+ else if (value && options) {
183
+ var currentOption = options.find(function (option) {
184
+ return getOptionSelected(option, value);
185
+ });
186
+ if (!currentOption) {
187
+ return 'Este campo es obligatorio';
221
188
  }
222
- return [2 /*return*/];
223
- });
224
- }); };
225
- var warning = getValueWarning === null || getValueWarning === void 0 ? void 0 : getValueWarning(value);
189
+ }
190
+ else if (options === null && invalids.length === 0) {
191
+ return 'Error al cargar las opciones';
192
+ }
193
+ return undefined;
194
+ }, [invalids, touched, value, options]);
226
195
  return (_jsxs(React.Fragment, { children: [_jsx("div", __assign({ className: styles.container, style: {
227
- width: widthStats.currentBreakPoint <= step.size
196
+ width: currentBreakPoint <= step.size
228
197
  ? '100%'
229
198
  : calcStepWidth(step.size, form.size),
230
199
  minHeight: step.description ||
231
200
  (!postview && editable && step.required)
232
201
  ? '55px'
233
202
  : '43px',
234
- }, onClick: function () {
235
- if (disabled)
236
- return;
237
- if (options === null && !(!editable || postview)) {
238
- handleMissingDep();
239
- }
240
- if (options === undefined && !(!editable || postview)) {
241
- setLoading(true);
242
- }
243
- }, "data-testid": step.id }, { children: _jsx(RoundedSmartSelect, { value: value, onBlur: onBlur, onFocus: function () {
244
- if (disabled)
245
- return;
246
- if (options === null && !(!editable || postview)) {
247
- handleMissingDep();
248
- }
249
- if (options === undefined && !(!editable || postview)) {
250
- setLoading(true);
251
- }
252
- }, 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: function (value) {
253
- valueOverwrite
254
- ? onChange(valueOverwrite(value))
255
- : onChange(value);
256
- setError(undefined);
257
- }, getOptionSelected: getOptionSelected, getValueString: getValueString, helperText: (_e = error !== null && error !== void 0 ? error : warning) !== null && _e !== void 0 ? _e : (errors[step.id]
258
- ? errors[step.id].message
259
- : step.description), error: error !== undefined ||
260
- (warning !== undefined && warning !== null) ||
261
- !!errors[step.id] }) })), children &&
262
- cloneElement(children, {
263
- value: value,
264
- stepProps: __assign({ step: step, form: form, errors: errors, setFocus: setFocus, postview: postview, editable: editable, formStyle: formStyle, widthStats: widthStats, organization: organization, originalValues: originalValues, dependencyStore: dependencyStore, setDependencyStore: setDependencyStore }, others),
265
- })] }));
203
+ }, 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)] }));
266
204
  }
267
205
  function SmartSelectStep(props) {
268
- var _a, _b;
269
- var step = props.step, dependencyStore = props.dependencyStore, defaultValue = props.defaultValue, originalValues = props.originalValues;
270
- useEffect(function () {
271
- /** Al modificar tambien modificar en EntityValue */
272
- if (!originalValues[step.id] && defaultValue) {
273
- props.setDependencyStore(function (dependencies) {
274
- var _a;
275
- return (__assign(__assign({}, dependencies), (_a = {}, _a[step.id] = {
276
- type: step.type,
277
- value: props.defaultValue,
278
- }, _a)));
279
- });
280
- }
281
- }, []);
282
- return (_jsx(Controller, { name: step.id, control: props.control, defaultValue: (_b = (_a = originalValues[step.id]) !== null && _a !== void 0 ? _a : defaultValue) !== null && _b !== void 0 ? _b : null, rules: {
283
- required: step.required
284
- ? 'Este campo es obligatorio'
285
- : undefined,
286
- }, shouldUnregister: true, render: function (_a) {
287
- var _b = _a.field, ref = _b.ref, field = __rest(_b, ["ref"]);
288
- return (_jsx(SmartSelect, __assign({}, props, field, { inputRef: ref, onChange: function (value) {
289
- if (dependencyStore[step.id] !== undefined) {
290
- props.setDependencyStore(function (dependencies) {
291
- var _a;
292
- return (__assign(__assign({}, dependencies), (_a = {}, _a[step.id] = {
293
- type: step.type,
294
- value: value !== null && value !== void 0 ? value : null,
295
- }, _a)));
296
- });
297
- }
298
- field.onChange(value);
299
- } })));
300
- } }));
206
+ var step = props.step, defaultValue = props.defaultValue;
207
+ var _a = useStepDependency(step, defaultValue), handleStepDep = _a.handleStepDep, originalValue = _a.originalValue;
208
+ var _b = useController({
209
+ name: step.id,
210
+ shouldUnregister: true,
211
+ rules: {
212
+ required: step.required ? 'Este campo es obligatorio' : undefined,
213
+ },
214
+ defaultValue: originalValue,
215
+ }), _c = _b.field, ref = _c.ref, field = __rest(_c, ["ref"]), error = _b.fieldState.error;
216
+ var onChange = useCallback(function (value) {
217
+ handleStepDep(value);
218
+ field.onChange(value);
219
+ }, [handleStepDep, field]);
220
+ return (_jsx(SmartSelect, __assign({}, props, field, { error: error, inputRef: ref, onChange: onChange })));
301
221
  }
302
222
  export default SmartSelectStep;
@@ -1,32 +1,31 @@
1
1
  /// <reference types="react" />
2
2
  import { StepProps } from '../Step';
3
3
  import { GSmartSelect } from '../../@Types/GenericFormSteps';
4
- import { Organization } from '../../@Types';
5
4
  import { FormStep } from '../../@Types/FormStep';
6
5
  import { DependencyStore } from '../../Form/Form';
7
- export interface SmartSelectStepProps extends Omit<StepProps, 'step'> {
6
+ export interface SmartSelectStepProps<StepType extends GSmartSelect = GSmartSelect> extends Omit<StepProps, 'step'> {
8
7
  /** The SmartSelectStep to display */
9
- step: GSmartSelect;
8
+ step: StepType;
10
9
  /** The icon to display */
11
10
  icon?: React.ReactNode;
12
11
  /** Function to call to get the options of the selector, return null if dependency is not met */
13
- getOptions: (organization: Organization, step: GSmartSelect, dependencyStore: DependencyStore, domain?: string) => Promise<any[] | null>;
12
+ getOptions: (idOrganization: string | undefined, step: StepType, dependencyStore: DependencyStore) => Promise<any[] | null>;
14
13
  /** Function to determine the currently selected option */
15
14
  getOptionSelected: (option: any, value: any) => boolean;
16
15
  /** Function to determine the current value in string format */
17
- getValueString: (value: any) => string;
16
+ getValueString: (value: any | undefined) => string;
18
17
  /** Function to if currently selected option has warning */
19
- getValueWarning?: (value: any) => string | null;
20
- /** Function that returns the error message based on the types of the missing Dependencies, undefined if no error msg */
21
- calcDepError?: (types: FormStep[]) => string | undefined;
22
- /** children to render */
23
- children?: React.ReactElement<any, string>;
18
+ getValueWarning?: (value: any | undefined) => string | null;
19
+ /** Function that returns the error message based on the steps of the missing Dependencies, undefined if no error msg */
20
+ calcDepError?: (steps: FormStep[]) => string | undefined;
24
21
  /** Function that overwrites the value before setting it */
25
22
  valueOverwrite?: (value: any | null) => any;
26
23
  /** Function called on each value change */
27
24
  changeListener?: (value: any) => void;
28
25
  /** default Value to select */
29
26
  defaultValue?: any;
27
+ /** function called to render nested elements when selected */
28
+ renderNestedSteps?: (value: any) => JSX.Element;
30
29
  }
31
30
  declare function SmartSelectStep(props: SmartSelectStepProps): JSX.Element;
32
31
  export default SmartSelectStep;
@@ -12,8 +12,10 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { FormStyleTypes } from '../../constants/FormStepTypes';
14
14
  import MaterialSmartSelectStep from './MaterialSmartSelectStep/MaterialSmartSelectStep';
15
+ import { useAppSelector } from '../../hooks';
15
16
  function SmartSelectStep(props) {
16
- switch (props.formStyle.type) {
17
+ var formStyle = useAppSelector(function (state) { return state.global; }).formStyle;
18
+ switch (formStyle.type) {
17
19
  case FormStyleTypes.MATERIAL:
18
20
  default: {
19
21
  return _jsx(MaterialSmartSelectStep, __assign({}, props));
@@ -1,11 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { FormStep } from '../@Types/FormStep';
3
- import { RecursiveData } from '../Form/Section/Section';
4
- export interface StepProps extends RecursiveData {
3
+ export interface StepProps {
5
4
  step: FormStep;
6
- handleSizeChange?: Function;
5
+ editable: boolean;
6
+ handleSizeChange?: () => void;
7
7
  level: number;
8
- globalEditable: boolean;
9
8
  }
10
9
  declare function StepComponent({ step, ...props }: StepProps): JSX.Element;
11
10
  export default StepComponent;
@@ -38,22 +38,26 @@ import EntityValuePickerStep from './EntityValueStep/EntityValuePickerStep';
38
38
  import MapperStep from './MapperStep/MapperStep';
39
39
  import CollapsibleStep from './CollapsibleStep/CollapsibleStep';
40
40
  import ApiSelectorStep from './ApiSelectorStep/ApiSelectorStep';
41
+ import CustomStep from './CustomStep';
42
+ import { useAppSelector } from '../hooks';
43
+ import { useContext } from 'react';
44
+ import CustomContext from '../Contexts/CustomContext';
41
45
  function StepComponent(_a) {
42
- var _b, _c;
46
+ var _b;
43
47
  var step = _a.step, props = __rest(_a, ["step"]);
44
48
  if (!step) {
45
- console.error('Step not found!');
49
+ console.error('Step not found!', step);
46
50
  return _jsx("div", {});
47
51
  }
48
- var customStep = props.customSteps[step.type];
49
- var editable = props.globalEditable ? (_b = step.editable) !== null && _b !== void 0 ? _b : true : false;
50
- if ((props.postview || !editable) &&
51
- (props.partial || step.partial) &&
52
- props.originalValues[step.id] === undefined) {
52
+ var _c = useAppSelector(function (state) { return state.global; }), postview = _c.postview, partial = _c.partial;
53
+ var customSteps = useContext(CustomContext).customSteps;
54
+ var customStep = customSteps[step.type];
55
+ var editable = props.editable ? (_b = step.editable) !== null && _b !== void 0 ? _b : true : false;
56
+ if ((postview || !editable) && (partial || step.partial)) {
53
57
  return _jsx("div", {});
54
58
  }
55
59
  if (customStep) {
56
- return customStep.component(__assign(__assign(__assign({}, props), ((_c = customStep.componentProps) !== null && _c !== void 0 ? _c : {})), { step: step, editable: editable }));
60
+ return (_jsx(CustomStep, __assign({}, props, { step: step, editable: editable, customStep: customStep })));
57
61
  }
58
62
  switch (step.type) {
59
63
  case Types.TITLE: {
@@ -1,5 +1,15 @@
1
1
  import { FormSize } from '../@Types/Form';
2
2
  import { ApiSelector, CheckBox, ClassifierSelector, EntityValuePicker, FormSelector, FormStep } from '../@Types/FormStep';
3
+ import { CBRFormStep } from '../@Types/CBRFormStep';
3
4
  export declare function calcFillerSize(step: FormSelector | ClassifierSelector | EntityValuePicker | ApiSelector | CheckBox, steps: Record<string, FormStep>, values: Record<string, unknown>, size: FormSize): number;
4
5
  export declare function recursivelyCheckOpenSize(idStep: string, steps: Record<string, FormStep>, values: Record<string, any>): number;
5
6
  export declare const calcStepWidth: (stepSize: 1 | 2 | 3 | 4, size: FormSize) => number;
7
+ export declare const calcDefaultValue: (step: FormStep | CBRFormStep) => any;
8
+ export declare const iterateNestedSteps: (idStep: string, steps: Record<string, FormStep>, iteration: (step: FormStep) => void) => void;
9
+ /**
10
+ * Utility function to handle the substeps of a step
11
+ * @param step step to calc the substeps
12
+ * @param idModifier optional modifier for the ids of the substeps and all other properties
13
+ * @returns list of the ids of the direct substeps of the step, if modifier returns modified steps
14
+ */
15
+ export declare const calcSubSteps: (step: FormStep, idModifier?: ((idSubStep: string) => string) | undefined) => string[];