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,91 @@
|
|
|
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 FormBottomField from '../FormBottomField/FormBottomField.esm.js';
|
|
7
|
+
import 'dayjs';
|
|
8
|
+
import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* PasswordField Component
|
|
12
|
+
*
|
|
13
|
+
* A password input field component that integrates with react-hook-form for form state management.
|
|
14
|
+
* Includes a visibility toggle button to show/hide the password.
|
|
15
|
+
*
|
|
16
|
+
* @component
|
|
17
|
+
* @param {Object} props - The component props
|
|
18
|
+
* @param {FormRenderProps} props.props - Form rendering properties from parent form
|
|
19
|
+
* @param {VariantProps} props.variant - UI variant style ('standard', 'outlined', etc.)
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // Basic usage in FormRender
|
|
23
|
+
* <PasswordField props={formRenderProps} variant="outlined" />
|
|
24
|
+
*/
|
|
25
|
+
const PasswordField = ({ props, variant }) => {
|
|
26
|
+
/**
|
|
27
|
+
* State to track password visibility
|
|
28
|
+
*/
|
|
29
|
+
const [showPassword, setShowPassword] = useState(false);
|
|
30
|
+
/**
|
|
31
|
+
* Toggles password visibility between plain text and hidden
|
|
32
|
+
*/
|
|
33
|
+
const handleTogglePasswordVisibility = () => {
|
|
34
|
+
setShowPassword((prevShowPassword) => !prevShowPassword);
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Generates the field label based on variant type
|
|
38
|
+
* For non-standard variants, appends an asterisk if the field is required
|
|
39
|
+
*/
|
|
40
|
+
const label = variant !== 'standard' ? `${props.item.label}${props.item.required ? ' *' : ''}` : '';
|
|
41
|
+
/**
|
|
42
|
+
* Determines if the field has an error based on form validation
|
|
43
|
+
*/
|
|
44
|
+
const isError = !!props.errors?.[props.item.name];
|
|
45
|
+
const isShowBorderError = isError;
|
|
46
|
+
/**
|
|
47
|
+
* Renders the password field component with visibility toggle
|
|
48
|
+
*/
|
|
49
|
+
return (jsx(Box, { position: 'relative', children: jsx(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: {
|
|
50
|
+
width: '100%',
|
|
51
|
+
'& .css-kichxs-MuiFormLabel-root-MuiInputLabel-root,.css-1holvmy': {
|
|
52
|
+
top: '-8px',
|
|
53
|
+
},
|
|
54
|
+
}, inputProps: {
|
|
55
|
+
maxLength: props.item.maxLength || 100,
|
|
56
|
+
/**
|
|
57
|
+
* Handles input events
|
|
58
|
+
* Calls custom onInputProps handler if provided
|
|
59
|
+
*
|
|
60
|
+
* @param {any} e - The input event object
|
|
61
|
+
*/
|
|
62
|
+
onInput: (e) => {
|
|
63
|
+
props.item.onInputProps && props.item.onInputProps(e);
|
|
64
|
+
},
|
|
65
|
+
/**
|
|
66
|
+
* Handles paste events
|
|
67
|
+
* Prevents paste action if configured
|
|
68
|
+
*
|
|
69
|
+
* @param {React.ClipboardEvent} e - The paste event object
|
|
70
|
+
*/
|
|
71
|
+
onPaste: (e) => {
|
|
72
|
+
if (props.item?.doNotAllowPaste) {
|
|
73
|
+
e.preventDefault();
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
}, value: field.value || null, disabled: props.item.disable }), jsx(IconButton, { sx: {
|
|
77
|
+
position: 'absolute',
|
|
78
|
+
right: '14px',
|
|
79
|
+
top: variant === 'standard' ? '70%' : '50%',
|
|
80
|
+
transform: 'translateY(-50%)',
|
|
81
|
+
width: '25px',
|
|
82
|
+
}, "aria-label": showPassword ? 'Hide password' : 'Show password', "aria-pressed": showPassword, onClick: handleTogglePasswordVisibility, edge: "end", children: showPassword ? (jsx(Visibility, { sx: {
|
|
83
|
+
fontSize: '12px',
|
|
84
|
+
position: 'absolute',
|
|
85
|
+
} })) : (jsx(VisibilityOff, { sx: {
|
|
86
|
+
fontSize: '12px',
|
|
87
|
+
position: 'absolute',
|
|
88
|
+
} })) })] }), jsx(FormBottomField, { ...props })] })) }) }) }, props.item.name));
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export { PasswordField as default };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { FormRenderProps } from
|
|
1
|
+
import { FormRenderProps } from '../../../utils';
|
|
2
2
|
declare const RichTextEditor: ({ props }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
export default RichTextEditor;
|
|
6
|
-
//# sourceMappingURL=RichTextEditor.d.ts.map
|
package/dist/components/FormComponents/RichTextEditor/{RichTextEditor.js → RichTextEditor.esm.js}
RENAMED
|
@@ -1,69 +1,84 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useRef, useState, useEffect } from 'react';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
3
|
+
import { useWatch } from 'react-hook-form';
|
|
4
|
+
import { getJoditEditor } from './jodit.index.esm.js';
|
|
5
5
|
|
|
6
6
|
const RichTextEditor = ({ props }) => {
|
|
7
7
|
const editor = useRef(null);
|
|
8
|
-
const [content, setContent] = useState(
|
|
9
|
-
const
|
|
8
|
+
const [content, setContent] = useState('');
|
|
9
|
+
const [JoditEditor, setJoditEditor] = useState(null);
|
|
10
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
11
|
+
const value = useWatch({ control: props.control, name: props.item.name });
|
|
12
|
+
// Dynamically load JoditEditor only
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const loadJoditDependencies = async () => {
|
|
15
|
+
try {
|
|
16
|
+
const joditEditorModule = await getJoditEditor();
|
|
17
|
+
setJoditEditor(joditEditorModule);
|
|
18
|
+
setIsLoading(false);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
console.error('Failed to load Jodit dependencies:', error);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
loadJoditDependencies();
|
|
25
|
+
}, []);
|
|
10
26
|
const config = {
|
|
11
27
|
readonly: false,
|
|
12
|
-
placeholder: props.item.placeholder ||
|
|
28
|
+
placeholder: props.item.placeholder || 'Start typing...',
|
|
13
29
|
statusbar: false,
|
|
14
30
|
removeButtons: props.item.removeButtons,
|
|
15
31
|
style: {
|
|
16
|
-
|
|
32
|
+
'font-family': 'Arial',
|
|
17
33
|
},
|
|
18
34
|
controls: {
|
|
19
35
|
font: {
|
|
20
36
|
list: {
|
|
21
|
-
Arial:
|
|
37
|
+
Arial: 'Arial',
|
|
22
38
|
...props.item?.FontFamily,
|
|
23
39
|
},
|
|
24
40
|
},
|
|
25
41
|
fontsize: {
|
|
26
|
-
list:
|
|
27
|
-
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
|
28
|
-
|
|
29
|
-
]),
|
|
42
|
+
list: props.item.Fonts || [
|
|
43
|
+
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
|
|
44
|
+
],
|
|
30
45
|
},
|
|
31
46
|
},
|
|
32
|
-
defaultFont:
|
|
33
|
-
defaultFontSize:
|
|
47
|
+
defaultFont: 'Arial',
|
|
48
|
+
defaultFontSize: '11px',
|
|
34
49
|
askBeforePasteFromWord: false,
|
|
35
50
|
askBeforePasteHTML: false,
|
|
36
51
|
hotkeys: {
|
|
37
|
-
redo:
|
|
38
|
-
undo:
|
|
39
|
-
indent:
|
|
40
|
-
outdent:
|
|
41
|
-
bold:
|
|
42
|
-
italic:
|
|
43
|
-
removeFormat:
|
|
44
|
-
insertOrderedList:
|
|
45
|
-
insertUnorderedList:
|
|
46
|
-
openSearchDialog:
|
|
47
|
-
openReplaceDialog:
|
|
52
|
+
redo: 'ctrl+z',
|
|
53
|
+
undo: 'ctrl+y,ctrl+shift+z',
|
|
54
|
+
indent: 'ctrl+]',
|
|
55
|
+
outdent: 'ctrl+[',
|
|
56
|
+
bold: 'ctrl+b',
|
|
57
|
+
italic: 'ctrl+i',
|
|
58
|
+
removeFormat: 'ctrl+shift+m',
|
|
59
|
+
insertOrderedList: 'ctrl+shift+7',
|
|
60
|
+
insertUnorderedList: 'ctrl+shift+8',
|
|
61
|
+
openSearchDialog: 'ctrl+f',
|
|
62
|
+
openReplaceDialog: 'ctrl+r',
|
|
48
63
|
},
|
|
49
64
|
events: {
|
|
50
65
|
processPaste: (_event, html) => {
|
|
51
66
|
const instance = editor.current;
|
|
52
67
|
if (instance?.editor) {
|
|
53
68
|
const joditEditor = instance.editor;
|
|
54
|
-
joditEditor.selection
|
|
55
|
-
joditEditor.tempContent = joditEditor.getHTML();
|
|
69
|
+
joditEditor.selection?.insertHTML?.(html);
|
|
70
|
+
joditEditor.tempContent = joditEditor.getHTML?.();
|
|
56
71
|
}
|
|
57
72
|
},
|
|
58
73
|
afterPaste: () => {
|
|
59
74
|
const instance = editor.current;
|
|
60
75
|
if (instance?.editor) {
|
|
61
76
|
const joditEditor = instance.editor;
|
|
62
|
-
const el = document.createElement(
|
|
77
|
+
const el = document.createElement('div');
|
|
63
78
|
el.innerHTML = joditEditor.tempContent
|
|
64
79
|
? joditEditor.tempContent
|
|
65
|
-
: joditEditor.getHTML();
|
|
66
|
-
joditEditor.setHTML(el.innerHTML);
|
|
80
|
+
: joditEditor.getHTML?.();
|
|
81
|
+
joditEditor.setHTML?.(el.innerHTML);
|
|
67
82
|
joditEditor.tempContent = null;
|
|
68
83
|
}
|
|
69
84
|
},
|
|
@@ -74,9 +89,9 @@ const RichTextEditor = ({ props }) => {
|
|
|
74
89
|
setContent(value);
|
|
75
90
|
}, [value]);
|
|
76
91
|
const handleBlur = (newContent) => {
|
|
77
|
-
if (newContent ===
|
|
92
|
+
if (newContent === '<p><br></p>') {
|
|
78
93
|
setContent(newContent);
|
|
79
|
-
props.setValue(props.item.name,
|
|
94
|
+
props.setValue(props.item.name, '');
|
|
80
95
|
}
|
|
81
96
|
else {
|
|
82
97
|
setContent(newContent);
|
|
@@ -87,6 +102,10 @@ const RichTextEditor = ({ props }) => {
|
|
|
87
102
|
const handleChange = (newContent) => {
|
|
88
103
|
props.item.onChangeFn && props.item.onChangeFn(newContent);
|
|
89
104
|
};
|
|
105
|
+
// Show loading state while Jodit is being loaded
|
|
106
|
+
if (isLoading || !JoditEditor) {
|
|
107
|
+
return jsx("div", { children: "Loading editor..." });
|
|
108
|
+
}
|
|
90
109
|
return (jsx(JoditEditor, { ref: editor, value: content, config: config,
|
|
91
110
|
// tabIndex={1 as IJoditEditorProps["tabIndex"]}
|
|
92
111
|
onBlur: handleBlur, onChange: handleChange }));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
2
|
declare const RichTextEditorWrapper: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default RichTextEditorWrapper;
|
|
7
|
-
//# sourceMappingURL=RichTextEditorWrapper.d.ts.map
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { Controller } from 'react-hook-form';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
|
|
4
|
+
import RichTextEditor from './RichTextEditor.esm.js';
|
|
5
|
+
import 'dayjs';
|
|
6
|
+
import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
|
|
6
7
|
|
|
7
8
|
const RichTextEditorWrapper = ({ props, variant, }) => {
|
|
8
9
|
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));
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import JoditEditor from "jodit-react";
|
|
2
|
-
import { Jodit } from "jodit";
|
|
3
1
|
export interface IJoditEditorProps {
|
|
4
2
|
value?: string;
|
|
5
3
|
config?: any;
|
|
@@ -7,12 +5,9 @@ export interface IJoditEditorProps {
|
|
|
7
5
|
onBlur?: (content: string) => void;
|
|
8
6
|
onChange?: (content: string) => void;
|
|
9
7
|
}
|
|
10
|
-
declare
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
setHTML(html: string): void;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
8
|
+
declare const getJoditEditor: () => Promise<any>;
|
|
9
|
+
declare const getJodit: () => Promise<null>;
|
|
10
|
+
declare const JoditEditor: any;
|
|
16
11
|
export default JoditEditor;
|
|
17
|
-
export {
|
|
18
|
-
|
|
12
|
+
export { getJoditEditor, getJodit };
|
|
13
|
+
export declare const Jodit: any;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// import { Jodit } from 'jodit/esm/index';
|
|
2
|
+
// import * as React from 'react';
|
|
3
|
+
// Declare module augmentation for TypeScript
|
|
4
|
+
// Removing module augmentation since we are not importing 'jodit' directly here
|
|
5
|
+
// Create a dynamic import function to load Jodit only when needed
|
|
6
|
+
let JoditEditorPromise = null;
|
|
7
|
+
const getJoditEditor = async () => {
|
|
8
|
+
if (!JoditEditorPromise) {
|
|
9
|
+
JoditEditorPromise = import('jodit-react').then((module) => module.default || module);
|
|
10
|
+
}
|
|
11
|
+
return JoditEditorPromise;
|
|
12
|
+
};
|
|
13
|
+
// Export a proxy object that will load the real module on demand
|
|
14
|
+
new Proxy({}, {
|
|
15
|
+
get: function () {
|
|
16
|
+
throw new Error('JoditEditor must be dynamically imported before use');
|
|
17
|
+
},
|
|
18
|
+
apply: function () {
|
|
19
|
+
throw new Error('JoditEditor must be dynamically imported before use');
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export { getJoditEditor };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
2
|
export default function MultiSelectV1({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
5
5
|
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
//# sourceMappingURL=MultiSelectv1.d.ts.map
|
|
@@ -7,9 +7,11 @@ import ListItemText from '@mui/material/ListItemText';
|
|
|
7
7
|
import MenuItem from '@mui/material/MenuItem';
|
|
8
8
|
import OutlinedInput from '@mui/material/OutlinedInput';
|
|
9
9
|
import Select from '@mui/material/Select';
|
|
10
|
-
import React__default, { useState } from 'react';
|
|
11
|
-
import {
|
|
12
|
-
import FormBottomField from '../FormBottomField/FormBottomField.js';
|
|
10
|
+
import React__default, { useState, useMemo } from 'react';
|
|
11
|
+
import { useWatch } from 'react-hook-form';
|
|
12
|
+
import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
|
|
13
|
+
import 'dayjs';
|
|
14
|
+
import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
|
|
13
15
|
|
|
14
16
|
const ITEM_HEIGHT = 48;
|
|
15
17
|
const ITEM_PADDING_TOP = 3;
|
|
@@ -32,24 +34,22 @@ const MenuProps = {
|
|
|
32
34
|
// },
|
|
33
35
|
// }));
|
|
34
36
|
const extractValuesToArray = (inputString) => {
|
|
35
|
-
const valuesArray = inputString?.split(
|
|
37
|
+
const valuesArray = inputString?.split(',');
|
|
36
38
|
const trimmedArray = valuesArray?.map((value) => value.trim());
|
|
37
39
|
return trimmedArray;
|
|
38
40
|
};
|
|
39
41
|
function MultiSelectV1({ props, variant, }) {
|
|
40
|
-
const [personName, setPersonName] = React__default.useState(props.getValues(props.item.name)
|
|
41
|
-
|
|
42
|
-
: []);
|
|
43
|
-
const [searchText, setSearchText] = useState("");
|
|
42
|
+
const [personName, setPersonName] = React__default.useState(props.getValues(props.item.name) ? extractValuesToArray(props.getValues(props.item.name)) : []);
|
|
43
|
+
const [searchText, setSearchText] = useState('');
|
|
44
44
|
const options = props.item?.options || [];
|
|
45
45
|
const [filterOptions, setFilterOptions] = useState(props.item.options || []);
|
|
46
46
|
const [selectAll, setSelectAll] = useState(false);
|
|
47
47
|
const textfieldRef = React__default.useRef(null);
|
|
48
|
-
const fieldValue = props.
|
|
49
|
-
const mappedIds = filterOptions.map((item) => item.value);
|
|
50
|
-
const filterIds = filterOptions.map((item) => item.value);
|
|
48
|
+
const fieldValue = useWatch({ control: props.control, name: props.item.name });
|
|
49
|
+
const mappedIds = useMemo(() => filterOptions.map((item) => item.value), [filterOptions]);
|
|
50
|
+
const filterIds = useMemo(() => filterOptions.map((item) => item.value), [filterOptions]);
|
|
51
51
|
React__default.useEffect(() => {
|
|
52
|
-
if (searchText !==
|
|
52
|
+
if (searchText !== '') {
|
|
53
53
|
setFilterOptions(options.filter((item) => item.label.toLowerCase().includes(searchText.toLowerCase())));
|
|
54
54
|
}
|
|
55
55
|
else {
|
|
@@ -60,98 +60,91 @@ function MultiSelectV1({ props, variant, }) {
|
|
|
60
60
|
return array.some((item) => item === value);
|
|
61
61
|
}
|
|
62
62
|
React__default.useEffect(() => {
|
|
63
|
-
if (fieldValue?.split(
|
|
63
|
+
if (fieldValue?.split(',').length !== filterOptions.length) {
|
|
64
64
|
setSelectAll(false);
|
|
65
65
|
}
|
|
66
66
|
else {
|
|
67
|
-
|
|
68
|
-
if (fieldValue
|
|
69
|
-
?.split(",")
|
|
70
|
-
.every((value) => hasExactMatch(filterIds, value))) {
|
|
67
|
+
if (fieldValue?.split(',').every((value) => hasExactMatch(filterIds, value))) {
|
|
71
68
|
setSelectAll(true);
|
|
72
69
|
}
|
|
73
70
|
}
|
|
74
71
|
}, [filterOptions, fieldValue]);
|
|
75
72
|
const handleChange = (event) => {
|
|
76
73
|
const { target: { value }, } = event;
|
|
77
|
-
setPersonName(typeof value ===
|
|
78
|
-
props.setValue(props.item.name, (typeof value ===
|
|
74
|
+
setPersonName(typeof value === 'string' ? value?.split(',') : value);
|
|
75
|
+
props.setValue(props.item.name, (typeof value === 'string' ? value?.split(',') : value).join(','));
|
|
79
76
|
};
|
|
80
|
-
const selectedOptions = options.filter((item) => fieldValue?.split(
|
|
81
|
-
const selectedValues = selectedOptions
|
|
82
|
-
.map((item) => item.label)
|
|
83
|
-
.join(" , ");
|
|
77
|
+
const selectedOptions = useMemo(() => options.filter((item) => fieldValue?.split(',').some((value) => value === item.value)), [options, fieldValue]);
|
|
78
|
+
const selectedValues = selectedOptions.map((item) => item.label).join(' , ');
|
|
84
79
|
const isError = !!props.errors?.[props.item.name];
|
|
85
|
-
const isShowBorderError = isError
|
|
80
|
+
const isShowBorderError = isError;
|
|
86
81
|
return (jsx(Box, { children: jsxs(FormControl, { fullWidth: true, sx: {
|
|
87
|
-
|
|
88
|
-
top:
|
|
82
|
+
'& .css-kichxs-MuiFormLabel-root-MuiInputLabel-root,.css-1holvmy': {
|
|
83
|
+
top: '-10px',
|
|
89
84
|
},
|
|
90
|
-
|
|
85
|
+
'& .MuiFormLabel-root': {
|
|
91
86
|
top: -10,
|
|
92
87
|
},
|
|
93
|
-
|
|
88
|
+
'& .MuiInputLabel-shrink': {
|
|
94
89
|
top: 0,
|
|
95
90
|
},
|
|
96
|
-
}, children: [renderLabel(variant, props), variant !==
|
|
97
|
-
|
|
98
|
-
fontSize:
|
|
91
|
+
}, children: [renderLabel(variant, props), variant !== 'standard' ? (jsxs(InputLabel, { error: isShowBorderError, id: `${props.item.name}-ms-labelId`, children: [props.item.label, props.item.required ? ' *' : ''] })) : (''), jsxs(Select, { labelId: `${props.item.name}-ms-labelId`, id: `${props.item.name}-ms-select`, multiple: true, sx: {
|
|
92
|
+
'& .MuiTypography-root': {
|
|
93
|
+
fontSize: '5px !important',
|
|
99
94
|
},
|
|
100
|
-
}, error: isShowBorderError, disabled: props.item.disable, value:
|
|
101
|
-
|
|
102
|
-
:
|
|
95
|
+
}, error: isShowBorderError, disabled: props.item.disable, value: fieldValue ? extractValuesToArray(fieldValue) : [], onChange: handleChange, inputProps: {
|
|
96
|
+
'aria-labelledby': `${props.item.name}-label`,
|
|
97
|
+
'aria-describedby': `${props.item.name}-helper ${props.item.name}-error`,
|
|
98
|
+
'aria-required': props.item.required ? true : undefined,
|
|
99
|
+
}, onOpen: () => {
|
|
103
100
|
setTimeout(() => {
|
|
104
101
|
if (textfieldRef.current) {
|
|
105
102
|
textfieldRef.current?.focus();
|
|
106
103
|
}
|
|
107
104
|
}, 0);
|
|
108
105
|
}, onClose: () => {
|
|
109
|
-
setSearchText(
|
|
106
|
+
setSearchText('');
|
|
110
107
|
props?.item?.onCloseMenu && props?.item?.onCloseMenu();
|
|
111
|
-
}, input: jsx(OutlinedInput, { label: variant !==
|
|
112
|
-
(props.item.multiSelectLabelLength || 3)
|
|
108
|
+
}, input: jsx(OutlinedInput, { label: variant !== 'standard' ? props.item.label : '' }), renderValue: (_selected) => (jsx(Tooltip, { title: selectedValues, children: jsx("span", { children: selectedOptions.length > (props.item.multiSelectLabelLength || 3)
|
|
113
109
|
? `${selectedOptions.length} Selected`
|
|
114
110
|
: selectedValues }) })), MenuProps: MenuProps, autoFocus: false, children: [jsx(Box, { sx: {
|
|
115
|
-
width:
|
|
116
|
-
position:
|
|
117
|
-
top:
|
|
118
|
-
padding:
|
|
111
|
+
width: '100%',
|
|
112
|
+
position: 'sticky',
|
|
113
|
+
top: '0px',
|
|
114
|
+
padding: '7px',
|
|
119
115
|
zIndex: 2,
|
|
120
|
-
height:
|
|
121
|
-
background:
|
|
122
|
-
display: options.length === 0 ?
|
|
116
|
+
height: '33px',
|
|
117
|
+
background: '#fff',
|
|
118
|
+
display: options.length === 0 ? 'none' : undefined,
|
|
123
119
|
}, children: jsx(TextField, { inputRef: textfieldRef, autoFocus: true, value: searchText, sx: {
|
|
124
|
-
width:
|
|
120
|
+
width: '100%',
|
|
125
121
|
}, placeholder: "Search...", onChange: (e) => {
|
|
126
122
|
setSearchText(e.target.value);
|
|
127
123
|
}, onKeyDown: (e) => {
|
|
128
|
-
if (e.key !==
|
|
124
|
+
if (e.key !== 'Escape') {
|
|
129
125
|
e.stopPropagation();
|
|
130
126
|
}
|
|
131
|
-
} }) }), jsxs(MenuItem, { disabled: filterOptions.length === 0, sx: { zIndex: 0, fontSize:
|
|
127
|
+
} }) }), jsxs(MenuItem, { disabled: filterOptions.length === 0, sx: { zIndex: 0, fontSize: '5px !important' }, children: [jsx(Checkbox, { size: "small", checked: selectAll, onChange: () => {
|
|
132
128
|
setSelectAll(!selectAll);
|
|
133
129
|
const selectChanged = !selectAll;
|
|
134
130
|
if (!selectChanged) {
|
|
135
|
-
props.setValue(props.item.name,
|
|
131
|
+
props.setValue(props.item.name, '');
|
|
136
132
|
}
|
|
137
133
|
else {
|
|
138
|
-
const allDataMapped = mappedIds.join(
|
|
139
|
-
console.log(allDataMapped, "allDataMapped");
|
|
134
|
+
const allDataMapped = mappedIds.join(',');
|
|
140
135
|
props.setValue(props.item.name, allDataMapped);
|
|
141
136
|
}
|
|
142
|
-
} }), jsx(ListItemText, { primary:
|
|
143
|
-
fontSize:
|
|
144
|
-
|
|
145
|
-
fontSize:
|
|
137
|
+
} }), jsx(ListItemText, { primary: 'Select All', sx: {
|
|
138
|
+
fontSize: '5px !important',
|
|
139
|
+
'& span': {
|
|
140
|
+
fontSize: '12px !important',
|
|
146
141
|
},
|
|
147
|
-
} })] }), filterOptions.length !== 0 ? (filterOptions.map((option) => (jsxs(MenuItem, { value: `${option.value}`, sx: { zIndex: 0, fontSize:
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
"& span": {
|
|
152
|
-
fontSize: "12px !important",
|
|
142
|
+
} })] }), filterOptions.length !== 0 ? (filterOptions.map((option) => (jsxs(MenuItem, { value: `${option.value}`, sx: { zIndex: 0, fontSize: '11px !important' }, children: [jsx(Checkbox, { checked: fieldValue?.split(',').some((value) => value === option.value), size: "small" }), jsx(ListItemText, { primary: option.label, sx: {
|
|
143
|
+
fontSize: '5px !important',
|
|
144
|
+
'& span': {
|
|
145
|
+
fontSize: '12px !important',
|
|
153
146
|
},
|
|
154
|
-
} })] }, option.value)))) : (jsx(MenuItem, { disabled: true, value:
|
|
147
|
+
} })] }, option.value)))) : (jsx(MenuItem, { disabled: true, value: 'NA', children: "No data Found" }, 'NA'))] }), jsx(FormBottomField, { ...props })] }) }, props.item.name));
|
|
155
148
|
}
|
|
156
149
|
|
|
157
150
|
export { MultiSelectV1 as default };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
2
|
-
declare const SingleSelect: ({ props, variant
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
|
+
declare const SingleSelect: ({ props, variant }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default SingleSelect;
|
|
7
|
-
//# sourceMappingURL=SingleSelect.d.ts.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { Autocomplete, TextField } from '@mui/material';
|
|
3
|
+
import { useWatch, 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
|
+
const SingleSelect = ({ props, variant }) => {
|
|
9
|
+
const isError = !!props.errors?.[props.item.name];
|
|
10
|
+
const watchedValue = useWatch({ control: props.control, name: props.item.name });
|
|
11
|
+
const isShowBorderError = isError && !watchedValue;
|
|
12
|
+
const currentValue = watchedValue;
|
|
13
|
+
const value = currentValue
|
|
14
|
+
? props.item.options?.find((item) => item.value === currentValue)
|
|
15
|
+
: null;
|
|
16
|
+
return (jsx(Controller, { control: props.control, name: props.item.name, render: ({ field }) => (jsxs(Fragment, { children: [renderLabel(variant, props), jsx(Autocomplete, { ...field, id: `${props.item.name}-autocomplete`, value: value, onChange: (_, newValue) => {
|
|
17
|
+
props.setValue(props?.item?.name, newValue?.value);
|
|
18
|
+
props?.item?.onChangeFn && props?.item?.onChangeFn(newValue?.value);
|
|
19
|
+
props?.clearErrors && props?.clearErrors(props?.item?.name);
|
|
20
|
+
}, onBlur: (e) => {
|
|
21
|
+
props?.item?.onBlurFn && props?.item?.onBlurFn(e);
|
|
22
|
+
}, size: "small", sx: {
|
|
23
|
+
'& .MuiAutocomplete-input': {
|
|
24
|
+
padding: '0px 0px 0px 5px !important',
|
|
25
|
+
},
|
|
26
|
+
'& .css-erkti9-MuiFormLabel-root-MuiInputLabel-root,.css-8edmr2-MuiFormLabel-root-MuiInputLabel-root': {
|
|
27
|
+
top: '-3px',
|
|
28
|
+
},
|
|
29
|
+
// Note: Options are rendered in a portal; keep this as a fallback only
|
|
30
|
+
'& .MuiAutocomplete-option': {
|
|
31
|
+
fontSize: '11px',
|
|
32
|
+
zIndex: 2000,
|
|
33
|
+
},
|
|
34
|
+
...props.item.sx,
|
|
35
|
+
}, ListboxProps: {
|
|
36
|
+
onScroll: (event) => {
|
|
37
|
+
const listboxNode = event.currentTarget;
|
|
38
|
+
if (listboxNode.scrollTop + listboxNode.clientHeight === listboxNode.scrollHeight) ;
|
|
39
|
+
},
|
|
40
|
+
}, disabled: props.item.disable, options: props.item.options || [], slotProps: {
|
|
41
|
+
popper: {
|
|
42
|
+
sx: {
|
|
43
|
+
zIndex: 1401,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
listbox: {
|
|
47
|
+
sx: {
|
|
48
|
+
fontSize: '11px',
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
}, renderInput: (params) => (jsx(TextField, { ...params, placeholder: props.item.placeholder, error: isShowBorderError, label: variant !== 'standard'
|
|
52
|
+
? `${props.item.label}${props.item.required ? ' *' : ''}`
|
|
53
|
+
: '', inputProps: {
|
|
54
|
+
...params.inputProps,
|
|
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
|
+
} })) }), jsx(FormBottomField, { ...props })] })) }, props.item.name));
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export { SingleSelect as default };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FormRenderProps, VariantProps } from
|
|
1
|
+
import { FormRenderProps, VariantProps } from '../../../utils';
|
|
2
2
|
declare const SingleSelectNonAutoComplete: ({ props, variant, }: {
|
|
3
3
|
props: FormRenderProps;
|
|
4
4
|
variant: VariantProps;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default SingleSelectNonAutoComplete;
|
|
7
|
-
//# sourceMappingURL=SingleSelectNonAutoComplete.d.ts.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { FormControl, InputLabel, Select, MenuItem } from '@mui/material';
|
|
3
|
+
import { useWatch } 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
|
+
const SingleSelectNonAutoComplete = ({ props, variant, }) => {
|
|
9
|
+
const isError = !!props.errors?.[props.item.name];
|
|
10
|
+
const isShowBorderError = isError;
|
|
11
|
+
const value = useWatch({ control: props.control, name: props.item.name });
|
|
12
|
+
return (jsxs(FormControl, { fullWidth: true, sx: {
|
|
13
|
+
position: 'relative',
|
|
14
|
+
'& .MuiFormLabel-root': {
|
|
15
|
+
top: -10,
|
|
16
|
+
},
|
|
17
|
+
'& .MuiInputLabel-shrink': {
|
|
18
|
+
top: 0,
|
|
19
|
+
},
|
|
20
|
+
}, children: [renderLabel(variant, props), variant !== 'standard' && (jsx(InputLabel, { error: isShowBorderError, id: `${props.item.name}-labelId`, children: props.item.label })), jsx(Select, { labelId: `${props.item.name}-labelId`, id: `${props.item.name}-select`, value: value, label: variant !== 'standard' ? `${props.item.label}${props.item.required ? ' *' : ''}` : '', onChange: (e) => props.setValue(props.item.name, e.target.value), onBlur: (e) => {
|
|
21
|
+
props?.item?.onBlurFn && props?.item?.onBlurFn(e);
|
|
22
|
+
}, error: isShowBorderError, inputProps: {
|
|
23
|
+
'aria-labelledby': `${props.item.name}-label`,
|
|
24
|
+
'aria-describedby': `${props.item.name}-helper ${props.item.name}-error`,
|
|
25
|
+
'aria-required': props.item.required ? true : undefined,
|
|
26
|
+
}, children: (props.item.options || []).map((item) => (jsx(MenuItem, { sx: {
|
|
27
|
+
fontSize: '11px', // Adjust the font size as needed
|
|
28
|
+
zIndex: 2000,
|
|
29
|
+
}, value: item.value, children: item.label }, item.value))) }), jsx(FormBottomField, { ...props })] }, props.item.name));
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export { SingleSelectNonAutoComplete as default };
|