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,45 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { TextField } from '@mui/material';
|
|
3
|
+
import { Controller } from 'react-hook-form';
|
|
4
|
+
import { renderLabel } from '../../../lib/Constants/FormConstants.js';
|
|
5
|
+
import FormBottomField from '../FormBottomField/FormBottomField.js';
|
|
6
|
+
|
|
7
|
+
const FormNumberFieldDecimal = ({ props, variant, }) => {
|
|
8
|
+
const fixedLength = props.item.decimalFixedTo || 2;
|
|
9
|
+
const onInput = (e) => {
|
|
10
|
+
// Allow numbers, a single decimal point, and negation in the input
|
|
11
|
+
e.target.value = e.target.value.replace(/[^0-9.-]/g, "");
|
|
12
|
+
// Ensure only one decimal point is present
|
|
13
|
+
const decimalPointCount = e.target.value.split(".").length - 1;
|
|
14
|
+
if (decimalPointCount > 1) {
|
|
15
|
+
e.target.value = e.target.value.slice(0, -1);
|
|
16
|
+
}
|
|
17
|
+
// Ensure only two digits after the decimal point
|
|
18
|
+
const parts = e.target.value.split(".");
|
|
19
|
+
if (parts.length === fixedLength && parts[1].length > fixedLength) {
|
|
20
|
+
e.target.value = `${parts[0]}.${parts[1].slice(0, fixedLength)}`;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const label = variant !== "standard"
|
|
24
|
+
? `${props.item.label}${props.item.required ? " *" : ""}`
|
|
25
|
+
: "";
|
|
26
|
+
const isError = !!props.errors?.[props.item.name];
|
|
27
|
+
const isShowBorderError = isError && props.fieldError;
|
|
28
|
+
return (jsx(Controller, { name: props.item.name, control: props.control, disabled: props.item?.disable, render: ({ field }) => (jsxs(Fragment, { children: [renderLabel(variant, props), jsx(TextField, { type: "text", size: "small", label: label, error: isShowBorderError, ...field, onChange: () => props?.clearErrors && props?.clearErrors(props.item.name), sx: {
|
|
29
|
+
"& input": {
|
|
30
|
+
textAlign: "right",
|
|
31
|
+
},
|
|
32
|
+
"& .css-16hdwvj,.css-1idq7r3-MuiFormLabel-root-MuiInputLabel-root": {
|
|
33
|
+
top: "-5px",
|
|
34
|
+
},
|
|
35
|
+
}, onBlur: (e) => {
|
|
36
|
+
props?.item?.onBlurFn && props?.item?.onBlurFn(e);
|
|
37
|
+
}, onInput: onInput, InputProps: {
|
|
38
|
+
inputProps: {
|
|
39
|
+
pattern: "[1-9]",
|
|
40
|
+
maxLength: 7,
|
|
41
|
+
},
|
|
42
|
+
} }), jsx(FormBottomField, { ...props })] })) }, props.item.name));
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { FormNumberFieldDecimal as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from "../../../
|
|
1
|
+
import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
|
|
2
2
|
declare const FormRadioGroup: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormRadioGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/FormRadioGroup/FormRadioGroup.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"FormRadioGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/FormRadioGroup/FormRadioGroup.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,sCAAsC,CAAC;AAG9C,QAAA,MAAM,cAAc,GAAI,qBAGrB;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB,4CAwDA,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { FormControl, RadioGroup, FormControlLabel, Typography, Radio } from '@mui/material';
|
|
3
|
+
import { Controller } from 'react-hook-form';
|
|
4
|
+
import { renderLabel } from '../../../lib/Constants/FormConstants.js';
|
|
5
|
+
import FormBottomField from '../FormBottomField/FormBottomField.js';
|
|
6
|
+
|
|
7
|
+
const FormRadioGroup = ({ props, variant, }) => {
|
|
8
|
+
return (jsxs(Fragment, { children: [renderLabel(variant, props), jsx(FormControl, { component: "fieldset", children: jsx(Controller, { name: props.item.name, control: props.control, render: ({ field }) => (jsx(RadioGroup, { value: field.value, onChange: (e) => {
|
|
9
|
+
field.onChange(e.target.value); // ✅ update form state
|
|
10
|
+
console.log(e.target.value, "radio value selected");
|
|
11
|
+
props.item.onChangeFn && props.item.onChangeFn(e.target.value); // optional handler
|
|
12
|
+
}, row: true, sx: {
|
|
13
|
+
gap: "8px",
|
|
14
|
+
}, children: props.item?.settings?.map((option, i) => (jsx(FormControlLabel, { value: option.name, control: jsx(Radio, { sx: {
|
|
15
|
+
padding: "6px 2px 6px 8px",
|
|
16
|
+
color: "black",
|
|
17
|
+
"&.Mui-checked": {
|
|
18
|
+
color: "#1976d2", // blue when selected
|
|
19
|
+
},
|
|
20
|
+
"& .MuiSvgIcon-root": {
|
|
21
|
+
fontSize: 16, // 🔹 this actually controls the radio icon size
|
|
22
|
+
},
|
|
23
|
+
} }), label: jsx(Typography, { fontSize: "11px", fontWeight: "normal !important", children: option.label }) }, i))) })) }) }), jsx(FormBottomField, { ...props })] }));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { FormRadioGroup as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from "../../../
|
|
1
|
+
import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
|
|
2
2
|
declare const FormTextAreaField: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormTextAreaField.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/FormTextAreaField/FormTextAreaField.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"FormTextAreaField.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/FormTextAreaField/FormTextAreaField.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,sCAAsC,CAAC;AAI9C,QAAA,MAAM,iBAAiB,GAAI,qBAGxB;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB,4CAqDA,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { renderLabel } from '../../../lib/Constants/FormConstants.js';
|
|
4
|
+
import FormBottomField from '../FormBottomField/FormBottomField.js';
|
|
5
|
+
import { TextAreaField } from './FormTextAreaField.styles.js';
|
|
6
|
+
|
|
7
|
+
const FormTextAreaField = ({ props, variant, }) => {
|
|
8
|
+
const isError = !!props.errors?.[props.item.name];
|
|
9
|
+
const isShowBorderError = isError && props.fieldError;
|
|
10
|
+
return (jsx(Fragment, { children: jsx(Controller, { control: props.control, name: props.item.name, render: ({ field }) => (jsxs(Fragment, { children: [renderLabel(variant, props), jsx(TextAreaField, { multiline: true, size: "small", InputProps: {
|
|
11
|
+
style: {
|
|
12
|
+
border: "none",
|
|
13
|
+
},
|
|
14
|
+
}, sx: {
|
|
15
|
+
...props.item.sx,
|
|
16
|
+
}, minRows: props.item.minRows || 1, maxRows: props.item.maxRows || 100, placeholder: props.item.placeholder || "Type Something...", ...field, label: variant !== "standard"
|
|
17
|
+
? `${props.item.label}${props.item.required ? " *" : ""}`
|
|
18
|
+
: "", error: isShowBorderError, value: field.value || "", disabled: props.item.disable, inputProps: {
|
|
19
|
+
onInput: (e) => {
|
|
20
|
+
if (!props?.item?.allowSpecialChars) {
|
|
21
|
+
const value = e.target.value;
|
|
22
|
+
e.target.value = value.replace(/[^a-zA-Z0-9 ]/g, "");
|
|
23
|
+
} // Allow only alphanumeric and space
|
|
24
|
+
if (e.target.value.length === 1 && e.target.value === " ") {
|
|
25
|
+
e.target.value = "";
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
} }), jsx(FormBottomField, { ...props })] })) }, props.item.name) }));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { FormTextAreaField as default };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import { TextField } from '@mui/material';
|
|
3
|
+
|
|
4
|
+
const TextAreaField = styled(TextField)(() => ({
|
|
5
|
+
"& .css-1holvmy,.css-lqj8pz-MuiFormLabel-root-MuiInputLabel-root, .css-kichxs-MuiFormLabel-root-MuiInputLabel-root": {
|
|
6
|
+
top: "-10px",
|
|
7
|
+
},
|
|
8
|
+
"& input": {
|
|
9
|
+
fontSize: "11px",
|
|
10
|
+
},
|
|
11
|
+
"& .css-2rul56-MuiFormLabel-root-MuiInputLabel-root": {
|
|
12
|
+
top: "-10px",
|
|
13
|
+
},
|
|
14
|
+
"& .css-12ciryo-MuiFormLabel-root-MuiInputLabel-root ": {},
|
|
15
|
+
"& .css-1gq5vhi-MuiInputBase-root-MuiOutlinedInput-root input ": {
|
|
16
|
+
outline: "none",
|
|
17
|
+
border: "1px solid #ced4da", // Add this line to set border to none
|
|
18
|
+
},
|
|
19
|
+
"& .css-1gq5vhi-MuiInputBase-root-MuiOutlinedInput-root input:focus ": {
|
|
20
|
+
outline: "none",
|
|
21
|
+
border: "none", // Set border to none when input is focused
|
|
22
|
+
},
|
|
23
|
+
"& .css-1y03twt-MuiInputBase-root-MuiOutlinedInput-root": {
|
|
24
|
+
padding: "5px 5px", // Set border to none when input is focused
|
|
25
|
+
fontSize: "11px",
|
|
26
|
+
},
|
|
27
|
+
"& textarea": {
|
|
28
|
+
fontSize: "11px",
|
|
29
|
+
// textTransform:'uppercase'
|
|
30
|
+
maxHeight: "500px !important",
|
|
31
|
+
overflow: "auto",
|
|
32
|
+
},
|
|
33
|
+
}));
|
|
34
|
+
|
|
35
|
+
export { TextAreaField };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from "../../../
|
|
1
|
+
import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
|
|
2
2
|
declare const FormTextField: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormTextField.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/FormTextField/FormTextField.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FormTextField.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/FormTextField/FormTextField.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAErF,QAAA,MAAM,aAAa,GAAI,qBAGpB;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB,4CAiEA,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { FormTextFieldComponent } from './FormTextField.styles.js';
|
|
4
|
+
import FormBottomField from '../FormBottomField/FormBottomField.js';
|
|
5
|
+
import { renderLabel } from '../../../lib/Constants/FormConstants.js';
|
|
6
|
+
|
|
7
|
+
const FormTextField = ({ props, variant, }) => {
|
|
8
|
+
const isError = !!props.errors?.[props.item.name];
|
|
9
|
+
const isShowBorderError = isError && props.fieldError;
|
|
10
|
+
const label = variant !== "standard"
|
|
11
|
+
? `${props.item.label}${props.item.required ? " *" : ""}`
|
|
12
|
+
: "";
|
|
13
|
+
const onInput = (e) => {
|
|
14
|
+
if (props?.item?.donotAllowSpace) {
|
|
15
|
+
const value = e.target.value;
|
|
16
|
+
e.target.value = value.replace(" ", "");
|
|
17
|
+
}
|
|
18
|
+
if (!props?.item?.allowSpecialChars) {
|
|
19
|
+
const value = e.target.value;
|
|
20
|
+
e.target.value = value.replace(/[^a-zA-Z0-9 ]/g, "");
|
|
21
|
+
} // Allow only alphanumeric and space
|
|
22
|
+
if (e.target.value.length === 1 && e.target.value === " ") {
|
|
23
|
+
e.target.value = "";
|
|
24
|
+
}
|
|
25
|
+
props.item.onInputProps && props.item.onInputProps(e);
|
|
26
|
+
};
|
|
27
|
+
return (jsx(Controller, { control: props.control, name: props.item.name, render: ({ field }) => (jsxs(Fragment, { children: [renderLabel(variant, props), jsx(FormTextFieldComponent, { ...field, fullWidth: true, error: isShowBorderError, label: label, placeholder: props.item.placeholder || "", InputProps: {
|
|
28
|
+
style: {
|
|
29
|
+
border: "none",
|
|
30
|
+
},
|
|
31
|
+
}, autoComplete: "off", sx: {
|
|
32
|
+
...props.item.sx,
|
|
33
|
+
}, value: field.value || "", size: "small", disabled: props.item.disable, onBlur: (e) => {
|
|
34
|
+
props?.item?.onBlurFn && props?.item?.onBlurFn(e);
|
|
35
|
+
}, inputProps: {
|
|
36
|
+
maxLength: props.item.maxLength || 100,
|
|
37
|
+
onInput: onInput,
|
|
38
|
+
onPaste: (e) => {
|
|
39
|
+
if (props.item.doNotAllowPaste) {
|
|
40
|
+
e.preventDefault();
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
} }), jsx(FormBottomField, { ...props })] })) }, props.item.name));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export { FormTextField as default };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import { TextField } from '@mui/material';
|
|
3
|
+
|
|
4
|
+
const FormTextFieldComponent = styled(TextField)(() => ({
|
|
5
|
+
"& .css-1holvmy,.css-lqj8pz-MuiFormLabel-root-MuiInputLabel-root, .css-kichxs-MuiFormLabel-root-MuiInputLabel-root": {
|
|
6
|
+
top: "-10px",
|
|
7
|
+
},
|
|
8
|
+
"& .css-2rul56-MuiFormLabel-root-MuiInputLabel-root": {
|
|
9
|
+
top: "-10px",
|
|
10
|
+
},
|
|
11
|
+
"& .css-12ciryo-MuiFormLabel-root-MuiInputLabel-root ": {},
|
|
12
|
+
"& .css-1gq5vhi-MuiInputBase-root-MuiOutlinedInput-root input ": {
|
|
13
|
+
outline: "none",
|
|
14
|
+
border: "1px solid #ced4da", // Add this line to set border to none
|
|
15
|
+
},
|
|
16
|
+
"& .css-1gq5vhi-MuiInputBase-root-MuiOutlinedInput-root input:focus ": {
|
|
17
|
+
outline: "none",
|
|
18
|
+
border: "none", // Set border to none when input is focused
|
|
19
|
+
},
|
|
20
|
+
}));
|
|
21
|
+
|
|
22
|
+
export { FormTextFieldComponent };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps } from "../../../
|
|
1
|
+
import { FormRenderProps } from "../../../lib/Interface/FormInterface";
|
|
2
2
|
declare const HelperText: (props: FormRenderProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default HelperText;
|
|
4
4
|
//# sourceMappingURL=HelperText.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelperText.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/HelperText/HelperText.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"HelperText.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/HelperText/HelperText.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,QAAA,MAAM,UAAU,GAAI,OAAO,eAAe,4CAazC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
const HelperText = (props) => {
|
|
4
|
+
return props?.item?.helperText ? (jsx("span", { style: {
|
|
5
|
+
fontSize: "11px",
|
|
6
|
+
color: "#3651d3",
|
|
7
|
+
}, children: props?.item?.helperText })) : (jsx(Fragment, {}));
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { HelperText as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from "../../../
|
|
1
|
+
import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
|
|
2
2
|
declare const PasswordField: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordField.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/PasswordField/PasswordField.tsx"],"names":[],"mappings":"AAKA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"PasswordField.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/PasswordField/PasswordField.tsx"],"names":[],"mappings":"AAKA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,sCAAsC,CAAC;AAE9C,QAAA,MAAM,aAAa,GAAI,qBAGpB;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB,4CAwFA,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { Visibility, VisibilityOff } from '@mui/icons-material';
|
|
3
|
+
import { Box, FormControl, TextField, IconButton } from '@mui/material';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { Controller } from 'react-hook-form';
|
|
6
|
+
import { renderLabel } from '../../../lib/Constants/FormConstants.js';
|
|
7
|
+
import FormBottomField from '../FormBottomField/FormBottomField.js';
|
|
8
|
+
|
|
9
|
+
const PasswordField = ({ props, variant, }) => {
|
|
10
|
+
const [showPassword, setShowPassword] = useState(false);
|
|
11
|
+
const handleTogglePasswordVisibility = () => {
|
|
12
|
+
setShowPassword((prevShowPassword) => !prevShowPassword);
|
|
13
|
+
};
|
|
14
|
+
const label = variant !== "standard"
|
|
15
|
+
? `${props.item.label}${props.item.required ? " *" : ""}`
|
|
16
|
+
: "";
|
|
17
|
+
const isError = !!props.errors?.[props.item.name];
|
|
18
|
+
const isShowBorderError = isError && props.fieldError;
|
|
19
|
+
return (jsx(Box, { position: "relative", children: jsxs(FormControl, { fullWidth: true, children: [" ", jsx(Controller, { control: props.control, name: props.item.name, render: ({ field }) => (jsxs(Fragment, { children: [jsxs(Box, { sx: { position: "relative" }, children: [" ", renderLabel(variant, props), jsx(TextField, { size: "small", error: isShowBorderError, type: showPassword ? "text" : "password", autoComplete: props.item?.InputProps?.autoComplete || "off", placeholder: props.item.placeholder || "", ...field, label: label, sx: {
|
|
20
|
+
width: "100%",
|
|
21
|
+
"& .css-kichxs-MuiFormLabel-root-MuiInputLabel-root,.css-1holvmy": {
|
|
22
|
+
top: "-8px",
|
|
23
|
+
},
|
|
24
|
+
}, inputProps: {
|
|
25
|
+
maxLength: props.item.maxLength || 100,
|
|
26
|
+
onInput: (e) => {
|
|
27
|
+
props.item.onInputProps && props.item.onInputProps(e);
|
|
28
|
+
},
|
|
29
|
+
onPaste: (e) => {
|
|
30
|
+
if (props.item?.doNotAllowPaste) {
|
|
31
|
+
e.preventDefault();
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
}, value: field.value || null, disabled: props.item.disable }), jsx(IconButton, { sx: {
|
|
35
|
+
position: "absolute",
|
|
36
|
+
right: "14px",
|
|
37
|
+
top: variant === "standard" ? "70%" : "50%",
|
|
38
|
+
transform: "translateY(-50%)",
|
|
39
|
+
width: "25px",
|
|
40
|
+
}, "aria-label": "toggle password visibility", onClick: handleTogglePasswordVisibility, edge: "end", children: showPassword ? (jsx(Visibility, { sx: {
|
|
41
|
+
fontSize: "12px",
|
|
42
|
+
position: "absolute",
|
|
43
|
+
} })) : (jsx(VisibilityOff, { sx: {
|
|
44
|
+
fontSize: "12px",
|
|
45
|
+
position: "absolute",
|
|
46
|
+
} })) })] }), jsx(FormBottomField, { ...props })] })) })] }) }, props.item.name));
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export { PasswordField as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps } from "../../../
|
|
1
|
+
import { FormRenderProps } from "../../../lib/Interface/FormInterface";
|
|
2
2
|
declare const RichTextEditor: ({ props }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RichTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAGvE,QAAA,MAAM,cAAc,GAAI,WAAW;IAAE,KAAK,EAAE,eAAe,CAAA;CAAE,4CAoG5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef, useState, useEffect } from 'react';
|
|
3
|
+
import JoditEditor from 'jodit-react';
|
|
4
|
+
import { Jodit } from 'jodit';
|
|
5
|
+
|
|
6
|
+
const RichTextEditor = ({ props }) => {
|
|
7
|
+
const editor = useRef(null);
|
|
8
|
+
const [content, setContent] = useState("");
|
|
9
|
+
const value = props.getValues(props.item.name);
|
|
10
|
+
const config = {
|
|
11
|
+
readonly: false,
|
|
12
|
+
placeholder: props.item.placeholder || "Start typing...",
|
|
13
|
+
statusbar: false,
|
|
14
|
+
removeButtons: props.item.removeButtons,
|
|
15
|
+
style: {
|
|
16
|
+
"font-family": "Arial",
|
|
17
|
+
},
|
|
18
|
+
controls: {
|
|
19
|
+
font: {
|
|
20
|
+
list: {
|
|
21
|
+
Arial: "Arial",
|
|
22
|
+
...props.item?.FontFamily,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
fontsize: {
|
|
26
|
+
list: Jodit.atom(props.item.Fonts || [
|
|
27
|
+
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
|
28
|
+
25, 26, 27, 28, 29, 30,
|
|
29
|
+
]),
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
defaultFont: "Arial",
|
|
33
|
+
defaultFontSize: "11px",
|
|
34
|
+
askBeforePasteFromWord: false,
|
|
35
|
+
askBeforePasteHTML: false,
|
|
36
|
+
hotkeys: {
|
|
37
|
+
redo: "ctrl+z",
|
|
38
|
+
undo: "ctrl+y,ctrl+shift+z",
|
|
39
|
+
indent: "ctrl+]",
|
|
40
|
+
outdent: "ctrl+[",
|
|
41
|
+
bold: "ctrl+b",
|
|
42
|
+
italic: "ctrl+i",
|
|
43
|
+
removeFormat: "ctrl+shift+m",
|
|
44
|
+
insertOrderedList: "ctrl+shift+7",
|
|
45
|
+
insertUnorderedList: "ctrl+shift+8",
|
|
46
|
+
openSearchDialog: "ctrl+f",
|
|
47
|
+
openReplaceDialog: "ctrl+r",
|
|
48
|
+
},
|
|
49
|
+
events: {
|
|
50
|
+
processPaste: (_event, html) => {
|
|
51
|
+
const instance = editor.current;
|
|
52
|
+
if (instance?.editor) {
|
|
53
|
+
const joditEditor = instance.editor;
|
|
54
|
+
joditEditor.selection.insertHTML(html);
|
|
55
|
+
joditEditor.tempContent = joditEditor.getHTML();
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
afterPaste: () => {
|
|
59
|
+
const instance = editor.current;
|
|
60
|
+
if (instance?.editor) {
|
|
61
|
+
const joditEditor = instance.editor;
|
|
62
|
+
const el = document.createElement("div");
|
|
63
|
+
el.innerHTML = joditEditor.tempContent
|
|
64
|
+
? joditEditor.tempContent
|
|
65
|
+
: joditEditor.getHTML();
|
|
66
|
+
joditEditor.setHTML(el.innerHTML);
|
|
67
|
+
joditEditor.tempContent = null;
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
...props.item.sx,
|
|
72
|
+
};
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
setContent(value);
|
|
75
|
+
}, [value]);
|
|
76
|
+
const handleBlur = (newContent) => {
|
|
77
|
+
if (newContent === "<p><br></p>") {
|
|
78
|
+
setContent(newContent);
|
|
79
|
+
props.setValue(props.item.name, "");
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
setContent(newContent);
|
|
83
|
+
props.setValue(props.item.name, newContent);
|
|
84
|
+
}
|
|
85
|
+
props.item.onBlurFn && props.item.onBlurFn(newContent);
|
|
86
|
+
};
|
|
87
|
+
const handleChange = (newContent) => {
|
|
88
|
+
props.item.onChangeFn && props.item.onChangeFn(newContent);
|
|
89
|
+
};
|
|
90
|
+
return (jsx(JoditEditor, { ref: editor, value: content, config: config,
|
|
91
|
+
// tabIndex={1 as IJoditEditorProps["tabIndex"]}
|
|
92
|
+
onBlur: handleBlur, onChange: handleChange }));
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export { RichTextEditor as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from "../../../
|
|
1
|
+
import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
|
|
2
2
|
declare const RichTextEditorWrapper: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextEditorWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/RichTextEditor/RichTextEditorWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"RichTextEditorWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/RichTextEditor/RichTextEditorWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,sCAAsC,CAAC;AAI9C,QAAA,MAAM,qBAAqB,GAAI,qBAG5B;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB,4CAeA,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { renderLabel } from '../../../lib/Constants/FormConstants.js';
|
|
4
|
+
import FormBottomField from '../FormBottomField/FormBottomField.js';
|
|
5
|
+
import RichTextEditor from './RichTextEditor.js';
|
|
6
|
+
|
|
7
|
+
const RichTextEditorWrapper = ({ props, variant, }) => {
|
|
8
|
+
return (jsx(Controller, { control: props.control, name: props.item.name, render: () => (jsxs(Fragment, { children: [renderLabel(variant, props), jsx(RichTextEditor, { props: props }), jsx(FormBottomField, { ...props })] })) }, props.item.name));
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { RichTextEditorWrapper as default };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import JoditEditor from 'jodit-react';
|
|
2
|
+
export { default } from 'jodit-react';
|
|
3
|
+
export { Jodit } from 'jodit';
|
|
4
|
+
|
|
5
|
+
// import { Jodit } from 'jodit/esm/index';
|
|
6
|
+
// import * as React from 'react';
|
|
7
|
+
// type DeepPartial<T> = T extends object
|
|
8
|
+
// ? {
|
|
9
|
+
// [P in keyof T]?: DeepPartial<T[P]>;
|
|
10
|
+
// }
|
|
11
|
+
// : T;
|
|
12
|
+
// export interface IJoditEditorProps {
|
|
13
|
+
// value: string;
|
|
14
|
+
// className?: string;
|
|
15
|
+
// config?: DeepPartial<Jodit['options']>;
|
|
16
|
+
// tabIndex?: DeepPartial<Jodit['tabIndex']>;
|
|
17
|
+
// // eslint-disable-next-line no-unused-vars
|
|
18
|
+
// onChange?: (newValue: string) => void;
|
|
19
|
+
// // eslint-disable-next-line no-unused-vars
|
|
20
|
+
// onBlur?: (newValue: string) => void;
|
|
21
|
+
// }
|
|
22
|
+
// declare const JoditEditor: React.ForwardRefExoticComponent<
|
|
23
|
+
// React.PropsWithoutRef<IJoditEditorProps> & React.RefAttributes<Jodit>
|
|
24
|
+
// >;
|
|
25
|
+
// export default JoditEditor;
|
|
26
|
+
// export { Jodit };
|
|
27
|
+
// Import the runtime React component
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from "../../../
|
|
1
|
+
import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
|
|
2
2
|
export default function MultiSelectV1({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelectv1.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/Select/MultiSelectv1.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"MultiSelectv1.d.ts","sourceRoot":"","sources":["../../../../src/components/FormComponents/Select/MultiSelectv1.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,eAAe,EACf,YAAY,EACb,MAAM,sCAAsC,CAAC;AA+B9C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,KAAK,EACL,OAAO,GACR,EAAE;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB,2CAqOA"}
|