tp-react-elements-dev 1.12.24 → 1.12.25
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/README.md +196 -167
- package/dist/assets/icons/flaticon_hvc.css +71 -70
- package/dist/assets/icons/flaticon_hvc.scss +126 -124
- package/dist/auth/authContext.d.ts +19 -0
- package/dist/auth/authContext.esm.js +26 -0
- package/dist/components/Button/Button.d.ts +7 -0
- package/dist/components/Button/Button.esm.js +15 -0
- package/dist/components/Button/index.d.ts +1 -0
- package/dist/components/Button/index.esm.js +1 -0
- package/dist/components/CheckBox/index.d.ts +1 -0
- package/dist/components/CheckBox/index.esm.js +1 -0
- package/dist/components/CheckBoxGroup/index.d.ts +1 -0
- package/dist/components/CheckBoxGroup/index.esm.js +1 -0
- package/dist/components/DatePicker/index.d.ts +4 -0
- package/dist/components/DatePicker/index.esm.js +4 -0
- package/dist/components/Delete/index.d.ts +1 -0
- package/dist/components/Delete/index.esm.js +1 -0
- package/dist/components/DeleteComponent/DeleteField.d.ts +0 -1
- package/dist/components/DeleteComponent/{DeleteField.js → DeleteField.esm.js} +6 -6
- package/dist/components/DeleteComponent/index.d.ts +1 -0
- package/dist/components/DeleteComponent/index.esm.js +1 -0
- package/dist/components/Feedback/index.d.ts +5 -0
- package/dist/components/Feedback/index.esm.js +7 -0
- package/dist/components/FileUpload/index.d.ts +2 -0
- package/dist/components/FileUpload/index.esm.js +2 -0
- package/dist/components/Form/Form.styles.d.ts +8 -26
- package/dist/components/Form/Form.styles.esm.js +111 -0
- package/dist/components/Form/FormActiveSwitch.d.ts +1 -2
- package/dist/components/Form/FormActiveSwitch.esm.js +11 -0
- package/dist/components/Form/FormConstants.d.ts +2 -3
- package/dist/components/Form/{FormConstants.js → FormConstants.esm.js} +89 -103
- package/dist/components/Form/FormContainer.d.ts +2 -3
- package/dist/components/Form/FormContainer.esm.js +3 -0
- package/dist/components/Form/FormRender.d.ts +11 -4
- package/dist/components/Form/FormRender.esm.js +130 -0
- package/dist/components/Form/FormRenderConstants.d.ts +0 -1
- package/dist/components/Form/FormRenderWrapper.d.ts +37 -5
- package/dist/components/Form/FormRenderWrapper.esm.js +33 -0
- package/dist/components/Form/index.d.ts +6 -0
- package/dist/components/Form/index.esm.js +5 -0
- package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.d.ts +1 -2
- package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.esm.js +72 -0
- package/dist/components/FormComponents/DatePicker/MonthPicker.d.ts +0 -1
- package/dist/components/FormComponents/DatePicker/{MonthPicker.js → MonthPicker.esm.js} +3 -3
- package/dist/components/FormComponents/DatePicker/Monthpickerrender.d.ts +1 -2
- package/dist/components/FormComponents/DatePicker/Monthpickerrender.esm.js +70 -0
- package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.d.ts +1 -2
- package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.esm.js +71 -0
- package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.d.ts +1 -2
- package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.esm.js +85 -0
- package/dist/components/FormComponents/FormBottomField/FormBottomField.d.ts +15 -2
- package/dist/components/FormComponents/FormBottomField/FormBottomField.esm.js +22 -0
- package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts +20 -2
- package/dist/components/FormComponents/FormCheckBox/FormCheckBox.esm.js +32 -0
- package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.d.ts +20 -2
- package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.esm.js +42 -0
- package/dist/components/FormComponents/FormErrorField/FormErrorField.d.ts +14 -2
- package/dist/components/FormComponents/FormErrorField/FormErrorField.esm.js +21 -0
- package/dist/components/FormComponents/FormNumberField/FormNumberField.d.ts +40 -3
- package/dist/components/FormComponents/FormNumberField/FormNumberField.esm.js +102 -0
- package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.d.ts +1 -2
- package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.esm.js +50 -0
- package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.d.ts +21 -3
- package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.esm.js +44 -0
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.d.ts +20 -2
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.esm.js +65 -0
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.d.ts +1 -4
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.esm.js +35 -0
- package/dist/components/FormComponents/FormTextField/FormTextField.d.ts +39 -3
- package/dist/components/FormComponents/FormTextField/FormTextField.esm.js +111 -0
- package/dist/components/FormComponents/FormTextField/FormTextField.styles.d.ts +10 -4
- package/dist/components/FormComponents/FormTextField/FormTextField.styles.esm.js +27 -0
- package/dist/components/FormComponents/HelperText/HelperText.d.ts +14 -2
- package/dist/components/FormComponents/HelperText/HelperText.esm.js +23 -0
- package/dist/components/FormComponents/PasswordField/PasswordField.d.ts +21 -3
- package/dist/components/FormComponents/PasswordField/PasswordField.esm.js +91 -0
- package/dist/components/FormComponents/RichTextEditor/RichTextEditor.d.ts +1 -2
- package/dist/components/FormComponents/RichTextEditor/{RichTextEditor.js → RichTextEditor.esm.js} +50 -31
- package/dist/components/FormComponents/RichTextEditor/RichTextEditorWrapper.d.ts +1 -2
- package/dist/components/FormComponents/RichTextEditor/{RichTextEditorWrapper.js → RichTextEditorWrapper.esm.js} +4 -3
- package/dist/components/FormComponents/RichTextEditor/jodit.index.d.ts +5 -10
- package/dist/components/FormComponents/RichTextEditor/jodit.index.esm.js +23 -0
- package/dist/components/FormComponents/Select/MultiSelect.d.ts +0 -1
- package/dist/components/FormComponents/Select/MultiSelectv1.d.ts +1 -2
- package/dist/components/FormComponents/Select/{MultiSelectv1.js → MultiSelectv1.esm.js} +54 -61
- package/dist/components/FormComponents/Select/SingleSelect.d.ts +2 -3
- package/dist/components/FormComponents/Select/SingleSelect.esm.js +61 -0
- package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.d.ts +1 -2
- package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.esm.js +32 -0
- package/dist/components/FormComponents/Select/SingleSelectSearchApi.d.ts +2 -3
- package/dist/components/FormComponents/Select/{SingleSelectSearchApi.js → SingleSelectSearchApi.esm.js} +2 -6
- package/dist/components/FormComponents/TimePicker/TimePicker.d.ts +1 -2
- package/dist/components/FormComponents/TimePicker/TimePicker.esm.js +70 -0
- package/dist/components/FormComponents/YearPickerField/YearPickerField.d.ts +2 -3
- package/dist/components/FormComponents/YearPickerField/{YearPickerField.js → YearPickerField.esm.js} +2 -6
- package/dist/components/FormComponents/index.d.ts +16 -25
- package/dist/components/FormComponents/{index.js → index.esm.js} +24 -26
- package/dist/components/Global.styles.d.ts +7 -22
- package/dist/components/{Global.styles.js → Global.styles.esm.js} +2 -2
- package/dist/components/ModalField/ConfirmationDialog.d.ts +2 -11
- package/dist/components/ModalField/ConfirmationDialog.esm.js +46 -0
- package/dist/components/ModalField/ModalField.d.ts +2 -3
- package/dist/components/ModalField/{ModalField.js → ModalField.esm.js} +10 -10
- package/dist/components/ModalField/index.d.ts +2 -0
- package/dist/components/ModalField/index.esm.js +2 -0
- package/dist/components/NumberField/index.d.ts +2 -0
- package/dist/components/NumberField/index.esm.js +2 -0
- package/dist/components/PasswordField/index.d.ts +1 -0
- package/dist/components/PasswordField/index.esm.js +1 -0
- package/dist/components/RadioGroup/index.d.ts +1 -0
- package/dist/components/RadioGroup/index.esm.js +1 -0
- package/dist/components/RichTextEditor/index.d.ts +2 -0
- package/dist/components/RichTextEditor/index.esm.js +2 -0
- package/dist/components/Select/index.d.ts +6 -0
- package/dist/components/Select/index.esm.js +8 -0
- package/dist/components/SelectField/MultiSelectField.d.ts +1 -0
- package/dist/components/SelectField/MultiSelectFieldComponent.d.ts +0 -1
- package/dist/components/SelectField/{MultiSelectFieldComponent.js → MultiSelectFieldComponent.esm.js} +36 -45
- package/dist/components/SelectField/index.d.ts +2 -0
- package/dist/components/SelectField/index.esm.js +1 -0
- package/dist/components/SessionTimeOut/SessionTimeOut.d.ts +1 -3
- package/dist/components/SessionTimeOut/{SessionTimeOut.js → SessionTimeOut.esm.js} +6 -7
- package/dist/components/SessionTimeOut/index.d.ts +1 -0
- package/dist/components/SessionTimeOut/index.esm.js +1 -0
- package/dist/components/TextAreaField/index.d.ts +1 -0
- package/dist/components/TextAreaField/index.esm.js +1 -0
- package/dist/components/TextField/index.d.ts +1 -0
- package/dist/components/TextField/index.esm.js +1 -0
- package/dist/components/TimePicker/index.d.ts +1 -0
- package/dist/components/TimePicker/index.esm.js +1 -0
- package/dist/components/TimePickerField/TimePickerField.d.ts +0 -1
- package/dist/components/TimePickerField/TimePickerField.esm.js +11 -0
- package/dist/components/TimePickerField/index.d.ts +1 -0
- package/dist/components/TimePickerField/index.esm.js +1 -0
- package/dist/index.d.ts +14 -9
- package/dist/index.esm.css +1 -0
- package/dist/index.esm.js +14 -0
- package/dist/theme/index.d.ts +0 -2
- package/dist/theme/{index.js → index.esm.js} +4 -7
- package/dist/types/index.d.ts +3 -4
- package/dist/utils/Constants/FormConstants.d.ts +40 -0
- package/dist/utils/Constants/FormConstants.esm.js +78 -0
- package/dist/{lib → utils}/Constants/FunctionConstants.d.ts +6 -7
- package/dist/{lib/Constants/FunctionConstants.js → utils/Constants/FunctionConstants.esm.js} +46 -54
- package/dist/utils/Constants/FunctionConstants.test.d.ts +1 -0
- package/dist/utils/Constants/crypto-js.d.ts +29 -0
- package/dist/utils/Constants/date-pickers.d.ts +29 -0
- package/dist/utils/Constants/date-pickers.esm.js +33 -0
- package/dist/utils/Constants/file-saver.d.ts +14 -0
- package/dist/utils/Constants/file-saver.esm.js +22 -0
- package/dist/utils/Constants/index.d.ts +5 -0
- package/dist/utils/Constants/xlsx-js-style.d.ts +22 -0
- package/dist/utils/Constants/xlsx-js-style.esm.js +46 -0
- package/dist/{lib → utils}/Interface/FormInterface.d.ts +11 -8
- package/dist/utils/Interface/MainInterface.d.ts +17 -0
- package/dist/utils/Interface/ModalInterface.d.ts +12 -0
- package/dist/utils/Interface/index.d.ts +3 -0
- package/dist/{lib → utils}/index.d.ts +3 -4
- package/dist/{lib/index.js → utils/index.esm.js} +2 -2
- package/dist/validation/index.d.ts +1 -0
- package/dist/validation/index.esm.js +1 -0
- package/dist/validation/schemas.d.ts +65 -6
- package/dist/validation/schemas.esm.js +111 -0
- package/package.json +62 -27
- package/scripts/install-deps.js +103 -46
- package/dist/assets/types.d.ts +0 -62
- package/dist/components/DeleteComponent/DeleteField.d.ts.map +0 -1
- package/dist/components/Form/Form.styles.d.ts.map +0 -1
- package/dist/components/Form/Form.styles.js +0 -111
- package/dist/components/Form/FormActiveSwitch.d.ts.map +0 -1
- package/dist/components/Form/FormActiveSwitch.js +0 -27
- package/dist/components/Form/FormConstants.d.ts.map +0 -1
- package/dist/components/Form/FormContainer.d.ts.map +0 -1
- package/dist/components/Form/FormRender.d.ts.map +0 -1
- package/dist/components/Form/FormRender.js +0 -96
- package/dist/components/Form/FormRenderConstants.d.ts.map +0 -1
- package/dist/components/Form/FormRenderWrapper.d.ts.map +0 -1
- package/dist/components/Form/FormRenderWrapper.js +0 -13
- package/dist/components/FormComponents/DatePicker/DateRangePicker.d.ts +0 -7
- package/dist/components/FormComponents/DatePicker/DateRangePicker.d.ts.map +0 -1
- package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.d.ts.map +0 -1
- package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.js +0 -58
- package/dist/components/FormComponents/DatePicker/MonthPicker.d.ts.map +0 -1
- package/dist/components/FormComponents/DatePicker/Monthpickerrender.d.ts.map +0 -1
- package/dist/components/FormComponents/DatePicker/Monthpickerrender.js +0 -61
- package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.d.ts.map +0 -1
- package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.js +0 -86
- package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.d.ts.map +0 -1
- package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.js +0 -96
- package/dist/components/FormComponents/FormBottomField/FormBottomField.d.ts.map +0 -1
- package/dist/components/FormComponents/FormBottomField/FormBottomField.js +0 -9
- package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts.map +0 -1
- package/dist/components/FormComponents/FormCheckBox/FormCheckBox.js +0 -10
- package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.d.ts.map +0 -1
- package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.js +0 -23
- package/dist/components/FormComponents/FormErrorField/FormErrorField.d.ts.map +0 -1
- package/dist/components/FormComponents/FormErrorField/FormErrorField.js +0 -9
- package/dist/components/FormComponents/FormNumberField/FormNumberField.d.ts.map +0 -1
- package/dist/components/FormComponents/FormNumberField/FormNumberField.js +0 -49
- package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.d.ts.map +0 -1
- package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.js +0 -45
- package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.d.ts.map +0 -1
- package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.js +0 -26
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.d.ts.map +0 -1
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.js +0 -31
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.d.ts.map +0 -1
- package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.js +0 -35
- package/dist/components/FormComponents/FormTextField/FormTextField.d.ts.map +0 -1
- package/dist/components/FormComponents/FormTextField/FormTextField.js +0 -46
- package/dist/components/FormComponents/FormTextField/FormTextField.styles.d.ts.map +0 -1
- package/dist/components/FormComponents/FormTextField/FormTextField.styles.js +0 -22
- package/dist/components/FormComponents/HelperText/HelperText.d.ts.map +0 -1
- package/dist/components/FormComponents/HelperText/HelperText.js +0 -10
- package/dist/components/FormComponents/PasswordField/PasswordField.d.ts.map +0 -1
- package/dist/components/FormComponents/PasswordField/PasswordField.js +0 -49
- package/dist/components/FormComponents/RichTextEditor/RichTextEditor.d.ts.map +0 -1
- package/dist/components/FormComponents/RichTextEditor/RichTextEditorWrapper.d.ts.map +0 -1
- package/dist/components/FormComponents/RichTextEditor/jodit.index.d.ts.map +0 -1
- package/dist/components/FormComponents/RichTextEditor/jodit.index.js +0 -27
- package/dist/components/FormComponents/Select/MultiSelect.d.ts.map +0 -1
- package/dist/components/FormComponents/Select/MultiSelectv1.d.ts.map +0 -1
- package/dist/components/FormComponents/Select/SingleSelect.d.ts.map +0 -1
- package/dist/components/FormComponents/Select/SingleSelect.js +0 -51
- package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.d.ts.map +0 -1
- package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.js +0 -27
- package/dist/components/FormComponents/Select/SingleSelectSearchApi.d.ts.map +0 -1
- package/dist/components/FormComponents/TimePicker/TimePicker.d.ts.map +0 -1
- package/dist/components/FormComponents/TimePicker/TimePicker.js +0 -55
- package/dist/components/FormComponents/YearPickerField/YearPickerField.d.ts.map +0 -1
- package/dist/components/FormComponents/index.d.ts.map +0 -1
- package/dist/components/Global.styles.d.ts.map +0 -1
- package/dist/components/ModalField/ConfirmationDialog.d.ts.map +0 -1
- package/dist/components/ModalField/ConfirmationDialog.js +0 -48
- package/dist/components/ModalField/ModalField.d.ts.map +0 -1
- package/dist/components/SelectField/MultiSelectFieldComponent.d.ts.map +0 -1
- package/dist/components/SessionTimeOut/SessionTimeOut.d.ts.map +0 -1
- package/dist/components/TimePickerField/TimePickerField.d.ts.map +0 -1
- package/dist/components/index.d.ts +0 -8
- package/dist/components/index.d.ts.map +0 -1
- package/dist/index.css +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -16
- package/dist/lib/Constants/FormConstants.d.ts +0 -11
- package/dist/lib/Constants/FormConstants.d.ts.map +0 -1
- package/dist/lib/Constants/FormConstants.js +0 -54
- package/dist/lib/Constants/FunctionConstants.d.ts.map +0 -1
- package/dist/lib/Interface/FormInterface.d.ts.map +0 -1
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/validation/schemas.d.ts.map +0 -1
- package/dist/validation/schemas.js +0 -60
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as FormActiveSwitch } from './FormActiveSwitch.esm.js';
|
|
2
|
+
export { default as useFormValidatingContext } from './FormConstants.esm.js';
|
|
3
|
+
export { default as FormContainer } from './FormContainer.esm.js';
|
|
4
|
+
export { default as RenderForm } from './FormRenderWrapper.esm.js';
|
|
5
|
+
export { default as FormRender } from './FormRender.esm.js';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
2
|
declare const DatepickerWrapperV2: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default DatepickerWrapperV2;
|
|
7
|
-
//# sourceMappingURL=DatepickerWrapperV2.d.ts.map
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef, useState, useEffect } from 'react';
|
|
3
|
+
import { getDatePicker } from '../../../utils/Constants/date-pickers.esm.js';
|
|
4
|
+
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
|
|
5
|
+
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
6
|
+
import dayjs from 'dayjs';
|
|
7
|
+
import { Controller } from 'react-hook-form';
|
|
8
|
+
import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
|
|
9
|
+
import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
|
|
10
|
+
|
|
11
|
+
const DatepickerWrapperV2 = ({ props, variant, }) => {
|
|
12
|
+
const inputTextRef = useRef(null);
|
|
13
|
+
const [open, setOpen] = useState(false);
|
|
14
|
+
const [DatePicker, setDatePicker] = useState(null);
|
|
15
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const loadComponents = async () => {
|
|
18
|
+
setIsLoading(true);
|
|
19
|
+
const [datePicker] = await Promise.all([getDatePicker()]);
|
|
20
|
+
setDatePicker(datePicker);
|
|
21
|
+
setIsLoading(false);
|
|
22
|
+
};
|
|
23
|
+
loadComponents();
|
|
24
|
+
}, []);
|
|
25
|
+
const handleToggle = () => {
|
|
26
|
+
if (!open) {
|
|
27
|
+
inputTextRef.current?.blur();
|
|
28
|
+
}
|
|
29
|
+
setOpen(!open);
|
|
30
|
+
};
|
|
31
|
+
const isError = !!props.errors?.[props.item.name];
|
|
32
|
+
const isShowBorderError = isError;
|
|
33
|
+
if (isLoading) {
|
|
34
|
+
return jsx("div", { style: { minHeight: '36px' }, children: "Loading..." });
|
|
35
|
+
}
|
|
36
|
+
return (jsx(Controller, { control: props.control, name: props.item.name, render: ({ field }) => (jsxs(Fragment, { children: [DatePicker && (jsxs(LocalizationProvider, { dateAdapter: AdapterDayjs, children: [renderLabel(variant, props), jsx(DatePicker, { views: ['month', 'year', 'day'], label: variant !== 'standard'
|
|
37
|
+
? `${props.item.label}${props.item.required ? ' *' : ''}`
|
|
38
|
+
: '', value: field.value
|
|
39
|
+
? typeof field.value === 'string'
|
|
40
|
+
? dayjs(field.value, 'DD/MM/YYYY')
|
|
41
|
+
: dayjs(field.value)
|
|
42
|
+
: null, className: 'read-only', format: 'DD/MM/YYYY', open: open, onOpen: handleToggle, onClose: handleToggle, minDate: props?.item?.minDate ? dayjs(props?.item?.minDate, 'DD/MM/YYYY') : undefined, maxDate: props?.item?.maxDate ? dayjs(props?.item?.maxDate, 'DD/MM/YYYY') : undefined, disabled: props.item.disable || false, onChange: (date) => {
|
|
43
|
+
field.onChange(dayjs(date).format('DD/MM/YYYY'));
|
|
44
|
+
props?.item?.onChangeFn &&
|
|
45
|
+
props?.item?.onChangeFn(dayjs(date).format('DD/MM/YYYY'));
|
|
46
|
+
}, slotProps: {
|
|
47
|
+
textField: {
|
|
48
|
+
onClick: () => handleToggle(),
|
|
49
|
+
inputRef: inputTextRef,
|
|
50
|
+
onBlur: (e) => {
|
|
51
|
+
props?.item?.onBlurFn && props?.item?.onBlurFn(e);
|
|
52
|
+
},
|
|
53
|
+
inputProps: {
|
|
54
|
+
input: { cursor: 'pointer' },
|
|
55
|
+
'aria-labelledby': `${props.item.name}-label`,
|
|
56
|
+
'aria-describedby': `${props.item.name}-helper ${props.item.name}-error`,
|
|
57
|
+
'aria-required': props.item.required ? true : undefined,
|
|
58
|
+
},
|
|
59
|
+
error: isShowBorderError,
|
|
60
|
+
sx: {
|
|
61
|
+
'& .MuiFormLabel-root': {
|
|
62
|
+
top: -10,
|
|
63
|
+
},
|
|
64
|
+
'& .MuiInputLabel-shrink': {
|
|
65
|
+
top: 0,
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
} })] })), jsx(FormBottomField, { ...props })] })) }, props.item.name));
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export { DatepickerWrapperV2 as default };
|
|
@@ -32,16 +32,16 @@ const MonthPicker = ({ props }) => {
|
|
|
32
32
|
}, slotProps: {
|
|
33
33
|
textField: {
|
|
34
34
|
sx: {
|
|
35
|
-
|
|
35
|
+
'& .MuiFormLabel-root': {
|
|
36
36
|
top: -10,
|
|
37
37
|
},
|
|
38
|
-
|
|
38
|
+
'& .MuiInputLabel-shrink': {
|
|
39
39
|
top: 0,
|
|
40
40
|
},
|
|
41
41
|
},
|
|
42
42
|
},
|
|
43
43
|
} }) }), jsx(FormGroup, { children: Array.from({ length: 12 }).map((_, index) => (jsx(FormControlLabel, { control: jsx(Checkbox, { checked: selectedMonths.includes(index), onChange: () => handleMonthChange(new Date(2000, index, 1)), color: "primary" }), label: new Date(2000, index, 1).toLocaleDateString(undefined, {
|
|
44
|
-
month:
|
|
44
|
+
month: 'short',
|
|
45
45
|
}) }, index))) })] })) }));
|
|
46
46
|
};
|
|
47
47
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
2
|
declare const Monthpickerrender: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default Monthpickerrender;
|
|
7
|
-
//# sourceMappingURL=Monthpickerrender.d.ts.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef, useState, useEffect } from 'react';
|
|
3
|
+
import { getDatePicker } from '../../../utils/Constants/date-pickers.esm.js';
|
|
4
|
+
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
|
|
5
|
+
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
6
|
+
import dayjs from 'dayjs';
|
|
7
|
+
import { Controller } from 'react-hook-form';
|
|
8
|
+
import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
|
|
9
|
+
import { renderLabel, formatDateMonthAndYear } from '../../../utils/Constants/FormConstants.esm.js';
|
|
10
|
+
|
|
11
|
+
const Monthpickerrender = ({ props, variant, }) => {
|
|
12
|
+
const ref = useRef(null);
|
|
13
|
+
const [open, setOpen] = useState(false);
|
|
14
|
+
const [DatePicker, setDatePicker] = useState(null);
|
|
15
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const loadComponents = async () => {
|
|
18
|
+
setIsLoading(true);
|
|
19
|
+
const [datePicker] = await Promise.all([getDatePicker()]);
|
|
20
|
+
setDatePicker(datePicker);
|
|
21
|
+
setIsLoading(false);
|
|
22
|
+
};
|
|
23
|
+
loadComponents();
|
|
24
|
+
}, []);
|
|
25
|
+
const handleToggle = () => {
|
|
26
|
+
if (!open) {
|
|
27
|
+
ref.current?.blur();
|
|
28
|
+
}
|
|
29
|
+
setOpen(!open);
|
|
30
|
+
};
|
|
31
|
+
const isError = !!props.errors?.[props.item.name];
|
|
32
|
+
const isShowBorderError = isError;
|
|
33
|
+
if (isLoading) {
|
|
34
|
+
return jsx("div", { style: { minHeight: '36px' }, children: "Loading..." });
|
|
35
|
+
}
|
|
36
|
+
return (jsx(Fragment, { children: DatePicker && (jsx(Controller, { control: props.control, name: props.item.name, render: ({ field }) => (jsxs(Fragment, { children: [jsxs(LocalizationProvider, { dateAdapter: AdapterDayjs, children: [renderLabel(variant, props), jsx(DatePicker, { ref: ref, label: variant !== 'standard' &&
|
|
37
|
+
`${props.item.label}${props.item.required ? ' *' : ''}`, views: ['month', 'year'], disabled: props.item.disable, value: field.value ? dayjs(formatDateMonthAndYear(field.value || null)) : null, slotProps: {
|
|
38
|
+
textField: {
|
|
39
|
+
onClick: () => handleToggle(),
|
|
40
|
+
inputRef: ref,
|
|
41
|
+
error: isShowBorderError,
|
|
42
|
+
},
|
|
43
|
+
}, disableOpenPicker: props.item.disable, open: open, onOpen: handleToggle, onClose: handleToggle, defaultValue: field.value, onChange: (date) => {
|
|
44
|
+
const formatted = dayjs(date).format('MM/YYYY');
|
|
45
|
+
field.onChange(formatted);
|
|
46
|
+
props.setValue(props.item.name, formatted);
|
|
47
|
+
}, sx: {
|
|
48
|
+
'& .css-1holvmy,.css-kichxs-MuiFormLabel-root-MuiInputLabel-root': {
|
|
49
|
+
top: '-10px',
|
|
50
|
+
},
|
|
51
|
+
'& input': {
|
|
52
|
+
paddingRight: '0px !important',
|
|
53
|
+
},
|
|
54
|
+
'& button': {
|
|
55
|
+
paddingLeft: '0px !important',
|
|
56
|
+
paddingRight: '0px !important',
|
|
57
|
+
},
|
|
58
|
+
'& .MuiFormLabel-root': {
|
|
59
|
+
top: -10,
|
|
60
|
+
},
|
|
61
|
+
'& .MuiInputLabel-shrink': {
|
|
62
|
+
top: 0,
|
|
63
|
+
},
|
|
64
|
+
}, minDate: props.item.minDate ? dayjs(props.item.minDate, 'MM/YYYY') : undefined, maxDate: props.item.maxDate ? dayjs(props.item.maxDate, 'MM/YYYY') : undefined })] }), props?.item?.helperText && (jsxs("span", { style: {
|
|
65
|
+
fontSize: '11px',
|
|
66
|
+
color: '#3651d3',
|
|
67
|
+
}, children: ["(", props?.item?.helperText, ")"] })), jsx(FormBottomField, { ...props })] })) })) }));
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export { Monthpickerrender as default };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
2
|
declare const FormRenderFileUpload: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default FormRenderFileUpload;
|
|
7
|
-
//# sourceMappingURL=FormRenderFileUpload.d.ts.map
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Box, TextField } from '@mui/material';
|
|
3
|
+
import { useRef, useEffect } from 'react';
|
|
4
|
+
import { useWatch } from 'react-hook-form';
|
|
5
|
+
import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
|
|
6
|
+
import 'dayjs';
|
|
7
|
+
import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
|
|
8
|
+
|
|
9
|
+
const FormRenderFileUpload = ({ props, variant, }) => {
|
|
10
|
+
const isError = !!props.errors?.[props.item.name];
|
|
11
|
+
const isShowBorderError = isError;
|
|
12
|
+
const inputRef = useRef(null);
|
|
13
|
+
const watched = useWatch({ control: props.control, name: props.item.name });
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (watched === null || watched === undefined) {
|
|
16
|
+
if (inputRef.current)
|
|
17
|
+
inputRef.current.value = '';
|
|
18
|
+
}
|
|
19
|
+
}, [watched]);
|
|
20
|
+
return (jsxs(Fragment, { children: [jsxs(Box, { paddingLeft: '4px', sx: { ...props.item.sx }, children: [props.item?.label && (jsx(Box, { sx: { fontSize: '10px;' }, children: renderLabel(variant, props, true) })), jsx(TextField, { type: "file", id: props.item.name, error: isShowBorderError, inputRef: inputRef, inputProps: {
|
|
21
|
+
accept: props.item.fileType === 'excel'
|
|
22
|
+
? '.xls, .xlsx'
|
|
23
|
+
: props.item.fileType === 'pdf'
|
|
24
|
+
? '.pdf'
|
|
25
|
+
: props.item.fileType === 'zip'
|
|
26
|
+
? '.zip'
|
|
27
|
+
: props.item.fileType === 'all'
|
|
28
|
+
? '.pdf,.jpg,.jpeg,.png,.xls,.xlsx,.doc,.docx,.zip'
|
|
29
|
+
: '',
|
|
30
|
+
'aria-labelledby': `${props.item.name}-label`,
|
|
31
|
+
'aria-describedby': `${props.item.name}-helper ${props.item.name}-error`,
|
|
32
|
+
'aria-required': props.item.required ? true : undefined,
|
|
33
|
+
}, onChange: (event) => {
|
|
34
|
+
const file = event.target?.files[0];
|
|
35
|
+
const fileName = file ? file.name : null;
|
|
36
|
+
const allowedExtensions = {
|
|
37
|
+
excel: ['xls', 'xlsx'],
|
|
38
|
+
pdf: ['pdf'],
|
|
39
|
+
zip: ['zip'],
|
|
40
|
+
all: ['pdf', 'jpg', 'jpeg', 'png', 'xls', 'xlsx', 'doc', 'docx', 'zip'],
|
|
41
|
+
image: ['jpg', 'jpeg', 'png'],
|
|
42
|
+
};
|
|
43
|
+
const fileExtension = fileName ? fileName.split('.').pop().toLowerCase() : null;
|
|
44
|
+
const validExtensions = props.item.fileType === 'excel'
|
|
45
|
+
? allowedExtensions.excel
|
|
46
|
+
: props.item.fileType === 'pdf'
|
|
47
|
+
? allowedExtensions.pdf
|
|
48
|
+
: allowedExtensions.all;
|
|
49
|
+
if (props.item?.fileType && fileExtension && !validExtensions.includes(fileExtension)) {
|
|
50
|
+
props.item?.handleFileError &&
|
|
51
|
+
props.item?.handleFileError(`Please upload ${allowedExtensions[props.item.fileType].join(', ')} files only`);
|
|
52
|
+
event.target.value = ''; // Clear the file input\
|
|
53
|
+
props.setValue(props.item?.name, null);
|
|
54
|
+
props.setValue(props.item?.name + 'Name', '');
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
else if (event.target.files[0].size > (props.item.filesize || 20000000)) {
|
|
58
|
+
const maxSizeMB = ((props.item.filesize || 20000000) / (1024 * 1024)).toFixed(2);
|
|
59
|
+
props.item?.handleFileError &&
|
|
60
|
+
props.item?.handleFileError(`File size should be less than ${maxSizeMB}MB`);
|
|
61
|
+
event.target.value = ''; // Clear the file input
|
|
62
|
+
props.setValue(props.item?.name, null);
|
|
63
|
+
props.setValue(props.item?.name + 'Name', '');
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
props.setValue(props.item?.name, file);
|
|
67
|
+
props.setValue(props.item?.name + 'Name', fileName);
|
|
68
|
+
}, sx: { width: '100%' } })] }), jsx(FormBottomField, { ...props })] }));
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export { FormRenderFileUpload as default };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
2
|
declare const FormRenderMultiFileUpload: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default FormRenderMultiFileUpload;
|
|
7
|
-
//# sourceMappingURL=FormRenderMultiFileUpload.d.ts.map
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Box, TextField } from '@mui/material';
|
|
3
|
+
import { useRef, useEffect } from 'react';
|
|
4
|
+
import { useWatch } from 'react-hook-form';
|
|
5
|
+
import 'dayjs';
|
|
6
|
+
import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
|
|
7
|
+
import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
|
|
8
|
+
|
|
9
|
+
const FormRenderMultiFileUpload = ({ props, variant, }) => {
|
|
10
|
+
// const getDocument: Document = document;
|
|
11
|
+
const inputRef = useRef(null);
|
|
12
|
+
const watched = useWatch({ control: props.control, name: props.item.name });
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (watched === null || watched === undefined) {
|
|
15
|
+
if (inputRef.current)
|
|
16
|
+
inputRef.current.value = '';
|
|
17
|
+
}
|
|
18
|
+
}, [watched]);
|
|
19
|
+
const isError = !!props.errors?.[props.item.name];
|
|
20
|
+
const isShowBorderError = isError;
|
|
21
|
+
return (jsxs(Fragment, { children: [jsxs(Box, { paddingLeft: '4px', sx: { ...props.item.sx }, children: [props.item?.label && (jsx(Box, { sx: { fontSize: '10px;' }, children: renderLabel(variant, props, true) })), jsx(TextField, { type: "file", id: props.item.name, error: isShowBorderError, inputRef: inputRef, inputProps: {
|
|
22
|
+
multiple: true,
|
|
23
|
+
accept: props.item.fileType === 'excel'
|
|
24
|
+
? '.xls,.xlsx'
|
|
25
|
+
: props.item.fileType === 'pdf'
|
|
26
|
+
? '.pdf'
|
|
27
|
+
: props.item.fileType === 'image'
|
|
28
|
+
? '.jpg,.jpeg,.png'
|
|
29
|
+
: props.item.fileType === 'all'
|
|
30
|
+
? '.pdf,.jpg,.jpeg,.png,.xls,.xlsx,.doc,.docx'
|
|
31
|
+
: '',
|
|
32
|
+
'aria-labelledby': `${props.item.name}-label`,
|
|
33
|
+
'aria-describedby': `${props.item.name}-helper ${props.item.name}-error`,
|
|
34
|
+
'aria-required': props.item.required ? true : undefined,
|
|
35
|
+
}, onChange: (event) => {
|
|
36
|
+
const file = event.target.files;
|
|
37
|
+
const fileName = file && file.length > 0
|
|
38
|
+
? Array.from(file)
|
|
39
|
+
.map((item) => item.name)
|
|
40
|
+
.join(',')
|
|
41
|
+
: null;
|
|
42
|
+
const allowedExtensions = {
|
|
43
|
+
excel: ['xls', 'xlsx'],
|
|
44
|
+
pdf: ['pdf'],
|
|
45
|
+
image: ['jpg', 'jpeg', 'png'],
|
|
46
|
+
all: ['pdf', 'jpg', 'jpeg', 'png', 'xls', 'xlsx', 'doc', 'docx', 'zip'],
|
|
47
|
+
zip: ['zip'],
|
|
48
|
+
};
|
|
49
|
+
let fileExtension = null;
|
|
50
|
+
if (fileName) {
|
|
51
|
+
const ext = fileName.split('.').pop();
|
|
52
|
+
if (ext) {
|
|
53
|
+
fileExtension = ext.toLowerCase();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const validExtensions = props.item.fileType === 'excel'
|
|
57
|
+
? allowedExtensions.excel
|
|
58
|
+
: props.item.fileType === 'pdf'
|
|
59
|
+
? allowedExtensions.pdf
|
|
60
|
+
: props.item.fileType === 'image'
|
|
61
|
+
? allowedExtensions.image
|
|
62
|
+
: allowedExtensions.all;
|
|
63
|
+
if (props.item?.fileType && fileExtension && !validExtensions.includes(fileExtension)) {
|
|
64
|
+
props.item?.handleFileError &&
|
|
65
|
+
props.item?.handleFileError(`Please upload ${allowedExtensions[props.item.fileType].join(', ')} files only`);
|
|
66
|
+
event.target.value = ''; // Clear the file input\
|
|
67
|
+
props.setValue(props.item?.name, null);
|
|
68
|
+
props.setValue(props.item?.name + 'Name', '');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
else if (event.target.files[event.target.files.length - 1].size > 20000000) {
|
|
72
|
+
props.item?.handleFileError &&
|
|
73
|
+
props.item?.handleFileError(`File size should be less than 20MB`);
|
|
74
|
+
event.target.files = null; // Clear the file input
|
|
75
|
+
props.setValue(props.item?.name, null);
|
|
76
|
+
props.setValue(props.item?.name + 'File', []);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const fileArray = Array.from(file);
|
|
80
|
+
props.setValue(props.item?.name, fileName);
|
|
81
|
+
props.setValue(props.item?.name + 'File', fileArray);
|
|
82
|
+
}, sx: { width: '100%' } })] }), jsx(FormBottomField, { ...props })] }));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { FormRenderMultiFileUpload as default };
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
import { FormRenderProps } from
|
|
1
|
+
import { FormRenderProps } from '../../../utils';
|
|
2
|
+
/**
|
|
3
|
+
* FormBottomField Component
|
|
4
|
+
*
|
|
5
|
+
* A utility component that renders helper text and error messages below form fields.
|
|
6
|
+
* This component is used by various form field components to maintain consistent
|
|
7
|
+
* presentation of helper text and validation errors.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @param {FormRenderProps} props - Form rendering properties from parent form
|
|
11
|
+
*/
|
|
2
12
|
declare const FormBottomField: (props: FormRenderProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
/**
|
|
14
|
+
* Export the FormBottomField component for use in form field components
|
|
15
|
+
* This component handles the consistent display of helper text and error messages
|
|
16
|
+
*/
|
|
3
17
|
export default FormBottomField;
|
|
4
|
-
//# sourceMappingURL=FormBottomField.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import FormErrorField from '../FormErrorField/FormErrorField.esm.js';
|
|
3
|
+
import HelperText from '../HelperText/HelperText.esm.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* FormBottomField Component
|
|
7
|
+
*
|
|
8
|
+
* A utility component that renders helper text and error messages below form fields.
|
|
9
|
+
* This component is used by various form field components to maintain consistent
|
|
10
|
+
* presentation of helper text and validation errors.
|
|
11
|
+
*
|
|
12
|
+
* @component
|
|
13
|
+
* @param {FormRenderProps} props - Form rendering properties from parent form
|
|
14
|
+
*/
|
|
15
|
+
const FormBottomField = (props) => {
|
|
16
|
+
/**
|
|
17
|
+
* Renders helper text and error messages in a consistent layout
|
|
18
|
+
*/
|
|
19
|
+
return (jsxs(Fragment, { children: [jsx(HelperText, { ...props }), jsx(FormErrorField, { ...props })] }));
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { FormBottomField as default };
|
|
@@ -1,7 +1,25 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
|
+
/**
|
|
3
|
+
* FormCheckBox Component
|
|
4
|
+
*
|
|
5
|
+
* A checkbox input field component that integrates with react-hook-form for form state management.
|
|
6
|
+
* Renders a standard checkbox with label and validation support.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @param {Object} props - The component props
|
|
10
|
+
* @param {FormRenderProps} props.props - Form rendering properties from parent form
|
|
11
|
+
* @param {VariantProps} props.variant - UI variant style ('standard', 'outlined', etc.)
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // Basic usage in FormRender
|
|
15
|
+
* <FormCheckBox props={formRenderProps} variant="outlined" />
|
|
16
|
+
*/
|
|
2
17
|
declare const FormCheckBox: ({ props, variant: _variant, }: {
|
|
3
18
|
props: FormRenderProps;
|
|
4
19
|
variant: VariantProps;
|
|
5
20
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
/**
|
|
22
|
+
* Export the FormCheckBox component for use in the form renderer
|
|
23
|
+
* This component is used for checkbox input types
|
|
24
|
+
*/
|
|
6
25
|
export default FormCheckBox;
|
|
7
|
-
//# sourceMappingURL=FormCheckBox.d.ts.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { FormControlLabel, Checkbox } from '@mui/material';
|
|
3
|
+
import { Controller } from 'react-hook-form';
|
|
4
|
+
import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* FormCheckBox Component
|
|
8
|
+
*
|
|
9
|
+
* A checkbox input field component that integrates with react-hook-form for form state management.
|
|
10
|
+
* Renders a standard checkbox with label and validation support.
|
|
11
|
+
*
|
|
12
|
+
* @component
|
|
13
|
+
* @param {Object} props - The component props
|
|
14
|
+
* @param {FormRenderProps} props.props - Form rendering properties from parent form
|
|
15
|
+
* @param {VariantProps} props.variant - UI variant style ('standard', 'outlined', etc.)
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Basic usage in FormRender
|
|
19
|
+
* <FormCheckBox props={formRenderProps} variant="outlined" />
|
|
20
|
+
*/
|
|
21
|
+
const FormCheckBox = ({ props, variant: _variant, }) => {
|
|
22
|
+
/**
|
|
23
|
+
* Renders the checkbox component with label and validation support
|
|
24
|
+
*/
|
|
25
|
+
return (jsxs(Fragment, { children: [jsx(Controller, { control: props.control, name: props.item.name, render: ({ field }) => (jsx(FormControlLabel, { control: jsx(Checkbox, { ...field, checked: !!field.value, onChange: (e) => field.onChange(e.target.checked), sx: { width: '24px', height: '24px' }, inputProps: {
|
|
26
|
+
'aria-labelledby': `${props.item.name}-label`,
|
|
27
|
+
'aria-describedby': `${props.item.name}-helper ${props.item.name}-error`,
|
|
28
|
+
'aria-required': props.item.required ? true : undefined,
|
|
29
|
+
} }), label: jsxs("span", { id: `${props.item.name}-label`, style: { fontSize: '12px' }, children: [props.item.label, ' ', props.item.required && (jsx("span", { "aria-hidden": "true", style: { color: 'var(--mui-palette-error-main, #B3261E)' }, children: "*" }))] }), sx: { ...props.item.sx } })) }), jsx(FormBottomField, { ...props })] }));
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export { FormCheckBox as default };
|
|
@@ -1,7 +1,25 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
|
+
/**
|
|
3
|
+
* FormCheckBoxGroup Component
|
|
4
|
+
*
|
|
5
|
+
* A group of checkbox input fields that integrates with react-hook-form for form state management.
|
|
6
|
+
* Renders multiple checkboxes in a row with labels and validation support.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @param {Object} props - The component props
|
|
10
|
+
* @param {FormRenderProps} props.props - Form rendering properties from parent form
|
|
11
|
+
* @param {VariantProps} props.variant - UI variant style ('standard', 'outlined', etc.)
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // Basic usage in FormRender with settings array
|
|
15
|
+
* <FormCheckBoxGroup props={formRenderProps} variant="outlined" />
|
|
16
|
+
*/
|
|
2
17
|
declare const FormCheckBoxGroup: ({ props, variant, }: {
|
|
3
18
|
props: FormRenderProps;
|
|
4
19
|
variant: VariantProps;
|
|
5
20
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
/**
|
|
22
|
+
* Export the FormCheckBoxGroup component for use in the form renderer
|
|
23
|
+
* This component is used for checkbox group input types
|
|
24
|
+
*/
|
|
6
25
|
export default FormCheckBoxGroup;
|
|
7
|
-
//# sourceMappingURL=FormCheckBoxGroup.d.ts.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { FormControl, FormGroup, FormControlLabel, Typography, Checkbox } from '@mui/material';
|
|
3
|
+
import { Controller } from 'react-hook-form';
|
|
4
|
+
import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
|
|
5
|
+
import 'dayjs';
|
|
6
|
+
import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* FormCheckBoxGroup Component
|
|
10
|
+
*
|
|
11
|
+
* A group of checkbox input fields that integrates with react-hook-form for form state management.
|
|
12
|
+
* Renders multiple checkboxes in a row with labels and validation support.
|
|
13
|
+
*
|
|
14
|
+
* @component
|
|
15
|
+
* @param {Object} props - The component props
|
|
16
|
+
* @param {FormRenderProps} props.props - Form rendering properties from parent form
|
|
17
|
+
* @param {VariantProps} props.variant - UI variant style ('standard', 'outlined', etc.)
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // Basic usage in FormRender with settings array
|
|
21
|
+
* <FormCheckBoxGroup props={formRenderProps} variant="outlined" />
|
|
22
|
+
*/
|
|
23
|
+
const FormCheckBoxGroup = ({ props, variant, }) => {
|
|
24
|
+
/**
|
|
25
|
+
* Renders a group of checkboxes with labels and validation support
|
|
26
|
+
*/
|
|
27
|
+
return (jsxs(Fragment, { children: [renderLabel(variant, props), jsx(FormControl, { component: "fieldset", children: jsx(FormGroup, { row: true, children: props.item?.settings &&
|
|
28
|
+
props.item.settings.map((settings, i) => {
|
|
29
|
+
return (jsx(Controller, { name: settings.name, control: props.control, render: ({ field }) => {
|
|
30
|
+
return (jsx(FormControlLabel, { control: jsx(Checkbox, { ...field, checked: field.value }), sx: {
|
|
31
|
+
'.MuiCheckbox-root': {
|
|
32
|
+
padding: '6px 2px 6px 8px',
|
|
33
|
+
'.css-imrjgg-MuiButtonBase-root-MuiCheckbox-root': {
|
|
34
|
+
color: 'rgb(0, 0, 0) !important',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
}, label: jsx(Typography, { variant: "subtitle2", fontSize: '11px', fontWeight: 'normal !important', children: settings.label }), labelPlacement: "end" }));
|
|
38
|
+
} }, i));
|
|
39
|
+
}) }) }), jsx(FormBottomField, { ...props })] }));
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { FormCheckBoxGroup as default };
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import { FormRenderProps } from
|
|
1
|
+
import { FormRenderProps } from '../../../utils';
|
|
2
|
+
/**
|
|
3
|
+
* FormErrorField Component
|
|
4
|
+
*
|
|
5
|
+
* Displays validation error messages for form fields.
|
|
6
|
+
* Uses @hookform/error-message to render errors from react-hook-form.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @param {FormRenderProps} props - Form rendering properties from parent form
|
|
10
|
+
*/
|
|
2
11
|
declare const FormErrorField: (props: FormRenderProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
/**
|
|
13
|
+
* Export the FormErrorField component for use in form field components
|
|
14
|
+
* This component handles the display of validation error messages
|
|
15
|
+
*/
|
|
3
16
|
export default FormErrorField;
|
|
4
|
-
//# sourceMappingURL=FormErrorField.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ErrorMessage } from '@hookform/error-message';
|
|
3
|
+
import { ErrorMessageComponent } from '../../Form/Form.styles.esm.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* FormErrorField Component
|
|
7
|
+
*
|
|
8
|
+
* Displays validation error messages for form fields.
|
|
9
|
+
* Uses @hookform/error-message to render errors from react-hook-form.
|
|
10
|
+
*
|
|
11
|
+
* @component
|
|
12
|
+
* @param {FormRenderProps} props - Form rendering properties from parent form
|
|
13
|
+
*/
|
|
14
|
+
const FormErrorField = (props) => {
|
|
15
|
+
/**
|
|
16
|
+
* Renders the error message inside a styled container
|
|
17
|
+
*/
|
|
18
|
+
return (jsx(ErrorMessageComponent, { id: `${props.item.name}-error`, children: jsx(ErrorMessage, { errors: props.errors, name: props.item.name }) }));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { FormErrorField as default };
|
|
@@ -1,7 +1,44 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
2
|
-
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
|
+
/**
|
|
3
|
+
* FormNumberField Component
|
|
4
|
+
*
|
|
5
|
+
* A numeric input field component that integrates with react-hook-form.
|
|
6
|
+
* This component is used for integer inputs, phone numbers, and pincodes.
|
|
7
|
+
* It restricts input to numeric characters only.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @param {Object} props - The component props
|
|
11
|
+
* @param {FormRenderProps} props.props - Form rendering properties from parent form
|
|
12
|
+
* @param {VariantProps} props.variant - UI variant style ('standard', 'outlined', etc.)
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Basic usage in FormRender
|
|
16
|
+
* <FormNumberField props={formRenderProps} variant="outlined" />
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // Usage with specific configuration
|
|
20
|
+
* const formItem = {
|
|
21
|
+
* name: "phoneNumber",
|
|
22
|
+
* label: "Phone Number",
|
|
23
|
+
* inputType: "number",
|
|
24
|
+
* required: true,
|
|
25
|
+
* maxLength: 10
|
|
26
|
+
* };
|
|
27
|
+
* <FormNumberField
|
|
28
|
+
* props={{
|
|
29
|
+
* item: formItem,
|
|
30
|
+
* control: formMethods.control,
|
|
31
|
+
* errors: formMethods.formState.errors
|
|
32
|
+
* }}
|
|
33
|
+
* variant="outlined"
|
|
34
|
+
* />
|
|
35
|
+
*/
|
|
36
|
+
declare const FormNumberField: ({ props, variant }: {
|
|
3
37
|
props: FormRenderProps;
|
|
4
38
|
variant: VariantProps;
|
|
5
39
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
/**
|
|
41
|
+
* Export the FormNumberField component for use in the form renderer
|
|
42
|
+
* This component is used for number, pincode, and phoneNumber input types
|
|
43
|
+
*/
|
|
6
44
|
export default FormNumberField;
|
|
7
|
-
//# sourceMappingURL=FormNumberField.d.ts.map
|