tp-react-elements-dev 1.12.21 → 1.12.23
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/components/DeleteComponent/DeleteField.js +24 -0
- package/dist/components/Form/Form.styles.js +111 -0
- package/dist/components/Form/FormActiveSwitch.js +27 -0
- package/dist/components/Form/FormConstants.d.ts +1 -1
- package/dist/components/Form/FormConstants.d.ts.map +1 -1
- package/dist/components/Form/FormConstants.js +336 -0
- package/dist/components/Form/FormRender.d.ts +1 -1
- package/dist/components/Form/FormRender.d.ts.map +1 -1
- package/dist/components/Form/FormRender.js +96 -0
- package/dist/components/Form/FormRenderWrapper.d.ts +1 -1
- package/dist/components/Form/FormRenderWrapper.d.ts.map +1 -1
- package/dist/components/Form/FormRenderWrapper.js +13 -0
- package/dist/components/FormComponents/DatePicker/DateRangePicker.d.ts +1 -1
- package/dist/components/FormComponents/DatePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.d.ts +1 -1
- package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.d.ts.map +1 -1
- package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.js +58 -0
- package/dist/components/FormComponents/DatePicker/MonthPicker.js +48 -0
- package/dist/components/FormComponents/DatePicker/Monthpickerrender.d.ts +1 -1
- package/dist/components/FormComponents/DatePicker/Monthpickerrender.d.ts.map +1 -1
- package/dist/components/FormComponents/DatePicker/Monthpickerrender.js +61 -0
- package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.d.ts +1 -1
- package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.d.ts.map +1 -1
- package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.js +86 -0
- package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.d.ts +1 -1
- package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.d.ts.map +1 -1
- package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.js +96 -0
- package/dist/components/FormComponents/FormBottomField/FormBottomField.d.ts +1 -1
- package/dist/components/FormComponents/FormBottomField/FormBottomField.d.ts.map +1 -1
- package/dist/components/FormComponents/FormBottomField/FormBottomField.js +9 -0
- package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts +1 -1
- package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts.map +1 -1
- package/dist/components/FormComponents/FormCheckBox/FormCheckBox.js +10 -0
- package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.d.ts +1 -1
- package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.d.ts.map +1 -1
- package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.js +23 -0
- package/dist/components/FormComponents/FormErrorField/FormErrorField.d.ts +1 -1
- package/dist/components/FormComponents/FormErrorField/FormErrorField.d.ts.map +1 -1
- package/dist/components/FormComponents/FormErrorField/FormErrorField.js +9 -0
- package/dist/components/FormComponents/FormNumberField/FormNumberField.d.ts +1 -1
- package/dist/components/FormComponents/FormNumberField/FormNumberField.d.ts.map +1 -1
- package/dist/components/FormComponents/FormNumberField/FormNumberField.js +49 -0
- package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.d.ts +1 -1
- package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.d.ts.map +1 -1
- package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.js +45 -0
- package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.d.ts +1 -1
- package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.d.ts.map +1 -1
- package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.js +26 -0
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.d.ts +1 -1
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.d.ts.map +1 -1
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.js +31 -0
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.js +35 -0
- package/dist/components/FormComponents/FormTextField/FormTextField.d.ts +1 -1
- package/dist/components/FormComponents/FormTextField/FormTextField.d.ts.map +1 -1
- package/dist/components/FormComponents/FormTextField/FormTextField.js +46 -0
- package/dist/components/FormComponents/FormTextField/FormTextField.styles.js +22 -0
- package/dist/components/FormComponents/HelperText/HelperText.d.ts +1 -1
- package/dist/components/FormComponents/HelperText/HelperText.d.ts.map +1 -1
- package/dist/components/FormComponents/HelperText/HelperText.js +10 -0
- package/dist/components/FormComponents/PasswordField/PasswordField.d.ts +1 -1
- package/dist/components/FormComponents/PasswordField/PasswordField.d.ts.map +1 -1
- package/dist/components/FormComponents/PasswordField/PasswordField.js +49 -0
- package/dist/components/FormComponents/RichTextEditor/RichTextEditor.d.ts +1 -1
- package/dist/components/FormComponents/RichTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/FormComponents/RichTextEditor/RichTextEditor.js +95 -0
- package/dist/components/FormComponents/RichTextEditor/RichTextEditorWrapper.d.ts +1 -1
- package/dist/components/FormComponents/RichTextEditor/RichTextEditorWrapper.d.ts.map +1 -1
- package/dist/components/FormComponents/RichTextEditor/RichTextEditorWrapper.js +11 -0
- package/dist/components/FormComponents/RichTextEditor/jodit.index.js +27 -0
- package/dist/components/FormComponents/Select/MultiSelectv1.d.ts +1 -1
- package/dist/components/FormComponents/Select/MultiSelectv1.d.ts.map +1 -1
- package/dist/components/FormComponents/Select/MultiSelectv1.js +157 -0
- package/dist/components/FormComponents/Select/SingleSelect.d.ts +1 -1
- package/dist/components/FormComponents/Select/SingleSelect.d.ts.map +1 -1
- package/dist/components/FormComponents/Select/SingleSelect.js +51 -0
- package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.d.ts +1 -1
- package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.d.ts.map +1 -1
- package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.js +27 -0
- package/dist/components/FormComponents/Select/SingleSelectSearchApi.js +204 -0
- package/dist/components/FormComponents/TimePicker/TimePicker.d.ts +1 -1
- package/dist/components/FormComponents/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/components/FormComponents/TimePicker/TimePicker.js +55 -0
- package/dist/components/FormComponents/YearPickerField/YearPickerField.js +82 -0
- package/dist/components/FormComponents/index.js +26 -0
- package/dist/components/Global.styles.js +79 -0
- package/dist/components/ModalField/ConfirmationDialog.js +48 -0
- package/dist/components/ModalField/ModalField.js +32 -0
- package/dist/components/SelectField/MultiSelectFieldComponent.js +129 -0
- package/dist/components/SessionTimeOut/SessionTimeOut.js +63 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -2648
- package/dist/lib/Constants/FormConstants.d.ts.map +1 -0
- package/dist/lib/Constants/FormConstants.js +54 -0
- package/dist/lib/Constants/FunctionConstants.d.ts.map +1 -0
- package/dist/lib/Constants/FunctionConstants.js +244 -0
- package/dist/lib/Interface/FormInterface.d.ts.map +1 -0
- package/dist/lib/index.d.ts +3 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +4 -0
- package/dist/theme/index.js +64 -0
- package/dist/validation/schemas.js +60 -0
- package/package.json +8 -6
- package/dist/Utilities/Constants/FormConstants.d.ts.map +0 -1
- package/dist/Utilities/Constants/FunctionConstants.d.ts.map +0 -1
- package/dist/Utilities/Interface/FormInterface.d.ts.map +0 -1
- package/dist/Utilities/index.d.ts +0 -4
- package/dist/Utilities/index.d.ts.map +0 -1
- package/dist/index.esm.css +0 -1
- package/dist/index.esm.js +0 -2607
- package/dist/lib/cache-buster.d.ts +0 -2
- package/dist/lib/cache-buster.d.ts.map +0 -1
- package/dist/lib/constants.d.ts +0 -2
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/hook-form.d.ts +0 -4
- package/dist/lib/hook-form.d.ts.map +0 -1
- /package/dist/{Utilities → lib}/Constants/FormConstants.d.ts +0 -0
- /package/dist/{Utilities → lib}/Constants/FunctionConstants.d.ts +0 -0
- /package/dist/{Utilities → lib}/Interface/FormInterface.d.ts +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Tooltip, Grid, Typography } from '@mui/material';
|
|
3
|
+
import ConfirmationDialog from '../ModalField/ConfirmationDialog.js';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
|
|
6
|
+
const DeleteField = ({ onClickFn, tooltip = "Delete", text }) => {
|
|
7
|
+
const [openDialog, setOpenDialog] = useState(false);
|
|
8
|
+
const handleCancel = () => {
|
|
9
|
+
setOpenDialog(false);
|
|
10
|
+
};
|
|
11
|
+
return (jsxs(Fragment, { children: [jsx(Tooltip, { title: jsx(Typography, { sx: { fontSize: "8px" }, children: tooltip }), children: jsx(Grid, { sx: { ":hover": { cursor: "pointer" } }, onClick: () => {
|
|
12
|
+
setOpenDialog(true);
|
|
13
|
+
}, children: jsx("i", { className: "flaticon-trash", style: {
|
|
14
|
+
lineHeight: 1,
|
|
15
|
+
fontSize: "11px",
|
|
16
|
+
color: "red",
|
|
17
|
+
marginTop: "10px",
|
|
18
|
+
} }) }) }), jsx(ConfirmationDialog, { openConfirmDialog: openDialog, handleCancel: handleCancel, onClickSubmit: () => {
|
|
19
|
+
handleCancel();
|
|
20
|
+
onClickFn();
|
|
21
|
+
}, text: text })] }));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { DeleteField as default };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import ArrowDropDownSharpIcon from '@mui/icons-material/ArrowDropDownSharp';
|
|
3
|
+
import { Grid, Box, Button, MenuItem, Typography } from '@mui/material';
|
|
4
|
+
import Container from '@mui/material/Container';
|
|
5
|
+
import { DatePicker } from '@mui/x-date-pickers';
|
|
6
|
+
|
|
7
|
+
const FormComponent = styled(Grid)(({ theme }) => ({
|
|
8
|
+
alignItems: "flex-start",
|
|
9
|
+
flexWrap: "wrap",
|
|
10
|
+
[theme.breakpoints.down("md")]: {
|
|
11
|
+
flexDirection: "column",
|
|
12
|
+
},
|
|
13
|
+
}));
|
|
14
|
+
styled(Box)(() => ({
|
|
15
|
+
margin: "5px 0px",
|
|
16
|
+
fontSize: "11px",
|
|
17
|
+
backgroundColor: "#ffff",
|
|
18
|
+
padding: "0.5em",
|
|
19
|
+
border: "0px solid rgba(0, 0, 0, 0.125)",
|
|
20
|
+
boxShadow: "0 1px 15px rgba(0,0,0,.04), 0 1px 6px rgba(0,0,0,.04)",
|
|
21
|
+
borderRadius: "0.75rem",
|
|
22
|
+
}));
|
|
23
|
+
const Formitem = styled(Grid, {
|
|
24
|
+
shouldForwardProp: (prop) => prop !== "isActive" && prop !== "noOfColumn",
|
|
25
|
+
})(({ theme, noOfColumn }) => ({
|
|
26
|
+
width: `calc(100%/${noOfColumn})`,
|
|
27
|
+
flexDirection: "column",
|
|
28
|
+
paddingLeft: "15px",
|
|
29
|
+
paddingRight: "15px",
|
|
30
|
+
marginBottom: theme.spacing(1),
|
|
31
|
+
[theme.breakpoints.down("md")]: {
|
|
32
|
+
width: "100%",
|
|
33
|
+
},
|
|
34
|
+
}));
|
|
35
|
+
const ErrorMessageComponent = styled(Box)(() => ({
|
|
36
|
+
color: "red",
|
|
37
|
+
marginTop: "4px",
|
|
38
|
+
fontSize: "11px",
|
|
39
|
+
fontWeight: 500,
|
|
40
|
+
}));
|
|
41
|
+
styled(Container)(({ theme }) => ({
|
|
42
|
+
[theme.breakpoints.up("sm")]: {
|
|
43
|
+
padding: "16px 24px",
|
|
44
|
+
},
|
|
45
|
+
[theme.breakpoints.up("lg")]: {
|
|
46
|
+
paddingLeft: "30px",
|
|
47
|
+
paddingRight: "30px",
|
|
48
|
+
},
|
|
49
|
+
}));
|
|
50
|
+
styled(Button)(() => ({
|
|
51
|
+
color: "#fff",
|
|
52
|
+
backgroundColor: "#00acc1",
|
|
53
|
+
BorderColor: "#00acc1",
|
|
54
|
+
}));
|
|
55
|
+
styled(Button)(() => ({
|
|
56
|
+
color: "#fff",
|
|
57
|
+
backgroundColor: " #343a40",
|
|
58
|
+
borderColor: "#343a40",
|
|
59
|
+
}));
|
|
60
|
+
styled(Grid)(() => ({
|
|
61
|
+
alignItems: "start",
|
|
62
|
+
gap: "1px",
|
|
63
|
+
}));
|
|
64
|
+
styled("text")(() => ({
|
|
65
|
+
color: "red",
|
|
66
|
+
}));
|
|
67
|
+
styled(Box)(() => ({
|
|
68
|
+
margin: "5px 0px",
|
|
69
|
+
backgroundColor: "#ffff",
|
|
70
|
+
paddingBlock: "0.5em",
|
|
71
|
+
border: "0px solid rgba(0, 0, 0, 0.125)",
|
|
72
|
+
boxShadow: "0 1px 15px rgba(0,0,0,.04), 0 1px 6px rgba(0,0,0,.04)",
|
|
73
|
+
borderRadius: "0.75rem",
|
|
74
|
+
overflow: "hidden",
|
|
75
|
+
fontSize: "11px",
|
|
76
|
+
}));
|
|
77
|
+
styled(DatePicker)(() => ({
|
|
78
|
+
"& .MuiInputBase-input": {
|
|
79
|
+
padding: "6.38px 14px",
|
|
80
|
+
},
|
|
81
|
+
}));
|
|
82
|
+
styled(MenuItem)(() => ({
|
|
83
|
+
fontSize: "11px",
|
|
84
|
+
}));
|
|
85
|
+
styled(Box)(() => ({
|
|
86
|
+
maxHeight: "120px",
|
|
87
|
+
overflow: "auto",
|
|
88
|
+
position: "absolute",
|
|
89
|
+
top: "100%",
|
|
90
|
+
background: "#fff",
|
|
91
|
+
zIndex: 1000,
|
|
92
|
+
border: "1px solid #0001",
|
|
93
|
+
}));
|
|
94
|
+
styled(Typography)(() => ({
|
|
95
|
+
fontSize: "13px",
|
|
96
|
+
background: "#fff",
|
|
97
|
+
padding: "5px 13px",
|
|
98
|
+
zIndex: 1000,
|
|
99
|
+
"&:hover": {
|
|
100
|
+
backgroundColor: "#0001",
|
|
101
|
+
cursor: "pointer",
|
|
102
|
+
},
|
|
103
|
+
}));
|
|
104
|
+
styled(ArrowDropDownSharpIcon)(() => ({
|
|
105
|
+
fontSize: "25px",
|
|
106
|
+
position: "absolute",
|
|
107
|
+
right: 0,
|
|
108
|
+
color: "#0009",
|
|
109
|
+
}));
|
|
110
|
+
|
|
111
|
+
export { ErrorMessageComponent, FormComponent, Formitem };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
3
|
+
|
|
4
|
+
const FormActiveSwitch = ({ props }) => {
|
|
5
|
+
const [active, setActive] = useState(true);
|
|
6
|
+
const { getValues, setValue, item } = props;
|
|
7
|
+
const defaultValue1 = item.value1 ?? "A";
|
|
8
|
+
const defaultValue2 = item.value2 ?? "I";
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const currentValue = getValues(item.name);
|
|
11
|
+
setActive(currentValue === defaultValue1);
|
|
12
|
+
}, [getValues, item.name, defaultValue1]);
|
|
13
|
+
const handleSwitchChange = useCallback(() => {
|
|
14
|
+
setActive((prevActive) => {
|
|
15
|
+
const newValue = !prevActive ? defaultValue1 : defaultValue2;
|
|
16
|
+
setValue(item.name, newValue);
|
|
17
|
+
return !prevActive;
|
|
18
|
+
});
|
|
19
|
+
}, [setValue, item.name, defaultValue1, defaultValue2]);
|
|
20
|
+
return (jsxs("div", { className: "m-form__input", children: [item.label && (jsx("span", { style: {
|
|
21
|
+
fontSize: "12px",
|
|
22
|
+
fontWeight: 400,
|
|
23
|
+
paddingRight: 10,
|
|
24
|
+
}, children: item.label })), jsxs("span", { className: "switch prestashop-switch fixed-width-lg", children: [jsx("input", { checked: active, id: `${item.name}_on`, name: item.name, type: "radio", value: "Active", onChange: handleSwitchChange }), jsx("label", { htmlFor: `${item.name}_on`, style: { textTransform: "none" }, children: item.label1 ?? "Active" }), jsx("input", { checked: !active, id: `${item.name}_off`, name: item.name, type: "radio", value: "In Active", onChange: handleSwitchChange }), jsx("label", { htmlFor: `${item.name}_off`, style: { textTransform: "none" }, children: item.label2 ?? "In Active" }), jsx("a", { className: "slide-button btn" })] })] }));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export { FormActiveSwitch as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormConstants.d.ts","sourceRoot":"","sources":["../../../src/components/Form/FormConstants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FormConstants.d.ts","sourceRoot":"","sources":["../../../src/components/Form/FormConstants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;CACjD;AACD,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;CAChC;AAED,QAAA,MAAM,wBAAwB,GAAI,WAAW,oBAAoB,EAAE;;;CAkXlE,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import * as Yup from 'yup';
|
|
2
|
+
|
|
3
|
+
const useFormValidatingContext = (formArray) => {
|
|
4
|
+
const initialValues = {};
|
|
5
|
+
const validationShape = {};
|
|
6
|
+
const renderCustomError = (field) => {
|
|
7
|
+
if (field.customValidation) {
|
|
8
|
+
validationShape[field.name] = validationShape[field.name].test("custom-check", field.customErrorMessage || "Invalid value", (value) => {
|
|
9
|
+
// Call the custom validation function if provided
|
|
10
|
+
return field.customValidation ? field.customValidation(value) : true;
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
formArray.forEach((field) => {
|
|
15
|
+
switch (field.inputType) {
|
|
16
|
+
case "text":
|
|
17
|
+
initialValues[field.name] = "";
|
|
18
|
+
if (field.required && field.errorMessage) {
|
|
19
|
+
validationShape[field.name] = Yup.string()
|
|
20
|
+
.typeError(field.errorMessage)
|
|
21
|
+
.required(field.errorMessage);
|
|
22
|
+
renderCustomError(field);
|
|
23
|
+
}
|
|
24
|
+
renderCustomError(field);
|
|
25
|
+
break;
|
|
26
|
+
case "rich-text-editor":
|
|
27
|
+
initialValues[field.name] = "";
|
|
28
|
+
if (field.required && field.errorMessage) {
|
|
29
|
+
validationShape[field.name] = Yup.string()
|
|
30
|
+
.typeError(field.errorMessage)
|
|
31
|
+
.required(field.errorMessage);
|
|
32
|
+
renderCustomError(field);
|
|
33
|
+
}
|
|
34
|
+
renderCustomError(field);
|
|
35
|
+
break;
|
|
36
|
+
case "password":
|
|
37
|
+
initialValues[field.name] = "";
|
|
38
|
+
if (field.required && field.errorMessage) {
|
|
39
|
+
validationShape[field.name] = Yup.string()
|
|
40
|
+
.typeError(field.errorMessage)
|
|
41
|
+
.required(field.errorMessage);
|
|
42
|
+
renderCustomError(field);
|
|
43
|
+
}
|
|
44
|
+
renderCustomError(field);
|
|
45
|
+
break;
|
|
46
|
+
case "email":
|
|
47
|
+
initialValues[field.name] = "";
|
|
48
|
+
if (field.required && field.errorMessage) {
|
|
49
|
+
validationShape[field.name] = Yup.string()
|
|
50
|
+
.typeError(`Please enter ${field.label}`)
|
|
51
|
+
.required(field.errorMessage)
|
|
52
|
+
.test("valid-email", `Please enter valid Email`, (value) => {
|
|
53
|
+
return /\@.*\..+/.test(value);
|
|
54
|
+
});
|
|
55
|
+
renderCustomError(field);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
validationShape[field.name] = Yup.string()
|
|
59
|
+
.typeError(`Please enter ${field.label}`)
|
|
60
|
+
.test("valid-email", `Please enter valid Email`, (value) => {
|
|
61
|
+
// Custom validation to check for at least one period after '@'
|
|
62
|
+
return !value || /\@.*\..+/.test(value);
|
|
63
|
+
});
|
|
64
|
+
renderCustomError(field);
|
|
65
|
+
}
|
|
66
|
+
renderCustomError(field);
|
|
67
|
+
break;
|
|
68
|
+
case "multiEmail":
|
|
69
|
+
initialValues[field.name] = "";
|
|
70
|
+
if (field.required && field.errorMessage) {
|
|
71
|
+
validationShape[field.name] = Yup.string()
|
|
72
|
+
.typeError(`Please enter ${field.label}`)
|
|
73
|
+
.required(field.errorMessage)
|
|
74
|
+
.test("valid-email", `Please enter valid Email`, (value) => {
|
|
75
|
+
if (!value)
|
|
76
|
+
return false;
|
|
77
|
+
const emails = value.split(";");
|
|
78
|
+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
79
|
+
return emails.every((email) => emailRegex.test(email.trim()));
|
|
80
|
+
});
|
|
81
|
+
renderCustomError(field);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
validationShape[field.name] = Yup.string()
|
|
85
|
+
.typeError(`Please enter ${field.label}`)
|
|
86
|
+
.test("custom", `Please enter valid Email`, (value) => {
|
|
87
|
+
// Custom validation to check for at least one period after '@'
|
|
88
|
+
if (!value || value === "") {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
const emails = value.split(";");
|
|
93
|
+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
94
|
+
return emails.every((email) => emailRegex.test(email.trim()));
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
renderCustomError(field);
|
|
98
|
+
}
|
|
99
|
+
renderCustomError(field);
|
|
100
|
+
break;
|
|
101
|
+
case "file":
|
|
102
|
+
initialValues[field.name] = null;
|
|
103
|
+
if (field.required && field.errorMessage) {
|
|
104
|
+
validationShape[field.name] = Yup.mixed()
|
|
105
|
+
.test("fileOrString", field?.errorMessage, (value) => {
|
|
106
|
+
return (value instanceof File ||
|
|
107
|
+
(typeof value === "string" && value.trim() !== ""));
|
|
108
|
+
})
|
|
109
|
+
.required(field.errorMessage);
|
|
110
|
+
renderCustomError(field);
|
|
111
|
+
}
|
|
112
|
+
renderCustomError(field);
|
|
113
|
+
break;
|
|
114
|
+
case "multifile":
|
|
115
|
+
initialValues[field.name] = null;
|
|
116
|
+
if (field.required && field.errorMessage) {
|
|
117
|
+
validationShape[field.name] = Yup.string()
|
|
118
|
+
.test("hasAtLeastOneFile", field.errorMessage, (value) => {
|
|
119
|
+
if (!value)
|
|
120
|
+
return false;
|
|
121
|
+
// Split by comma, trim, and filter out empty values
|
|
122
|
+
const files = value
|
|
123
|
+
.split(",")
|
|
124
|
+
.map((f) => f.trim())
|
|
125
|
+
.filter((f) => f !== "");
|
|
126
|
+
return files.length > 0;
|
|
127
|
+
})
|
|
128
|
+
.required(field.errorMessage);
|
|
129
|
+
renderCustomError(field);
|
|
130
|
+
}
|
|
131
|
+
renderCustomError(field);
|
|
132
|
+
break;
|
|
133
|
+
case "number":
|
|
134
|
+
initialValues[field.name] = null;
|
|
135
|
+
if (field.required && field.errorMessage) {
|
|
136
|
+
validationShape[field.name] = Yup.number()
|
|
137
|
+
.nullable()
|
|
138
|
+
.typeError(field.errorMessage)
|
|
139
|
+
.required(field.errorMessage);
|
|
140
|
+
renderCustomError(field);
|
|
141
|
+
}
|
|
142
|
+
renderCustomError(field);
|
|
143
|
+
break;
|
|
144
|
+
case "checkbox":
|
|
145
|
+
initialValues[field.name] = false;
|
|
146
|
+
break;
|
|
147
|
+
case "pincode":
|
|
148
|
+
initialValues[field.name] = null;
|
|
149
|
+
if (field.required && field.errorMessage) {
|
|
150
|
+
validationShape[field.name] = Yup.number()
|
|
151
|
+
.nullable()
|
|
152
|
+
.typeError(`Please enter PinCode`)
|
|
153
|
+
.required(field.errorMessage)
|
|
154
|
+
.test("is-six-digits", `Please enter a 6-digit PinCode`, (value) => {
|
|
155
|
+
if (value) {
|
|
156
|
+
const stringValue = value.toString();
|
|
157
|
+
return stringValue.length === 6;
|
|
158
|
+
}
|
|
159
|
+
return false;
|
|
160
|
+
});
|
|
161
|
+
renderCustomError(field);
|
|
162
|
+
}
|
|
163
|
+
renderCustomError(field);
|
|
164
|
+
break;
|
|
165
|
+
// case "phoneNumber":
|
|
166
|
+
// initialValues[field.name] = null;
|
|
167
|
+
// if (field.required && field.errorMessage) {
|
|
168
|
+
// validationShape[field.name] = Yup.number()
|
|
169
|
+
// .nullable()
|
|
170
|
+
// .typeError(`Please enter Mobile Number`)
|
|
171
|
+
// .required(field.errorMessage)
|
|
172
|
+
// .test(
|
|
173
|
+
// "is-two-digits",
|
|
174
|
+
// `Please enter a 10-digit Mobile Number`,
|
|
175
|
+
// (value) => {
|
|
176
|
+
// if (value) {
|
|
177
|
+
// const stringValue = value.toString();
|
|
178
|
+
// return stringValue.length === 2;
|
|
179
|
+
// }
|
|
180
|
+
// return false;
|
|
181
|
+
// }
|
|
182
|
+
// );
|
|
183
|
+
// renderCustomError(field)
|
|
184
|
+
// } else {
|
|
185
|
+
// validationShape[field.name] = Yup.number()
|
|
186
|
+
// .nullable()
|
|
187
|
+
// // .typeError(`Please enter Mobile Number`)
|
|
188
|
+
// .test(
|
|
189
|
+
// "is-two-digits",
|
|
190
|
+
// `Please enter a 10-digit Mobile Number`,
|
|
191
|
+
// (value: any) => {
|
|
192
|
+
// return !value || value?.toString().length === 2;
|
|
193
|
+
// }
|
|
194
|
+
// );
|
|
195
|
+
// renderCustomError(field)
|
|
196
|
+
// }
|
|
197
|
+
// break;
|
|
198
|
+
case "phoneNumber":
|
|
199
|
+
initialValues[field.name] = null;
|
|
200
|
+
if (field.required) {
|
|
201
|
+
validationShape[field.name] = Yup.number()
|
|
202
|
+
.nullable()
|
|
203
|
+
.typeError(`Please enter Mobile Number`)
|
|
204
|
+
.required(field.errorMessage)
|
|
205
|
+
.test("is-two-digits", `Please enter a 10-digit Mobile Number`, (value) => {
|
|
206
|
+
if (value) {
|
|
207
|
+
const stringValue = value.toString();
|
|
208
|
+
return stringValue.length === 10;
|
|
209
|
+
}
|
|
210
|
+
return false;
|
|
211
|
+
});
|
|
212
|
+
renderCustomError(field);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
validationShape[field.name] = Yup.string()
|
|
216
|
+
.nullable()
|
|
217
|
+
.typeError(``)
|
|
218
|
+
.test("is-two-digits", `Please enter a 10-digit Mobile Number`, (value) => {
|
|
219
|
+
if (value) {
|
|
220
|
+
// Custom validation to check for at least one period after '@'
|
|
221
|
+
const stringValue = value.toString();
|
|
222
|
+
return stringValue.length === 10;
|
|
223
|
+
}
|
|
224
|
+
return true; // Skip validation if no value is present
|
|
225
|
+
});
|
|
226
|
+
renderCustomError(field);
|
|
227
|
+
}
|
|
228
|
+
break;
|
|
229
|
+
case "select":
|
|
230
|
+
initialValues[field.name] = "";
|
|
231
|
+
if (field.required && field.errorMessage) {
|
|
232
|
+
validationShape[field.name] = Yup.string()
|
|
233
|
+
.typeError(`Select ${field.label}`)
|
|
234
|
+
.required(field.errorMessage);
|
|
235
|
+
renderCustomError(field);
|
|
236
|
+
}
|
|
237
|
+
renderCustomError(field);
|
|
238
|
+
break;
|
|
239
|
+
case "checkbox-group":
|
|
240
|
+
case "radio-group":
|
|
241
|
+
initialValues[field.name] = "";
|
|
242
|
+
if (field.required && field.errorMessage) {
|
|
243
|
+
validationShape[field.name] = Yup.string()
|
|
244
|
+
.typeError(`Select ${field.label}`)
|
|
245
|
+
.required(field.errorMessage);
|
|
246
|
+
renderCustomError(field);
|
|
247
|
+
}
|
|
248
|
+
renderCustomError(field);
|
|
249
|
+
break;
|
|
250
|
+
case "multiselect":
|
|
251
|
+
initialValues[field.name] = null;
|
|
252
|
+
if (field.required && field.errorMessage) {
|
|
253
|
+
validationShape[field.name] = validationShape[field.name] =
|
|
254
|
+
Yup.string()
|
|
255
|
+
.typeError(`Select atleast one ${field.label}`)
|
|
256
|
+
.required(field.errorMessage);
|
|
257
|
+
renderCustomError(field);
|
|
258
|
+
}
|
|
259
|
+
renderCustomError(field);
|
|
260
|
+
break;
|
|
261
|
+
case "datepicker":
|
|
262
|
+
case "timepicker":
|
|
263
|
+
initialValues[field.name] = null;
|
|
264
|
+
if (field.required && field.errorMessage) {
|
|
265
|
+
validationShape[field.name] = validationShape[field.name] =
|
|
266
|
+
Yup.string()
|
|
267
|
+
.typeError(`Select ${field.label}`)
|
|
268
|
+
.required(field.errorMessage);
|
|
269
|
+
renderCustomError(field);
|
|
270
|
+
}
|
|
271
|
+
renderCustomError(field);
|
|
272
|
+
break;
|
|
273
|
+
case "yearpicker":
|
|
274
|
+
initialValues[field.name] = null;
|
|
275
|
+
if (field.required && field.errorMessage) {
|
|
276
|
+
validationShape[field.name] = validationShape[field.name] =
|
|
277
|
+
Yup.string()
|
|
278
|
+
.typeError(`Select ${field.label}`)
|
|
279
|
+
.required(field.errorMessage);
|
|
280
|
+
renderCustomError(field);
|
|
281
|
+
}
|
|
282
|
+
renderCustomError(field);
|
|
283
|
+
break;
|
|
284
|
+
case "monthpicker":
|
|
285
|
+
initialValues[field.name] = null;
|
|
286
|
+
if (field.required && field.errorMessage) {
|
|
287
|
+
validationShape[field.name] = validationShape[field.name] =
|
|
288
|
+
Yup.string()
|
|
289
|
+
.typeError(`Select ${field.label}`)
|
|
290
|
+
.required(field.errorMessage);
|
|
291
|
+
renderCustomError(field);
|
|
292
|
+
}
|
|
293
|
+
renderCustomError(field);
|
|
294
|
+
break;
|
|
295
|
+
case "toggleSwitch":
|
|
296
|
+
initialValues[field.name] = true;
|
|
297
|
+
renderCustomError(field);
|
|
298
|
+
break;
|
|
299
|
+
case "dateRangePicker":
|
|
300
|
+
const today = new Date();
|
|
301
|
+
const day = String(today.getDate()).padStart(2, "0");
|
|
302
|
+
const month = String(today.getMonth() + 1).padStart(2, "0"); // January is 0!
|
|
303
|
+
const year = today.getFullYear();
|
|
304
|
+
const formattedDate = `${day}/${month}/${year}`;
|
|
305
|
+
const threeMonthsAgo = new Date(today);
|
|
306
|
+
threeMonthsAgo.setMonth(today.getMonth() - (field.monthSpan ?? 3));
|
|
307
|
+
const dayBeforeThreeMonths = String(threeMonthsAgo.getDate()).padStart(2, "0");
|
|
308
|
+
const monthBeforeThreeMonths = String(threeMonthsAgo.getMonth() + 1).padStart(2, "0"); // January is 0!
|
|
309
|
+
const yearBeforeThreeMonths = threeMonthsAgo.getFullYear();
|
|
310
|
+
const formattedDateForThreeMonths = `${dayBeforeThreeMonths}/${monthBeforeThreeMonths}/${yearBeforeThreeMonths}`;
|
|
311
|
+
initialValues["FromDate"] = formattedDateForThreeMonths;
|
|
312
|
+
initialValues["ToDate"] = formattedDate;
|
|
313
|
+
if (field.required && field.errorMessage) {
|
|
314
|
+
validationShape[field.name] = validationShape[field.name] =
|
|
315
|
+
Yup.string()
|
|
316
|
+
.typeError(`Select ${field.label}`)
|
|
317
|
+
.required(field.errorMessage);
|
|
318
|
+
renderCustomError(field);
|
|
319
|
+
}
|
|
320
|
+
renderCustomError(field);
|
|
321
|
+
break;
|
|
322
|
+
default:
|
|
323
|
+
initialValues[field.name] = null; // default value if inputType is not recognized
|
|
324
|
+
if (field.required && field.errorMessage) {
|
|
325
|
+
validationShape[field.name] = Yup.mixed().required(field.errorMessage);
|
|
326
|
+
renderCustomError(field);
|
|
327
|
+
}
|
|
328
|
+
renderCustomError(field);
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
const validationSchema = Yup.object().shape(validationShape);
|
|
333
|
+
return { validationSchema, initialValues };
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
export { useFormValidatingContext as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps } from "../../
|
|
1
|
+
import { FormRenderProps } from "../../lib/Interface/FormInterface";
|
|
2
2
|
declare const RenderForm: (props: FormRenderProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default RenderForm;
|
|
4
4
|
//# sourceMappingURL=FormRender.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormRender.d.ts","sourceRoot":"","sources":["../../../src/components/Form/FormRender.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FormRender.d.ts","sourceRoot":"","sources":["../../../src/components/Form/FormRender.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAsBpE,QAAA,MAAM,UAAU,GAAI,OAAO,eAAe,4CA2FzC,CAAC;AAGF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import DatepickerWrapperV2 from '../FormComponents/DatePicker/DatepickerWrapperV2.js';
|
|
3
|
+
import Monthpickerrender from '../FormComponents/DatePicker/Monthpickerrender.js';
|
|
4
|
+
import FormRenderFileUpload from '../FormComponents/FileUpload/FormRenderFileUpload.js';
|
|
5
|
+
import FormRenderMultiFileUpload from '../FormComponents/FileUpload/FormRenderMultiFileUpload.js';
|
|
6
|
+
import FormCheckBox from '../FormComponents/FormCheckBox/FormCheckBox.js';
|
|
7
|
+
import FormCheckBoxGroup from '../FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.js';
|
|
8
|
+
import FormNumberField from '../FormComponents/FormNumberField/FormNumberField.js';
|
|
9
|
+
import FormNumberFieldDecimal from '../FormComponents/FormNumberField/FormNumberFieldDecimal.js';
|
|
10
|
+
import FormRadioGroup from '../FormComponents/FormRadioGroup/FormRadioGroup.js';
|
|
11
|
+
import FormTextAreaField from '../FormComponents/FormTextAreaField/FormTextAreaField.js';
|
|
12
|
+
import FormTextField from '../FormComponents/FormTextField/FormTextField.js';
|
|
13
|
+
import PasswordField from '../FormComponents/PasswordField/PasswordField.js';
|
|
14
|
+
import RichTextEditorWrapper from '../FormComponents/RichTextEditor/RichTextEditorWrapper.js';
|
|
15
|
+
import MultiSelectV1 from '../FormComponents/Select/MultiSelectv1.js';
|
|
16
|
+
import SingleSelect from '../FormComponents/Select/SingleSelect.js';
|
|
17
|
+
import SingleSelectNonAutoComplete from '../FormComponents/Select/SingleSelectNonAutoComplete.js';
|
|
18
|
+
import TimePickerFieldWrapper from '../FormComponents/TimePicker/TimePicker.js';
|
|
19
|
+
import FormActiveSwitch from './FormActiveSwitch.js';
|
|
20
|
+
|
|
21
|
+
// Main renderer function: decides which form field component to render
|
|
22
|
+
// based on the `inputType` defined in `props.item`
|
|
23
|
+
const RenderForm = (props) => {
|
|
24
|
+
// Variant is an optional property that controls UI style differences
|
|
25
|
+
const variant = props.variant || "";
|
|
26
|
+
// Switch between different input types and render the corresponding component
|
|
27
|
+
switch (props.item?.inputType) {
|
|
28
|
+
// Common text-based inputs
|
|
29
|
+
case "text":
|
|
30
|
+
case "multiEmail":
|
|
31
|
+
case "email":
|
|
32
|
+
return jsx(FormTextField, { props: props, variant: variant });
|
|
33
|
+
// Rich text editor
|
|
34
|
+
case "rich-text-editor":
|
|
35
|
+
return jsx(RichTextEditorWrapper, { props: props, variant: variant });
|
|
36
|
+
// Password field
|
|
37
|
+
case "password":
|
|
38
|
+
return jsx(PasswordField, { props: props, variant: variant });
|
|
39
|
+
// Dropdown select (auto-complete)
|
|
40
|
+
case "select":
|
|
41
|
+
return jsx(SingleSelect, { props: props, variant: variant });
|
|
42
|
+
// Dropdown select (non auto-complete)
|
|
43
|
+
case "select-v2":
|
|
44
|
+
return jsx(SingleSelectNonAutoComplete, { props: props, variant: variant });
|
|
45
|
+
// Numeric inputs (integer, pincode, phone)
|
|
46
|
+
case "number":
|
|
47
|
+
case "pincode":
|
|
48
|
+
case "phoneNumber":
|
|
49
|
+
return jsx(FormNumberField, { props: props, variant: variant });
|
|
50
|
+
// Decimal input
|
|
51
|
+
case "decimal":
|
|
52
|
+
return jsx(FormNumberFieldDecimal, { props: props, variant: variant });
|
|
53
|
+
// Checkbox group (multiple options)
|
|
54
|
+
case "checkbox-group":
|
|
55
|
+
return jsx(FormCheckBoxGroup, { props: props, variant: variant });
|
|
56
|
+
// Radio group (single option)
|
|
57
|
+
case "radio-group":
|
|
58
|
+
return jsx(FormRadioGroup, { props: props, variant: variant });
|
|
59
|
+
// Date picker
|
|
60
|
+
case "datepicker":
|
|
61
|
+
return jsx(DatepickerWrapperV2, { props: props, variant: variant });
|
|
62
|
+
// Time picker
|
|
63
|
+
case "timepicker":
|
|
64
|
+
return jsx(TimePickerFieldWrapper, { props: props, variant: variant });
|
|
65
|
+
// Date range picker - TEMPORARILY DISABLED
|
|
66
|
+
case "dateRangePicker":
|
|
67
|
+
return jsx("div", {});
|
|
68
|
+
// return <DateRangePickerComponent props={props} variant={variant} />;
|
|
69
|
+
// Month picker
|
|
70
|
+
case "monthpicker":
|
|
71
|
+
return jsx(Monthpickerrender, { props: props, variant: variant });
|
|
72
|
+
// Multi-select dropdown
|
|
73
|
+
case "multiselect":
|
|
74
|
+
return jsx(MultiSelectV1, { props: props, variant: variant });
|
|
75
|
+
// Single file upload
|
|
76
|
+
case "file":
|
|
77
|
+
return jsx(FormRenderFileUpload, { props: props, variant: variant });
|
|
78
|
+
// Multi file upload
|
|
79
|
+
case "multifile":
|
|
80
|
+
return jsx(FormRenderMultiFileUpload, { props: props, variant: variant });
|
|
81
|
+
// Single checkbox
|
|
82
|
+
case "checkbox":
|
|
83
|
+
return jsx(FormCheckBox, { props: props, variant: variant });
|
|
84
|
+
// Multi-line text input
|
|
85
|
+
case "textarea":
|
|
86
|
+
return jsx(FormTextAreaField, { props: props, variant: variant });
|
|
87
|
+
// Toggle switch (active/inactive)
|
|
88
|
+
case "toggleSwitch":
|
|
89
|
+
return jsx(FormActiveSwitch, { props: props }, props.item.name);
|
|
90
|
+
// Default case: if input type is not found, return nothing
|
|
91
|
+
default:
|
|
92
|
+
return jsx(Fragment, {});
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export { RenderForm as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormSectionPropsItem, VariantProps } from "@/
|
|
1
|
+
import { FormSectionPropsItem, VariantProps } from "@/lib/Interface/FormInterface";
|
|
2
2
|
import { UseFormReturn } from "react-hook-form";
|
|
3
3
|
export interface FormRenderWrapperProps {
|
|
4
4
|
formArray: FormSectionPropsItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormRenderWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/Form/FormRenderWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,YAAY,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"FormRenderWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/Form/FormRenderWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,YAAY,EACb,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,aAAa,CACjB;QACE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QAC9C,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;KAC/C,EACD,GAAG,EACH;QACE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QAC9C,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;KAC/C,CACF,CAAC;IACF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AACD,QAAA,MAAM,iBAAiB,GAAI,kEAOxB,sBAAsB,4CA+BxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { customTheme } from '../../theme/index.js';
|
|
3
|
+
import { ThemeProvider } from '@emotion/react';
|
|
4
|
+
import { FormComponent, Formitem } from './Form.styles.js';
|
|
5
|
+
import RenderForm from './FormRender.js';
|
|
6
|
+
|
|
7
|
+
const FormRenderWrapper = ({ formArray, name = "", numberOfColumns = 3, form, variant = "", fieldError, }) => {
|
|
8
|
+
return (jsx(ThemeProvider, { theme: customTheme, children: jsx(FormComponent, { container: true, margin: "auto", children: formArray.map((item, i) => {
|
|
9
|
+
return (item.inputType && (jsx(Formitem, { container: true, sx: item.CustomProps, noOfColumn: item.numberOfColumns || numberOfColumns, children: jsx(RenderForm, { item: item, register: form.register, control: form.control, errors: form.formState.errors, getValues: form.getValues, clearErrors: form.clearErrors, setValue: form.setValue, variant: variant, fieldError: fieldError }) }, `${name}_${i}`)));
|
|
10
|
+
}) }) }));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { FormRenderWrapper as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from "../../../
|
|
1
|
+
import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
|
|
2
2
|
declare const DateRangePickerComponent: ({ props: _props, variant: _variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|