@arquimedes.co/eureka-forms 3.0.30-test → 3.0.31-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.
- package/dist/App/AppHooks.js +13 -12
- package/dist/Form/Form.js +2 -6
- package/dist/Form/FormHooks.js +0 -1
- package/dist/Form/FormTypes/ColumnForm/ColumnForm.js +0 -2
- package/dist/Form/FormTypes/StepperForm/StepperForm.js +0 -2
- package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/MaterialCBRIncidentsStep.js +0 -1
- package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.js +1 -5
- package/dist/FormSteps/CollapsibleStep/MaterialTitleStep/MaterialCollapsibleStep.js +1 -3
- package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.js +0 -1
- package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/MaterialFileUploadStep.js +0 -1
- package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/MapperElementComponent.js +0 -1
- package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PagedMapperElement/PagedMapperElement.js +1 -5
- package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.js +3 -12
- package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.js +1 -5
- package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.js +2 -9
- package/dist/FormSteps/StepHooks.js +3 -11
- package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/DraftEditor.css +2 -2
- package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaEditorStep.js +1 -3
- package/dist/FormSteps/Utils/@StepFiller/StepFiller.js +0 -1
- package/dist/Shared/CustomBtn/CustomBtn.js +0 -1
- package/dist/Shared/ErkButton/ErkButton.stories.d.ts +2 -1
- package/dist/Shared/ErkButton/ErkButton.stories.js +2 -0
- package/dist/Shared/ErkCheckbox/ErkCheckBox.stories.d.ts +1 -1
- package/dist/Shared/ErkDatePicker/ErkDatePicker.stories.d.ts +1 -1
- package/dist/Shared/ErkDatePicker/ErkDatePicker.stories.js +6 -11
- package/dist/Shared/ErkSelect/ErkSelect.stories.d.ts +5 -2
- package/dist/Shared/ErkSelect/ErkSelect.stories.js +28 -5
- package/dist/Shared/ErkSmartSelect/ErkSmartSelect.stories.d.ts +1 -1
- package/dist/Shared/ErkSmartSelect/ErkSmartSelect.stories.js +10 -18
- package/dist/Shared/ErkTextField/ErkTextField.stories.d.ts +1 -1
- package/dist/Shared/ErkTextField/ErkTextField.stories.js +5 -11
- package/dist/Shared/Navbar/Navbar.stories.d.ts +1 -1
- package/dist/Shared/Rating/Rating.stories.d.ts +1 -1
- package/dist/Shared/Toggle/Toggle.js +1 -1
- package/dist/Utils/AxiosAPI.js +1 -1
- package/dist/Utils/LocaleUtils.js +1 -1
- package/dist/Utils/MaterialProviders.js +2 -2
- package/dist/Utils/store.d.ts +1 -10
- package/dist/index.css +1 -0
- package/package.json +45 -57
package/dist/App/AppHooks.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCallback, useEffect, useState } from 'react';
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
2
2
|
import { reset } from '../States/GlobalSlice';
|
|
3
3
|
import { fetchOrganization } from '../Services/OrganizationService';
|
|
4
4
|
import { fetchForm } from '../Services/FormService';
|
|
@@ -15,6 +15,9 @@ export const useSetupApp = (isEmbedded, props) => {
|
|
|
15
15
|
const [form, setForm] = useState(undefined);
|
|
16
16
|
const [organization, setOrganization] = useState(undefined);
|
|
17
17
|
const dispatch = useAppDispatch();
|
|
18
|
+
// Create stable stringified versions that only change when content changes
|
|
19
|
+
const valuesDataKey = useMemo(() => JSON.stringify(valuesData), [valuesData]);
|
|
20
|
+
const formDataKey = useMemo(() => JSON.stringify(formData), [formData]);
|
|
18
21
|
const loadOrg = async (idOrganization) => {
|
|
19
22
|
const organization = await fetchOrganization(idOrganization);
|
|
20
23
|
if (organization) {
|
|
@@ -119,21 +122,21 @@ export const useSetupApp = (isEmbedded, props) => {
|
|
|
119
122
|
return () => {
|
|
120
123
|
dispatch({ type: 'CLEAR' });
|
|
121
124
|
};
|
|
122
|
-
//
|
|
125
|
+
// Use stringified keys for stable comparison - only changes when content changes
|
|
126
|
+
// Other object/function props (classifiers) are still
|
|
127
|
+
// intentionally excluded to prevent re-renders when parent re-creates these objects
|
|
123
128
|
}, [
|
|
124
|
-
|
|
129
|
+
apiKey,
|
|
130
|
+
partial,
|
|
125
131
|
preview,
|
|
126
132
|
internal,
|
|
127
133
|
postview,
|
|
128
|
-
partial,
|
|
129
134
|
editable,
|
|
130
|
-
handleConfirmed,
|
|
131
135
|
customSteps,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
formData,
|
|
135
|
-
classifiers,
|
|
136
|
+
formDataKey,
|
|
137
|
+
valuesDataKey,
|
|
136
138
|
idCurrentAgent,
|
|
139
|
+
handleConfirmed,
|
|
137
140
|
]);
|
|
138
141
|
const reload = useCallback(() => {
|
|
139
142
|
if (!form)
|
|
@@ -146,12 +149,11 @@ export const useSetupApp = (isEmbedded, props) => {
|
|
|
146
149
|
if (handleConfirmed) {
|
|
147
150
|
handleConfirmed();
|
|
148
151
|
}
|
|
149
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
150
152
|
}, [form]);
|
|
151
153
|
return {
|
|
152
154
|
form,
|
|
153
155
|
organization,
|
|
154
|
-
branding: organization?.customBrandings ? form?.branding ?? organization.branding : organization?.branding,
|
|
156
|
+
branding: organization?.customBrandings ? (form?.branding ?? organization.branding) : organization?.branding,
|
|
155
157
|
reload,
|
|
156
158
|
};
|
|
157
159
|
};
|
|
@@ -172,6 +174,5 @@ export const useLogRocket = (organization, form, { apiKey, internal, postview, p
|
|
|
172
174
|
};
|
|
173
175
|
useEffect(() => {
|
|
174
176
|
void loadLogRocket();
|
|
175
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
176
177
|
}, [organization, form]);
|
|
177
178
|
};
|
package/dist/Form/Form.js
CHANGED
|
@@ -34,14 +34,12 @@ function FormComponent({ form, apiKey, reload, isWidget, branding, setSubmit, sc
|
|
|
34
34
|
formMethods.setFocus(idFocusStep);
|
|
35
35
|
dispatch(focusStep(undefined));
|
|
36
36
|
}
|
|
37
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
38
37
|
}, [idFocusStep]);
|
|
39
38
|
const onSubmit = useCallback(async (values) => {
|
|
40
39
|
let token = null;
|
|
41
40
|
if (form.hasCaptcha && !internal && !customSubmit) {
|
|
42
41
|
token = recaptchaRef.current?.getValue();
|
|
43
|
-
|
|
44
|
-
token = await recaptchaRef?.current.executeAsync();
|
|
42
|
+
token ?? (token = await recaptchaRef?.current.executeAsync());
|
|
45
43
|
}
|
|
46
44
|
const ApiKey = internal ? form.apiKey : apiKey;
|
|
47
45
|
if (!ApiKey && !customSubmit && !customSubmitBtns)
|
|
@@ -78,9 +76,7 @@ function FormComponent({ form, apiKey, reload, isWidget, branding, setSubmit, sc
|
|
|
78
76
|
catch (error) {
|
|
79
77
|
console.error(error);
|
|
80
78
|
}
|
|
81
|
-
},
|
|
82
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
83
|
-
[customSteps, internal, customSubmit, idOrganization, idForm]);
|
|
79
|
+
}, [customSteps, internal, customSubmit, idOrganization, idForm]);
|
|
84
80
|
useWidthStats(containerRef, form, postview, internal);
|
|
85
81
|
const isResponsive = useAppSelector((state) => state.widthStats.isResponsive);
|
|
86
82
|
const renderForm = () => {
|
package/dist/Form/FormHooks.js
CHANGED
|
@@ -25,7 +25,6 @@ function ColumnForm({ onSubmit, customSubmitBtns, ...props }) {
|
|
|
25
25
|
useEffect(() => {
|
|
26
26
|
if (props.setSubmit)
|
|
27
27
|
props.setSubmit(submit);
|
|
28
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
28
|
}, [props.setSubmit]);
|
|
30
29
|
/** Esto se usa para no tener que escuchar todo el tiempo los errores del formulario */
|
|
31
30
|
const handleErrors = handleSubmit(() => { }, (errors) => {
|
|
@@ -47,7 +46,6 @@ function ColumnForm({ onSubmit, customSubmitBtns, ...props }) {
|
|
|
47
46
|
values = await onSubmit(values);
|
|
48
47
|
setLoading(false);
|
|
49
48
|
return values;
|
|
50
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
49
|
}, [form]);
|
|
52
50
|
return (_jsxs("div", { className: styles.container, style: { color: formStyle.textColor }, children: [loading && _jsx("div", { className: styles.curtain }), previous.map((idSection) => (_jsx(Section, { idSection: idSection }, idSection))), next.map((idSection) => (_jsx(Section, { idSection: idSection }, idSection))), _jsx(Terms, {}), !postview && editable && (_jsxs(React.Fragment, { children: [customSubmitBtns === undefined && (_jsx("div", { className: styles.submitBtnContainer, children: _jsx(CustomBtn, { onClick: () => void submit(), width: "calc(100% - 70px)", label: sendLabel ?? 'Enviar', backgroundColor: formStyle.primaryColor, color: formStyle.primaryContrastColor, loading: loading, "data-testid": "form__submit" }) })), customSubmitBtns?.(submit, loading)] }))] }));
|
|
53
51
|
}
|
|
@@ -29,7 +29,6 @@ function StepperForm({ onSubmit, scrollToTop }) {
|
|
|
29
29
|
const handlePrevious = useCallback(() => {
|
|
30
30
|
dispatch(SiteReducer.handlePrevious({ values: getValues(), form }));
|
|
31
31
|
scrollToTop?.();
|
|
32
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
33
32
|
}, []);
|
|
34
33
|
const handleNext = useCallback(async () => {
|
|
35
34
|
setLoading('NEXT');
|
|
@@ -58,7 +57,6 @@ function StepperForm({ onSubmit, scrollToTop }) {
|
|
|
58
57
|
const response = await onSubmit(values);
|
|
59
58
|
setLoading(undefined);
|
|
60
59
|
return response;
|
|
61
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
62
60
|
}, [next]);
|
|
63
61
|
if (!idCurrent)
|
|
64
62
|
return _jsx(_Fragment, {});
|
|
@@ -34,7 +34,6 @@ function CBRIncidentsStep({ step, editable, ...others }) {
|
|
|
34
34
|
if (firstRender && value.length === 0 && !postview && editable) {
|
|
35
35
|
handleAddIncident();
|
|
36
36
|
}
|
|
37
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
38
37
|
}, [firstRender]);
|
|
39
38
|
const handleAddIncident = () => {
|
|
40
39
|
const current = value.filter((incident) => !incident.deleted);
|
|
@@ -25,7 +25,6 @@ function ClassifierSelectorStep({ step, editable }) {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
return dependencies;
|
|
28
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
28
|
}, []);
|
|
30
29
|
const dependencies = useAppSelector((state) => selectDependencies(state, idDependencies));
|
|
31
30
|
const { postview, preview } = useAppSelector((state) => state.global);
|
|
@@ -47,14 +46,11 @@ function ClassifierSelectorStep({ step, editable }) {
|
|
|
47
46
|
label: classifier?.clientName?.trim?.() && preview ? classifier?.clientName : classifier?.name,
|
|
48
47
|
};
|
|
49
48
|
});
|
|
50
|
-
},
|
|
51
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
|
-
idDependencies.map((id) => dependencies[id].value));
|
|
49
|
+
}, idDependencies.map((id) => dependencies[id].value));
|
|
53
50
|
useEffect(() => {
|
|
54
51
|
if (value && !options?.find((option) => option.value === value?.value)) {
|
|
55
52
|
onChange('');
|
|
56
53
|
}
|
|
57
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
58
54
|
}, [options]);
|
|
59
55
|
if (!step.idClassifier || !classifier)
|
|
60
56
|
return _jsx(_Fragment, {});
|
|
@@ -18,9 +18,7 @@ function Collapsible({ step, open, setOpen, ...others }) {
|
|
|
18
18
|
if (!open && step.dependencies?.find((dep) => !!errors[dep])) {
|
|
19
19
|
setOpen(true);
|
|
20
20
|
}
|
|
21
|
-
},
|
|
22
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23
|
-
step.dependencies?.map((dep) => errors[dep]) ?? []);
|
|
21
|
+
}, step.dependencies?.map((dep) => errors[dep]) ?? []);
|
|
24
22
|
return (_jsxs("div", { style: { maxWidth: '100%' }, children: [_jsxs("div", { className: styles.container, style: {
|
|
25
23
|
color: formStyle.textColor,
|
|
26
24
|
borderColor: formStyle.primaryColor,
|
|
@@ -22,7 +22,6 @@ function EntityValuePickerStep({ step, editable }) {
|
|
|
22
22
|
ids.push(...recursivelyCalcConditionSteps(dialog.condition));
|
|
23
23
|
}
|
|
24
24
|
return ids;
|
|
25
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26
25
|
}, []);
|
|
27
26
|
const dialogDeps = useAppSelector((state) => selectDependencies(state, dialogsIdStepDeps));
|
|
28
27
|
const handleCloseDialog = useCallback(() => {
|
|
@@ -19,7 +19,6 @@ function MapperElementComponent(props) {
|
|
|
19
19
|
...customContext,
|
|
20
20
|
customStepProps: props.calcCustomStepProps(element, customContext.customStepProps),
|
|
21
21
|
};
|
|
22
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23
22
|
}, [element, customContext]);
|
|
24
23
|
if (element.deleted)
|
|
25
24
|
return _jsx(_Fragment, {});
|
|
@@ -29,7 +29,6 @@ function PagedMapperElement({ step, num, loading, element, children, editable, o
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
return null;
|
|
32
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
33
32
|
}, [value]);
|
|
34
33
|
const prevIndex = useMemo(() => {
|
|
35
34
|
for (let i = page - 1; i >= 0; i--) {
|
|
@@ -39,7 +38,6 @@ function PagedMapperElement({ step, num, loading, element, children, editable, o
|
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
40
|
return null;
|
|
42
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
43
41
|
}, [value]);
|
|
44
42
|
/** Esto se usa para no tener que escuchar todo el tiempo los errores del formulario */
|
|
45
43
|
const handleErrors = handleSubmit(() => { }, (errors) => {
|
|
@@ -70,9 +68,7 @@ function PagedMapperElement({ step, num, loading, element, children, editable, o
|
|
|
70
68
|
page: index,
|
|
71
69
|
});
|
|
72
70
|
return;
|
|
73
|
-
},
|
|
74
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
75
|
-
[elements]);
|
|
71
|
+
}, [elements]);
|
|
76
72
|
const widthStats = useAppSelector((state) => state.widthStats);
|
|
77
73
|
const { calcName } = customElementModifiers ?? {};
|
|
78
74
|
const name = calcName ? calcName(element) : step.unitLabel ? step.unitLabel + ' ' + (num + 1) : '';
|
|
@@ -33,9 +33,7 @@ function MapperComponent({ form, step, error, value, loading, inputRef, editable
|
|
|
33
33
|
elements: tempElements,
|
|
34
34
|
page: page === index ? newPage : page,
|
|
35
35
|
});
|
|
36
|
-
},
|
|
37
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
38
|
-
[elements, onChange]);
|
|
36
|
+
}, [elements, onChange]);
|
|
39
37
|
const inputValue = useMemo(() => JSON.stringify(elements), [elements]);
|
|
40
38
|
const { formStyle, postview } = useAppSelector((state) => state.global);
|
|
41
39
|
const { container } = useMemo(() => {
|
|
@@ -89,7 +87,6 @@ function MapperStep(props) {
|
|
|
89
87
|
if (!customAdd)
|
|
90
88
|
handleAddElement();
|
|
91
89
|
}
|
|
92
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
93
90
|
}, []);
|
|
94
91
|
const handleAddElement = useCallback((elementValue) => {
|
|
95
92
|
const { element, steps, mappers } = addMapperStep(step, customSteps);
|
|
@@ -109,10 +106,7 @@ function MapperStep(props) {
|
|
|
109
106
|
customSteps,
|
|
110
107
|
allSteps: { ...form.steps, ...steps },
|
|
111
108
|
}));
|
|
112
|
-
},
|
|
113
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
114
|
-
[step, form, customSteps, value, onChange]);
|
|
115
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
109
|
+
}, [step, form, customSteps, value, onChange]);
|
|
116
110
|
const subForm = useMemo(() => ({ ...form, steps: { ...form.steps, ...localSteps } }), [localSteps]);
|
|
117
111
|
return (_jsx(MapperComponent, { ...props, error: error, inputRef: ref, onChange: onChange, value: value, handleAddElement: handleAddElement, form: subForm }));
|
|
118
112
|
}
|
|
@@ -142,10 +136,7 @@ export function CustomMapperStep(props) {
|
|
|
142
136
|
customSteps,
|
|
143
137
|
allSteps: { ...form.steps, ...steps },
|
|
144
138
|
}));
|
|
145
|
-
},
|
|
146
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
147
|
-
[step, form, customSteps, elements, onChange]);
|
|
148
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
139
|
+
}, [step, form, customSteps, elements, onChange]);
|
|
149
140
|
const subForm = useMemo(() => ({ ...form, steps: { ...form.steps, ...localSteps } }), [localSteps]);
|
|
150
141
|
return _jsx(MapperComponent, { ...props, form: subForm, onChange: onChange, handleAddElement: handleAddElement });
|
|
151
142
|
}
|
|
@@ -27,7 +27,6 @@ function SelectorStep({ step, editable }) {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
return dependencies;
|
|
30
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31
30
|
}, []);
|
|
32
31
|
const dependencies = useAppSelector((state) => selectDependencies(state, idDependencies));
|
|
33
32
|
const mapNestedOption = () => {
|
|
@@ -54,14 +53,11 @@ function SelectorStep({ step, editable }) {
|
|
|
54
53
|
return true;
|
|
55
54
|
return false;
|
|
56
55
|
});
|
|
57
|
-
},
|
|
58
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59
|
-
idDependencies.map((id) => dependencies[id].value));
|
|
56
|
+
}, idDependencies.map((id) => dependencies[id].value));
|
|
60
57
|
useEffect(() => {
|
|
61
58
|
if (value && !filteredOptions.find((option) => option.value === value?.value)) {
|
|
62
59
|
onChange('');
|
|
63
60
|
}
|
|
64
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
61
|
}, [filteredOptions]);
|
|
66
62
|
return (_jsxs(React.Fragment, { children: [_jsx(MaterialInputContainer, { step: step, editable: editable, children: _jsx(ErkSmartSelect, { ...field, value: value, inputRef: ref, error: !!error, label: step.label, onChange: onChange, required: step.required, options: filteredOptions, searchable: step.searchable, readOnly: !editable || postview, helperText: error?.message?.toString() ?? step.description, getOptionSelected: (option, value) => option?.value === value?.value }) }), value && mapNestedOption()] }));
|
|
67
63
|
}
|
|
@@ -32,9 +32,7 @@ function SmartSelectStep({ step, editable, getOptions, calcDepError, defaultValu
|
|
|
32
32
|
const idDependencies = useMemo(() => getOptionsConditionsIdSteps(step), [getOptionsConditionsIdSteps, step]);
|
|
33
33
|
const dependencies = useAppSelector((state) => selectDependencies(state, allDeps));
|
|
34
34
|
const deps = useAppSelector((state) => selectDependencies(state, idDependencies));
|
|
35
|
-
const conditionDependencies = useMemo(() => deps,
|
|
36
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
37
|
-
idDependencies.map((id) => deps[id]));
|
|
35
|
+
const conditionDependencies = useMemo(() => deps, idDependencies.map((id) => deps[id]));
|
|
38
36
|
const { emptyDep, invalids } = useAppSelector((state) => selectStepDependencies(state, step, form));
|
|
39
37
|
const { getValues, setFocus } = useFormContext();
|
|
40
38
|
const isEmpty = useAppSelector((state) => state.site.dependencies[step.id]?.empty);
|
|
@@ -47,9 +45,7 @@ function SmartSelectStep({ step, editable, getOptions, calcDepError, defaultValu
|
|
|
47
45
|
else if (value && !step.searchable) {
|
|
48
46
|
setOptions([value]);
|
|
49
47
|
}
|
|
50
|
-
},
|
|
51
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
|
-
allDeps.map((dep) => dependencies[dep]?.value) ?? []);
|
|
48
|
+
}, allDeps.map((dep) => dependencies[dep]?.value) ?? []);
|
|
53
49
|
const calcOptions = async (firstTime) => {
|
|
54
50
|
if (!firstTime)
|
|
55
51
|
setOptions(undefined);
|
|
@@ -114,13 +110,11 @@ function SmartSelectStep({ step, editable, getOptions, calcDepError, defaultValu
|
|
|
114
110
|
}
|
|
115
111
|
if (!touched)
|
|
116
112
|
setTouched(true);
|
|
117
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
118
113
|
}, [options, emptyDep, postview, editable, invalids, touched]);
|
|
119
114
|
const filteredOptions = useMemo(() => {
|
|
120
115
|
if (!options || !filterOptions)
|
|
121
116
|
return options;
|
|
122
117
|
return filterOptions(options, conditionDependencies);
|
|
123
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
124
118
|
}, [options, conditionDependencies]);
|
|
125
119
|
const errorMsg = useMemo(() => {
|
|
126
120
|
if (postview || loading)
|
|
@@ -138,7 +132,6 @@ function SmartSelectStep({ step, editable, getOptions, calcDepError, defaultValu
|
|
|
138
132
|
return 'Error al cargar las opciones';
|
|
139
133
|
}
|
|
140
134
|
return undefined;
|
|
141
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
142
135
|
}, [invalids, touched, value, filteredOptions]);
|
|
143
136
|
return (_jsxs(React.Fragment, { children: [_jsx(MaterialInputContainer, { step: step, onClick: onFocus, editable: editable, children: _jsx(ErkSmartSelect, { ...field, value: value, inputRef: ref, onFocus: onFocus, loading: loading, label: step.label, onChange: onChange, required: step.required, searchable: step.searchable, getValueString: getValueString, disabled: emptyDep, getOptionSelected: getOptionSelected, options: filteredOptions ?? undefined, IconComponent: step.showIcon ? IconComponent : undefined, error: !!errorMsg || !!warning || !!error, readOnly: !editable || postview || emptyDep || filteredOptions === null, helperText: errorMsg ?? warning ?? error?.message?.toString() ?? step.description ?? undefined }) }), renderNestedSteps?.(value)] }));
|
|
144
137
|
}
|
|
@@ -28,7 +28,6 @@ export const useStepDependency = (step, defaultValue) => {
|
|
|
28
28
|
return () => {
|
|
29
29
|
dispatch(clearDependency(step));
|
|
30
30
|
};
|
|
31
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
31
|
}, [isDependency]);
|
|
33
32
|
const handleStepDep = useCallback((value) => {
|
|
34
33
|
if (!isDependency)
|
|
@@ -37,9 +36,7 @@ export const useStepDependency = (step, defaultValue) => {
|
|
|
37
36
|
step,
|
|
38
37
|
value: value ?? null,
|
|
39
38
|
}));
|
|
40
|
-
},
|
|
41
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42
|
-
[step.id, step.type, isDependency]);
|
|
39
|
+
}, [step.id, step.type, isDependency]);
|
|
43
40
|
return {
|
|
44
41
|
handleStepDep,
|
|
45
42
|
isDependency,
|
|
@@ -105,9 +102,7 @@ export const useFormStep = (step, { rules, debounce, sizeChange, defaultValue })
|
|
|
105
102
|
fieldOnChange(value);
|
|
106
103
|
if (sizeChange)
|
|
107
104
|
handleSizeChange?.();
|
|
108
|
-
},
|
|
109
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
110
|
-
[handleStepDep, isDependency, fieldOnChange]);
|
|
105
|
+
}, [handleStepDep, isDependency, fieldOnChange]);
|
|
111
106
|
return {
|
|
112
107
|
ref,
|
|
113
108
|
value,
|
|
@@ -125,14 +120,11 @@ export const selectDependencies = createSelector([
|
|
|
125
120
|
[idDep]: dependencies[idDep],
|
|
126
121
|
}), {}));
|
|
127
122
|
export const useCondition = (condition) => {
|
|
128
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
129
123
|
const ids = useMemo(() => recursivelyCalcConditionSteps(condition), []);
|
|
130
124
|
const dependencies = useAppSelector((state) => selectDependencies(state, ids));
|
|
131
125
|
return useMemo(() => {
|
|
132
126
|
return !condition || evaluateCondition(condition, dependencies);
|
|
133
|
-
},
|
|
134
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
135
|
-
ids.map((id) => dependencies[id].value));
|
|
127
|
+
}, ids.map((id) => dependencies[id].value));
|
|
136
128
|
};
|
|
137
129
|
export const calcStepDeps = (step) => {
|
|
138
130
|
const dependencies = [...(step.dependencies ?? [])];
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
margin-left: -5px;
|
|
64
64
|
}
|
|
65
65
|
.Erk-DraftContainer .rdw-editing-image {
|
|
66
|
-
border: 1px solid var(--
|
|
66
|
+
border: 1px solid var(--eureka-primary);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
.Erk-DraftContainer .DraftEditor-root figure {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
display: flex;
|
|
81
81
|
align-items: center;
|
|
82
82
|
justify-content: center;
|
|
83
|
-
border: 1px solid var(--
|
|
83
|
+
border: 1px solid var(--eureka-outline);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
.Erk-DraftContainer .rdw-image-alignment-options-popup {
|
|
@@ -35,9 +35,7 @@ function TextAreaStep({ step, editable }) {
|
|
|
35
35
|
}, 1000));
|
|
36
36
|
}
|
|
37
37
|
onChange(value);
|
|
38
|
-
},
|
|
39
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
40
|
-
[handleStepDep, isDependency, onChange]);
|
|
38
|
+
}, [handleStepDep, isDependency, onChange]);
|
|
41
39
|
const calcStyle = () => {
|
|
42
40
|
const backgroundColor = formStyle.stepBackgroundColor;
|
|
43
41
|
if (focus) {
|
|
@@ -13,7 +13,6 @@ function StepFiller({ step, children }) {
|
|
|
13
13
|
const currentBreakPoint = useAppSelector(selectBreakPoint);
|
|
14
14
|
const handleSizeChange = useCallback(() => {
|
|
15
15
|
setFillerSize(calcFillerSize(step, form.steps, getValues(), form.size));
|
|
16
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17
16
|
}, []);
|
|
18
17
|
if (step.maxSize && step.maxSize < form.size.blockNum) {
|
|
19
18
|
return (_jsxs("div", { className: styles.firstLvlContainer, style: {
|
|
@@ -9,7 +9,6 @@ function CustomBtn({ label, onClick, backgroundColor, color, loading = false, di
|
|
|
9
9
|
if (coords)
|
|
10
10
|
setCoords(undefined);
|
|
11
11
|
return () => setMounted(false);
|
|
12
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13
12
|
}, [label]);
|
|
14
13
|
return (_jsxs("button", { className: styles.customBtn, style: {
|
|
15
14
|
width,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
2
|
import ErkButton from './ErkButton';
|
|
3
3
|
declare const meta: {
|
|
4
4
|
component: typeof ErkButton;
|
|
@@ -6,6 +6,7 @@ declare const meta: {
|
|
|
6
6
|
args: {
|
|
7
7
|
text: string;
|
|
8
8
|
disabled: false;
|
|
9
|
+
onClick: import("vitest").Mock<(...args: any[]) => any>;
|
|
9
10
|
};
|
|
10
11
|
};
|
|
11
12
|
export default meta;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useArgs } from '@storybook/preview-api';
|
|
3
2
|
import ErkDatePicker from './ErkDatePicker';
|
|
4
|
-
import {
|
|
5
|
-
import { userEvent } from '@storybook/testing-library';
|
|
3
|
+
import { useArgs } from 'storybook/internal/preview-api';
|
|
6
4
|
const meta = {
|
|
7
5
|
component: ErkDatePicker,
|
|
8
6
|
tags: ['autodocs'],
|
|
@@ -36,7 +34,7 @@ export const ValueAndLabel = {
|
|
|
36
34
|
args.onChange?.(value);
|
|
37
35
|
setArgs({ value });
|
|
38
36
|
};
|
|
39
|
-
return _jsx(ErkDatePicker, { ...args,
|
|
37
|
+
return _jsx(ErkDatePicker, { ...args, onChange: onValueChange });
|
|
40
38
|
},
|
|
41
39
|
};
|
|
42
40
|
export const Full = {
|
|
@@ -67,8 +65,7 @@ export const Menu = {
|
|
|
67
65
|
label: 'Label',
|
|
68
66
|
value: null,
|
|
69
67
|
},
|
|
70
|
-
play: async ({
|
|
71
|
-
const canvas = within(canvasElement);
|
|
68
|
+
play: async ({ canvas, userEvent }) => {
|
|
72
69
|
const selector = canvas.getByTestId('date-picker');
|
|
73
70
|
await userEvent.click(selector);
|
|
74
71
|
},
|
|
@@ -79,8 +76,7 @@ export const DateTimeDateMenu = {
|
|
|
79
76
|
value: null,
|
|
80
77
|
pickTime: true,
|
|
81
78
|
},
|
|
82
|
-
play: async ({
|
|
83
|
-
const canvas = within(canvasElement);
|
|
79
|
+
play: async ({ canvas, userEvent }) => {
|
|
84
80
|
const selector = canvas.getByTestId('date-picker');
|
|
85
81
|
await userEvent.click(selector);
|
|
86
82
|
},
|
|
@@ -91,11 +87,10 @@ export const DateTimeTimeMenu = {
|
|
|
91
87
|
value: null,
|
|
92
88
|
pickTime: true,
|
|
93
89
|
},
|
|
94
|
-
play: async ({
|
|
95
|
-
const canvas = within(canvasElement);
|
|
90
|
+
play: async ({ canvas, userEvent }) => {
|
|
96
91
|
const selector = canvas.getByTestId('date-picker');
|
|
97
92
|
await userEvent.click(selector);
|
|
98
|
-
const time =
|
|
93
|
+
const time = canvas.getByText('12', {
|
|
99
94
|
selector: 'h3',
|
|
100
95
|
});
|
|
101
96
|
await userEvent.click(time);
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react';
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
2
|
import ErkSelect from './ErkSelect';
|
|
3
3
|
declare const meta: {
|
|
4
4
|
component: typeof ErkSelect;
|
|
5
5
|
tags: string[];
|
|
6
6
|
args: {
|
|
7
7
|
readOnly: false;
|
|
8
|
+
MenuProps: {
|
|
9
|
+
disablePortal: false;
|
|
10
|
+
};
|
|
8
11
|
};
|
|
9
12
|
};
|
|
10
13
|
export default meta;
|
|
11
14
|
type Story = StoryObj<typeof meta>;
|
|
12
|
-
export declare const Empty: Story;
|
|
13
15
|
export declare const Default: Story;
|
|
16
|
+
export declare const Empty: Story;
|
|
14
17
|
export declare const ValueAndLabel: Story;
|
|
15
18
|
export declare const Full: Story;
|
|
16
19
|
export declare const Error: Story;
|
|
@@ -1,22 +1,36 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useArgs } from '@storybook/preview-api';
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import ErkSelect from './ErkSelect';
|
|
4
3
|
import { MenuItem } from '@mui/material';
|
|
4
|
+
import { useArgs } from 'storybook/internal/preview-api';
|
|
5
5
|
const meta = {
|
|
6
6
|
component: ErkSelect,
|
|
7
7
|
tags: ['autodocs'],
|
|
8
8
|
args: {
|
|
9
9
|
readOnly: false,
|
|
10
|
+
MenuProps: {
|
|
11
|
+
disablePortal: false,
|
|
12
|
+
},
|
|
10
13
|
},
|
|
11
14
|
};
|
|
12
15
|
export default meta;
|
|
13
|
-
export const Empty = {
|
|
14
|
-
args: {},
|
|
15
|
-
};
|
|
16
16
|
export const Default = {
|
|
17
17
|
args: {
|
|
18
18
|
label: 'Label',
|
|
19
19
|
},
|
|
20
|
+
render: function Component(args) {
|
|
21
|
+
const [, setArgs] = useArgs();
|
|
22
|
+
const onValueChange = (value) => {
|
|
23
|
+
args.onChange?.(value);
|
|
24
|
+
setArgs({ value });
|
|
25
|
+
};
|
|
26
|
+
return (_jsxs(ErkSelect, { ...args, onChange: onValueChange, children: [_jsx(MenuItem, { value: 'option1', children: "Option 1" }), _jsx(MenuItem, { value: 'option2', children: "Option 2" }), _jsx(MenuItem, { value: 'option3', children: "Option 3" })] }));
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
export const Empty = {
|
|
30
|
+
args: {},
|
|
31
|
+
render: function Component(args) {
|
|
32
|
+
return _jsx(ErkSelect, { ...args });
|
|
33
|
+
},
|
|
20
34
|
};
|
|
21
35
|
export const ValueAndLabel = {
|
|
22
36
|
args: {
|
|
@@ -37,6 +51,9 @@ export const Full = {
|
|
|
37
51
|
label: 'Label',
|
|
38
52
|
helperText: 'Helper text',
|
|
39
53
|
},
|
|
54
|
+
render: function Component(args) {
|
|
55
|
+
return (_jsxs(ErkSelect, { ...args, children: [_jsx(MenuItem, { value: 'option1', children: "Option 1" }), _jsx(MenuItem, { value: 'option2', children: "Option 2" }), _jsx(MenuItem, { value: 'option3', children: "Option 3" })] }));
|
|
56
|
+
},
|
|
40
57
|
};
|
|
41
58
|
export const Error = {
|
|
42
59
|
args: {
|
|
@@ -44,6 +61,9 @@ export const Error = {
|
|
|
44
61
|
helperText: 'Helper text',
|
|
45
62
|
error: true,
|
|
46
63
|
},
|
|
64
|
+
render: function Component(args) {
|
|
65
|
+
return (_jsxs(ErkSelect, { ...args, children: [_jsx(MenuItem, { value: 'option1', children: "Option 1" }), _jsx(MenuItem, { value: 'option2', children: "Option 2" }), _jsx(MenuItem, { value: 'option3', children: "Option 3" })] }));
|
|
66
|
+
},
|
|
47
67
|
};
|
|
48
68
|
export const ErrorColor = {
|
|
49
69
|
args: {
|
|
@@ -51,6 +71,9 @@ export const ErrorColor = {
|
|
|
51
71
|
helperText: 'Helper text',
|
|
52
72
|
error: true,
|
|
53
73
|
},
|
|
74
|
+
render: function Component(args) {
|
|
75
|
+
return (_jsxs(ErkSelect, { ...args, children: [_jsx(MenuItem, { value: 'option1', children: "Option 1" }), _jsx(MenuItem, { value: 'option2', children: "Option 2" }), _jsx(MenuItem, { value: 'option3', children: "Option 3" })] }));
|
|
76
|
+
},
|
|
54
77
|
};
|
|
55
78
|
export const DifferentColors = {
|
|
56
79
|
args: {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useArgs } from '@storybook/preview-api';
|
|
3
2
|
import ErkSmartSelect from './ErkSmartSelect';
|
|
4
|
-
import {
|
|
3
|
+
import { useArgs } from 'storybook/internal/preview-api';
|
|
5
4
|
const meta = {
|
|
6
5
|
component: ErkSmartSelect,
|
|
7
6
|
tags: ['autodocs'],
|
|
@@ -26,11 +25,10 @@ export const Default = {
|
|
|
26
25
|
},
|
|
27
26
|
],
|
|
28
27
|
},
|
|
29
|
-
play: async ({
|
|
30
|
-
const canvas = within(canvasElement);
|
|
28
|
+
play: async ({ canvas, userEvent }) => {
|
|
31
29
|
const selector = canvas.getByTestId('smart-select');
|
|
32
30
|
await userEvent.click(selector);
|
|
33
|
-
const option =
|
|
31
|
+
const option = canvas.getByTestId('smart-select-option');
|
|
34
32
|
await userEvent.click(option);
|
|
35
33
|
},
|
|
36
34
|
render: function Component(args) {
|
|
@@ -46,11 +44,10 @@ export const Focused = {
|
|
|
46
44
|
args: {
|
|
47
45
|
label: 'Label',
|
|
48
46
|
},
|
|
49
|
-
play: async ({
|
|
50
|
-
const canvas = within(canvasElement);
|
|
47
|
+
play: async ({ canvas, userEvent }) => {
|
|
51
48
|
const selector = canvas.getByTestId('smart-select');
|
|
52
49
|
await userEvent.click(selector);
|
|
53
|
-
const option =
|
|
50
|
+
const option = canvas.getByTestId('smart-select-empty');
|
|
54
51
|
await userEvent.click(option);
|
|
55
52
|
},
|
|
56
53
|
};
|
|
@@ -59,8 +56,7 @@ export const FocusedSearchable = {
|
|
|
59
56
|
label: 'Label',
|
|
60
57
|
searchable: true,
|
|
61
58
|
},
|
|
62
|
-
play: async ({
|
|
63
|
-
const canvas = within(canvasElement);
|
|
59
|
+
play: async ({ canvas, userEvent }) => {
|
|
64
60
|
const selector = canvas.getByTestId('smart-select');
|
|
65
61
|
await userEvent.click(selector);
|
|
66
62
|
},
|
|
@@ -76,8 +72,7 @@ export const SearchableWithOptions = {
|
|
|
76
72
|
},
|
|
77
73
|
],
|
|
78
74
|
},
|
|
79
|
-
play: async ({
|
|
80
|
-
const canvas = within(canvasElement);
|
|
75
|
+
play: async ({ canvas, userEvent }) => {
|
|
81
76
|
const selector = canvas.getByTestId('smart-select');
|
|
82
77
|
await userEvent.click(selector);
|
|
83
78
|
},
|
|
@@ -94,8 +89,7 @@ export const SearchableWithSearchAndOptions = {
|
|
|
94
89
|
},
|
|
95
90
|
],
|
|
96
91
|
},
|
|
97
|
-
play: async ({
|
|
98
|
-
const canvas = within(canvasElement);
|
|
92
|
+
play: async ({ canvas, userEvent }) => {
|
|
99
93
|
const selector = canvas.getByTestId('smart-select');
|
|
100
94
|
await userEvent.click(selector);
|
|
101
95
|
},
|
|
@@ -111,8 +105,7 @@ export const LoadingOpened = {
|
|
|
111
105
|
label: 'Label',
|
|
112
106
|
loading: true,
|
|
113
107
|
},
|
|
114
|
-
play: async ({
|
|
115
|
-
const canvas = within(canvasElement);
|
|
108
|
+
play: async ({ canvas, userEvent }) => {
|
|
116
109
|
const selector = canvas.getByTestId('smart-select');
|
|
117
110
|
await userEvent.click(selector);
|
|
118
111
|
},
|
|
@@ -123,8 +116,7 @@ export const SearchableLoadingOpened = {
|
|
|
123
116
|
searchable: true,
|
|
124
117
|
loading: true,
|
|
125
118
|
},
|
|
126
|
-
play: async ({
|
|
127
|
-
const canvas = within(canvasElement);
|
|
119
|
+
play: async ({ canvas, userEvent }) => {
|
|
128
120
|
const selector = canvas.getByTestId('smart-select');
|
|
129
121
|
await userEvent.click(selector);
|
|
130
122
|
},
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useArgs } from '@storybook/preview-api';
|
|
3
2
|
import ErkTextField from './ErkTextField';
|
|
4
|
-
import {
|
|
3
|
+
import { useArgs } from 'storybook/internal/preview-api';
|
|
5
4
|
const meta = {
|
|
6
5
|
component: ErkTextField,
|
|
7
6
|
tags: ['autodocs'],
|
|
@@ -23,13 +22,10 @@ export const Default = {
|
|
|
23
22
|
args: {
|
|
24
23
|
label: 'Label',
|
|
25
24
|
},
|
|
26
|
-
play: async ({
|
|
27
|
-
const canvas = within(canvasElement);
|
|
25
|
+
play: async ({ canvas, userEvent }) => {
|
|
28
26
|
const emailInput = canvas.getByRole('textbox');
|
|
29
27
|
await userEvent.click(emailInput);
|
|
30
|
-
await userEvent.type(emailInput, 'example-email@email.com', {
|
|
31
|
-
delay: 100,
|
|
32
|
-
});
|
|
28
|
+
await userEvent.type(emailInput, 'example-email@email.com', { initialSelectionStart: 100 });
|
|
33
29
|
},
|
|
34
30
|
render: function Component(args) {
|
|
35
31
|
const [, setArgs] = useArgs();
|
|
@@ -44,16 +40,14 @@ export const Focused = {
|
|
|
44
40
|
args: {
|
|
45
41
|
label: 'Label',
|
|
46
42
|
},
|
|
47
|
-
play: async ({
|
|
48
|
-
const canvas = within(canvasElement);
|
|
43
|
+
play: async ({ canvas, userEvent }) => {
|
|
49
44
|
const emailInput = canvas.getByRole('textbox');
|
|
50
45
|
await userEvent.click(emailInput);
|
|
51
46
|
},
|
|
52
47
|
};
|
|
53
48
|
export const FocusedNoLabel = {
|
|
54
49
|
args: {},
|
|
55
|
-
play: async ({
|
|
56
|
-
const canvas = within(canvasElement);
|
|
50
|
+
play: async ({ canvas, userEvent }) => {
|
|
57
51
|
const emailInput = canvas.getByRole('textbox');
|
|
58
52
|
await userEvent.click(emailInput);
|
|
59
53
|
},
|
|
@@ -7,7 +7,7 @@ const Styled = styled(MuiSwitch)(({ theme, checked, size }) => ({
|
|
|
7
7
|
'& .Erk-MuiSwitch-switchBase': {
|
|
8
8
|
marginTop: size === 'small' ? -5 : undefined,
|
|
9
9
|
transform: size === 'small' ? 'translateX(-5px)' : undefined,
|
|
10
|
-
color: '
|
|
10
|
+
color: '#b8b8b8',
|
|
11
11
|
'&.Mui-checked': {
|
|
12
12
|
transform: size === 'small' ? 'translateX(12px)' : undefined,
|
|
13
13
|
'& .Erk-MuiSwitch-thumb': {
|
package/dist/Utils/AxiosAPI.js
CHANGED
|
@@ -8,5 +8,5 @@ const localeMap = {
|
|
|
8
8
|
export const getLocale = () => {
|
|
9
9
|
return (localeMap[navigator.languages?.length
|
|
10
10
|
? navigator.languages[0]
|
|
11
|
-
: navigator.userLanguage
|
|
11
|
+
: (navigator.userLanguage ?? navigator.language ?? navigator.browserLanguage)] ?? localeMap.es);
|
|
12
12
|
};
|
|
@@ -4,8 +4,8 @@ import { createTheme, ThemeProvider } from '@mui/material';
|
|
|
4
4
|
import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
|
|
5
5
|
import { LocalizationProvider } from '@mui/x-date-pickers';
|
|
6
6
|
import { getLocale } from './LocaleUtils';
|
|
7
|
-
|
|
8
|
-
function MaterialProviders({ children, formStyle }) {
|
|
7
|
+
import InternalFormStyle from '../constants/InternalFormStyle';
|
|
8
|
+
function MaterialProviders({ children, formStyle = InternalFormStyle }) {
|
|
9
9
|
return (_jsx(ThemeProvider, { theme: createTheme({
|
|
10
10
|
typography: {
|
|
11
11
|
fontFamily: 'inherit',
|
package/dist/Utils/store.d.ts
CHANGED
|
@@ -24,13 +24,4 @@ export type AppStore = typeof store;
|
|
|
24
24
|
export type AppState = ReturnType<typeof store.getState>;
|
|
25
25
|
export declare const getAppState: import("@reduxjs/toolkit").AsyncThunk<RootState, {
|
|
26
26
|
idForm: string;
|
|
27
|
-
},
|
|
28
|
-
state?: unknown;
|
|
29
|
-
dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>;
|
|
30
|
-
extra?: unknown;
|
|
31
|
-
rejectValue?: unknown;
|
|
32
|
-
serializedErrorType?: unknown;
|
|
33
|
-
pendingMeta?: unknown;
|
|
34
|
-
fulfilledMeta?: unknown;
|
|
35
|
-
rejectedMeta?: unknown;
|
|
36
|
-
}>;
|
|
27
|
+
}, import("@reduxjs/toolkit").AsyncThunkConfig>;
|
package/dist/index.css
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arquimedes.co/eureka-forms",
|
|
3
3
|
"repository": "git://github.com/Arquimede5/Eureka-Forms.git",
|
|
4
|
-
"version":"3.0.
|
|
4
|
+
"version":"3.0.31-test",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"watch": "tsc --noEmit --watch --project tsconfig.app.json",
|
|
7
7
|
"start": "vite",
|
|
@@ -11,25 +11,25 @@
|
|
|
11
11
|
"preview": "vite preview",
|
|
12
12
|
"test": "vitest",
|
|
13
13
|
"tsc-build": "tsc --p tsconfig.app.json --noEmit false --outDir ./dist --composite false --declaration true --allowImportingTsExtensions false",
|
|
14
|
+
"cypress": "DISPLAY=:0 cypress open",
|
|
14
15
|
"storybook": "storybook dev -p 6006",
|
|
15
|
-
"build-storybook": "storybook build"
|
|
16
|
-
"cypress": "DISPLAY=:0 cypress open"
|
|
16
|
+
"build-storybook": "storybook build"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@reduxjs/toolkit": "^2.
|
|
20
|
-
"axios": "^1.
|
|
19
|
+
"@reduxjs/toolkit": "^2.9.0",
|
|
20
|
+
"axios": "^1.12.2",
|
|
21
21
|
"date-fns": "^4.1.0",
|
|
22
22
|
"draft-js": "^0.11.7",
|
|
23
23
|
"i18n-iso-countries": "^7.14.0",
|
|
24
|
-
"libphonenumber-js": "^1.12.
|
|
25
|
-
"logrocket": "^10.
|
|
26
|
-
"nanoid": "^5.1.
|
|
24
|
+
"libphonenumber-js": "^1.12.23",
|
|
25
|
+
"logrocket": "^10.1.0",
|
|
26
|
+
"nanoid": "^5.1.6",
|
|
27
27
|
"react-draft-wysiwyg": "^1.15.0",
|
|
28
28
|
"react-google-recaptcha": "^3.1.0",
|
|
29
|
-
"react-hook-form": "^7.
|
|
30
|
-
"react-international-phone": "^4.
|
|
29
|
+
"react-hook-form": "^7.64.0",
|
|
30
|
+
"react-international-phone": "^4.6.0",
|
|
31
31
|
"react-redux": "^9.2.0",
|
|
32
|
-
"typescript": "^5.
|
|
32
|
+
"typescript": "^5.9.3"
|
|
33
33
|
},
|
|
34
34
|
"eslintConfig": {},
|
|
35
35
|
"browserslist": {
|
|
@@ -45,61 +45,49 @@
|
|
|
45
45
|
]
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
52
|
-
"@
|
|
53
|
-
"@
|
|
54
|
-
"@eslint/js": "^9.21.0",
|
|
55
|
-
"@faker-js/faker": "^9.5.1",
|
|
56
|
-
"@mui/material": "^7.1.0",
|
|
57
|
-
"@mui/x-data-grid-pro": "^8.3.0",
|
|
48
|
+
"@eslint/compat": "^1.4.0",
|
|
49
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
50
|
+
"@eslint/js": "^9.37.0",
|
|
51
|
+
"@faker-js/faker": "^10.0.0",
|
|
52
|
+
"@mui/material": "^7.3.4",
|
|
53
|
+
"@mui/x-data-grid-pro": "^8.13.1",
|
|
58
54
|
"@mui/x-date-pickers": "^8.3.0",
|
|
59
|
-
"@mui/x-date-pickers-pro": "^8.
|
|
60
|
-
"@storybook/addon-
|
|
61
|
-
"@storybook/addon-
|
|
62
|
-
"@storybook/addon-
|
|
63
|
-
"@storybook/
|
|
64
|
-
"@
|
|
65
|
-
"@
|
|
66
|
-
"@
|
|
67
|
-
"@storybook/react": "^8.6.4",
|
|
68
|
-
"@storybook/react-webpack5": "^8.6.4",
|
|
69
|
-
"@storybook/test": "^8.6.4",
|
|
70
|
-
"@storybook/testing-library": "^0.2.2",
|
|
71
|
-
"@testing-library/dom": "^10.4.0",
|
|
72
|
-
"@testing-library/jest-dom": "^6.6.3",
|
|
73
|
-
"@testing-library/react": "^16.2.0",
|
|
55
|
+
"@mui/x-date-pickers-pro": "^8.12.0",
|
|
56
|
+
"@storybook/addon-docs": "^9.1.10",
|
|
57
|
+
"@storybook/addon-onboarding": "^9.1.10",
|
|
58
|
+
"@storybook/addon-themes": "^9.1.10",
|
|
59
|
+
"@storybook/react-vite": "^9.1.10",
|
|
60
|
+
"@testing-library/dom": "^10.4.1",
|
|
61
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
62
|
+
"@testing-library/react": "^16.3.0",
|
|
74
63
|
"@testing-library/user-event": "^14.6.1",
|
|
75
64
|
"@types/draft-js": "^0.11.18",
|
|
76
65
|
"@types/react": "^18.3.18",
|
|
77
66
|
"@types/react-dom": "^18.3.5",
|
|
78
67
|
"@types/react-draft-wysiwyg": "^1.13.8",
|
|
79
68
|
"@types/react-google-recaptcha": "^2.1.9",
|
|
80
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
69
|
+
"@typescript-eslint/eslint-plugin": "^8.46.0",
|
|
81
70
|
"@typescript-eslint/parser": "^8.26.0",
|
|
82
|
-
"@vitejs/plugin-react-swc": "^
|
|
83
|
-
"
|
|
84
|
-
"cypress": "^
|
|
85
|
-
"dotenv-webpack": "^8.1.
|
|
86
|
-
"eslint": "^9.
|
|
87
|
-
"eslint-config-prettier": "^10.
|
|
88
|
-
"eslint-plugin-react": "^7.37.
|
|
89
|
-
"eslint-plugin-react-hooks": "^
|
|
90
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
91
|
-
"eslint-plugin-storybook": "^
|
|
92
|
-
"globals": "^16.
|
|
71
|
+
"@vitejs/plugin-react-swc": "^4.1.0",
|
|
72
|
+
"css-loader": "^7.1.2",
|
|
73
|
+
"cypress": "^15.3.0",
|
|
74
|
+
"dotenv-webpack": "^8.1.1",
|
|
75
|
+
"eslint": "^9.37.0",
|
|
76
|
+
"eslint-config-prettier": "^10.1.8",
|
|
77
|
+
"eslint-plugin-react": "^7.37.5",
|
|
78
|
+
"eslint-plugin-react-hooks": "^6.1.1",
|
|
79
|
+
"eslint-plugin-react-refresh": "^0.4.23",
|
|
80
|
+
"eslint-plugin-storybook": "^9.1.10",
|
|
81
|
+
"globals": "^16.4.0",
|
|
93
82
|
"identity-obj-proxy": "^3.0.0",
|
|
94
|
-
"jsdom": "^
|
|
95
|
-
"prettier": "3.
|
|
96
|
-
"react-
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"vite": "^
|
|
101
|
-
"
|
|
102
|
-
"vitest": "^3.1.3"
|
|
83
|
+
"jsdom": "^27.0.0",
|
|
84
|
+
"prettier": "3.6.2",
|
|
85
|
+
"react-refresh": "^0.18.0",
|
|
86
|
+
"storybook": "^9.1.10",
|
|
87
|
+
"style-loader": "^4.0.0",
|
|
88
|
+
"vite": "^7.1.9",
|
|
89
|
+
"vite-plugin-svgr": "^4.5.0",
|
|
90
|
+
"vitest": "^3.2.4"
|
|
103
91
|
},
|
|
104
92
|
"peerDependencies": {
|
|
105
93
|
"@emotion/react": "^11.x.x",
|